Helm Chart - ehealth-job

This is the default helm chart for all jobs running on the eHealth platform.

Istio specific notes

If you deploy a job in an Istio-enabled namespace you have two options to make it work correctly.

Solution 1 (recommended): Use envoy-preflight

Using envoy-preflight ensures that the job does not start until the Istio sidecar is ready and that the sidecar shuts down when the application exits.

If your Dockerfile for your application looks like this pseudo code:

FROM .. your existing Dockerfile ENTRYPOINT ["existing"]

Then update it to this:

FROM golang:1.13 as envoy-preflight-builder WORKDIR /go/src RUN mkdir monzo WORKDIR /go/src/monzo RUN git clone https://github.com/monzo/envoy-preflight WORKDIR /go/src/monzo/envoy-preflight RUN git reset --hard $ad8dc56e19eeb06e556d2687d5b6f97407b31352 RUN CGO_ENABLED=0 go build && \ chmod +x envoy-preflight FROM .. your existing Dockerfile # Copy envoy-preflight COPY --from=envoy-preflight-builder /go/src/monzo/envoy-preflight/envoy-preflight /usr/local/bin/envoy-preflight ENTRYPOINT ["envoy-preflight", "existing"]

Ensure that the job is deployed using these Helm values for the job Helm chart:

job: overrideIstioInjection: false environment: ENVOY_ADMIN_API: http://localhost:15000 ENVOY_KILL_API: http://localhost:15020/quitquitquit ALWAYS_KILL_ENVOY: true

Solution 2: Disable Istio sidecar injection

Deploy using these Helm values for the job Helm chart:

This option is not available for jobs that communicate with other services on the platform, as the job itself would need to establish mTLS communication with the other service.