fix(service)!: migrate services.http to service
Generate README / generate-parameters (push) Failing after 39s
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 28s
Markdown linter / markdown-link-checker (push) Successful in 45s
Markdown linter / markdown-lint (push) Successful in 33s

This commit is contained in:
2026-05-31 18:44:21 +02:00
parent e1f5a16542
commit f760568ac5
15 changed files with 212 additions and 213 deletions
+49 -49
View File
@@ -426,7 +426,7 @@ spec:
| `config.downloadMode.configMap.annotations` | Additional annotations of the config map containing the download mode file. | `{}` | | `config.downloadMode.configMap.annotations` | Additional annotations of the config map containing the download mode file. | `{}` |
| `config.downloadMode.configMap.labels` | Additional labels of the config map containing the download mode file. | `{}` | | `config.downloadMode.configMap.labels` | Additional labels of the config map containing the download mode file. | `{}` |
| `config.gitConfig.enabled` | Enable mounting of a .gitconfig file into the container file system. | `false` | | `config.gitConfig.enabled` | Enable mounting of a .gitconfig file into the container file system. | `false` |
| `config.gitConfig.addSHASumAnnotation` | Add an pod annotation with the sha sum of the config map containing the git config. | `true` | | `config.gitConfig.addSHASumAnnotation` | Add an pod annotation with the sha sum of the config map containing the Git config. | `true` |
| `config.gitConfig.existingConfigMap.enabled` | Enable to use an external config map for mounting the .gitconfig file. | `false` | | `config.gitConfig.existingConfigMap.enabled` | Enable to use an external config map for mounting the .gitconfig file. | `false` |
| `config.gitConfig.existingConfigMap.configMapName` | The name of the existing config map which should be used to mount the .gitconfig file. | `""` | | `config.gitConfig.existingConfigMap.configMapName` | The name of the existing config map which should be used to mount the .gitconfig file. | `""` |
| `config.gitConfig.existingConfigMap.gitConfigKey` | The name of the key inside the config map where the content of the .gitconfig file is stored. | `nil` | | `config.gitConfig.existingConfigMap.gitConfigKey` | The name of the key inside the config map where the content of the .gitconfig file is stored. | `nil` |
@@ -500,6 +500,30 @@ spec:
| `deployment.topologySpreadConstraints` | TopologySpreadConstraints of the athens-proxy deployment. | `[]` | | `deployment.topologySpreadConstraints` | TopologySpreadConstraints of the athens-proxy deployment. | `[]` |
| `deployment.volumes` | Additional volumes to mount into the pods of the athens-proxy deployment. | `[]` | | `deployment.volumes` | Additional volumes to mount into the pods of the athens-proxy deployment. | `[]` |
### GatewayAPI
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `gatewayAPI.enabled` | Enable the Gateway API resources. Requires Kubernetes v1.19 or higher, the CRD's and a compatible gateway controller. | `false` |
| `gatewayAPI.core.backendTLSPolicy.enabled` | Enable the BackendTLSPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.core.backendTLSPolicy.annotations` | Additional annotations for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.labels` | Additional labels for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.validation` | Validation configuration for the BackendTLSPolicy. For example, you can specify a trusted CA certificate to validate the TLS connection between the gateway and the athens-proxy pod. | `{}` |
| `gatewayAPI.core.httpRoute.enabled` | Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `service.enabled` to be `true`. | `false` |
| `gatewayAPI.core.httpRoute.annotations` | Additional annotations for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.labels` | Additional labels for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.hostnames` | Hostnames for the HTTPRoute. | `[]` |
| `gatewayAPI.core.httpRoute.parentRefs` | ParentRefs for the HTTPRoute. You can specify parentRefs to bind the HTTPRoute to specific Gateway resources. | `[]` |
| `gatewayAPI.nginx.clientSettingsPolicy.enabled` | Enable the ClientSettingsPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.nginx.clientSettingsPolicy.annotations` | Additional annotations for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.labels` | Additional labels for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize` | ClientMaxBodySize sets the maximum allowed size of the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout` | ClientBodyTimeout sets the timeout for reading the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests` | KeepaliveRequests sets the maximum number of requests that can be served through one keepalive connection. If not specified, the default of the nginx gateway controller is used. | `nil` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime` | KeepaliveTime sets the time a keepalive connection is kept open. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout` | KeepaliveTimeout sets the time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout` | KeepaliveMinTimeout sets the minimum time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
### Horizontal Pod Autoscaler (HPA) ### Horizontal Pod Autoscaler (HPA)
| Name | Description | Value | | Name | Description | Value |
@@ -513,14 +537,14 @@ spec:
### Ingress ### Ingress
| Name | Description | Value | | Name | Description | Value |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- | ------- | | --------------------- | ---------------------------------------------------------------------------------------- | ------- |
| `ingress.enabled` | Enable creation of an ingress resource. Requires, that the http service is also enabled. | `false` | | `ingress.enabled` | Enable creation of an ingress resource. Requires, that the http service is also enabled. | `false` |
| `ingress.className` | Ingress class. | `nginx` | | `ingress.className` | Ingress class. | `nginx` |
| `ingress.annotations` | Additional ingress annotations. | `{}` | | `ingress.annotations` | Additional ingress annotations. | `{}` |
| `ingress.labels` | Additional ingress labels. | `{}` | | `ingress.labels` | Additional ingress labels. | `{}` |
| `ingress.hosts` | Ingress specific configuration. Specification only required when another ingress controller is used instead of `t1k. | `[]` | | `ingress.hosts` | Ingress specific configuration. | `[]` |
| `ingress.tls` | Ingress TLS settings. Specification only required when another ingress controller is used instead of `t1k``. | `[]` | | `ingress.tls` | Ingress TLS settings. | `[]` |
### Persistence ### Persistence
@@ -553,48 +577,24 @@ spec:
| `networkPolicy.egress` | Concrete egress network policy implementation. | `[]` | | `networkPolicy.egress` | Concrete egress network policy implementation. | `[]` |
| `networkPolicy.ingress` | Concrete ingress network policy implementation. | `[]` | | `networkPolicy.ingress` | Concrete ingress network policy implementation. | `[]` |
### GatewayAPI
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `gatewayAPI.enabled` | Enable the Gateway API resources. Requires Kubernetes v1.19 or higher, the CRD's and a compatible gateway controller. | `false` |
| `gatewayAPI.core.backendTLSPolicy.enabled` | Enable the BackendTLSPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.core.backendTLSPolicy.annotations` | Additional annotations for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.labels` | Additional labels for the BackendTLSPolicy. | `{}` |
| `gatewayAPI.core.backendTLSPolicy.validation` | Validation configuration for the BackendTLSPolicy. For example, you can specify a trusted CA certificate to validate the TLS connection between the gateway and the athens-proxy pod. | `{}` |
| `gatewayAPI.core.httpRoute.enabled` | Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `services.http.enabled` to be `true`. | `false` |
| `gatewayAPI.core.httpRoute.annotations` | Additional annotations for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.labels` | Additional labels for the HTTPRoute. | `{}` |
| `gatewayAPI.core.httpRoute.hostnames` | Hostnames for the HTTPRoute. | `[]` |
| `gatewayAPI.core.httpRoute.parentRefs` | ParentRefs for the HTTPRoute. You can specify parentRefs to bind the HTTPRoute to specific Gateway resources. | `[]` |
| `gatewayAPI.nginx.clientSettingsPolicy.enabled` | Enable the ClientSettingsPolicy resource. Requires also `gatewayAPI.enabled` to be `true`. | `false` |
| `gatewayAPI.nginx.clientSettingsPolicy.annotations` | Additional annotations for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.labels` | Additional labels for the ClientSettingsPolicy. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientMaxBodySize` | ClientMaxBodySize sets the maximum allowed size of the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.clientBodyTimeout` | ClientBodyTimeout sets the timeout for reading the client request body. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveRequests` | KeepaliveRequests sets the maximum number of requests that can be served through one keepalive connection. If not specified, the default of the nginx gateway controller is used. | `nil` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTime` | KeepaliveTime sets the time a keepalive connection is kept open. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveTimeout` | KeepaliveTimeout sets the time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
| `gatewayAPI.nginx.clientSettingsPolicy.keepaliveMinTimeout` | KeepaliveMinTimeout sets the minimum time a client has to wait for the response of a request until the connection is closed. If not specified, the default of the nginx gateway controller is used. | `""` |
### Service ### Service
| Name | Description | Value | | Name | Description | Value |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `services.http.enabled` | Enable the service. | `true` | | `service.enabled` | Enable the service. | `true` |
| `services.http.annotations` | Additional service annotations. | `{}` | | `service.annotations` | Additional service annotations. | `{}` |
| `services.http.externalIPs` | External IPs for the service. | `[]` | | `service.externalIPs` | External IPs for the service. | `[]` |
| `services.http.externalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. | `Cluster` | | `service.externalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. | `Cluster` |
| `services.http.internalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. | `Cluster` | | `service.internalTrafficPolicy` | If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. | `Cluster` |
| `services.http.ipFamilies` | IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. | `[]` | | `service.ipFamilies` | IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. | `[]` |
| `services.http.labels` | Additional service labels. | `{}` | | `service.labels` | Additional service labels. | `{}` |
| `services.http.loadBalancerClass` | LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. | `""` | | `service.loadBalancerClass` | LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. | `""` |
| `services.http.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` | | `service.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` |
| `services.http.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` | | `service.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` |
| `services.http.port` | Port to forward the traffic to. | `3000` | | `service.port` | Port to forward the traffic to. | `3000` |
| `services.http.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` | | `service.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` |
| `services.http.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` | | `service.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` |
| `services.http.type` | Kubernetes service type for the traffic. | `ClusterIP` | | `service.type` | Kubernetes service type for the traffic. | `ClusterIP` |
### ServiceAccount ### ServiceAccount
+1 -1
View File
@@ -14,7 +14,7 @@
{{- define "athens-proxy.backendTLSPolicy.enabled" -}} {{- define "athens-proxy.backendTLSPolicy.enabled" -}}
{{- if and .Values.gatewayAPI.enabled {{- if and .Values.gatewayAPI.enabled
.Values.gatewayAPI.core.backendTLSPolicy.enabled .Values.gatewayAPI.core.backendTLSPolicy.enabled
.Values.services.http.enabled .Values.service.enabled
-}} -}}
true true
{{- else -}} {{- else -}}
+1 -1
View File
@@ -14,7 +14,7 @@
{{- define "athens-proxy.httpRoute.enabled" -}} {{- define "athens-proxy.httpRoute.enabled" -}}
{{- if and .Values.gatewayAPI.enabled {{- if and .Values.gatewayAPI.enabled
.Values.gatewayAPI.core.httpRoute.enabled .Values.gatewayAPI.core.httpRoute.enabled
.Values.services.http.enabled .Values.service.enabled
-}} -}}
true true
{{- else -}} {{- else -}}
@@ -2,28 +2,28 @@
{{/* annotations */}} {{/* annotations */}}
{{- define "athens-proxy.services.http.annotations" -}} {{- define "athens-proxy.service.annotations" -}}
{{ include "athens-proxy.annotations" . }} {{ include "athens-proxy.annotations" . }}
{{- if .Values.services.http.annotations }} {{- if .Values.service.annotations }}
{{ toYaml .Values.services.http.annotations }} {{ toYaml .Values.service.annotations }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/* labels */}} {{/* labels */}}
{{- define "athens-proxy.services.http.labels" -}} {{- define "athens-proxy.service.labels" -}}
{{ include "athens-proxy.labels" . }} {{ include "athens-proxy.labels" . }}
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}} {{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
app.kubernetes.io/service-name: http app.kubernetes.io/service-name: http
{{- if .Values.services.http.labels }} {{- if .Values.service.labels }}
{{ toYaml .Values.services.http.labels }} {{ toYaml .Values.service.labels }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/* names */}} {{/* names */}}
{{- define "athens-proxy.services.http.name" -}} {{- define "athens-proxy.service.name" -}}
{{- if .Values.services.http.enabled -}} {{- if .Values.service.enabled -}}
{{ include "athens-proxy.fullname" . }} {{ include "athens-proxy.fullname" . }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
targetRefs: targetRefs:
- group: "" - group: ""
kind: Service kind: Service
name: {{ include "athens-proxy.services.http.name" . }} name: {{ include "athens-proxy.service.name" . }}
{{- with .Values.gatewayAPI.core.backendTLSPolicy.validation }} {{- with .Values.gatewayAPI.core.backendTLSPolicy.validation }}
validation: validation:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
+2 -2
View File
@@ -25,9 +25,9 @@ spec:
rules: rules:
- backendRefs: - backendRefs:
- kind: Service - kind: Service
name: {{ include "athens-proxy.services.http.name" . }} name: {{ include "athens-proxy.service.name" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
port: {{ .Values.services.http.port }} port: {{ .Values.service.port }}
weight: 1 weight: 1
{{- with .Values.gatewayAPI.core.httpRoute.matches }} {{- with .Values.gatewayAPI.core.httpRoute.matches }}
matches: matches:
+3 -3
View File
@@ -1,4 +1,4 @@
{{- if and .Values.services.http.enabled .Values.ingress.enabled }} {{- if and .Values.service.enabled .Values.ingress.enabled }}
--- ---
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
@@ -27,9 +27,9 @@ spec:
{{- end }} {{- end }}
backend: backend:
service: service:
name: {{ include "athens-proxy.services.http.name" $ }} name: {{ include "athens-proxy.service.name" $ }}
port: port:
number: {{ $.Values.services.http.port }} number: {{ $.Values.service.port }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if .Values.ingress.tls }} {{- if .Values.ingress.tls }}
+57
View File
@@ -0,0 +1,57 @@
{{- if .Values.service.enabled }}
---
apiVersion: v1
kind: Service
metadata:
{{- with (include "athens-proxy.service.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.service.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.service.name" . }}
namespace: {{ .Release.Namespace }}
spec:
{{- if not (empty .Values.service.externalIPs) }}
externalIPs:
{{- range .Values.service.externalIPs }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") ) .Values.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
internalTrafficPolicy: {{ required "No internal traffic policy defined!" .Values.service.internalTrafficPolicy }}
{{- if .Values.service.ipFamilies }}
ipFamilies:
{{- range .Values.service.ipFamilies }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerClass }}
loadBalancerClass: {{ .Values.service.loadBalancerClass }}
{{- end }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if eq .Values.service.type "LoadBalancer" }}
loadBalancerSourceRanges:
{{- range .Values.service.loadBalancerSourceRanges }}
- {{ . }}
{{- end }}
{{- end }}
ports:
- name: http
protocol: TCP
port: {{ required "No service port defined!" .Values.service.port }}
selector:
{{- include "athens-proxy.pod.selectorLabels" . | nindent 4 }}
sessionAffinity: {{ required "No session affinity defined!" .Values.service.sessionAffinity }}
{{- with .Values.service.sessionAffinityConfig }}
sessionAffinityConfig:
{{- toYaml . | nindent 4}}
{{- end }}
type: {{ required "No service type defined!" .Values.service.type }}
{{- end }}
-57
View File
@@ -1,57 +0,0 @@
{{- if .Values.services.http.enabled }}
---
apiVersion: v1
kind: Service
metadata:
{{- with (include "athens-proxy.services.http.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "athens-proxy.services.http.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "athens-proxy.services.http.name" . }}
namespace: {{ .Release.Namespace }}
spec:
{{- if not (empty .Values.services.http.externalIPs) }}
externalIPs:
{{- range .Values.services.http.externalIPs }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (or (eq .Values.services.http.type "LoadBalancer") (eq .Values.services.http.type "NodePort") ) .Values.services.http.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.services.http.externalTrafficPolicy }}
{{- end }}
internalTrafficPolicy: {{ required "No internal traffic policy defined!" .Values.services.http.internalTrafficPolicy }}
{{- if .Values.services.http.ipFamilies }}
ipFamilies:
{{- range .Values.services.http.ipFamilies }}
- {{ . }}
{{- end }}
{{- end }}
{{- if and (eq .Values.services.http.type "LoadBalancer") .Values.services.http.loadBalancerClass }}
loadBalancerClass: {{ .Values.services.http.loadBalancerClass }}
{{- end }}
{{- if and (eq .Values.services.http.type "LoadBalancer") .Values.services.http.loadBalancerIP }}
loadBalancerIP: {{ .Values.services.http.loadBalancerIP }}
{{- end }}
{{- if eq .Values.services.http.type "LoadBalancer" }}
loadBalancerSourceRanges:
{{- range .Values.services.http.loadBalancerSourceRanges }}
- {{ . }}
{{- end }}
{{- end }}
ports:
- name: http
protocol: TCP
port: {{ required "No service port defined!" .Values.services.http.port }}
selector:
{{- include "athens-proxy.pod.selectorLabels" . | nindent 4 }}
sessionAffinity: {{ required "No session affinity defined!" .Values.services.http.sessionAffinity }}
{{- with .Values.services.http.sessionAffinityConfig }}
sessionAffinityConfig:
{{- toYaml . | nindent 4}}
{{- end }}
type: {{ required "No service type defined!" .Values.services.http.type }}
{{- end }}
@@ -12,7 +12,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: false gatewayAPI.core.backendTLSPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -21,7 +21,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: false gatewayAPI.core.backendTLSPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -30,7 +30,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: true gatewayAPI.core.backendTLSPolicy.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -39,7 +39,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.backendTLSPolicy.enabled: false gatewayAPI.core.backendTLSPolicy.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -48,7 +48,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: false gatewayAPI.core.backendTLSPolicy.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -57,7 +57,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: true gatewayAPI.core.backendTLSPolicy.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -66,7 +66,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.backendTLSPolicy.enabled: true gatewayAPI.core.backendTLSPolicy.enabled: true
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -80,7 +80,7 @@ tests:
content: content:
group: "" group: ""
kind: Service kind: Service
name: athens-proxy-unittest-http name: athens-proxy-unittest
- notExists: - notExists:
path: spec.validation.caCertificateRefs path: spec.validation.caCertificateRefs
@@ -93,7 +93,7 @@ tests:
foo: bar foo: bar
labels: labels:
bar: foo bar: foo
services.http.enabled: true service.enabled: true
asserts: asserts:
- equal: - equal:
path: metadata.annotations path: metadata.annotations
@@ -119,7 +119,7 @@ tests:
kind: Secret kind: Secret
name: athens-proxy-ca name: athens-proxy-ca
hostname: athens-proxy.svc.cluster.local hostname: athens-proxy.svc.cluster.local
services.http.enabled: true service.enabled: true
asserts: asserts:
- isSubset: - isSubset:
path: spec.validation path: spec.validation
@@ -13,7 +13,7 @@ tests:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -23,7 +23,7 @@ tests:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -33,7 +33,7 @@ tests:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -43,7 +43,7 @@ tests:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: true gatewayAPI.nginx.clientSettingsPolicy.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -53,7 +53,7 @@ tests:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -63,7 +63,7 @@ tests:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -73,7 +73,7 @@ tests:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: true gatewayAPI.nginx.clientSettingsPolicy.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -83,7 +83,7 @@ tests:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
gatewayAPI.nginx.clientSettingsPolicy.enabled: false gatewayAPI.nginx.clientSettingsPolicy.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -93,7 +93,7 @@ tests:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
gatewayAPI.nginx.clientSettingsPolicy.enabled: true gatewayAPI.nginx.clientSettingsPolicy.enabled: true
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -133,7 +133,7 @@ tests:
foo: "bar" foo: "bar"
labels: labels:
bar: "foo" bar: "foo"
services.http.enabled: true service.enabled: true
asserts: asserts:
- equal: - equal:
path: metadata.annotations path: metadata.annotations
@@ -157,7 +157,7 @@ tests:
enabled: true enabled: true
clientMaxBodySize: 10m clientMaxBodySize: 10m
clientBodyTimeout: 30s clientBodyTimeout: 30s
services.http.enabled: true service.enabled: true
asserts: asserts:
- isSubset: - isSubset:
path: spec.body path: spec.body
@@ -177,7 +177,7 @@ tests:
keepaliveTime: 60s keepaliveTime: 60s
keepaliveTimeout: 60s keepaliveTimeout: 60s
keepaliveMinTimeout: 10s keepaliveMinTimeout: 10s
services.http.enabled: true service.enabled: true
asserts: asserts:
- notExists: - notExists:
path: spec.body path: spec.body
+12 -12
View File
@@ -12,7 +12,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -21,7 +21,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -30,7 +30,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -39,7 +39,7 @@ tests:
set: set:
gatewayAPI.enabled: false gatewayAPI.enabled: false
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -48,7 +48,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: false gatewayAPI.core.httpRoute.enabled: false
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -57,7 +57,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -66,7 +66,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -93,7 +93,7 @@ tests:
path: spec.rules[0].backendRefs path: spec.rules[0].backendRefs
content: content:
kind: Service kind: Service
name: athens-proxy-unittest-http name: athens-proxy-unittest
namespace: testing namespace: testing
port: 3000 port: 3000
weight: 1 weight: 1
@@ -113,7 +113,7 @@ tests:
foo: bar foo: bar
labels: labels:
bar: foo bar: foo
services.http.enabled: true service.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -135,7 +135,7 @@ tests:
set: set:
gatewayAPI.enabled: true gatewayAPI.enabled: true
gatewayAPI.core.httpRoute.enabled: true gatewayAPI.core.httpRoute.enabled: true
services.http: service:
enabled: true enabled: true
port: 9090 port: 9090
asserts: asserts:
@@ -152,7 +152,7 @@ tests:
- path: - path:
type: PathPrefix type: PathPrefix
value: /foo value: /foo
services.http.enabled: true service.enabled: true
asserts: asserts:
- contains: - contains:
path: spec.rules[0].matches path: spec.rules[0].matches
@@ -173,7 +173,7 @@ tests:
namespace: testing namespace: testing
kind: Gateway kind: Gateway
sectionName: athens-proxy-debug-gateway sectionName: athens-proxy-debug-gateway
services.http.enabled: true service.enabled: true
asserts: asserts:
- lengthEqual: - lengthEqual:
path: spec.hostnames path: spec.hostnames
+4 -4
View File
@@ -15,7 +15,7 @@ tests:
- it: Skip ingress, when service is disabled. - it: Skip ingress, when service is disabled.
set: set:
services.http.enabled: false service.enabled: false
ingress.enabled: true ingress.enabled: true
asserts: asserts:
- hasDocuments: - hasDocuments:
@@ -65,7 +65,7 @@ tests:
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
name: athens-proxy-unittest-http name: athens-proxy-unittest
port: port:
number: 3000 number: 3000
- contains: - contains:
@@ -92,7 +92,7 @@ tests:
- secretName: athens-proxy-http-tls - secretName: athens-proxy-http-tls
hosts: hosts:
- athens-proxy.example.local - athens-proxy.example.local
services.http.port: 8080 service.port: 8080
asserts: asserts:
- hasDocuments: - hasDocuments:
@@ -128,7 +128,7 @@ tests:
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
name: athens-proxy-unittest-http name: athens-proxy-unittest
port: port:
number: 8080 number: 8080
- contains: - contains:
@@ -6,11 +6,11 @@ release:
name: athens-proxy-unittest name: athens-proxy-unittest
namespace: testing namespace: testing
templates: templates:
- templates/serviceHTTP.yaml - templates/service.yaml
tests: tests:
- it: Skip service when disabled. - it: Skip service when disabled.
set: set:
services.http.enabled: false service.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
@@ -22,7 +22,7 @@ tests:
- containsDocument: - containsDocument:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
name: athens-proxy-unittest-http name: athens-proxy-unittest
namespace: testing namespace: testing
- notExists: - notExists:
path: metadata.annotations path: metadata.annotations
@@ -75,37 +75,37 @@ tests:
- it: Require internalTrafficPolicy. - it: Require internalTrafficPolicy.
set: set:
services.http.internalTrafficPolicy: "" service.internalTrafficPolicy: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No internal traffic policy defined! errorMessage: No internal traffic policy defined!
- it: Require port. - it: Require port.
set: set:
services.http.port: "" service.port: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No service port defined! errorMessage: No service port defined!
- it: Require sessionAffinity. - it: Require sessionAffinity.
set: set:
services.http.sessionAffinity: "" service.sessionAffinity: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No session affinity defined! errorMessage: No session affinity defined!
- it: Require service type. - it: Require service type.
set: set:
services.http.type: "" service.type: ""
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: No service type defined! errorMessage: No service type defined!
- it: Render service with custom annotations and labels. - it: Render service with custom annotations and labels.
set: set:
services.http.annotations: service.annotations:
foo: bar foo: bar
services.http.labels: service.labels:
bar: foo bar: foo
asserts: asserts:
- equal: - equal:
@@ -125,19 +125,19 @@ tests:
- it: Change defaults - it: Change defaults
set: set:
services.http.externalIPs: service.externalIPs:
- "10.11.12.13/32" - "10.11.12.13/32"
services.http.externalTrafficPolicy: Local service.externalTrafficPolicy: Local
services.http.internalTrafficPolicy: Local service.internalTrafficPolicy: Local
services.http.ipFamilies: service.ipFamilies:
- IPv4 - IPv4
services.http.loadBalancerClass: aws service.loadBalancerClass: aws
services.http.loadBalancerIP: "11.12.13.14" service.loadBalancerIP: "11.12.13.14"
services.http.loadBalancerSourceRanges: service.loadBalancerSourceRanges:
- "11.12.0.0/17" - "11.12.0.0/17"
services.http.port: 10443 service.port: 10443
services.http.sessionAffinity: ClientIP service.sessionAffinity: ClientIP
services.http.type: LoadBalancer service.type: LoadBalancer
asserts: asserts:
- equal: - equal:
path: spec.externalIPs path: spec.externalIPs
+30 -31
View File
@@ -543,7 +543,7 @@ gatewayAPI:
# name: "athens-proxy-ca" # name: "athens-proxy-ca"
# hostname: "athens-proxy" # hostname: "athens-proxy"
## @param gatewayAPI.core.httpRoute.enabled Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `services.http.enabled` to be `true`. ## @param gatewayAPI.core.httpRoute.enabled Enable the HTTPRoute resource. Requires also `gatewayAPI.enabled` and `service.enabled` to be `true`.
## @param gatewayAPI.core.httpRoute.annotations Additional annotations for the HTTPRoute. ## @param gatewayAPI.core.httpRoute.annotations Additional annotations for the HTTPRoute.
## @param gatewayAPI.core.httpRoute.labels Additional labels for the HTTPRoute. ## @param gatewayAPI.core.httpRoute.labels Additional labels for the HTTPRoute.
## @param gatewayAPI.core.httpRoute.hostnames Hostnames for the HTTPRoute. ## @param gatewayAPI.core.httpRoute.hostnames Hostnames for the HTTPRoute.
@@ -749,36 +749,35 @@ networkPolicy:
# protocol: TCP # protocol: TCP
## @section Service ## @section Service
## @param services.http.enabled Enable the service. ## @param service.enabled Enable the service.
## @param services.http.annotations Additional service annotations. ## @param service.annotations Additional service annotations.
## @param services.http.externalIPs External IPs for the service. ## @param service.externalIPs External IPs for the service.
## @param services.http.externalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation. ## @param service.externalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster external traffic. Furthermore, this enables source IP preservation.
## @param services.http.internalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic. ## @param service.internalTrafficPolicy If `service.type` is `NodePort` or `LoadBalancer`, set this to `Local` to tell kube-proxy to only use node local endpoints for cluster internal traffic.
## @param services.http.ipFamilies IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization. ## @param service.ipFamilies IPFamilies is list of IP families (e.g. `IPv4`, `IPv6`) assigned to this service. This field is usually assigned automatically based on cluster configuration and only required for customization.
## @param services.http.labels Additional service labels. ## @param service.labels Additional service labels.
## @param services.http.loadBalancerClass LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`. ## @param service.loadBalancerClass LoadBalancerClass is the class of the load balancer implementation this Service belongs to. Requires service from type `LoadBalancer`.
## @param services.http.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. ## @param service.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`.
## @param services.http.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. ## @param service.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`.
## @param services.http.port Port to forward the traffic to. ## @param service.port Port to forward the traffic to.
## @param services.http.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. ## @param service.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`.
## @param services.http.sessionAffinityConfig Contains the configuration of the session affinity. ## @param service.sessionAffinityConfig Contains the configuration of the session affinity.
## @param services.http.type Kubernetes service type for the traffic. ## @param service.type Kubernetes service type for the traffic.
services: service:
http: enabled: true
enabled: true annotations: {}
annotations: {} externalIPs: []
externalIPs: [] externalTrafficPolicy: "Cluster"
externalTrafficPolicy: "Cluster" internalTrafficPolicy: "Cluster"
internalTrafficPolicy: "Cluster" ipFamilies: []
ipFamilies: [] labels: {}
labels: {} loadBalancerClass: ""
loadBalancerClass: "" loadBalancerIP: ""
loadBalancerIP: "" loadBalancerSourceRanges: []
loadBalancerSourceRanges: [] port: 3000
port: 3000 sessionAffinity: "None"
sessionAffinity: "None" sessionAffinityConfig: {}
sessionAffinityConfig: {} type: "ClusterIP"
type: "ClusterIP"
## @section ServiceAccount ## @section ServiceAccount
serviceAccount: serviceAccount: