User Tools

Site Tools


kubernetes:helm2argo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
kubernetes:helm2argo [2026/02/06 09:11] – initial structure mattrootkubernetes:helm2argo [2026/02/06 11:52] (current) mattroot
Line 1: Line 1:
 ====== Migrating Helm deployments to ArgoCD (GitOps-style) ====== ====== Migrating Helm deployments to ArgoCD (GitOps-style) ======
 +
 +<WRAP todo #wip-box>
 +This page is a **work-in-progress**. Stuff might change, and probably will.
 +</WRAP>
  
 There are reasons to do this. Generally it's more pleasant to manage this stuff by Argo, especially if you have another related resources which are NOT managed by Helm. For example, we have cert-manager installed by hand, but the ClusterIssuer and certs themselves are just deployed by hand. There are reasons to do this. Generally it's more pleasant to manage this stuff by Argo, especially if you have another related resources which are NOT managed by Helm. For example, we have cert-manager installed by hand, but the ClusterIssuer and certs themselves are just deployed by hand.
Line 8: Line 12:
  
 ==== Step 1: wrapper chart ==== ==== Step 1: wrapper chart ====
-TODO+Create a folder in your git repo, I usually pick ''helm/<application-name>'' path. Make this structure: 
 + 
 +  application-name/ 
 +  |-> templates/ 
 +  |-> Chart.yaml 
 +  |-> values.yaml 
 + 
 +''Chart.yaml'' is your chart definition. Here is a somewhat reasonable template you can use. We are adding the chart that we are targetting as a **dependency** to this one. Replace each ''APPNAMEHERE'' with the app you are actually deploying. 
 + 
 +  apiVersion: v2 
 +  name: APPNAMEHERE-wrapper 
 +  description: A wrapper chart for APPNAMEHERE deployment 
 +  type: application 
 +  version: 1.0.0 
 +  appVersion: "v2.1.37" # put in the app-version from the app you are using in here 
 +   
 +  dependencies: 
 +    - name: APPNAMEHERE 
 +      version: "4.2.0" # put in the chart version from the one you have currently deployed 
 +      repository: "charts.asscompany.com" 
 +   
 +Now for the ''values.yaml'' file. Dump all your values from the current chart you have. 
 + 
 +  $ helm get values -n ass APPNAMEHERE >> values.yaml 
 + 
 +Edit that file. Remove the first line as I have no idea why Helm does it this way.
  
 ==== Step 2: ArgoCD application ==== ==== Step 2: ArgoCD application ====
kubernetes/helm2argo.1770369114.txt.gz · Last modified: by mattroot