feat: convert jenkins to Helm chart (helm/jenkins/) #6

Merged
admin merged 10 commits from feat/helm-jenkins into main 2026-03-08 15:37:58 +00:00
Owner

Summary

Converts apps/jenkins/ (flat YAML files) → helm/jenkins/ (proper Helm chart).

Chart structure

helm/jenkins/
├── Chart.yaml                  # chart metadata + version
├── values.yaml                 # ALL tuneable settings in one place
├── argocd-application.yaml     # ArgoCD app — points to this chart
└── templates/
    ├── _helpers.tpl             # shared labels, name helpers
    ├── namespace.yaml
    ├── rbac.yaml                # ServiceAccount + ClusterRole + CRB (toggled by rbac.enabled)
    ├── pvc.yaml                 # PVC (toggled by persistence.enabled)
    ├── deployment.yaml          # initContainers toggled by values
    ├── service.yaml
    └── ingress.yaml             # toggled by ingress.enabled

What changed vs flat YAML

Before After
Hardcoded jenkins.thedevops.dev in ingress.yaml {{ .Values.ingress.host }}
Hardcoded longhorn storage class {{ .Values.persistence.storageClass }}
Hardcoded 20Gi PVC size {{ .Values.persistence.size }}
Hardcoded lts-jdk17 image tag {{ .Values.image.tag }}
No way to disable ingress ingress.enabled: true/false
No way to disable RBAC rbac.enabled: true/false
No way to disable initContainers initContainers.installDocker.enabled: true/false

How to deploy after merge

# Via ArgoCD (GitOps — recommended)
kubectl apply -f helm/jenkins/argocd-application.yaml

# Direct Helm install (for testing)
helm install jenkins ./helm/jenkins -n jenkins --create-namespace

# Helm dry-run to verify templates render correctly
helm template jenkins ./helm/jenkins

Original flat YAML in apps/jenkins/ is kept untouched

Migrate when ready — no forced cutover.

## Summary Converts `apps/jenkins/` (flat YAML files) → `helm/jenkins/` (proper Helm chart). ## Chart structure ``` helm/jenkins/ ├── Chart.yaml # chart metadata + version ├── values.yaml # ALL tuneable settings in one place ├── argocd-application.yaml # ArgoCD app — points to this chart └── templates/ ├── _helpers.tpl # shared labels, name helpers ├── namespace.yaml ├── rbac.yaml # ServiceAccount + ClusterRole + CRB (toggled by rbac.enabled) ├── pvc.yaml # PVC (toggled by persistence.enabled) ├── deployment.yaml # initContainers toggled by values ├── service.yaml └── ingress.yaml # toggled by ingress.enabled ``` ## What changed vs flat YAML | Before | After | |--------|-------| | Hardcoded `jenkins.thedevops.dev` in ingress.yaml | `{{ .Values.ingress.host }}` | | Hardcoded `longhorn` storage class | `{{ .Values.persistence.storageClass }}` | | Hardcoded `20Gi` PVC size | `{{ .Values.persistence.size }}` | | Hardcoded `lts-jdk17` image tag | `{{ .Values.image.tag }}` | | No way to disable ingress | `ingress.enabled: true/false` | | No way to disable RBAC | `rbac.enabled: true/false` | | No way to disable initContainers | `initContainers.installDocker.enabled: true/false` | ## How to deploy after merge ```bash # Via ArgoCD (GitOps — recommended) kubectl apply -f helm/jenkins/argocd-application.yaml # Direct Helm install (for testing) helm install jenkins ./helm/jenkins -n jenkins --create-namespace # Helm dry-run to verify templates render correctly helm template jenkins ./helm/jenkins ``` ## Original flat YAML in apps/jenkins/ is kept untouched Migrate when ready — no forced cutover.
admin added 10 commits 2026-03-08 15:24:33 +00:00
admin merged commit ac9b178aa1 into main 2026-03-08 15:37:58 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/k3s-gitops#6
No description provided.