Loading capif/templates/cd-deploy-ocf.gitlab-ci.yml +317 −169 Original line number Diff line number Diff line Loading @@ -94,6 +94,13 @@ deploy_ocf_staging: whoami kubectl cluster-info yq --version export CI_ENV_ENDPOINT=$(cat cd_env_endpoint.txt) export NAMESPACE_DEV_TO_STAGING=$(echo $CI_ENV_ENDPOINT) if [[ -d helm/capif ]]; then echo "### helm capif directory exists ###" ls -rtt helm/capif cat helm/capif/Chart.yaml yq e -i ".appVersion = \"$IMAGE_TAG_STAGING\"" helm/capif/Chart.yaml Loading @@ -110,9 +117,6 @@ deploy_ocf_staging: yq e -i ".appVersion = \"$IMAGE_TAG_STAGING\"" "helm/capif/charts/$chart/Chart.yaml" done export CI_ENV_ENDPOINT=$(cat cd_env_endpoint.txt) export NAMESPACE_DEV_TO_STAGING=$(echo $CI_ENV_ENDPOINT) echo "### download dependencies###" helm dependency build helm/capif echo "### updating capif###" Loading Loading @@ -263,6 +267,76 @@ deploy_ocf_staging: --set celery-worker.env.redisPort=6379 \ --set celery-worker.env.logLevel="DEBUG" \ --wait --timeout=10m --create-namespace --atomic else echo "### helm capif directory does not exist ###" echo "New deployment behaviour, creating env file and installing helm chart with it" echo "Generate env file for helm scripts" cat <<EOF > helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env # This file is generated by the GitLab CI pipeline for deploying CAPIF to the staging environment. # It contains environment variables that are used in the deployment process. # The values of these variables are set based on the current GitLab CI environment and the configuration # of the CAPIF deployment. # Common variables ## Non Default values on next variables export CAPIF_NAMESPACE=$NAMESPACE_DEV_TO_STAGING-mr export CAPIF_CI_ENV_ENDPOINT=$CI_ENV_ENDPOINT-mr export CAPIF_NAME_VERSION_CHART=ocf-pre-staging export CAPIF_DOMAIN=$DOMAIN_DEV export BASE_DOCKER_REGISTRY=labs.etsi.org:5050/ocf/capif export CAPIF_DOCKER_REGISTRY=$CI_REGISTRY/ocf/capif/$CI_COMMIT_REF_SLUG export CAPIF_IMAGE_TAG=$CI_COMMIT_REF_SLUG export VAULT_INTERNAL_HOSTNAME=$VAULT_HOSTNAME export VAULT_PORT=$VAULT_PORT export VAULT_ACCESS_TOKEN=$VAULT_ACCESS_TOKEN export CAPIF_HOSTNAME=capif-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV export REGISTER_HOSTNAME=register-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV ## Default values on next variables export LOG_LEVEL=DEBUG # Step 0 CAPIF Monitoring configuration ## Configuration of the monitoring components of CAPIF, such as Grafana, Loki, Fluentbit, Tempo and Otelcollector. export PROMETHEUS_URL=http://prometheus.ocf.pre-production ## Default values on next variables ### Storage configuration # export CAPIF_STORAGE_CLASS=nfs-01 # export CAPIF_GRAFANA_STORAGE_SIZE=10Gi # export CAPIF_LOKI_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=3Gi ### OpenCAPIF Monitoring configuration # export CAPIF_GRAFANA_ENABLED=true # export CAPIF_LOKI_ENABLED=true # export CAPIF_FLUENTBIT_ENABLED=true # export CAPIF_TEMPO_ENABLED=true # export CAPIF_OTELCOLLECTOR_ENABLED=true # Step 1: OpenCAPIF Mongo configuration ## Default values on next variables # export CAPIF_MONGO_REGISTER_STORAGE_SIZE=8Gi # export CAPIF_MONGO_STORAGE_SIZE=8Gi # Step 2: OpenCAPIF Mongo Express configuration # Only Common configuration of env apply to both mongo express components. # Step 3: OpenCAPIF Common Core Components configuration # Only Common configuration of env apply to both mongo express components. # Step 4: OpenCAPIF Core Components configuration # Only Common configuration of env apply to both mongo express components. CAPIF_HOSTNAME # Step 5: OpenCAPIF Register configuration # Only Common configuration of env apply to both mongo express components. REGISTER_HOSTNAME EOF ./helm/scripts/install_capif.sh $NAMESPACE_DEV_TO_STAGING-mr.env fi delete_ocf_staging: stage: delete_ocf_staging Loading @@ -270,10 +344,84 @@ delete_ocf_staging: - prep_ocf_cd_staging <<: *staging_common script: - export NAMESPACE_DEV_TO_STAGING=$(cat cd_env_endpoint.txt) - echo "### deleting environment $NAMESPACE_DEV_TO_STAGING###" - helm uninstall -n $NAMESPACE_DEV_TO_STAGING-mr ocf-pre-staging - kubectl delete ns $NAMESPACE_DEV_TO_STAGING-mr - | export NAMESPACE_DEV_TO_STAGING=$(cat cd_env_endpoint.txt) echo "### deleting environment $NAMESPACE_DEV_TO_STAGING###" if [[ -d helm/capif ]]; then helm uninstall -n $NAMESPACE_DEV_TO_STAGING-mr ocf-pre-staging kubectl delete ns $NAMESPACE_DEV_TO_STAGING-mr else if [[ -f helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env ]]; then echo "### env file found for $NAMESPACE_DEV_TO_STAGING-mr, deleting with helm script ###" else echo "### No helm capif directory and no env file found for $NAMESPACE_DEV_TO_STAGING-mr, create file ###" cat <<EOF > helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env # This file is generated by the GitLab CI pipeline for deploying CAPIF to the staging environment. # It contains environment variables that are used in the deployment process. # The values of these variables are set based on the current GitLab CI environment and the configuration # of the CAPIF deployment. # Common variables ## Non Default values on next variables export CAPIF_NAMESPACE=$NAMESPACE_DEV_TO_STAGING-mr export CAPIF_CI_ENV_ENDPOINT=$CI_ENV_ENDPOINT-mr export CAPIF_NAME_VERSION_CHART=ocf-pre-staging export CAPIF_DOMAIN=$DOMAIN_DEV export BASE_DOCKER_REGISTRY=labs.etsi.org:5050/ocf/capif export CAPIF_DOCKER_REGISTRY=$CI_REGISTRY/ocf/capif/$CI_COMMIT_REF_SLUG export CAPIF_IMAGE_TAG=$CI_COMMIT_REF_SLUG export VAULT_INTERNAL_HOSTNAME=$VAULT_HOSTNAME export VAULT_PORT=$VAULT_PORT export VAULT_ACCESS_TOKEN=$VAULT_ACCESS_TOKEN export CAPIF_HOSTNAME=capif-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV export REGISTER_HOSTNAME=register-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV ## Default values on next variables export LOG_LEVEL=DEBUG # Step 0 CAPIF Monitoring configuration ## Configuration of the monitoring components of CAPIF, such as Grafana, Loki, Fluentbit, Tempo and Otelcollector. export PROMETHEUS_URL=http://prometheus.ocf.pre-production ## Default values on next variables ### Storage configuration # export CAPIF_STORAGE_CLASS=nfs-01 # export CAPIF_GRAFANA_STORAGE_SIZE=10Gi # export CAPIF_LOKI_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=3Gi ### OpenCAPIF Monitoring configuration # export CAPIF_GRAFANA_ENABLED=true # export CAPIF_LOKI_ENABLED=true # export CAPIF_FLUENTBIT_ENABLED=true # export CAPIF_TEMPO_ENABLED=true # export CAPIF_OTELCOLLECTOR_ENABLED=true # Step 1: OpenCAPIF Mongo configuration ## Default values on next variables # export CAPIF_MONGO_REGISTER_STORAGE_SIZE=8Gi # export CAPIF_MONGO_STORAGE_SIZE=8Gi # Step 2: OpenCAPIF Mongo Express configuration # Only Common configuration of env apply to both mongo express components. # Step 3: OpenCAPIF Common Core Components configuration # Only Common configuration of env apply to both mongo express components. # Step 4: OpenCAPIF Core Components configuration # Only Common configuration of env apply to both mongo express components. CAPIF_HOSTNAME # Step 5: OpenCAPIF Register configuration # Only Common configuration of env apply to both mongo express components. REGISTER_HOSTNAME EOF ./helm/scripts/uninstall_capif.sh $NAMESPACE_DEV_TO_STAGING-mr.env fi fi when: manual environment: name: review/dev_to_staging/$CI_COMMIT_REF_SLUG Loading Loading
capif/templates/cd-deploy-ocf.gitlab-ci.yml +317 −169 Original line number Diff line number Diff line Loading @@ -94,6 +94,13 @@ deploy_ocf_staging: whoami kubectl cluster-info yq --version export CI_ENV_ENDPOINT=$(cat cd_env_endpoint.txt) export NAMESPACE_DEV_TO_STAGING=$(echo $CI_ENV_ENDPOINT) if [[ -d helm/capif ]]; then echo "### helm capif directory exists ###" ls -rtt helm/capif cat helm/capif/Chart.yaml yq e -i ".appVersion = \"$IMAGE_TAG_STAGING\"" helm/capif/Chart.yaml Loading @@ -110,9 +117,6 @@ deploy_ocf_staging: yq e -i ".appVersion = \"$IMAGE_TAG_STAGING\"" "helm/capif/charts/$chart/Chart.yaml" done export CI_ENV_ENDPOINT=$(cat cd_env_endpoint.txt) export NAMESPACE_DEV_TO_STAGING=$(echo $CI_ENV_ENDPOINT) echo "### download dependencies###" helm dependency build helm/capif echo "### updating capif###" Loading Loading @@ -263,6 +267,76 @@ deploy_ocf_staging: --set celery-worker.env.redisPort=6379 \ --set celery-worker.env.logLevel="DEBUG" \ --wait --timeout=10m --create-namespace --atomic else echo "### helm capif directory does not exist ###" echo "New deployment behaviour, creating env file and installing helm chart with it" echo "Generate env file for helm scripts" cat <<EOF > helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env # This file is generated by the GitLab CI pipeline for deploying CAPIF to the staging environment. # It contains environment variables that are used in the deployment process. # The values of these variables are set based on the current GitLab CI environment and the configuration # of the CAPIF deployment. # Common variables ## Non Default values on next variables export CAPIF_NAMESPACE=$NAMESPACE_DEV_TO_STAGING-mr export CAPIF_CI_ENV_ENDPOINT=$CI_ENV_ENDPOINT-mr export CAPIF_NAME_VERSION_CHART=ocf-pre-staging export CAPIF_DOMAIN=$DOMAIN_DEV export BASE_DOCKER_REGISTRY=labs.etsi.org:5050/ocf/capif export CAPIF_DOCKER_REGISTRY=$CI_REGISTRY/ocf/capif/$CI_COMMIT_REF_SLUG export CAPIF_IMAGE_TAG=$CI_COMMIT_REF_SLUG export VAULT_INTERNAL_HOSTNAME=$VAULT_HOSTNAME export VAULT_PORT=$VAULT_PORT export VAULT_ACCESS_TOKEN=$VAULT_ACCESS_TOKEN export CAPIF_HOSTNAME=capif-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV export REGISTER_HOSTNAME=register-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV ## Default values on next variables export LOG_LEVEL=DEBUG # Step 0 CAPIF Monitoring configuration ## Configuration of the monitoring components of CAPIF, such as Grafana, Loki, Fluentbit, Tempo and Otelcollector. export PROMETHEUS_URL=http://prometheus.ocf.pre-production ## Default values on next variables ### Storage configuration # export CAPIF_STORAGE_CLASS=nfs-01 # export CAPIF_GRAFANA_STORAGE_SIZE=10Gi # export CAPIF_LOKI_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=3Gi ### OpenCAPIF Monitoring configuration # export CAPIF_GRAFANA_ENABLED=true # export CAPIF_LOKI_ENABLED=true # export CAPIF_FLUENTBIT_ENABLED=true # export CAPIF_TEMPO_ENABLED=true # export CAPIF_OTELCOLLECTOR_ENABLED=true # Step 1: OpenCAPIF Mongo configuration ## Default values on next variables # export CAPIF_MONGO_REGISTER_STORAGE_SIZE=8Gi # export CAPIF_MONGO_STORAGE_SIZE=8Gi # Step 2: OpenCAPIF Mongo Express configuration # Only Common configuration of env apply to both mongo express components. # Step 3: OpenCAPIF Common Core Components configuration # Only Common configuration of env apply to both mongo express components. # Step 4: OpenCAPIF Core Components configuration # Only Common configuration of env apply to both mongo express components. CAPIF_HOSTNAME # Step 5: OpenCAPIF Register configuration # Only Common configuration of env apply to both mongo express components. REGISTER_HOSTNAME EOF ./helm/scripts/install_capif.sh $NAMESPACE_DEV_TO_STAGING-mr.env fi delete_ocf_staging: stage: delete_ocf_staging Loading @@ -270,10 +344,84 @@ delete_ocf_staging: - prep_ocf_cd_staging <<: *staging_common script: - export NAMESPACE_DEV_TO_STAGING=$(cat cd_env_endpoint.txt) - echo "### deleting environment $NAMESPACE_DEV_TO_STAGING###" - helm uninstall -n $NAMESPACE_DEV_TO_STAGING-mr ocf-pre-staging - kubectl delete ns $NAMESPACE_DEV_TO_STAGING-mr - | export NAMESPACE_DEV_TO_STAGING=$(cat cd_env_endpoint.txt) echo "### deleting environment $NAMESPACE_DEV_TO_STAGING###" if [[ -d helm/capif ]]; then helm uninstall -n $NAMESPACE_DEV_TO_STAGING-mr ocf-pre-staging kubectl delete ns $NAMESPACE_DEV_TO_STAGING-mr else if [[ -f helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env ]]; then echo "### env file found for $NAMESPACE_DEV_TO_STAGING-mr, deleting with helm script ###" else echo "### No helm capif directory and no env file found for $NAMESPACE_DEV_TO_STAGING-mr, create file ###" cat <<EOF > helm/scripts/envs/$NAMESPACE_DEV_TO_STAGING-mr.env # This file is generated by the GitLab CI pipeline for deploying CAPIF to the staging environment. # It contains environment variables that are used in the deployment process. # The values of these variables are set based on the current GitLab CI environment and the configuration # of the CAPIF deployment. # Common variables ## Non Default values on next variables export CAPIF_NAMESPACE=$NAMESPACE_DEV_TO_STAGING-mr export CAPIF_CI_ENV_ENDPOINT=$CI_ENV_ENDPOINT-mr export CAPIF_NAME_VERSION_CHART=ocf-pre-staging export CAPIF_DOMAIN=$DOMAIN_DEV export BASE_DOCKER_REGISTRY=labs.etsi.org:5050/ocf/capif export CAPIF_DOCKER_REGISTRY=$CI_REGISTRY/ocf/capif/$CI_COMMIT_REF_SLUG export CAPIF_IMAGE_TAG=$CI_COMMIT_REF_SLUG export VAULT_INTERNAL_HOSTNAME=$VAULT_HOSTNAME export VAULT_PORT=$VAULT_PORT export VAULT_ACCESS_TOKEN=$VAULT_ACCESS_TOKEN export CAPIF_HOSTNAME=capif-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV export REGISTER_HOSTNAME=register-$CI_ENV_ENDPOINT-mr.$DOMAIN_DEV ## Default values on next variables export LOG_LEVEL=DEBUG # Step 0 CAPIF Monitoring configuration ## Configuration of the monitoring components of CAPIF, such as Grafana, Loki, Fluentbit, Tempo and Otelcollector. export PROMETHEUS_URL=http://prometheus.ocf.pre-production ## Default values on next variables ### Storage configuration # export CAPIF_STORAGE_CLASS=nfs-01 # export CAPIF_GRAFANA_STORAGE_SIZE=10Gi # export CAPIF_LOKI_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=100Mi # export CAPIF_TEMPO_STORAGE_SIZE=3Gi ### OpenCAPIF Monitoring configuration # export CAPIF_GRAFANA_ENABLED=true # export CAPIF_LOKI_ENABLED=true # export CAPIF_FLUENTBIT_ENABLED=true # export CAPIF_TEMPO_ENABLED=true # export CAPIF_OTELCOLLECTOR_ENABLED=true # Step 1: OpenCAPIF Mongo configuration ## Default values on next variables # export CAPIF_MONGO_REGISTER_STORAGE_SIZE=8Gi # export CAPIF_MONGO_STORAGE_SIZE=8Gi # Step 2: OpenCAPIF Mongo Express configuration # Only Common configuration of env apply to both mongo express components. # Step 3: OpenCAPIF Common Core Components configuration # Only Common configuration of env apply to both mongo express components. # Step 4: OpenCAPIF Core Components configuration # Only Common configuration of env apply to both mongo express components. CAPIF_HOSTNAME # Step 5: OpenCAPIF Register configuration # Only Common configuration of env apply to both mongo express components. REGISTER_HOSTNAME EOF ./helm/scripts/uninstall_capif.sh $NAMESPACE_DEV_TO_STAGING-mr.env fi fi when: manual environment: name: review/dev_to_staging/$CI_COMMIT_REF_SLUG Loading