GitLab's Auto-deploy Helm Chart
Requirements
- Helm
2.9.0
and above is required in order support"helm.sh/hook-delete-policy": before-hook-creation
for migrations
Configuration
Parameter | Description | Default |
---|---|---|
replicaCount | 1 |
|
image.repository | gitlab.example.com/group/project |
|
image.tag | stable |
|
image.pullPolicy | Always |
|
image.secrets | [name: gitlab-registry] |
|
podAnnotations | Pod annotations | {} |
application.track | stable |
|
application.tier | web |
|
application.migrateCommand | If present, this variable will run as a shell command within an application Container as a Helm pre-upgrade Hook. Intended to run migration commands. | nil |
application.initializeCommand | If present, this variable will run as shall command within an application Container as a Helm post-install Hook. Intended to run database initialization commands. | nil |
application.secretName | Pass in the name of a Secret which the deployment will load all key-value pairs from the Secret as environment variables in the application container. | nil |
application.secretChecksum | Pass in the checksum of the secrets referenced by application.secretName . |
nil |
hpa.enabled | If true, enables horizontal pod autoscaler. A resource request is also required to be set, such as resources.requests.cpu: 200m . |
false |
hpa.minReplicas | 1 |
|
hpa.maxReplicas | 5 |
|
hpa.targetCPUUtilizationPercentage | Percentage threshold when HPA begins scaling out pods | 80 |
gitlab.app | GitLab project slug. | nil |
gitlab.env | GitLab environment slug. | nil |
gitlab.envName | GitLab environment name. | nil |
gitlab.envURL | GitLab environment URL. | nil |
service.enabled | true |
|
service.annotations | Service annotations | {} |
service.name | web |
|
service.type | ClusterIP |
|
service.url | http://my.host.com/ |
|
service.additionalHosts | If present, this list will add additional hostnames to the server configuration. | nil |
service.commonName | If present, this will define the ssl certificate common name to be used by CertManager. service.url and service.additionalHosts will be added as Subject Alternative Names (SANs) |
nil |
service.externalPort | 5000 |
|
service.internalPort | 5000 |
|
ingress.tls.enabled | If true, enables SSL | true |
ingress.tls.secretName | Name of the secret used to terminate SSL traffic | "" |
ingress.modSecurity.enabled | Enable custom configuration for modsecurity, defaulting to the Core Rule Set | false |
ingress.modSecurity.secRuleEngine | Configuration for ModSecurity's rule engine | DetectionOnly |
ingress.annotations | Ingress annotations | {kubernetes.io/tls-acme: "true", kubernetes.io/ingress.class: "nginx"} |
livenessProbe.path | Path to access on the HTTP server on periodic probe of container liveness. | / |
livenessProbe.scheme | Scheme to access the HTTP server (HTTP or HTTPS). | HTTP |
livenessProbe.initialDelaySeconds | # of seconds after the container has started before liveness probes are initiated. | 15 |
livenessProbe.timeoutSeconds | # of seconds after which the liveness probe times out. | 15 |
livenessProbe.probeType | Type of liveness probe to use. | httpGet |
readinessProbe.path | Path to access on the HTTP server on periodic probe of container readiness. | / |
readinessProbe.scheme | Scheme to access the HTTP server (HTTP or HTTPS). | HTTP |
readinessProbe.initialDelaySeconds | # of seconds after the container has started before readiness probes are initiated. | 5 |
readinessProbe.timeoutSeconds | # of seconds after which the readiness probe times out. | 3 |
readinessProbe.probeType | Type of readiness probe to use. | httpGet |
postgresql.enabled | true |
|
postgresql.managed | If true, this will provision a managed Postgres instance via crossplane. | false |
postgresql.managedClassSelector | This will allow provisioning a Postgres instance based on label selectors via Crossplane, eg: managedClassSelector.matchLabels.stack: gitlab . The postgresql.managed value should be true as well for this to be honoured. Crossplane Configuration
|
{} |
podDisruptionBudget.enabled | false |
|
podDisruptionBudget.maxUnavailable | 1 |
|
podDisruptionBudget.minAvailable | If present, this variable will configure minAvailable in the PodDisruptionBudget. ⚠️ if you have replicaCount: 1 and podDisruptionBudget.minAvailable: 1 kubectl drain will be blocked. |
nil |
prometheus.metrics | Annotates the service for prometheus auto-discovery. Also denies access to the /metrics endpoint from external addresses with Ingress. |
false |