update formatting of unittests + add README examples

This commit is contained in:
TheRealNoob 2024-06-12 16:03:47 -05:00
parent d7cfa36d56
commit c6602ee829
No known key found for this signature in database
4 changed files with 110 additions and 62 deletions

View file

@ -111,7 +111,7 @@ tests:
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- '{{ .Release.Name }}'
- key: app.kubernetes.io/component
operator: In
values:

View file

@ -121,7 +121,9 @@ tests:
- it: should create a Deployment with affinity if `controller.affinity` is set
set:
controller.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:
controller.affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
@ -131,7 +133,7 @@ tests:
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- '{{ .Release.Name }}'
- key: app.kubernetes.io/component
operator: In
values:
@ -139,8 +141,10 @@ tests:
topologyKey: "kubernetes.io/hostname"
asserts:
- equal:
path: spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
path: spec.template.spec.affinity
value:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name

View file

@ -96,7 +96,9 @@ tests:
- it: should create a Deployment with affinity if `defaultBackend.affinity` is set
set:
defaultBackend.enabled: true
defaultBackend.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:
defaultBackend.affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
@ -106,7 +108,7 @@ tests:
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- '{{ .Release.Name }}'
- key: app.kubernetes.io/component
operator: In
values:
@ -114,8 +116,10 @@ tests:
topologyKey: "kubernetes.io/hostname"
asserts:
- equal:
path: spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
path: spec.template.spec.affinity
value:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name

View file

@ -264,7 +264,7 @@ controller:
# - key: app.kubernetes.io/instance
# operator: In
# values:
# - "{{ .Release.Name }}"
# - '{{ .Release.Name }}'
# - key: app.kubernetes.io/component
# operator: In
# values:
@ -1014,6 +1014,46 @@ defaultBackend:
# -- Affinity and anti-affinity rules for server scheduling to nodes
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# # An example of preferred pod anti-affinity, weight is in the range 1-100
# podAntiAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - weight: 100
# podAffinityTerm:
# labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/name
# operator: In
# values:
# - '{{ include "ingress-nginx.name" . }}'
# - key: app.kubernetes.io/instance
# operator: In
# values:
# - '{{ .Release.Name }}'
# - key: app.kubernetes.io/component
# operator: In
# values:
# - controller
# topologyKey: kubernetes.io/hostname
# # An example of required pod anti-affinity
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/name
# operator: In
# values:
# - '{{ include "ingress-nginx.name" . }}'
# - key: app.kubernetes.io/instance
# operator: In
# values:
# - '{{ .Release.Name }}'
# - key: app.kubernetes.io/component
# operator: In
# values:
# - controller
# topologyKey: "kubernetes.io/hostname"
# -- Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
# Ref.: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
topologySpreadConstraints: []