80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
# Jenkins Helm Chart — default values
|
|
# All tuneable parameters are here.
|
|
# Override per-environment with: helm install -f values-prod.yaml
|
|
|
|
# -- Namespace where Jenkins is deployed
|
|
namespace: jenkins
|
|
|
|
# -- Number of Jenkins pods (should stay 1 — Jenkins is stateful)
|
|
replicaCount: 1
|
|
|
|
image:
|
|
# -- Jenkins image
|
|
repository: jenkins/jenkins
|
|
tag: lts-jdk17
|
|
pullPolicy: IfNotPresent
|
|
|
|
service:
|
|
type: ClusterIP
|
|
# -- Jenkins web UI port
|
|
httpPort: 8080
|
|
# -- Jenkins agent JNLP port
|
|
agentPort: 50000
|
|
|
|
ingress:
|
|
enabled: true
|
|
# -- Hostname for Jenkins web UI
|
|
host: jenkins.thedevops.dev
|
|
# -- cert-manager ClusterIssuer name
|
|
certIssuer: letsencrypt-http
|
|
# -- TLS secret name
|
|
tlsSecretName: jenkins-tls
|
|
|
|
persistence:
|
|
enabled: true
|
|
# -- Storage class (longhorn, local-path, etc.)
|
|
storageClass: longhorn
|
|
# -- PVC size for jenkins_home
|
|
size: 20Gi
|
|
accessMode: ReadWriteOnce
|
|
claimName: jenkins-home
|
|
|
|
# -- Security context — fsGroup 1000 required for jenkins_home permissions
|
|
securityContext:
|
|
fsGroup: 1000
|
|
|
|
# -- RBAC — creates ServiceAccount, ClusterRole, ClusterRoleBinding
|
|
rbac:
|
|
enabled: true
|
|
serviceAccountName: jenkins
|
|
clusterRoleName: jenkins-deployer
|
|
|
|
# -- Resource limits/requests
|
|
resources:
|
|
requests:
|
|
cpu: 200m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 2Gi
|
|
|
|
# -- Mount containerd socket for Docker CLI access
|
|
containerd:
|
|
enabled: true
|
|
socketPath: /run/k3s/containerd/containerd.sock
|
|
|
|
# -- initContainers install Docker CLI and kubectl into shared volume
|
|
initContainers:
|
|
installDocker:
|
|
enabled: true
|
|
image: docker:24-cli
|
|
installKubectl:
|
|
enabled: true
|
|
image: alpine:3.19
|
|
kubectlVersion: v1.28.0
|
|
|
|
# -- Extra environment variables for Jenkins container
|
|
extraEnv:
|
|
- name: JENKINS_OPTS
|
|
value: "--httpPort=8080"
|