argocd-operator icon indicating copy to clipboard operation
argocd-operator copied to clipboard

Support for using custom certificates instead of self-signed

Open jdziedzic opened this issue 4 years ago • 0 comments

Currently the operator is generating a self-signed certificate and storing it in a secret named name-tls. In our case, our chosen name is argocd-devops, so our secret that it is generating by default looks like this:

apiVersion: v1
metadata:
  namespace: argocd-devops
  name: argocd-devops-tls
  labels:
    app.kubernetes.io/name: argocd-devops-tls
    app.kubernetes.io/part-of: argocd
    argocd.argoproj.io/instance: argocd-devops
data:
  tls.crt: >-  LS0tLS1CRUdJTiBDRVJU...
  tls.key: >-  LS0tLS1CRUdJTiBSU0Eg...
type: kubernetes.io/tls

We use CertManager in our cluster to interface with our Venafi server to issue certificates with our enterprise CA. We are generating a certificate secret using that and it is being created in the same namespace as a secret named argocd-devops-cert. It looks like this:

apiVersion: v1
metadata:
  name: argocd-devops-cert
  namespace: argocd-devops
  annotations:
    cert-manager.io/certificate-name: argocd-devops-cert
    cert-manager.io/issuer-kind: ClusterIssuer
    cert-manager.io/issuer-name: venafi
data:
  ca.crt: ''
  tls.crt: >- LS0tLS1CRUdJTiBDR...
  tls.key: >- LS0tLS1CRUdJTiBSU...
type: kubernetes.io/tls

We would love to see an option within the CR specify a different key/cert secret that the operator would use for the argocd-server container instead of the argocd-tls self-signed certificate, therefore avoiding the security warning from browsers when hitting the ArgoCD console due to the untrusted self-signed cert.

jdziedzic avatar Oct 02 '20 13:10 jdziedzic