Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

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.

...

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

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

...

Code Block
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"]

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

...

Code Block
languageyaml
job:
  overrideIstioInjection: true

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.