mirror of
https://github.com/openfaas/faas.git
synced 2025-06-22 23:03:24 +00:00
Adds a pair of configuration options for performance tuning. The gateway can now invoke functions directly and can bypass the provider. See updated table in README.md for configuration values. BaseURLResolver is added with unit tests that decouples resolving upstream URL from the reverse proxy client code. - SingleHostBaseURLResolver resolves a single upstream host - FunctionAsHostBaseURLResolver resolves host based upon conventions within the URL of the request to a function for direct access Tested with Kubernetes (faas-netes) and faas-swarm through UI, CLI calling system endpoints and functions directly. Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
46 lines
1.1 KiB
Docker
46 lines
1.1 KiB
Docker
FROM golang:1.9.4 as build
|
|
RUN curl -sL https://github.com/alexellis/license-check/releases/download/0.2.2/license-check \
|
|
> /usr/bin/license-check \
|
|
&& chmod +x /usr/bin/license-check
|
|
|
|
WORKDIR /go/src/github.com/openfaas/faas/gateway
|
|
|
|
|
|
COPY vendor vendor
|
|
|
|
COPY handlers handlers
|
|
COPY metrics metrics
|
|
COPY requests requests
|
|
COPY tests tests
|
|
|
|
COPY types types
|
|
COPY queue queue
|
|
COPY plugin plugin
|
|
COPY server.go .
|
|
|
|
# Run a gofmt and exclude all vendored code.
|
|
RUN license-check -path ./ --verbose=false "Alex Ellis" "OpenFaaS Project" \
|
|
&& test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*"))" \
|
|
&& go test $(go list ./... | grep -v integration | grep -v /vendor/ | grep -v /template/) -cover \
|
|
&& CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gateway .
|
|
|
|
FROM alpine:3.6
|
|
|
|
RUN addgroup -S app \
|
|
&& adduser -S -g app app
|
|
|
|
WORKDIR /home/app
|
|
|
|
EXPOSE 8080
|
|
ENV http_proxy ""
|
|
ENV https_proxy ""
|
|
|
|
COPY --from=build /go/src/github.com/openfaas/faas/gateway/gateway .
|
|
COPY assets assets
|
|
|
|
RUN chown -R app:app ./
|
|
|
|
USER app
|
|
|
|
CMD ["./gateway"]
|