Allow to configure the chart for IPv6-only
What does this MR do?
Add support for IPv6-only clusters
- All GitLab subcharts now bind IPv6 compatibly listeners by default.
- KAS: Autodiscover own IP/host.
- Spamcheck: Fix loading of custom config.
- Go services: Use
:{port}bind instead of0.0.0.0:{port}. Both result in the same binds, but the later notation can be misleading.
The default configuration fits IPv4-only, IPv6-only and dual stack clusters.
Changelog: added
Related issues
Closes Deployment in a complete IPv6 only environment (#2778 - closed)
Author checklist
For general guidance, please follow our Contributing guide.
Required
For anything in this list which will not be completed, please provide a reason in the MR discussion.
-
Merge Request Title and Description are up to date, accurate, and descriptive. -
MR targeting the appropriate branch. -
MR has a green pipeline. -
Documentation created/updated. -
Tests added/updated, and test plan for scenarios not covered by automated tests. -
Equivalent MR/issue for omnibus-gitlab opened.
Reviewers checklist
-
MR has a green pipeline on https://gitlab.com/gitlab-org/charts/gitlab. -
Consider downstream impact to the Operator, as per evaluating impact from changes to GitLab Chart.
Test Plan
-
Confirm CI passes (our CI clusters use IPv4 only)
-
Setup a IPv6 (single stack) cluster.
-
Note: Some providers do not support IPv6 single stack cluster (e.g. GKE only supports dual stack). The config does not work out of the box on dual stack clusters, because of a known bug in webrick.
-
Example config for kind:
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 networking: ipFamily: ipv6 nodes: - role: control-plane extraPortMappings: - containerPort: 32080 hostPort: 80 listenAddress: "::" - containerPort: 32443 hostPort: 443 listenAddress: "::" - containerPort: 32022 hostPort: 32022 listenAddress: "::"
-
-
Deploy the chart with the sample IPv6 values and confirm that all services come up operational.
What I tested:
- Register a runner.
- Push a commit via HTTPS.
- Deploy a GitLab Pages site.
- Connect a KAS agent.