diff --git a/charts/core/README.md b/charts/core/README.md index 23fc897d..98e011a5 100644 --- a/charts/core/README.md +++ b/charts/core/README.md @@ -74,6 +74,7 @@ Parameter | Description | Default | Notes `controller.azureFileShare.secretName` | The name of the secret containing the Azure file share storage account name and key | `nil` | `controller.azureFileShare.shareName` | The name of the Azure file share to use | `nil` | `controller.apisvc.type` | Controller REST API service type | `nil` | +`controller.apisvc.nodePort` | Controller REST API service NodePort number | `nil` | `controller.apisvc.annotations` | Add annotations to controller REST API service | `{}` | `controller.apisvc.route.enabled` | If true, create a OpenShift route to expose the Controller REST API service | `false` | `controller.apisvc.route.termination` | Specify TLS termination for OpenShift route for Controller REST API service. Possible passthrough, edge, reencrypt | `passthrough` | @@ -178,6 +179,7 @@ Parameter | Description | Default | Notes ` CUSTOM_PAGE_FOOTER_CONTENT` | max. 120 characters, base64 encoded. | ` CUSTOM_PAGE_FOOTER_COLOR` | use color name (yellow) or value (#ffff00) | `manager.svc.type` | set manager service type for native Kubernetes | `NodePort`;
if it is OpenShift platform or ingress is enabled, then default is `ClusterIP` | set to LoadBalancer if using cloud providers, such as Azure, Amazon, Google +`manager.svc.nodePort` | set manager service NodePort number | `nil` | `manager.svc.loadBalancerIP` | if manager service type is LoadBalancer, this is used to specify the load balancer's IP | `nil` | `manager.svc.annotations` | Add annotations to manager service | `{}` | see examples in [values.yaml](values.yaml) `manager.route.enabled` | If true, create a OpenShift route to expose the management console service | `true` | diff --git a/charts/core/templates/controller-service.yaml b/charts/core/templates/controller-service.yaml index 4705d491..0dc6ab91 100644 --- a/charts/core/templates/controller-service.yaml +++ b/charts/core/templates/controller-service.yaml @@ -40,6 +40,9 @@ spec: ports: - port: 10443 protocol: "TCP" +{{- if .Values.controller.apisvc.nodePort }} + nodePort: {{ .Values.controller.apisvc.nodePort }} +{{- end }} name: "controller-api" appProtocol: HTTPS selector: diff --git a/charts/core/templates/manager-service.yaml b/charts/core/templates/manager-service.yaml index b310f63d..b9476748 100644 --- a/charts/core/templates/manager-service.yaml +++ b/charts/core/templates/manager-service.yaml @@ -20,6 +20,9 @@ spec: - port: 8443 name: manager protocol: TCP +{{- if .Values.manager.svc.nodePort }} + nodePort: {{ .Values.manager.svc.nodePort }} +{{- end }} {{- if or (.Capabilities.KubeVersion.GitVersion | contains "-eks") (.Capabilities.KubeVersion.GitVersion | contains "-gke") }} {{- if .Values.manager.env.ssl }} appProtocol: HTTPS diff --git a/charts/core/values.yaml b/charts/core/values.yaml index 5c883835..28a9ecdc 100644 --- a/charts/core/values.yaml +++ b/charts/core/values.yaml @@ -112,6 +112,7 @@ controller: apisvc: type: annotations: {} + nodePort: # OpenShift Route configuration # Controller supports HTTPS only, so edge termination not supported route: @@ -366,6 +367,7 @@ manager: # value: "#FFFFFF" svc: type: NodePort # should be set to - ClusterIP + nodePort: loadBalancerIP: annotations: {}