diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index 2f3a52b..599ee36 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -86,23 +86,3 @@ app.kubernetes.io/instance: {{ .Release.Name }} {{- define "gitea.actions.local_root_url" -}} {{- .Values.giteaRootURL -}} {{- end -}} - -{{/* -Parse the http url to hostname + port separated by space for the nc command -*/}} -{{- define "gitea.actions.nc" -}} -{{- $url := include "gitea.actions.local_root_url" . | urlParse -}} -{{- $host := get $url "host" -}} -{{- $scheme := get $url "scheme" -}} -{{- $port := "80" -}} -{{- if contains ":" $host -}} - {{- $hostAndPort := regexSplit ":" $host 2 -}} - {{- $host = index $hostAndPort 0 -}} - {{- $port = index $hostAndPort 1 -}} -{{- else if eq $scheme "https" -}} - {{- $port = "443" -}} -{{- else if eq $scheme "http" -}} - {{- $port = "80" -}} -{{- end -}} -{{- printf "%s %s" $host $port -}} -{{- end -}} diff --git a/templates/statefulset.yaml b/templates/statefulset.yaml index 6c33e0b..7bc04ea 100644 --- a/templates/statefulset.yaml +++ b/templates/statefulset.yaml @@ -37,9 +37,12 @@ spec: - sh - -c - | - while ! nc -z {{ include "gitea.actions.nc" . }}; do - sleep 5 + echo 'Trying to reach Gitea on {{ include "gitea.actions.local_root_url" . }}' + while ! wget --no-check-certificate -qO- {{ include "gitea.actions.local_root_url" . }}; do + sleep 3 + echo "Trying again in 3 seconds..." done + echo "Gitea has been reached!" containers: - name: act-runner image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}" diff --git a/unittests/helm/statefulset.yaml b/unittests/helm/statefulset.yaml index e93f593..59ff76d 100644 --- a/unittests/helm/statefulset.yaml +++ b/unittests/helm/statefulset.yaml @@ -92,9 +92,12 @@ tests: - equal: path: spec.template.spec.initContainers[0].command[2] value: | - while ! nc -z git.example.com 80; do - sleep 5 + echo 'Trying to reach Gitea on http://git.example.com' + while ! wget --no-check-certificate -qO- http://git.example.com; do + sleep 3 + echo "Trying again in 3 seconds..." done + echo "Gitea has been reached!" - it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL) template: templates/statefulset.yaml set: @@ -117,9 +120,12 @@ tests: - equal: path: spec.template.spec.initContainers[0].command[2] value: | - while ! nc -z git.example.com 443; do - sleep 5 + echo 'Trying to reach Gitea on https://git.example.com' + while ! wget --no-check-certificate -qO- https://git.example.com; do + sleep 3 + echo "Trying again in 3 seconds..." done + echo "Gitea has been reached!" - it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL) template: templates/statefulset.yaml set: @@ -142,9 +148,12 @@ tests: - equal: path: spec.template.spec.initContainers[0].command[2] value: | - while ! nc -z git.example.com 8443; do - sleep 5 + echo 'Trying to reach Gitea on https://git.example.com:8443' + while ! wget --no-check-certificate -qO- https://git.example.com:8443; do + sleep 3 + echo "Trying again in 3 seconds..." done + echo "Gitea has been reached!" - it: allows adding custom environment variables to the docker-in-docker container template: templates/statefulset.yaml set: