Service
Appears in
.Values.service
Naming scheme
- Primary:
$FullName(release-name-chart-name) - Non-Primary:
$FullName-$ServiceName(release-name-chart-name-ServiceName)
Target Selector
targetSelector(string): Define the pod to link the servicetargetSelector(empty): Assign the service to the primary pod
service
Define service objects
| Key | service |
| Type | map |
| Required | ❌ |
Helm tpl | ❌ |
| Default | {} |
Example
service: {}$name
Define service
| Key | service.$name |
| Type | map |
| Required | ✅ |
Helm tpl | ❌ |
| Default | {} |
Example
service: service-name: {}enabled
Enables or Disables the service
| Key | service.$name.enabled |
| Type | bool |
| Required | ✅ |
Helm tpl | ✅ |
| Default | false |
Example
service: service-name: enabled: truenamespace
Define the namespace for this object
| Key | service.$name.namespace |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ (On value only)` |
| Default | "" |
Example
service: service-name: namespace: some-namespacelabels
Additional labels for service
| Key | service.$name.labels |
| Type | map |
| Required | ❌ |
Helm tpl | ✅ (On value only)` |
| Default | {} |
Example
service: service-name: labels: some-label: some-valueannotations
Additional annotations for service
| Key | service.$name.annotations |
| Type | map |
| Required | ❌ |
Helm tpl | ✅ (On value only)` |
| Default | {} |
Example
service: service-name: annotations: some-annotation: some-valuetype
Define the service type
| Key | service.$name.type |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ |
| Default | See default here |
Valid Values:
Example
service: service-name: type: ClusterIPexpandObjectName
Whether to expand the object name (based on the naming scheme) or not
| Key | service.$name.expandObjectName |
| Type | bool |
| Required | ❌ |
Helm tpl | ✅ |
| Default | true |
Example
service: service-name: expandObjectName: falseclusterIP
Configure Cluster IP type
| Key | service.$name.clusterIP |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ |
| Default | "" |
Example
service: some-service: clusterIP: 172.16.0.123ipFamilyPolicy
Define the ipFamilyPolicy
Does not apply to type of ExternalName or ExternalIP
| Key | service.$name.ipFamilyPolicy |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ |
| Default | "" |
Valid Values:
SingleStackPreferDualStackRequireDualStack
Example
service: some-service: ipFamilyPolicy: SingleStackipFamilies
Define the ipFamilies
Does not apply to type of ExternalName or ExternalIP
| Key | service.$name.ipFamilies |
| Type | list of string |
| Required | ❌ |
Helm tpl | ✅ (On entries only) |
| Default | [] |
Example
service: some-service: ipFamilies: - IPv4sessionAffinity
Define the session affinity (ClientIP, None)
| Key | service.$name.sessionAffinity |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ |
| Default | "" |
Valid Values:
ClientIPNone
Example
service: some-service: sessionAffinity: ClientIPsessionAffinityConfig.clientIP.timeoutSeconds
Define the timeout for ClientIP session affinity (0-86400)
| Key | service.$name.sessionAffinityConfig.clientIP.timeoutSeconds |
| Type | int |
| Required | ❌ |
Helm tpl | ✅ |
| Default | "" |
Valid Values:
0-86400
Example
service: some-service: sessionAffinityConfig: clientIP: timeoutSeconds: 86400externalIPs
Define externalIPs
| Key | service.$name.externalIPs |
| Type | list of string |
| Required | ❌ |
Helm tpl | ✅ (On entries only) |
| Default | [] |
Example
service: some-service: externalIPs: - 1.2.3.4 - 5.6.7.8externalTrafficPolicy
Define the external traffic policy (Cluster, Local)
Does not apply to type of ClusterIP
| Key | service.$name.externalTrafficPolicy |
| Type | string |
| Required | ❌ |
Helm tpl | ✅ |
| Default | "" |
Valid Values:
ClusterLocal
Example
service: some-service: externalTrafficPolicy: ClusterpublishNotReadyAddresses
Define whether to publishNotReadyAddresses or not
| Key | service.$name.publishNotReadyAddresses |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | false |
Example
service: service-name: publishNotReadyAddresses: truetargetSelector
Define the pod to link the service, by default will use the primary pod
| Key | service.$name.targetSelector |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | "" |
Example
service: service-name: targetSelector: some-podports
Define the ports of the service
See Ports
| Key | service.$name.ports |
| Type | map |
| Required | ✅ |
Helm tpl | ❌ |
| Default | {} |
Example
service: service-name: ports: {}integrations
Define the integrations for this service
| Key | service.$name.integrations |
| Type | map |
| Required | ❌ |
Helm tpl | ❌ |
| Default | {} |
Example
service: service-name: integrations: {}integrations.traefik
Define the traefik integration for this service
See more details in Traefik Integration
| Key | service.$name.integrations.traefik |
| Type | map |
| Required | ❌ |
Helm tpl | ❌ |
| Default | {} |
Example
service: service-name: integrations: traefik: {}Full Examples
Full examples can be found under each service type