Adding custom CA should be able to take a ConfigMap as a parameter

Summary

https://docs.gitlab.com/charts/charts/globals#custom-certificate-authorities

When adding a custom CA certificate, currently it is only possible to provide a secret. This doesn't make a lot of sense, as a certificate is not secret data, and other tools (such as cert-manager-trust) only provide support for distributing certificates as ConfigMaps.

I would like to see the ability to provide a ConfigMap to the GitLab helm chart.

Steps to reproduce

  1. Generate self-signed CA with external cert-manager instance.
  2. Configure external cert-manager-trust instance to distribute certificates across the cluster.
  3. Try to configure GitLab Helm chart with custom CA.

Configuration used

# Current configuration
global:
  certificates:
    customCAs:
      - secret: root-ca-cert

# Desired configuration
global:
  certificates:
    customCAs:
      - configMap: root-ca-cert

Current behavior

Unable to add a custom CA using a ConfigMap.

Expected behavior

Be able to add a custom CA using a ConfigMap.

Versions

  • Chart: 6.1.2
  • Platform:
    • Self-hosted: K3s
  • Kubernetes: (kubectl version)
    • Client: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.2", GitCommit:"f66044f4361b9f1f96f0053dd46cb7dce5e990a8", GitTreeState:"archive", BuildDate:"2022-06-18T07:33:51Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"}
    • Server: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.1+k3s1", GitCommit:"0581808f5c160b0c0cafec5b8f20430835f34f44", GitTreeState:"clean", BuildDate:"2022-06-11T17:26:28Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"linux/amd64"}
  • Helm: (helm version)
    • Client: version.BuildInfo{Version:"v3.9.0", GitCommit:"7ceeda6c585217a19a1131663d8cd1f7d641b2a7", GitTreeState:"clean", GoVersion:"go1.18.2"}

Relevant logs

None.

Edited by Ryan Algar