Skip to content

feat: custom/shared issuer support - #313

Open
rbekhtaoui wants to merge 7 commits into
feat/revamp-helmfrom
rb/helm-cert-manager-issuer
Open

rbekhtaoui wants to merge 7 commits into
feat/revamp-helmfrom
rb/helm-cert-manager-issuer

Conversation

@rbekhtaoui

@rbekhtaoui rbekhtaoui commented Sep 11, 2026

Copy link
Copy Markdown

Motivation

The main goal was to support a custom/external cert-manager issuer instead of only a self-generated one, so ArmoniK can issue its TLS certificates from an existing company CA (venafi, googleCas).

Description

  • New shared armonik.certManager.issuer helper in armonik-common, used consistently by activemq, redis, ingress and the new mongodb Certificate template.
  • certmanager-issuer.yaml now supports three providers: selfSigned , venafi, googleCas, with validation guards.
  • New google-cas-issuer operator, opt-in via global.armonik.operators.googleCasIssuer.deploy.
  • Redis/activemq Certificates now resolve the real Service name.
  • Ingress Certificate gains extraDnsNames/ipAddresses.

Testing

[When applicable, detail the testing you have performed to ensure that these changes function as intended. Include information about any added tests.]

Impact

[Discuss the impact of your modifications on ArmoniK. This might include effects on performance, configuration, documentation, new dependencies, or changes in behaviour.]

Additional Information

[Any additional information that reviewers should be aware of.]

Checklist

  • My code adheres to the coding and style guidelines of the project.
  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • I have thoroughly tested my modifications and added tests when necessary.
  • Tests pass locally and in the CI.
  • I have assessed the performance impact of my modifications.

@rbekhtaoui
rbekhtaoui force-pushed the rb/helm-cert-manager-issuer branch from faca823 to 5956b00 Compare September 11, 2026 12:14
@rbekhtaoui
rbekhtaoui force-pushed the rb/helm-cert-manager-issuer branch from d9517c8 to e3775eb Compare September 11, 2026 15:18

@lemaitre-aneo lemaitre-aneo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mTLS could use the internal issuer if no CA is provided.
Also, I think there could be some refactor to mutualize the implementations of the certs.

Comment thread charts/activemq/templates/certificate.yaml Outdated
Comment thread charts/activemq/templates/certificate.yaml Outdated
Comment on lines +63 to +65
name: {{ list $certManager "existingIssuer" "name" | include "armonik.utils.index" }}
kind: {{ list $certManager "existingIssuer" "kind" | include "armonik.utils.index" | default "Issuer" }}
group: {{ list $certManager "existingIssuer" "group" | include "armonik.utils.index" | default "cert-manager.io" }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could simplify if you set a local variable {{ $issuer := $certManager.existingIssuer | default dict }}

Comment thread charts/activemq/Chart.yaml
Comment on lines +52 to +59
certManager:
issuer:
enabled: false
create: false
provider: selfSigned
name: '{{.Release.Name}}-shared-issuer'
kind: Issuer
group: cert-manager.io

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of those information should not be in global: Only the information about its presence, the name, the kind and the group are required. The others are only required when deploying armonik umbrella chart itself.

Comment thread charts/armonik/values.yaml Outdated
Comment on lines +110 to +134
############################################
###### CERT-MANAGER ISSUER PROVIDERS ######
############################################
googleCas:
# Required when global.armonik.certManager.issuer.provider=googleCas.
project: ""
location: ""
caPoolId: ""
certificateAuthorityId: ""
credentials:
name: ""
key: credentials.json

venafi:
# Required when global.armonik.certManager.issuer.provider=venafi.
zone: ""
tpp:
url: ""
credentialsRef:
name: ""
caBundle: ""
cloud:
apiTokenSecretRef:
name: ""
key: apikey

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be in a issuer configuration. Also, I would say we should just forward issuer config as-is without much tweaking, instead of manually exposing each and every parameters.

rbekhtaoui and others added 2 commits September 14, 2026 15:26
Co-authored-by: lemaitre-aneo <91961298+lemaitre-aneo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants