From f63c188daa0dcc140059baa65da737f322d02c96 Mon Sep 17 00:00:00 2001 From: Danny Davidson Date: Thu, 26 Jan 2017 10:11:27 -0700 Subject: [PATCH] add support for explicit NodePort on jenkins chart (#342) * add support for explicit NodePort on jenkins chart * jenkins: bump version to 0.1.7 * jenkins: loadBalancerSourceRanges only when LB service * jenkins: Fix delete --- stable/jenkins/README.md | 27 ++++++++++--------- stable/jenkins/templates/home-pvc.yaml | 1 - .../jenkins/templates/jenkins-master-svc.yaml | 5 ++++ stable/jenkins/values.yaml | 1 + 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/stable/jenkins/README.md b/stable/jenkins/README.md index 1205f479f5..cba23dd9d5 100644 --- a/stable/jenkins/README.md +++ b/stable/jenkins/README.md @@ -26,18 +26,21 @@ The following tables lists the configurable parameters of the Jenkins chart and ### Jenkins Master -| Parameter | Description | Default | -| ----------------------- | ---------------------------------- | ---------------------------------------------------------- | -| `Master.Name` | Jenkins master name | `jenkins-master` | -| `Master.Image` | Master image name | `gcr.io/kubernetes-charts-ci/jenkins-master-k8s` | -| `Master.ImageTag` | Master image tag | `v0.1.0` | -| `Master.ImagePullPolicy` | Master image pull policy | `Always` | -| `Master.Component` | k8s selector key | `jenkins-master` | -| `Master.Cpu` | Master requested cpu | `200m` | -| `Master.Memory` | Master requested memory | `256Mi` | -| `Master.ServicePort` | k8s service port | `8080` | -| `Master.ContainerPort` | Master listening port | `8080` | -| `Master.SlaveListenerPort` | Listening port for agents | `50000` | + +| Parameter | Description | Default | +| ----------------------- | ---------------------------------- | ---------------------------------------------------------- | +| `Master.Name` | Jenkins master name | `jenkins-master` | +| `Master.Image` | Master image name | `gcr.io/kubernetes-charts-ci/jenkins-master-k8s` | +| `Master.ImageTag` | Master image tag | `v0.1.0` | +| `Master.ImagePullPolicy` | Master image pull policy | `Always` | +| `Master.Component` | k8s selector key | `jenkins-master` | +| `Master.Cpu` | Master requested cpu | `200m` | +| `Master.Memory` | Master requested memory | `256Mi` | +| `Master.ServiceType` | k8s service type | `LoadBalancer` | +| `Master.ServicePort` | k8s service port | `8080` | +| `Master.NodePort` | k8s node port | Not set | +| `Master.ContainerPort` | Master listening port | `8080` | +| `Master.SlaveListenerPort` | Listening port for agents | `50000` | | `Master.LoadBalancerSourceRanges` | Allowed inbound IP addresses | `0.0.0.0/0` | ### Jenkins Agent diff --git a/stable/jenkins/templates/home-pvc.yaml b/stable/jenkins/templates/home-pvc.yaml index 12a9fd0fac..b98323ef21 100644 --- a/stable/jenkins/templates/home-pvc.yaml +++ b/stable/jenkins/templates/home-pvc.yaml @@ -1,5 +1,4 @@ {{- if .Values.Persistence.Enabled }} ---- kind: PersistentVolumeClaim apiVersion: v1 metadata: diff --git a/stable/jenkins/templates/jenkins-master-svc.yaml b/stable/jenkins/templates/jenkins-master-svc.yaml index c819097392..9eb6cc697a 100644 --- a/stable/jenkins/templates/jenkins-master-svc.yaml +++ b/stable/jenkins/templates/jenkins-master-svc.yaml @@ -14,10 +14,15 @@ spec: - port: {{.Values.Master.ServicePort}} name: http targetPort: {{.Values.Master.ContainerPort}} + {{if (and (eq .Values.Master.ServiceType "NodePort") (not (empty .Values.Master.NodePort)))}} + nodePort: {{.Values.Master.NodePort}} + {{end}} - port: {{.Values.Master.SlaveListenerPort}} targetPort: {{.Values.Master.SlaveListenerPort}} name: slavelistener selector: component: "{{.Release.Name}}-{{.Values.Master.Component}}" type: {{.Values.Master.ServiceType}} + {{if eq .Values.Master.ServiceType "LoadBalancer"}} loadBalancerSourceRanges: {{.Values.Master.LoadBalancerSourceRanges}} + {{end}} diff --git a/stable/jenkins/values.yaml b/stable/jenkins/values.yaml index 97448a159e..569af08b73 100644 --- a/stable/jenkins/values.yaml +++ b/stable/jenkins/values.yaml @@ -18,6 +18,7 @@ Master: ServicePort: 8080 # For minikube, set this to NodePort, elsewhere use LoadBalancer ServiceType: LoadBalancer +# NodePort: