test(service): add IPv6 and dual-stack configuration tests
Add helm-unittest tests for IPv6 and dual-stack Service configuration: - Default behavior (no ipFamilyPolicy/ipFamilies set) - SingleStack, PreferDualStack, RequireDualStack policies - IPv4 only, IPv6 only configurations - Dual-stack with IPv4 primary and IPv6 primary - Combined policy and families configurations Add NOTES.txt with IPv6/dual-stack information: - Display configured IP family policy - Show IP families list - Warning when IPv6 is primary (probe compatibility note) - Warning when IPv6 used without policy Tests ensure IPv6 and dual-stack work correctly for all scenarios. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
This commit is contained in:
1 parent
250a126357
commit
1744d24011
2 files changed
+170
No files matched your search
@@ -0,0 +1,42 @@
|
|||||||
|
Thank you for installing {{ .Chart.Name }}.
|
||||||
|
|
||||||
|
Your release is named {{ .Release.Name }}.
|
||||||
|
|
||||||
|
To learn more about the release, try:
|
||||||
|
|
||||||
|
$ helm status {{ .Release.Name }}
|
||||||
|
$ helm get all {{ .Release.Name }}
|
||||||
|
|
||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
|
||||||
|
Jellyfin is available via Ingress at:
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ .host }}{{ (index .paths 0).path }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
|
||||||
|
To access Jellyfin, you can use port-forwarding:
|
||||||
|
|
||||||
|
$ kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "jellyfin.fullname" . }} {{ .Values.service.port }}:{{ .Values.service.port }}
|
||||||
|
|
||||||
|
Then visit http://localhost:{{ .Values.service.port }} in your browser.
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if or .Values.service.ipFamilyPolicy .Values.service.ipFamilies }}
|
||||||
|
|
||||||
|
Service IP Configuration:
|
||||||
|
{{- if .Values.service.ipFamilyPolicy }}
|
||||||
|
IP Family Policy: {{ .Values.service.ipFamilyPolicy }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.service.ipFamilies }}
|
||||||
|
IP Families: {{ .Values.service.ipFamilies | join ", " }}
|
||||||
|
{{- if eq (index .Values.service.ipFamilies 0) "IPv6" }}
|
||||||
|
⚠ NOTE: IPv6 primary - ensure your probes use httpGet instead of tcpSocket for compatibility
|
||||||
|
{{- end }}
|
||||||
|
{{- if has "IPv6" .Values.service.ipFamilies }}
|
||||||
|
{{- if not .Values.service.ipFamilyPolicy }}
|
||||||
|
⚠ WARNING: ipFamilies includes IPv6 but ipFamilyPolicy is not set
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
suite: test service ipv6 and dual-stack
|
||||||
|
templates:
|
||||||
|
- service.yaml
|
||||||
|
tests:
|
||||||
|
- it: should not set ipFamilyPolicy by default
|
||||||
|
asserts:
|
||||||
|
- isNull:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
|
||||||
|
- it: should not set ipFamilies by default
|
||||||
|
asserts:
|
||||||
|
- isNull:
|
||||||
|
path: spec.ipFamilies
|
||||||
|
|
||||||
|
- it: should set ipFamilyPolicy when specified
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: PreferDualStack
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: PreferDualStack
|
||||||
|
|
||||||
|
- it: should support SingleStack policy
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: SingleStack
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: SingleStack
|
||||||
|
|
||||||
|
- it: should support RequireDualStack policy
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: RequireDualStack
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: RequireDualStack
|
||||||
|
|
||||||
|
- it: should set ipFamilies for IPv4 only
|
||||||
|
set:
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv4
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv4
|
||||||
|
|
||||||
|
- it: should set ipFamilies for IPv6 only
|
||||||
|
set:
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv6
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv6
|
||||||
|
|
||||||
|
- it: should set ipFamilies for dual-stack IPv4 primary
|
||||||
|
set:
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv4
|
||||||
|
- IPv6
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv4
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[1]
|
||||||
|
value: IPv6
|
||||||
|
|
||||||
|
- it: should set ipFamilies for dual-stack IPv6 primary
|
||||||
|
set:
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv6
|
||||||
|
- IPv4
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv6
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[1]
|
||||||
|
value: IPv4
|
||||||
|
|
||||||
|
- it: should work with PreferDualStack and both families
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: PreferDualStack
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv4
|
||||||
|
- IPv6
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: PreferDualStack
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv4
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[1]
|
||||||
|
value: IPv6
|
||||||
|
|
||||||
|
- it: should work with RequireDualStack and both families
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: RequireDualStack
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv6
|
||||||
|
- IPv4
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: RequireDualStack
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv6
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[1]
|
||||||
|
value: IPv4
|
||||||
|
|
||||||
|
- it: should work with SingleStack IPv6 only
|
||||||
|
set:
|
||||||
|
service.ipFamilyPolicy: SingleStack
|
||||||
|
service.ipFamilies:
|
||||||
|
- IPv6
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilyPolicy
|
||||||
|
value: SingleStack
|
||||||
|
- equal:
|
||||||
|
path: spec.ipFamilies[0]
|
||||||
|
value: IPv6
|
||||||
Reference in new issue
Block a user