This helm chart serves two main purposes:
-
Bootstrap Configuration Generation
- Generates a
bootstrap.yamlcontaining Flux and MetalLB configurations - MetalLB configuration is dependent on the
hostAliasesdefined in the k3d config - The load balancer IPs configured here will be used by Big Bang for service exposure
- Generates a
-
K3D Cluster Configuration
- Generates a
k3d.yamlconfiguration file - Defines
hostAliasesthat are critical for MetalLB's operation - These host entries ensure proper DNS resolution for the load balancer IPs
- Used to create and manage local K3D clusters
- Generates a
The relationship between these configurations is important:
- The k3d config's
hostAliasesmust be properly configured to match the MetalLB IP ranges - These IPs will be used by Big Bang for exposing services
- Both configurations must be in sync for proper load balancer operation
BIGBANG_DIR=/home/rob/bb/bigbang
helm template oci://ghcr.io/rjferguson21/bb-k3d:0.2.0 > dist/bootstrap.yaml
helm template oci://ghcr.io/rjferguson21/bb-k3d:0.2.0 \
--set=k3d.volumeBaseDir=$(pwd)/dist \
--set=registry1.username='${REGISTRY1_USERNAME}' \
--set=registry1.password='${REGISTRY1_PASSWORD}' \
--show-only=templates/k3d-config.yaml > dist/k3d.yaml
k3d cluster delete --config dist/k3d.yaml && k3d cluster create --config dist/k3d.yaml
# Install BigBang
helm upgrade --install bigbang $BIGBANG_DIR/chart \
--namespace=bigbang --create-namespace \
--values $BIGBANG_DIR/tests/test-values.yaml \
--values $BIGBANG_DIR/chart/ingress-certs.yaml