From dc59674cd41bfadb2cb9a566ba7360e681715c92 Mon Sep 17 00:00:00 2001 From: Jakub Al-Khalili Date: Wed, 18 Sep 2019 09:46:04 +0200 Subject: [PATCH 1/4] Add helm chart --- chart/jenkins-operator/.helmignore | 22 +++++ chart/jenkins-operator/Chart.yaml | 5 + chart/jenkins-operator/templates/NOTES.txt | 11 +++ chart/jenkins-operator/templates/_helpers.tpl | 45 +++++++++ .../templates/deployment.yaml | 59 ++++++++++++ .../templates/jenkins-cr.yaml | 6 ++ .../templates/jenkins-crd.yaml | 19 ++++ chart/jenkins-operator/templates/role.yaml | 93 +++++++++++++++++++ .../templates/role_binding.yaml | 12 +++ .../templates/service_account.yaml | 5 + chart/jenkins-operator/values.yaml | 88 ++++++++++++++++++ 11 files changed, 365 insertions(+) create mode 100644 chart/jenkins-operator/.helmignore create mode 100644 chart/jenkins-operator/Chart.yaml create mode 100644 chart/jenkins-operator/templates/NOTES.txt create mode 100644 chart/jenkins-operator/templates/_helpers.tpl create mode 100644 chart/jenkins-operator/templates/deployment.yaml create mode 100644 chart/jenkins-operator/templates/jenkins-cr.yaml create mode 100644 chart/jenkins-operator/templates/jenkins-crd.yaml create mode 100644 chart/jenkins-operator/templates/role.yaml create mode 100644 chart/jenkins-operator/templates/role_binding.yaml create mode 100644 chart/jenkins-operator/templates/service_account.yaml create mode 100644 chart/jenkins-operator/values.yaml diff --git a/chart/jenkins-operator/.helmignore b/chart/jenkins-operator/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/chart/jenkins-operator/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/chart/jenkins-operator/Chart.yaml b/chart/jenkins-operator/Chart.yaml new file mode 100644 index 00000000..ac3733e8 --- /dev/null +++ b/chart/jenkins-operator/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: Jenkins operator is a Kubernetes native operator which fully manages Jenkins on Kubernetes +name: jenkins-operator +version: 0.2.0 diff --git a/chart/jenkins-operator/templates/NOTES.txt b/chart/jenkins-operator/templates/NOTES.txt new file mode 100644 index 00000000..45df9c74 --- /dev/null +++ b/chart/jenkins-operator/templates/NOTES.txt @@ -0,0 +1,11 @@ +1. Watch Jenkins instance being created: +$ kubectl get pods -w + +2. Get Jenkins credentials: +$ kubectl get secret jenkins-operator-credentials-{{ .Values.jenkins.name }} -o 'jsonpath={.data.user}' | base64 -d +$ kubectl get secret jenkins-operator-credentials-{{ .Values.jenkins.name }} -o 'jsonpath={.data.password}' | base64 -d + +3. Connect to Jenkins (minikube): +$ minikube service jenkins-operator-http-{{ .Values.jenkins.name }} --url +Connect to Jenkins (actual Kubernetes cluster): +$ kubectl port-forward jenkins-{{ .Values.jenkins.name }} 8080:8080 \ No newline at end of file diff --git a/chart/jenkins-operator/templates/_helpers.tpl b/chart/jenkins-operator/templates/_helpers.tpl new file mode 100644 index 00000000..df05cf14 --- /dev/null +++ b/chart/jenkins-operator/templates/_helpers.tpl @@ -0,0 +1,45 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "jenkins-operator.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "jenkins-operator.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "jenkins-operator.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "jenkins-operator.labels" -}} +app.kubernetes.io/name: {{ include "jenkins-operator.name" . }} +helm.sh/chart: {{ include "jenkins-operator.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} diff --git a/chart/jenkins-operator/templates/deployment.yaml b/chart/jenkins-operator/templates/deployment.yaml new file mode 100644 index 00000000..40070b81 --- /dev/null +++ b/chart/jenkins-operator/templates/deployment.yaml @@ -0,0 +1,59 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "jenkins-operator.fullname" . }} + labels: +{{ include "jenkins-operator.labels" . | indent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "jenkins-operator.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "jenkins-operator.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + serviceAccountName: jenkins-operator + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 80 + protocol: TCP + command: + - jenkins-operator + args: [] + env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "jenkins-operator" + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/chart/jenkins-operator/templates/jenkins-cr.yaml b/chart/jenkins-operator/templates/jenkins-cr.yaml new file mode 100644 index 00000000..3ffd736d --- /dev/null +++ b/chart/jenkins-operator/templates/jenkins-cr.yaml @@ -0,0 +1,6 @@ +apiVersion: {{ .Values.jenkins.apiVersion }} +kind: Jenkins +metadata: + name: {{ .Values.jenkins.name }} +master: + {{- toYaml .Values.jenkins.master | nindent 4 }} \ No newline at end of file diff --git a/chart/jenkins-operator/templates/jenkins-crd.yaml b/chart/jenkins-operator/templates/jenkins-crd.yaml new file mode 100644 index 00000000..db376ab2 --- /dev/null +++ b/chart/jenkins-operator/templates/jenkins-crd.yaml @@ -0,0 +1,19 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: jenkins.jenkins.io +spec: + group: jenkins.io + names: + kind: Jenkins + listKind: JenkinsList + plural: jenkins + singular: jenkins + scope: Namespaced + versions: + - name : v1alpha2 + served: true + storage: true + - name : v1alpha1 + served: true + storage: false diff --git a/chart/jenkins-operator/templates/role.yaml b/chart/jenkins-operator/templates/role.yaml new file mode 100644 index 00000000..d6e7aaa1 --- /dev/null +++ b/chart/jenkins-operator/templates/role.yaml @@ -0,0 +1,93 @@ +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: jenkins-operator +rules: + - apiGroups: + - "" + resources: + - services + - configmaps + - secrets + verbs: + - get + - create + - update + - list + - watch + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - '*' + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - create + - update + - apiGroups: + - "" + resources: + - pods/portforward + verbs: + - create + - apiGroups: + - "" + resources: + - pods/log + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - pods + - pods/exec + verbs: + - "*" + - apiGroups: + - "" + resources: + - events + verbs: + - watch + - list + - create + - patch + - apiGroups: + - apps + resourceNames: + - jenkins-operator + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - jenkins.io + resources: + - '*' + verbs: + - '*' + - apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - watch diff --git a/chart/jenkins-operator/templates/role_binding.yaml b/chart/jenkins-operator/templates/role_binding.yaml new file mode 100644 index 00000000..8224b7c1 --- /dev/null +++ b/chart/jenkins-operator/templates/role_binding.yaml @@ -0,0 +1,12 @@ +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: jenkins-operator +subjects: +- kind: ServiceAccount + name: jenkins-operator +roleRef: + kind: Role + name: jenkins-operator + apiGroup: rbac.authorization.k8s.io diff --git a/chart/jenkins-operator/templates/service_account.yaml b/chart/jenkins-operator/templates/service_account.yaml new file mode 100644 index 00000000..21b293ce --- /dev/null +++ b/chart/jenkins-operator/templates/service_account.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: jenkins-operator diff --git a/chart/jenkins-operator/values.yaml b/chart/jenkins-operator/values.yaml new file mode 100644 index 00000000..fed783b3 --- /dev/null +++ b/chart/jenkins-operator/values.yaml @@ -0,0 +1,88 @@ +# Default values for jenkins-operator. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: virtuslab/jenkins-operator + tag: v0.2.0 + pullPolicy: IfNotPresent + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +jenkins: + apiVersion: jenkins.io/v1alpha2 + name: example + master: + containers: + - name: jenkins-master + image: jenkins/jenkins:lts + imagePullPolicy: Always + livenessProbe: + failureThreshold: 12 + httpGet: + path: /login + port: http + scheme: HTTP + initialDelaySeconds: 80 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + readinessProbe: + failureThreshold: 3 + httpGet: + path: /login + port: http + scheme: HTTP + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 1500m + memory: 3Gi + requests: + cpu: "1" + memory: 500Mi + seedJobs: + - id: jenkins-operator + targets: "cicd/jobs/*.jenkins" + description: "Jenkins Operator repository" + repositoryBranch: master + repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git + +ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: [] + + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} From 9b2f44187a5ce3c3dd1450bcd02fd567bfa5fa83 Mon Sep 17 00:00:00 2001 From: Jakub Al-Khalili Date: Wed, 18 Sep 2019 10:05:13 +0200 Subject: [PATCH 2/4] Package jenkins-operator chart, reorganize chart directory --- chart/index.yaml | 14 ++++++++++++++ chart/jenkins-operator-0.2.0.tgz | Bin 0 -> 2824 bytes 2 files changed, 14 insertions(+) create mode 100644 chart/index.yaml create mode 100644 chart/jenkins-operator-0.2.0.tgz diff --git a/chart/index.yaml b/chart/index.yaml new file mode 100644 index 00000000..cf6b2944 --- /dev/null +++ b/chart/index.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +entries: + jenkins-operator: + - apiVersion: v1 + appVersion: "1.0" + created: "2019-09-18T10:03:55.800596+02:00" + description: Jenkins operator is a Kubernetes native operator which fully manages + Jenkins on Kubernetes + digest: 6594e655923d9555bbfc19c7d2fb78580bbc9e7901530dd09aa3877c00759460 + name: jenkins-operator + urls: + - https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.2.0.tgz + version: 0.2.0 +generated: "2019-09-18T10:03:55.799534+02:00" diff --git a/chart/jenkins-operator-0.2.0.tgz b/chart/jenkins-operator-0.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7cad4da7effc89c3002945ec7cdf9747be30c013 GIT binary patch literal 2824 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 Date: Wed, 18 Sep 2019 11:29:42 +0200 Subject: [PATCH 3/4] Regenerate index.yaml, add namespace to NOTES, fix Jenkins CR --- chart/index.yaml | 14 +-- chart/jenkins-operator-0.0.1.tgz | Bin 0 -> 2717 bytes chart/jenkins-operator-0.2.0.tgz | Bin 2824 -> 0 bytes chart/jenkins-operator/Chart.yaml | 6 +- chart/jenkins-operator/templates/NOTES.txt | 14 +-- .../templates/jenkins-cr.yaml | 8 +- chart/jenkins-operator/values.yaml | 86 +++++++----------- 7 files changed, 56 insertions(+), 72 deletions(-) create mode 100644 chart/jenkins-operator-0.0.1.tgz delete mode 100644 chart/jenkins-operator-0.2.0.tgz diff --git a/chart/index.yaml b/chart/index.yaml index cf6b2944..7a788468 100644 --- a/chart/index.yaml +++ b/chart/index.yaml @@ -2,13 +2,13 @@ apiVersion: v1 entries: jenkins-operator: - apiVersion: v1 - appVersion: "1.0" - created: "2019-09-18T10:03:55.800596+02:00" - description: Jenkins operator is a Kubernetes native operator which fully manages + appVersion: 0.2.0 + created: "2019-09-18T11:28:17.672673+02:00" + description: Kubernetes native operator which fully manages Jenkins on Kubernetes - digest: 6594e655923d9555bbfc19c7d2fb78580bbc9e7901530dd09aa3877c00759460 + digest: 8dc6fbfb7c6b17d6ea42ff985aa5f52d191277efa396a62a74390c1edf1f9b46 name: jenkins-operator urls: - - https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.2.0.tgz - version: 0.2.0 -generated: "2019-09-18T10:03:55.799534+02:00" + - https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.0.1.tgz + version: 0.0.1 +generated: "2019-09-18T11:28:17.671883+02:00" diff --git a/chart/jenkins-operator-0.0.1.tgz b/chart/jenkins-operator-0.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..525d1397060f7d5b4cddad5df0e29fbbbe56dd59 GIT binary patch literal 2717 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 Date: Wed, 18 Sep 2019 12:09:25 +0200 Subject: [PATCH 4/4] Improve helm CR, add helm goals to Makefile --- Makefile | 12 +++++++++++- chart/index.yaml | 9 ++++----- chart/jenkins-operator-0.0.1.tgz | Bin 2717 -> 2702 bytes chart/jenkins-operator/templates/NOTES.txt | 8 ++++---- .../templates/jenkins-cr.yaml | 4 +--- chart/jenkins-operator/values.yaml | 1 - jenkins-operator-0.0.1.tgz | Bin 0 -> 2702 bytes 7 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 jenkins-operator-0.0.1.tgz diff --git a/Makefile b/Makefile index a429d6ff..303b4591 100644 --- a/Makefile +++ b/Makefile @@ -453,4 +453,14 @@ else touch $(KUBECONFIG) sudo minikube start --vm-driver=none --kubernetes-version=$(MINIKUBE_KUBERNETES_VERSION) sudo chown -R travis: /home/travis/.minikube/ -endif \ No newline at end of file +endif + +.PHONY: helm-package +helm-package: + @echo "+ $@" + cd chart/ && helm package jenkins-operator + +.PHONY: helm-deploy +helm-deploy: helm-package + @echo "+ $@" + helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/ \ No newline at end of file diff --git a/chart/index.yaml b/chart/index.yaml index 7a788468..1d558217 100644 --- a/chart/index.yaml +++ b/chart/index.yaml @@ -3,12 +3,11 @@ entries: jenkins-operator: - apiVersion: v1 appVersion: 0.2.0 - created: "2019-09-18T11:28:17.672673+02:00" - description: Kubernetes native operator which fully manages - Jenkins on Kubernetes - digest: 8dc6fbfb7c6b17d6ea42ff985aa5f52d191277efa396a62a74390c1edf1f9b46 + created: "2019-09-18T12:05:07.80241+02:00" + description: Kubernetes native operator which fully manages Jenkins on Kubernetes + digest: 17d48e5da2a77975cc5d9c4db3d28f003d578759f8538bf58ac3977534feb42f name: jenkins-operator urls: - https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/jenkins-operator/jenkins-operator-0.0.1.tgz version: 0.0.1 -generated: "2019-09-18T11:28:17.671883+02:00" +generated: "2019-09-18T12:05:07.801225+02:00" diff --git a/chart/jenkins-operator-0.0.1.tgz b/chart/jenkins-operator-0.0.1.tgz index 525d1397060f7d5b4cddad5df0e29fbbbe56dd59..cba505b855162f90c18d893d888efc38c234b950 100644 GIT binary patch delta 2669 zcmV-z3X=7m6^<2Jt=7)e#LH(<%hMz$INiZ-^_3*e?opix$27qCDB3-4kIG9dre~Y z#Zwi}^StR~lKu5Oul?5>jfd59RzI9fM&1|TJ(&a>N~$!GUw?Ry=GC6uAEc0kenhFL z;65ye4oQ;g)pJL#=Y*&NNfVt_{g}>Ba@44R6HS*0<-UQ-hz1eNQ^u|#CY&r#!9VlO z1%g{69Zq8Op}p~(WzE-fht5kY=1)>O_+Jv1qIyyTum%64;c(K%|8%;;|FaY_pHoit zwGTJ9jzO{wWNKAyHTF7f3 zmQ?CgF)|x;AP%6(!iQyUSu(;WDPyM?NYu)QfB(lR#u$FKX)3B+DhA6TVM#2mQJm zNtp&WPdFOWQ<)Y!Fon;cWy%AXjiet%5~ zqjQQOkR-{b;5xrxPCe_d4G%LN1v3mtst}Zjv6=OX5#|(GsDMb!gLe##4b~A=@b&CE zQ_9itsp)Gxs5z8=<2pagLFQ&QCsLeARj$9hj%v81jKK^cRYpz)Bon@ncDs(t6MU^2 zIpRD4G}H=MPin1177TdH|1E%cz+gI&Q4|@pkMD% z+YMSufinBwv$j%J<<>VDaC_@_nl)L#?QO43$-X4$jH&NUnlhLJb}MOHirz_MTQfb$ z65WlIenw3SEds%OI6Jg6-GPW>!oxP7m1|gR8M(;wxpfutu!xC|DBQ7!Cr@3d6Q__$ntLS zq4@6bux=b`Hug2dLpZ&(3x3hEA^t0y0{Q#Kf8J<1ZO4C;@qh0A|5=J1|E);w*3AYf zd0<#1n^#ALYqG;t6xY0%Uuoycp=OAi_qPx{`O`!8Nz0w^A3n|iY{UO_+CBe$yT8N# zbCl-!kK&a^Zr+r8@uv9PW`>%Shr+{DX%T-YB9SA^96S}=X`W{q--EdI$2(4av{*=y zCiaIt)j-ROH-8OIS<9%>KiVxnQKhTagr$pXz^(T`L$7`R zKi=K{KTqlR`vtT=2!@Vr4&;mkE=hGHB>gRmuWOsI!hiX9PLwibIhOmzvb-~Rx4ysY z<%gio@uy#=98^^i2tKEam?X;TlVuJ{u+FUE3)J<;!JKl!=x-=j3ch*Av;vA1oN`n>4cHQ6ER{yC zmx84+28_^nt65sHZ(hp&Z}I=<1(F{X2W*S~$A8n-_kSbL8%}oq|2az2|NlK-?I#Tb zR66^FfmXiLFXH*r#+|~3075V8}MHQ66ZxE@o*Ec4gbU8 zxQ+k)UH8b3>14;+~ZiFnR3oax+6_0KB-ygN}|C8x>=l`Fj zynlidqBTmcKnuv%9WEo}FiR;j!2l#AxF8EuuJa1cBC0^8Np^P)DniC!!Ne^8(1P;C z-#{YE|1~%vI`dXV?8>hE0m}aZ00960Ft7t}07L))!8}6P delta 2684 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 IZvaF908n{I3jhEB literal 0 HcmV?d00001