Customize readinessProbe and livenessProbe for Auto DevOps?

Problem to solve

As an autoDevOps user, I want to be able to customize the path for readinessProbe and livenessProbe that will override the default setting

Further details

Apps deployed with Auto DevOps are currently getting health checked at / path with predefined port and interval.

Per https://gitlab.com/charts/auto-deploy-app/blob/master/templates/deployment.yaml#L34

        livenessProbe:
          httpGet:
            path: /
            port: {{ .Values.service.internalPort }}
          initialDelaySeconds: 15
          timeoutSeconds: 15
        readinessProbe:
          httpGet:
            path: /
            port: {{ .Values.service.internalPort }}
          initialDelaySeconds: 5
          timeoutSeconds: 3

Health checking / hits my Rail's database. And if the db is down, Kubernetes will see my pods as unhealthy and continuously tear down and start up my entire fleet, as described in https://thisdata.com/blog/making-a-rails-health-check-that-doesnt-hit-the-database.

Given that I want to setup my own health check path at /health_check with a different initialDelaySeconds that's more suitable for my app.

I got around this by duplicating Auto DevOps' Helm Chart and templates in my repo and modifying them to my needs. But then I miss out on all the constant improvements that GitLab is making to the chart, unless I watch for new commits like a hawk and import them frequently.

Is there any way to customize these settings without rolling my own copy of the chart?

Proposal

Introduce new environment variables for readinessProbe and livenessProbe or directly in the yaml file

Edited Oct 13, 2020 by Orit Golowinski
Assignee Loading
Time tracking Loading