2025-10-08T06:03:26.376589130-07:00 if [[ ${KUBERNETES_SERVICE_HOST} =~ .*:.* ]]; then
2025-10-08T06:03:26.376606608-07:00 	echo "KUBERNETES_SERVICE_HOST is using IPv6"
2025-10-08T06:03:26.376608398-07:00 	CHART="${CHART//%\{KUBERNETES_API\}%/[${KUBERNETES_SERVICE_HOST}]:${KUBERNETES_SERVICE_PORT}}"
2025-10-08T06:03:26.376610097-07:00 else
2025-10-08T06:03:26.376611507-07:00 	CHART="${CHART//%\{KUBERNETES_API\}%/${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}}"
2025-10-08T06:03:26.376612637-07:00 fi
2025-10-08T06:03:26.376619206-07:00
2025-10-08T06:03:26.376620416-07:00 set +v -x
2025-10-08T06:03:26.376639254-07:00 + [[ '' == \v\2 ]]
2025-10-08T06:03:26.376651023-07:00 + shopt -s nullglob
2025-10-08T06:03:26.376658952-07:00 + [[ -f /config/ca-file.pem ]]
2025-10-08T06:03:26.376691998-07:00 + [[ -f /tmp/ca-file.pem ]]
2025-10-08T06:03:26.376701257-07:00 + [[ false == \t\r\u\e ]]
2025-10-08T06:03:26.376718075-07:00 + [[ false == \t\r\u\e ]]
2025-10-08T06:03:26.376724005-07:00 + [[ -n '' ]]
2025-10-08T06:03:26.376728114-07:00 + helm_content_decode
2025-10-08T06:03:26.376736153-07:00 + set -e
2025-10-08T06:03:26.376745282-07:00 + ENC_CHART_PATH=/chart/rke2-ingress-nginx.tgz.base64
2025-10-08T06:03:26.376757151-07:00 + CHART_PATH=/tmp/rke2-ingress-nginx.tgz
2025-10-08T06:03:26.376762321-07:00 + [[ ! -f /chart/rke2-ingress-nginx.tgz.base64 ]]
2025-10-08T06:03:26.376779539-07:00 + base64 -d /chart/rke2-ingress-nginx.tgz.base64
2025-10-08T06:03:26.378040739-07:00 + CHART=/tmp/rke2-ingress-nginx.tgz
2025-10-08T06:03:26.378046398-07:00 + set +e
2025-10-08T06:03:26.378048008-07:00 + [[ install != \d\e\l\e\t\e ]]
2025-10-08T06:03:26.378049318-07:00 + helm_repo_init
2025-10-08T06:03:26.378056167-07:00 + grep -q -e 'https\?://'
2025-10-08T06:03:26.378455973-07:00 + [[ /tmp/rke2-ingress-nginx.tgz == stable/* ]]
2025-10-08T06:03:26.378564811-07:00 + [[ -n '' ]]
2025-10-08T06:03:26.378571730-07:00 + helm_update install --set-string global.clusterCIDR=192.0.0.0/24 --set-string global.clusterCIDRv4=192.0.0.0/24 --set-string global.clusterDNS=203.0.113.10 --set-string global.clusterDomain=cluster.local --set-string global.rke2DataDir=/data/rancher/rke2 --set-string global.serviceCIDR=203.0.113.0/24 --set-string global.systemDefaultIngressClass=ingress-nginx
2025-10-08T06:03:26.378853348-07:00 ++ helm ls --all -f '^rke2-ingress-nginx$' --namespace kube-system --output json
2025-10-08T06:03:26.378879516-07:00 ++ jq -r '"\(.[0].chart),\(.[0].status)"'
2025-10-08T06:03:26.378936219-07:00 ++ tr '[:upper:]' '[:lower:]'
2025-10-08T06:03:26.439204546-07:00 + LINE=rke2-ingress-nginx-4.12.103,pending-install
2025-10-08T06:03:26.439213505-07:00 + IFS=,
2025-10-08T06:03:26.439215565-07:00 + read -r INSTALLED_VERSION STATUS _
2025-10-08T06:03:26.439229153-07:00 + VALUES=
2025-10-08T06:03:26.439253641-07:00 + for VALUES_FILE in /config/*.yaml
2025-10-08T06:03:26.439263559-07:00 + VALUES=' --values /config/values-1-000-HelmChartConfig-ValuesContent.yaml'
2025-10-08T06:03:26.439275748-07:00 + [[ install = \d\e\l\e\t\e ]]
2025-10-08T06:03:26.439285207-07:00 + [[ rke2-ingress-nginx-4.12.103 =~ ^(|null)$ ]]
2025-10-08T06:03:26.439313644-07:00 + [[ pending-install =~ ^(pending-install|pending-upgrade|pending-rollback|uninstalling)$ ]]
2025-10-08T06:03:26.439368788-07:00 + echo Previous helm job was interrupted, updating status from pending-install to failed
2025-10-08T06:03:26.439380546-07:00 Previous helm job was interrupted, updating status from pending-install to failed
2025-10-08T06:03:26.439388566-07:00 + echo 'Resetting helm release status from '\''pending-install'\'' to '\''failed'\'''
2025-10-08T06:03:26.439432381-07:00 + helm set-status rke2-ingress-nginx failed --namespace kube-system
2025-10-08T06:03:26.569328274-07:00 2025/10/08 13:03:26 release rke2-ingress-nginx status updated
2025-10-08T06:03:26.573603849-07:00 + [[ pending-install == \p\e\n\d\i\n\g\-\u\p\g\r\a\d\e ]]
2025-10-08T06:03:26.573613458-07:00 + STATUS=failed
2025-10-08T06:03:26.573621747-07:00 + [[ failed =~ ^deployed$ ]]
2025-10-08T06:03:26.573641275-07:00 + [[ failed =~ ^(deleted|failed|null|unknown)$ ]]
2025-10-08T06:03:26.573681690-07:00 + [[ reinstall == \r\e\i\n\s\t\a\l\l ]]
2025-10-08T06:03:26.573686620-07:00 + echo 'Uninstalling failed helm chart'
2025-10-08T06:03:26.573731315-07:00 + helm uninstall rke2-ingress-nginx --namespace kube-system --wait
2025-10-08T06:03:26.704043682-07:00 release "rke2-ingress-nginx" uninstalled
2025-10-08T06:03:26.707081085-07:00 + echo Deleted
2025-10-08T06:03:26.707097293-07:00 Deleted
2025-10-08T06:03:26.707104452-07:00 + echo 'Installing helm chart'
2025-10-08T06:03:26.707155046-07:00 + helm install --set-string global.clusterCIDR=192.0.0.0/24 --set-string global.clusterCIDRv4=192.0.0.0/24 --set-string global.clusterDNS=203.0.113.10 --set-string global.clusterDomain=cluster.local --set-string global.rke2DataDir=/data/rancher/rke2 --set-string global.serviceCIDR=203.0.113.0/24 --set-string global.systemDefaultIngressClass=ingress-nginx rke2-ingress-nginx /tmp/rke2-ingress-nginx.tgz --values /config/values-1-000-HelmChartConfig-ValuesContent.yaml
2025-10-08T06:03:34.873526590-07:00 NAME: rke2-ingress-nginx
2025-10-08T06:03:34.873547428-07:00 LAST DEPLOYED: Wed Oct  8 13:03:26 2025
2025-10-08T06:03:34.873549808-07:00 NAMESPACE: kube-system
2025-10-08T06:03:34.873551138-07:00 STATUS: deployed
2025-10-08T06:03:34.873552467-07:00 REVISION: 1
2025-10-08T06:03:34.873553837-07:00 TEST SUITE: None
2025-10-08T06:03:34.873555247-07:00 NOTES:
2025-10-08T06:03:34.873556627-07:00 The ingress-nginx controller has been installed.
2025-10-08T06:03:34.873558567-07:00 It may take a few minutes for the load balancer IP to be available.
2025-10-08T06:03:34.873560547-07:00 You can watch the status by running 'kubectl get service --namespace kube-system rke2-ingress-nginx-controller --output wide --watch'
2025-10-08T06:03:34.873565386-07:00
2025-10-08T06:03:34.873567866-07:00 An example Ingress that makes use of the controller:
2025-10-08T06:03:34.873569696-07:00   apiVersion: networking.k8s.io/v1
2025-10-08T06:03:34.873571046-07:00   kind: Ingress
2025-10-08T06:03:34.873572256-07:00   metadata:
2025-10-08T06:03:34.873573496-07:00     name: example
2025-10-08T06:03:34.873574786-07:00     namespace: foo
2025-10-08T06:03:34.873575935-07:00   spec:
2025-10-08T06:03:34.873577775-07:00     ingressClassName: nginx
2025-10-08T06:03:34.873579135-07:00     rules:
2025-10-08T06:03:34.873580425-07:00       - host: www.example.com
2025-10-08T06:03:34.873581615-07:00         http:
2025-10-08T06:03:34.873582815-07:00           paths:
2025-10-08T06:03:34.873583985-07:00             - pathType: Prefix
2025-10-08T06:03:34.873586814-07:00               backend:
2025-10-08T06:03:34.873588064-07:00                 service:
2025-10-08T06:03:34.873589314-07:00                   name: exampleService
2025-10-08T06:03:34.873590504-07:00                   port:
2025-10-08T06:03:34.873591654-07:00                     number: 80
2025-10-08T06:03:34.873592994-07:00               path: /
2025-10-08T06:03:34.873594204-07:00     # This section is only required if TLS is to be enabled for the Ingress
2025-10-08T06:03:34.873595364-07:00     tls:
2025-10-08T06:03:34.873596554-07:00       - hosts:
2025-10-08T06:03:34.873597754-07:00         - www.example.com
2025-10-08T06:03:34.873599013-07:00         secretName: example-tls
2025-10-08T06:03:34.873608013-07:00
2025-10-08T06:03:34.873609723-07:00 If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:
2025-10-08T06:03:34.873610672-07:00
2025-10-08T06:03:34.873611752-07:00   apiVersion: v1
2025-10-08T06:03:34.873612822-07:00   kind: Secret
2025-10-08T06:03:34.873613852-07:00   metadata:
2025-10-08T06:03:34.873614952-07:00     name: example-tls
2025-10-08T06:03:34.873616002-07:00     namespace: foo
2025-10-08T06:03:34.873617012-07:00   data:
2025-10-08T06:03:34.873618242-07:00     tls.crt: <base64 encoded cert>
2025-10-08T06:03:34.873619322-07:00     tls.key: <base64 encoded key>
2025-10-08T06:03:34.873620402-07:00   type: kubernetes.io/tls
2025-10-08T06:03:34.875592344-07:00 + exit