Files

54 lines
1.6 KiB
YAML

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: {{ .Chart.Name }}-{{ .Values.environment }}-main
service: jenkins
name: {{ .Chart.Name }}-{{ .Values.environment }}-main
namespace: {{ .Values.namespace }}
spec:
serviceName: jenkins
replicas: 1
selector:
matchLabels:
app: {{ .Chart.Name }}-{{ .Values.environment }}-main
service: jenkins
template:
metadata:
labels:
app: {{ .Chart.Name }}-{{ .Values.environment }}-main
service: jenkins
spec:
serviceAccountName: jenkins-admin
initContainers:
- name: volume-mount-hack
image: busybox:latest
command: [ "sh", "-c", "chown -R 1000:1000 /var/jenkins_home" ]
volumeMounts:
- name: jenkins-data
mountPath: /var/jenkins_home
containers:
- image: {{ .Values.image.name }}:{{ .Values.image.tag | default .Chart.AppVersion }}
imagePullPolicy: Always
name: jenkins-main
ports:
- name: web
containerPort: 8080
- name: jnlp
containerPort: 30000
env:
- name: JENKINS_OPTS
value: "--prefix=/jenkins"
- name: JENKINS_SLAVE_AGENT_PORT
value: '30000'
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: jenkins-data
mountPath: /var/jenkins_home
volumes:
- name: jenkins-data
persistentVolumeClaim:
claimName: jenkins-pv-claim