mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* fn: runner status and docker load images Introducing a function run for pure runner Status calls. Previously, Status gRPC calls returned active inflight request counts with the purpose of a simple health checker. However this is not sufficient since it does not show if agent or docker is healthy. With this change, if pure runner is configured with a status image, that image is executed through docker. The call uses zero memory/cpu/tmpsize settings to ensure resource tracker does not block it. However, operators might not always have a docker repository accessible/available for status image. Or operators might not want the status to go over the network. To allow such cases, and in general possibly caching docker images, added a new environment variable FN_DOCKER_LOAD_FILE. If this is set, fn-agent during startup will load these images that were previously saved with 'docker save' into docker.
16 lines
473 B
Docker
16 lines
473 B
Docker
# build stage
|
|
FROM golang:1.10-alpine AS build-env
|
|
RUN apk --no-cache add git
|
|
ENV D=/go/src/github.com/fnproject/fn/images/fn-status-checker
|
|
RUN go get -u github.com/golang/dep/cmd/dep
|
|
ADD Gopkg.* $D/
|
|
RUN cd $D && dep ensure --vendor-only
|
|
ADD . $D
|
|
RUN cd $D && go build -ldflags="-s -w" -o fn-status-checker && cp fn-status-checker /tmp/
|
|
|
|
# final stage
|
|
FROM alpine
|
|
WORKDIR /function
|
|
COPY --from=build-env /tmp/fn-status-checker /function
|
|
ENTRYPOINT ["./fn-status-checker"]
|