stages: - build - deploy build_container: stage: build image: deps.global.bsf.tools/quay.io/buildah/stable:latest variables: # Convert image name to lowercase for Docker registry compatibility IMAGE_NAME_LOWER: "" before_script: - mkdir -p /tmp/buildah-storage - export BUILDAH_ROOT="/tmp/buildah-storage" - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" # Convert registry image and branch name to lowercase - export IMAGE_NAME_LOWER=$(echo "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" | tr '[:upper:]' '[:lower:]') - echo "Building image: $IMAGE_NAME_LOWER" script: - buildah bud --build-arg NPM_REGISTRY=https://deps.global.bsf.tools/artifactory/api/npm/registry.npmjs.org/ --storage-driver vfs --isolation chroot -t $IMAGE_NAME_LOWER . - buildah push --storage-driver vfs $IMAGE_NAME_LOWER deploy_helm_charts: stage: deploy image: name: deps.global.bsf.tools/registry-1.docker.io/alpine/k8s:1.29.12 parallel: matrix: # - ENV: "prod" # VALUES_FILE: "helm/values-prod.yaml" # CONTEXT: "esv/bsf/bsf-services/gitlab-kaas-agent-config:services-prod-agent" # NAMESPACE: "bsf-services-namespace" # ONLY: "main" - ENV: "dev" VALUES_FILE: "helm/warehouse13/values.yaml" CONTEXT: "esv/bsf/bsf-services/gitlab-kaas-agent-config:services-prod-agent" NAMESPACE: "bsf-services-dev-namespace" # ONLY: ["branches", "!main"] script: - kubectl config use-context $CONTEXT # Convert image names to lowercase for Docker registry compatibility - export IMAGE_REPO_LOWER=$(echo "$CI_REGISTRY_IMAGE" | tr '[:upper:]' '[:lower:]') - export IMAGE_TAG_LOWER=$(echo "$CI_COMMIT_REF_NAME" | tr '[:upper:]' '[:lower:]') - echo "Deploying with image: $IMAGE_REPO_LOWER:$IMAGE_TAG_LOWER" - | helm upgrade --install warehouse13-$CI_COMMIT_REF_NAME \ ./helm/warehouse13 --namespace $NAMESPACE \ -f $VALUES_FILE \ --set app.image.repository=$IMAGE_REPO_LOWER \ --set app.image.tag=$IMAGE_TAG_LOWER \ --set postgres.image.repository=containers.global.bsf.tools/postgres \ --set postgres.image.tag=15-alpine \ --set minio.image.repository=containers.global.bsf.tools/minio \ --set minio.image.tag=latest