-
Notifications
You must be signed in to change notification settings - Fork 1.1k
helm: add cert-manager wrapper chart #3470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
danish9039
wants to merge
12
commits into
kubeflow:master
Choose a base branch
from
danish9039:gsoc/cert-manager-wrapper-chart
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
fff2465
helm: add cert-manager wrapper chart
danish9039 7088454
cert-manager: support existing installations
danish9039 a945009
helm: preserve cert-manager overlay labels in comparison
danish9039 d926dd7
helm: align cert-manager wrapper with v1.20.2
danish9039 f9fb01c
helm: use foundation-owned cert-manager namespace
danish9039 9e11606
helm: clarify cert-manager network policy wording
danish9039 47d50d5
helm: document cert-manager install prerequisites
danish9039 c30029f
helm: fix cert-manager namespace name
danish9039 fe87025
helm: move cert-manager chart to common/cert-manager/helm
danish9039 c1f4b67
ci: ignore Helm templates in YAML lint
danish9039 ff7b556
helm: fix cert-manager Chart.yaml version format and add to compare s…
danish9039 f0e280a
test: add jetstack repo setup for cert-manager compare
danish9039 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| .git/ | ||
| .gitignore | ||
| .DS_Store | ||
| *.swp | ||
| *.tmp |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| dependencies: | ||
| - name: cert-manager | ||
| repository: https://charts.jetstack.io | ||
| version: v1.20.2 | ||
| digest: sha256:191ee84cea4b12c4f3be2c9a01b73f09cae6a3b5a3b76bb35e76359f1b2153b2 | ||
| generated: "2026-06-15T10:40:10.97574309+05:30" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| apiVersion: v2 | ||
| name: cert-manager | ||
| description: A Helm wrapper chart for cert-manager with Kubeflow platform defaults | ||
| version: 0.1.0 | ||
| appVersion: v1.20.2 | ||
| keywords: | ||
| - cert-manager | ||
| - kubeflow | ||
| - certificates | ||
| home: https://github.com/kubeflow/manifests | ||
| sources: | ||
| - https://cert-manager.io | ||
| - https://github.com/kubeflow/manifests | ||
| dependencies: | ||
| - name: cert-manager | ||
| version: "1.20.2" | ||
| repository: https://charts.jetstack.io | ||
| condition: cert-manager.enabled | ||
| annotations: | ||
| category: Security | ||
| licenses: Apache-2.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| # Cert Manager Helm Wrapper Chart | ||
|
|
||
| This chart wraps the upstream cert-manager Helm chart and adds the Kubeflow-specific cert-manager resources from `common/cert-manager/overlays/kubeflow`. | ||
|
|
||
| It installs: | ||
|
|
||
| - upstream cert-manager `v1.20.2` | ||
| - cert-manager CRDs | ||
| - optional `ClusterIssuer/kubeflow-self-signing-issuer` | ||
| - optional Kubeflow-specific cert-manager NetworkPolicies | ||
|
|
||
| In the Kubeflow platform install, apply the foundation charts first: | ||
|
|
||
| | Chart | Provides | | ||
| | --- | --- | | ||
| | `kubeflow-namespaces` | `Namespace/cert-manager` and other platform namespaces | | ||
| | `kubeflow-platform` | shared Kubeflow platform RBAC | | ||
|
|
||
| This wrapper stores its Helm release metadata in the `cert-manager` workload namespace. | ||
|
|
||
| ## Namespace names | ||
|
|
||
| The cert-manager workload namespace is fixed to `cert-manager` to match the Kustomize baseline and `kubeflow-namespaces` foundation chart. It is not configurable. | ||
|
|
||
| ```bash | ||
| helm install kubeflow-namespaces ./experimental/helm/charts/kubeflow-namespaces --namespace default | ||
| helm install kubeflow-platform ./experimental/helm/charts/kubeflow-platform --namespace kubeflow-system | ||
|
|
||
| helm dep build ./common/cert-manager/helm | ||
| helm install cert-manager ./common/cert-manager/helm --namespace cert-manager --wait | ||
| helm upgrade cert-manager ./common/cert-manager/helm --namespace cert-manager \ | ||
| --values ./common/cert-manager/helm/ci/values-kubeflow.yaml --wait | ||
| ``` | ||
|
|
||
| The install is split into base install plus upgrade because `ClusterIssuer` cannot be created until cert-manager CRDs are available. | ||
|
|
||
| If the cluster already has a company-managed cert-manager installation, disable the upstream dependency, then install only the Kubeflow-specific resources. If `Namespace/cert-manager` already exists, the foundation chart does not recreate or adopt it; apply any required labels separately if they are missing. | ||
|
|
||
| ```bash | ||
| helm install cert-manager ./common/cert-manager/helm --namespace cert-manager \ | ||
| --values ./common/cert-manager/helm/ci/values-existing-cert-manager.yaml --wait | ||
| ``` | ||
|
|
||
| In this mode, cert-manager CRDs, webhook, and controllers must already exist. | ||
|
|
||
| Validate parity with: | ||
|
|
||
| ```bash | ||
| ./tests/helm_kustomize_compare.sh cert-manager base | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # CI values for upstream cert-manager base parity. | ||
| cert-manager: | ||
| enabled: true | ||
| crds: | ||
| enabled: true | ||
| startupapicheck: | ||
| enabled: false | ||
|
|
||
| kubeflow: | ||
| enabled: false | ||
| clusterIssuer: | ||
| enabled: false | ||
| networkPolicies: | ||
| enabled: false |
11 changes: 11 additions & 0 deletions
11
common/cert-manager/helm/ci/values-existing-cert-manager.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # CI values for Kubeflow cert-manager resources with an externally managed cert-manager. | ||
| cert-manager: | ||
| enabled: false | ||
|
|
||
| kubeflow: | ||
| enabled: true | ||
| clusterIssuer: | ||
| enabled: true | ||
| name: kubeflow-self-signing-issuer | ||
| networkPolicies: | ||
| enabled: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # CI values for Kubeflow cert-manager parity. | ||
| cert-manager: | ||
| enabled: true | ||
| crds: | ||
| enabled: true | ||
| startupapicheck: | ||
| enabled: false | ||
|
|
||
| kubeflow: | ||
| enabled: true | ||
| clusterIssuer: | ||
| enabled: true | ||
| name: kubeflow-self-signing-issuer | ||
| networkPolicies: | ||
| enabled: true |
54 changes: 54 additions & 0 deletions
54
common/cert-manager/helm/templates/kubeflow-resources.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| {{ if .Values.kubeflow.enabled }} | ||
| {{ if .Values.kubeflow.clusterIssuer.enabled }} | ||
| apiVersion: cert-manager.io/v1 | ||
| kind: ClusterIssuer | ||
| metadata: | ||
| name: {{ .Values.kubeflow.clusterIssuer.name | quote }} | ||
| labels: | ||
| {{- toYaml .Values.kubeflow.labels | nindent 4 }} | ||
| spec: | ||
| selfSigned: {} | ||
| {{ end }} | ||
| {{ if .Values.kubeflow.networkPolicies.enabled }} | ||
| --- | ||
| kind: NetworkPolicy | ||
| apiVersion: networking.k8s.io/v1 | ||
| metadata: | ||
| name: cert-manager-webhook | ||
| namespace: cert-manager | ||
| labels: | ||
| {{- toYaml .Values.kubeflow.labels | nindent 4 }} | ||
| spec: | ||
| podSelector: | ||
| matchExpressions: | ||
| - key: app.kubernetes.io/name | ||
| operator: In | ||
| values: | ||
| - webhook | ||
| - key: app.kubernetes.io/component | ||
| operator: In | ||
| values: | ||
| - "webhook" | ||
| ingress: | ||
| - ports: | ||
| - protocol: TCP | ||
| port: 10250 | ||
| policyTypes: | ||
| - Ingress | ||
| --- | ||
| apiVersion: networking.k8s.io/v1 | ||
| kind: NetworkPolicy | ||
| metadata: | ||
| name: default-allow-same-namespace-cert-manager | ||
| namespace: cert-manager | ||
| labels: | ||
| {{- toYaml .Values.kubeflow.labels | nindent 4 }} | ||
| spec: | ||
| podSelector: {} | ||
| ingress: | ||
| - from: | ||
| - podSelector: {} | ||
| policyTypes: | ||
| - Ingress | ||
| {{ end }} | ||
| {{ end }} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # Default values for the Kubeflow cert-manager wrapper chart. | ||
|
|
||
| cert-manager: | ||
| enabled: true | ||
| crds: | ||
| enabled: true | ||
| startupapicheck: | ||
| enabled: false | ||
|
|
||
| kubeflow: | ||
| # -- Enable Kubeflow-specific cert-manager resources. | ||
| enabled: false | ||
|
|
||
| clusterIssuer: | ||
| # -- Create the Kubeflow self-signed ClusterIssuer. | ||
| enabled: true | ||
| name: kubeflow-self-signing-issuer | ||
|
|
||
| networkPolicies: | ||
| # -- Create Kubeflow cert-manager NetworkPolicies. | ||
| enabled: true | ||
|
|
||
| labels: | ||
| app.kubernetes.io/component: cert-manager | ||
| app.kubernetes.io/name: cert-manager | ||
| kustomize.component: cert-manager |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by preserving the Kubeflow cert-manager overlay labels on the overlay-owned resources during comparison.