default: tags: - docker-test stages: - package - publish variables: CHART_NAME: "freeradius" CHART_VERSION: "1.0.11" PACKAGE_PATH: "packages" ST_COMMON_PROJECT_ID: "270" COMMON_PROJECT_URL: "${CI_API_V4_URL}/projects/${ST_COMMON_PROJECT_ID}/packages/helm/stable" HELM_EXPERIMENTAL_OCI: "1" GITEA_URL: "gitea.infrastructure.helmholz.cloud" GITEA_REPO: "oci://gitea.infrastructure.helmholz.cloud/gitea_admin/helm" package_chart: stage: package image: name: alpine/helm:3.14.0 entrypoint: [""] script: - helm repo add st-common ${COMMON_PROJECT_URL} --username gitlab-ci-token --password $CI_JOB_TOKEN - helm dependency build . - mkdir -p $PACKAGE_PATH - helm package . --destination $PACKAGE_PATH artifacts: paths: - ${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz publish_chart: stage: publish image: alpine/curl:8.14.1 script: - | curl --fail-with-body --request POST \ --user gitlab-ci-token:$CI_JOB_TOKEN \ --form "chart=@${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz" \ "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/stable/charts" only: - main push_chart_to_gitea: stage: publish image: name: alpine/helm:3.14.0 entrypoint: [""] variables: GITEA_URL: "https://gitea.infrastructure.helmholz.cloud" GITEA_USERNAME: "gitea_admin" GITEA_PASSWORD: "$GITEA_PASSWORD" script: - echo "$GITEA_PASSWORD" | helm registry login $GITEA_URL --username $GITEA_USERNAME --password-stdin - helm push ${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz $GITEA_REPO when: manual only: - main dependencies: - package_chart