Externalise podSecurityContext.runAsUser and
This commit is contained in:
		
							parent
							
								
									9285e294dd
								
							
						
					
					
						commit
						f17a4c5dce
					
				|  | @ -4,9 +4,14 @@ metadata: | ||||||
|   name: example |   name: example | ||||||
| spec: | spec: | ||||||
|   master: |   master: | ||||||
|  |     securityContext: | ||||||
|  |       runAsUser: 1001 | ||||||
|     containers: |     containers: | ||||||
|     - name: jenkins-master |     - name: jenkins-master | ||||||
|       image: jenkins/jenkins:lts |       image: jenkins/jenkins:lts | ||||||
|  |       command: | ||||||
|  |       - bash | ||||||
|  |       - "/var/jenkins/scripts/init.sh" | ||||||
|       imagePullPolicy: Always |       imagePullPolicy: Always | ||||||
|       livenessProbe: |       livenessProbe: | ||||||
|         failureThreshold: 12 |         failureThreshold: 12 | ||||||
|  |  | ||||||
|  | @ -155,6 +155,14 @@ type JenkinsMaster struct { | ||||||
| 	// +optional
 | 	// +optional
 | ||||||
| 	NodeSelector map[string]string `json:"nodeSelector,omitempty"` | 	NodeSelector map[string]string `json:"nodeSelector,omitempty"` | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	// SecurityContext that applies to all the containers of the Jenkins 
 | ||||||
|  | 	// Master. As per kubernetes specification, it can be overidden
 | ||||||
|  | 	// for each container individually.
 | ||||||
|  | 	// +optional
 | ||||||
|  | 	// Defaults to: nil
 | ||||||
|  |         SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` | ||||||
|  | 
 | ||||||
| 	// List of containers belonging to the pod.
 | 	// List of containers belonging to the pod.
 | ||||||
| 	// Containers cannot currently be added or removed.
 | 	// Containers cannot currently be added or removed.
 | ||||||
| 	// There must be at least one container in a Pod.
 | 	// There must be at least one container in a Pod.
 | ||||||
|  |  | ||||||
|  | @ -202,12 +202,9 @@ func NewJenkinsMasterContainer(jenkins *v1alpha2.Jenkins) corev1.Container { | ||||||
| 		Name:            JenkinsMasterContainerName, | 		Name:            JenkinsMasterContainerName, | ||||||
| 		Image:           jenkinsContainer.Image, | 		Image:           jenkinsContainer.Image, | ||||||
| 		ImagePullPolicy: jenkinsContainer.ImagePullPolicy, | 		ImagePullPolicy: jenkinsContainer.ImagePullPolicy, | ||||||
| 		/*Command: []string{ | 		Command:         jenkinsContainer.Command, | ||||||
| 			"bash", | 		LivenessProbe:   jenkinsContainer.LivenessProbe, | ||||||
| 			fmt.Sprintf("%s/%s", jenkinsScriptsVolumePath, initScriptName), | 		ReadinessProbe:  jenkinsContainer.ReadinessProbe, | ||||||
| 		},*/ |  | ||||||
| 		LivenessProbe:  jenkinsContainer.LivenessProbe, |  | ||||||
| 		ReadinessProbe: jenkinsContainer.ReadinessProbe, |  | ||||||
| 		Ports: []corev1.ContainerPort{ | 		Ports: []corev1.ContainerPort{ | ||||||
| 			{ | 			{ | ||||||
| 				Name:          httpPortName, | 				Name:          httpPortName, | ||||||
|  | @ -264,7 +261,6 @@ func GetJenkinsMasterPodName(jenkins v1alpha2.Jenkins) string { | ||||||
| 
 | 
 | ||||||
| // NewJenkinsMasterPod builds Jenkins Master Kubernetes Pod resource
 | // NewJenkinsMasterPod builds Jenkins Master Kubernetes Pod resource
 | ||||||
| func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha2.Jenkins) *corev1.Pod { | func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha2.Jenkins) *corev1.Pod { | ||||||
| 	runAsUser := jenkinsUserUID |  | ||||||
| 
 | 
 | ||||||
| 	serviceAccountName := objectMeta.Name | 	serviceAccountName := objectMeta.Name | ||||||
| 	objectMeta.Annotations = jenkins.Spec.Master.Annotations | 	objectMeta.Annotations = jenkins.Spec.Master.Annotations | ||||||
|  | @ -276,10 +272,7 @@ func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha2.Jenkins | ||||||
| 		Spec: corev1.PodSpec{ | 		Spec: corev1.PodSpec{ | ||||||
| 			ServiceAccountName: serviceAccountName, | 			ServiceAccountName: serviceAccountName, | ||||||
| 			RestartPolicy:      corev1.RestartPolicyNever, | 			RestartPolicy:      corev1.RestartPolicyNever, | ||||||
| 			SecurityContext: &corev1.PodSecurityContext{ | 			SecurityContext: jenkins.Spec.Master.SecurityContext, | ||||||
| 				RunAsUser:  &runAsUser, |  | ||||||
| 				RunAsGroup: &runAsUser, |  | ||||||
| 			}, |  | ||||||
| 			NodeSelector: jenkins.Spec.Master.NodeSelector, | 			NodeSelector: jenkins.Spec.Master.NodeSelector, | ||||||
| 			Containers:   newContainers(jenkins), | 			Containers:   newContainers(jenkins), | ||||||
| 			Volumes:      append(GetJenkinsMasterPodBaseVolumes(jenkins), jenkins.Spec.Master.Volumes...), | 			Volumes:      append(GetJenkinsMasterPodBaseVolumes(jenkins), jenkins.Spec.Master.Volumes...), | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue