Add Environment v2 Builder (#298)

Build server and client for environments.

This build server will run inside environment builders and invoke environment-specific scripts for doing builds. It provides a uniform language-independent API for builds to the fission build manager.

The change also includes an implementation of a builder for Python -- this "builder" acts on requirements.txt and runs `pip install` to collect all function deps.
This commit is contained in:
Ta-Ching Chen
2017-08-31 10:56:40 -07:00
committed by Soam Vasani
parent d83c89df69
commit 9d1b096bac
9 changed files with 298 additions and 3 deletions
+3 -3
View File
@@ -5,6 +5,7 @@ import (
"encoding/hex"
"encoding/json"
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
@@ -17,7 +18,6 @@ import (
"github.com/fission/fission"
"github.com/fission/fission/tpr"
"io"
)
type (
@@ -102,7 +102,7 @@ func verifyChecksum(path string, checksum *fission.Checksum) error {
func (fetcher *Fetcher) Handler(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
http.Error(w, "", 404)
http.Error(w, "", 405)
return
}
@@ -123,7 +123,7 @@ func (fetcher *Fetcher) Handler(w http.ResponseWriter, r *http.Request) {
err = json.Unmarshal(body, &req)
if err != nil {
log.Printf("Error reading request body: %v", err)
http.Error(w, err.Error(), 500)
http.Error(w, err.Error(), 400)
return
}
log.Printf("fetcher received request: %v", req)