mirror of
https://github.com/openfaas/faas.git
synced 2025-06-09 00:36:46 +00:00
Enables publishing to various topics according to annotations on the functions. The function cache is moved up one level so that it can be shared between the scale from zero code and the queue proxy. Unit tests added for new internal methods. Tested e2e with arkade and the newest queue-worker and RC gateway image with two queues and an annotation on one of the functions of com.openfaas.queue. It worked as expected including with multiple namespace support. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
72 lines
2.0 KiB
Docker
72 lines
2.0 KiB
Docker
FROM teamserverless/license-check:0.3.6 as license-check
|
|
|
|
FROM golang:1.13 as build
|
|
|
|
ENV GO111MODULE=off
|
|
ENV CGO_ENABLED=0
|
|
|
|
ARG GIT_COMMIT_SHA
|
|
ARG GIT_COMMIT_MESSAGE
|
|
ARG VERSION='dev'
|
|
|
|
COPY --from=license-check /license-check /usr/bin/
|
|
|
|
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 version version
|
|
COPY scaling scaling
|
|
COPY pkg pkg
|
|
COPY main.go .
|
|
|
|
# Run a gofmt and exclude all vendored code.
|
|
RUN license-check -path ./ --verbose=false "Alex Ellis" "OpenFaaS Project" "OpenFaaS Authors" "OpenFaaS Author(s)" \
|
|
&& 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 --ldflags "-s -w \
|
|
-X github.com/openfaas/faas/gateway/version.GitCommitSHA=${GIT_COMMIT_SHA}\
|
|
-X \"github.com/openfaas/faas/gateway/version.GitCommitMessage=${GIT_COMMIT_MESSAGE}\"\
|
|
-X github.com/openfaas/faas/gateway/version.Version=${VERSION}" \
|
|
-a -installsuffix cgo -o gateway .
|
|
|
|
FROM alpine:3.11
|
|
|
|
LABEL org.label-schema.license="MIT" \
|
|
org.label-schema.vcs-url="https://github.com/openfaas/faas" \
|
|
org.label-schema.vcs-type="Git" \
|
|
org.label-schema.name="openfaas/faas" \
|
|
org.label-schema.vendor="openfaas" \
|
|
org.label-schema.docker.schema-version="1.0"
|
|
|
|
RUN addgroup -S app \
|
|
&& adduser -S -g app app \
|
|
&& apk add --no-cache ca-certificates
|
|
|
|
WORKDIR /home/app
|
|
|
|
EXPOSE 8080
|
|
EXPOSE 8082
|
|
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
|
|
|
|
RUN sed -ie s/x86_64/arm64/g /home/app/assets/script/funcstore.js
|
|
|
|
CMD ["./gateway"]
|