|
| 1 | +#!/bin/bash |
| 2 | +# Unified configuration loader for Zenko end-to-end tests |
| 3 | +# |
| 4 | +# Usage: |
| 5 | +# source load-config.sh ctst # Load config for CTST tests |
| 6 | +# source load-config.sh e2e # Load config for zenko_tests (e2e) |
| 7 | +# source load-config.sh common # Load only common config |
| 8 | +# |
| 9 | +# After sourcing, use the helpers: |
| 10 | +# kubectl exec pod -- env $(env_for_kubectl_exec) command |
| 11 | +# kubectl run pod $(env_for_kubectl_run) -- command |
| 12 | + |
| 13 | +set -e +x |
| 14 | + |
| 15 | +SUITE="${1:-common}" |
| 16 | + |
| 17 | + |
| 18 | +# Extract a value from the top-level env block in end2end.yaml. |
| 19 | +# Strips ${{ ... }} expressions (secrets/context refs) leaving an empty string. |
| 20 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| 21 | +WORKFLOWS_END2END_YAML="${SCRIPT_DIR}/../../workflows/end2end.yaml" |
| 22 | +get_env_var() { |
| 23 | + local key="$1" |
| 24 | + yq eval ".env.${key}" "$WORKFLOWS_END2END_YAML" | sed 's/\${{[^}]*}}//g' | tr -d '"' |
| 25 | +} |
| 26 | + |
| 27 | +# Output helpers – both derived from the same ENV_VARS array. |
| 28 | +# Usage: kubectl exec pod -- env $(env_for_kubectl_exec) command |
| 29 | +env_for_kubectl_exec() { printf '%s ' "${ENV_VARS[@]}"; } |
| 30 | +# Usage: kubectl run pod $(env_for_kubectl_run) -- command |
| 31 | +env_for_kubectl_run() { printf -- '--env=%s ' "${ENV_VARS[@]}"; } |
| 32 | + |
| 33 | +# ============================================================================= |
| 34 | +# COMMON - Used by both CTST and zenko_tests |
| 35 | +# ============================================================================= |
| 36 | +load_common() { |
| 37 | + ENV_VARS=() |
| 38 | + |
| 39 | + # From end2end.yaml |
| 40 | + ENV_VARS+=("SUBDOMAIN=$(get_env_var SUBDOMAIN)") |
| 41 | + ENV_VARS+=("KEYCLOAK_TEST_REALM_NAME=$(get_env_var OIDC_REALM)") |
| 42 | + ENV_VARS+=("KEYCLOAK_TEST_CLIENT_ID=$(get_env_var OIDC_CLIENT_ID)") |
| 43 | + ENV_VARS+=("KEYCLOAK_TEST_USER=$(get_env_var OIDC_USERNAME)") |
| 44 | + ENV_VARS+=("KEYCLOAK_TEST_PASSWORD=$(get_env_var OIDC_PASSWORD)") |
| 45 | + ENV_VARS+=("KEYCLOAK_TEST_HOST=$(get_env_var OIDC_HOST)") |
| 46 | + ENV_VARS+=("KEYCLOAK_TEST_PORT=80") |
| 47 | + ENV_VARS+=("KEYCLOAK_TEST_GRANT_TYPE=password") |
| 48 | + ENV_VARS+=("AZURE_ACCOUNT_NAME=$(get_env_var AZURE_ACCOUNT_NAME)") |
| 49 | + ENV_VARS+=("AZURE_SECRET_KEY=$(get_env_var AZURE_SECRET_KEY)") |
| 50 | + ENV_VARS+=("CLOUDSERVER_ENDPOINT=http://end2end-connector-s3api.default.svc.cluster.local:80") |
| 51 | + ENV_VARS+=("VAULT_ENDPOINT=http://end2end-management-vault-iam-admin-api:80") |
| 52 | + |
| 53 | + # From k8s: Zenko account credentials |
| 54 | + ENV_VARS+=("ZENKO_ACCESS_KEY=$(kubectl get secret end2end-account-zenko -o jsonpath='{.data.AccessKeyId}' | base64 -d)") |
| 55 | + ENV_VARS+=("ZENKO_SECRET_KEY=$(kubectl get secret end2end-account-zenko -o jsonpath='{.data.SecretAccessKey}' | base64 -d)") |
| 56 | + |
| 57 | + # From k8s: Admin vault credentials |
| 58 | + ENV_VARS+=("ADMIN_ACCESS_KEY_ID=$(kubectl get secret end2end-management-vault-admin-creds.v1 -o jsonpath='{.data.accessKey}' | base64 -d)") |
| 59 | + ENV_VARS+=("ADMIN_SECRET_ACCESS_KEY=$(kubectl get secret end2end-management-vault-admin-creds.v1 -o jsonpath='{.data.secretKey}' | base64 -d)") |
| 60 | +} |
| 61 | + |
| 62 | +# ============================================================================= |
| 63 | +# CTST ONLY - Variables specific to cucumber tests |
| 64 | +# ============================================================================= |
| 65 | +load_ctst() { |
| 66 | + load_common |
| 67 | + |
| 68 | + # Hardcoded CTST values |
| 69 | + ENV_VARS+=("ZENKO_ACCOUNT_NAME=zenko-ctst") |
| 70 | + ENV_VARS+=("STORAGE_MANAGER_USER_NAME=ctst_storage_manager") |
| 71 | + ENV_VARS+=("STORAGE_ACCOUNT_OWNER_USER_NAME=ctst_storage_account_owner") |
| 72 | + ENV_VARS+=("DATA_CONSUMER_USER_NAME=ctst_data_consumer") |
| 73 | + ENV_VARS+=("DATA_ACCESSOR_USER_NAME=ctst_data_accessor") |
| 74 | + ENV_VARS+=("ZENKO_PORT=80") |
| 75 | + ENV_VARS+=("UTILIZATION_SERVICE_PORT=80") |
| 76 | + ENV_VARS+=("AZURE_ARCHIVE_ACCESS_TIER=Hot") |
| 77 | + ENV_VARS+=("AZURE_ARCHIVE_MANIFEST_ACCESS_TIER=Hot") |
| 78 | + |
| 79 | + # From end2end.yaml |
| 80 | + ENV_VARS+=("DR_SUBDOMAIN=$(get_env_var DR_SUBDOMAIN)") |
| 81 | + ENV_VARS+=("PROMETHEUS_NAME=$(get_env_var PROMETHEUS_NAME)") |
| 82 | + ENV_VARS+=("AZURE_BACKEND_ENDPOINT=$(get_env_var AZURE_BACKEND_ENDPOINT)") |
| 83 | + ENV_VARS+=("AZURE_BACKEND_QUEUE_ENDPOINT=$(get_env_var AZURE_BACKEND_QUEUE_ENDPOINT)") |
| 84 | + ENV_VARS+=("AZURE_ARCHIVE_BUCKET_NAME=$(get_env_var AZURE_ARCHIVE_BUCKET_NAME)") |
| 85 | + ENV_VARS+=("AZURE_ARCHIVE_BUCKET_NAME_2=$(get_env_var AZURE_ARCHIVE_BUCKET_NAME_2)") |
| 86 | + ENV_VARS+=("AZURE_ARCHIVE_QUEUE_NAME=$(get_env_var AZURE_ARCHIVE_QUEUE_NAME)") |
| 87 | + ENV_VARS+=("NOTIF_DEST_NAME=$(get_env_var NOTIF_DEST_NAME)") |
| 88 | + ENV_VARS+=("NOTIF_DEST_TOPIC=$(get_env_var NOTIF_DEST_TOPIC)") |
| 89 | + ENV_VARS+=("NOTIF_ALT_DEST_NAME=$(get_env_var NOTIF_ALT_DEST_NAME)") |
| 90 | + ENV_VARS+=("NOTIF_ALT_DEST_TOPIC=$(get_env_var NOTIF_ALT_DEST_TOPIC)") |
| 91 | + ENV_VARS+=("NOTIF_AUTH_DEST_NAME=$(get_env_var NOTIF_AUTH_DEST_NAME)") |
| 92 | + ENV_VARS+=("NOTIF_AUTH_DEST_TOPIC=$(get_env_var NOTIF_AUTH_DEST_TOPIC)") |
| 93 | + ENV_VARS+=("NOTIF_AUTH_DEST_USERNAME=$(get_env_var NOTIF_AUTH_DEST_USERNAME)") |
| 94 | + ENV_VARS+=("NOTIF_AUTH_DEST_PASSWORD=$(get_env_var NOTIF_AUTH_DEST_PASSWORD)") |
| 95 | + |
| 96 | + # From k8s: DR admin credentials (only exists if PRA is deployed) |
| 97 | + ENV_VARS+=("DR_ADMIN_ACCESS_KEY_ID=$(kubectl get secret end2end-pra-management-vault-admin-creds.v1 -o jsonpath='{.data.accessKey}' 2>/dev/null | base64 -d || true)") |
| 98 | + ENV_VARS+=("DR_ADMIN_SECRET_ACCESS_KEY=$(kubectl get secret end2end-pra-management-vault-admin-creds.v1 -o jsonpath='{.data.secretKey}' 2>/dev/null | base64 -d || true)") |
| 99 | + |
| 100 | + # From k8s: Kafka config |
| 101 | + local kafka_host_port kafka_port |
| 102 | + kafka_host_port=$(kubectl get secret -l app.kubernetes.io/name=backbeat-config,app.kubernetes.io/instance=end2end \ |
| 103 | + -o jsonpath='{.items[0].data.config\.json}' | base64 -d | jq -r '.kafka.hosts') |
| 104 | + kafka_port="${kafka_host_port#*:}" |
| 105 | + ENV_VARS+=("KAFKA_HOST_PORT=${kafka_host_port}") |
| 106 | + ENV_VARS+=("KAFKA_AUTH_HOST_PORT=end2end-base-queue-auth-0:${kafka_port}") |
| 107 | + |
| 108 | + # From k8s: Sorbet/kafka topics |
| 109 | + local sorbet_config |
| 110 | + sorbet_config=$(kubectl get secret -l "app.kubernetes.io/name=cold-sorbet-config-e2e-azure-archive,app.kubernetes.io/instance=end2end" \ |
| 111 | + -o jsonpath='{.items[0].data.config\.json}' | base64 -d) |
| 112 | + ENV_VARS+=("KAFKA_DEAD_LETTER_TOPIC=$(echo "${sorbet_config}" | jq -r '."kafka-dead-letter-topic"')") |
| 113 | + ENV_VARS+=("KAFKA_OBJECT_TASK_TOPIC=$(echo "${sorbet_config}" | jq -r '."kafka-object-task-topic"')") |
| 114 | + ENV_VARS+=("KAFKA_GC_REQUEST_TOPIC=$(echo "${sorbet_config}" | jq -r '."kafka-gc-request-topic"')") |
| 115 | + |
| 116 | + # From k8s: Zenko resource values |
| 117 | + ENV_VARS+=("TIME_PROGRESSION_FACTOR=$(kubectl get zenko end2end -o jsonpath='{.metadata.annotations.zenko\.io/time-progression-factor}')") |
| 118 | + ENV_VARS+=("INSTANCE_ID=$(kubectl get zenko end2end -o jsonpath='{.status.instanceID}')") |
| 119 | + ENV_VARS+=("KAFKA_CLEANER_INTERVAL=$(kubectl get zenko end2end -o jsonpath='{.spec.kafkaCleaner.interval}')") |
| 120 | + ENV_VARS+=("SORBETD_RESTORE_TIMEOUT=$(kubectl get zenko end2end -o jsonpath='{.spec.sorbet.server.azure.restoreTimeout}')") |
| 121 | + ENV_VARS+=("UTILIZATION_SERVICE_HOST=$(kubectl get zenko end2end -o jsonpath='{.spec.scuba.api.ingress.hostname}')") |
| 122 | + |
| 123 | + # From k8s: Backbeat API config |
| 124 | + local cloudserver_config |
| 125 | + cloudserver_config=$(kubectl get secret -l app.kubernetes.io/name=connector-cloudserver-config,app.kubernetes.io/instance=end2end \ |
| 126 | + -o jsonpath='{.items[0].data.config\.json}' | base64 -d) |
| 127 | + ENV_VARS+=("BACKBEAT_API_HOST=$(echo "${cloudserver_config}" | jq -r '.backbeat.host')") |
| 128 | + ENV_VARS+=("BACKBEAT_API_PORT=$(echo "${cloudserver_config}" | jq -r '.backbeat.port')") |
| 129 | + |
| 130 | + # From k8s: Service users credentials (individual components) |
| 131 | + ENV_VARS+=("BACKBEAT_LCBP_1_CREDS=$(kubectl get secret -l app.kubernetes.io/name=backbeat-lcbp-user-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.backbeat-lifecycle-bp-1\.json}' | base64 -d)") |
| 132 | + ENV_VARS+=("BACKBEAT_LCC_1_CREDS=$(kubectl get secret -l app.kubernetes.io/name=backbeat-lcc-user-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.backbeat-lifecycle-conductor-1\.json}' | base64 -d)") |
| 133 | + ENV_VARS+=("BACKBEAT_LCOP_1_CREDS=$(kubectl get secret -l app.kubernetes.io/name=backbeat-lcop-user-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.backbeat-lifecycle-op-1\.json}' | base64 -d)") |
| 134 | + ENV_VARS+=("BACKBEAT_QP_1_CREDS=$(kubectl get secret -l app.kubernetes.io/name=backbeat-qp-user-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.backbeat-qp-1\.json}' | base64 -d)") |
| 135 | + ENV_VARS+=("SORBET_FWD_2_ACCESSKEY=$(kubectl get secret -l app.kubernetes.io/name=sorbet-fwd-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.accessKey}' | base64 -d)") |
| 136 | + ENV_VARS+=("SORBET_FWD_2_SECRETKEY=$(kubectl get secret -l app.kubernetes.io/name=sorbet-fwd-creds,app.kubernetes.io/instance=end2end -o jsonpath='{.items[0].data.secretKey}' | base64 -d)") |
| 137 | +} |
| 138 | + |
| 139 | +# ============================================================================= |
| 140 | +# E2E ONLY - Variables specific to zenko_tests (mocha) |
| 141 | +# ============================================================================= |
| 142 | +load_e2e() { |
| 143 | + load_common |
| 144 | + |
| 145 | + # From end2end.yaml |
| 146 | + ENV_VARS+=("AWS_BACKEND_SOURCE_LOCATION=$(get_env_var AWS_BACKEND_SOURCE_LOCATION)") |
| 147 | + ENV_VARS+=("AWS_BACKEND_DESTINATION_LOCATION=$(get_env_var AWS_BACKEND_DESTINATION_LOCATION)") |
| 148 | + ENV_VARS+=("AWS_BACKEND_DESTINATION_FAIL_LOCATION=$(get_env_var AWS_BACKEND_DESTINATION_FAIL_LOCATION)") |
| 149 | + ENV_VARS+=("GCP_BACKEND_DESTINATION_LOCATION=$(get_env_var GCP_BACKEND_DESTINATION_LOCATION)") |
| 150 | + ENV_VARS+=("AZURE_BACKEND_DESTINATION_LOCATION=$(get_env_var AZURE_BACKEND_DESTINATION_LOCATION)") |
| 151 | + ENV_VARS+=("COLD_BACKEND_DESTINATION_LOCATION=$(get_env_var COLD_BACKEND_DESTINATION_LOCATION)") |
| 152 | + ENV_VARS+=("AZURE_ARCHIVE_BACKEND_DESTINATION_LOCATION=$(get_env_var AZURE_ARCHIVE_BACKEND_DESTINATION_LOCATION)") |
| 153 | + ENV_VARS+=("MIRIA_BACKEND_DESTINATION_LOCATION=$(get_env_var MIRIA_BACKEND_DESTINATION_LOCATION)") |
| 154 | + ENV_VARS+=("LOCATION_QUOTA_BACKEND=$(get_env_var LOCATION_QUOTA_BACKEND)") |
| 155 | + ENV_VARS+=("AWS_BUCKET_NAME=$(get_env_var AWS_BUCKET_NAME)") |
| 156 | + ENV_VARS+=("AWS_CRR_BUCKET_NAME=$(get_env_var AWS_CRR_BUCKET_NAME)") |
| 157 | + ENV_VARS+=("AWS_FAIL_BUCKET_NAME=$(get_env_var AWS_FAIL_BUCKET_NAME)") |
| 158 | + ENV_VARS+=("AZURE_CRR_BUCKET_NAME=$(get_env_var AZURE_CRR_BUCKET_NAME)") |
| 159 | + ENV_VARS+=("AZURE_ARCHIVE_BUCKET_NAME=$(get_env_var AZURE_ARCHIVE_BUCKET_NAME)") |
| 160 | + ENV_VARS+=("GCP_CRR_BUCKET_NAME=$(get_env_var GCP_CRR_BUCKET_NAME)") |
| 161 | + ENV_VARS+=("GCP_CRR_MPU_BUCKET_NAME=$(get_env_var GCP_CRR_MPU_BUCKET_NAME)") |
| 162 | + ENV_VARS+=("GCP_ACCESS_KEY=$(get_env_var GCP_ACCESS_KEY)") |
| 163 | + ENV_VARS+=("GCP_SECRET_KEY=$(get_env_var GCP_SECRET_KEY)") |
| 164 | + ENV_VARS+=("GCP_BACKEND_SERVICE_KEY=$(get_env_var GCP_BACKEND_SERVICE_KEY)") |
| 165 | + ENV_VARS+=("GCP_BACKEND_SERVICE_EMAIL=$(get_env_var GCP_BACKEND_SERVICE_EMAIL)") |
| 166 | + ENV_VARS+=("AZURE_BACKEND_ENDPOINT=$(get_env_var AZURE_BACKEND_ENDPOINT)") |
| 167 | + ENV_VARS+=("AWS_ENDPOINT=$(get_env_var AWS_ENDPOINT)") |
| 168 | + ENV_VARS+=("AWS_ACCESS_KEY=$(get_env_var AWS_ACCESS_KEY)") |
| 169 | + ENV_VARS+=("AWS_SECRET_KEY=$(get_env_var AWS_SECRET_KEY)") |
| 170 | + ENV_VARS+=("VERIFY_CERTIFICATES=$(get_env_var VERIFY_CERTIFICATES)") |
| 171 | + ENV_VARS+=("ENABLE_RING_TESTS=$(get_env_var ENABLE_RING_TESTS)") |
| 172 | + ENV_VARS+=("RING_S3C_ACCESS_KEY=$(get_env_var RING_S3C_ACCESS_KEY)") |
| 173 | + ENV_VARS+=("RING_S3C_SECRET_KEY=$(get_env_var RING_S3C_SECRET_KEY)") |
| 174 | + ENV_VARS+=("RING_S3C_ENDPOINT=$(get_env_var RING_S3C_ENDPOINT)") |
| 175 | + ENV_VARS+=("RING_S3C_BACKEND_SOURCE_LOCATION=$(get_env_var RING_S3C_BACKEND_SOURCE_LOCATION)") |
| 176 | + ENV_VARS+=("RING_S3C_INGESTION_SRC_BUCKET_NAME=$(get_env_var RING_S3C_INGESTION_SRC_BUCKET_NAME)") |
| 177 | + ENV_VARS+=("RING_S3C_BACKEND_SOURCE_NON_VERSIONED_LOCATION=$(get_env_var RING_S3C_BACKEND_SOURCE_NON_VERSIONED_LOCATION)") |
| 178 | + ENV_VARS+=("RING_S3C_INGESTION_SRC_NON_VERSIONED_BUCKET_NAME=$(get_env_var RING_S3C_INGESTION_SRC_NON_VERSIONED_BUCKET_NAME)") |
| 179 | + ENV_VARS+=("RING_S3C_INGESTION_NON_VERSIONED_OBJECT_COUNT_PER_TYPE=$(get_env_var RING_S3C_INGESTION_NON_VERSIONED_OBJECT_COUNT_PER_TYPE)") |
| 180 | + ENV_VARS+=("CRR_SOURCE_LOCATION_NAME=$(get_env_var CRR_SOURCE_LOCATION_NAME)") |
| 181 | + ENV_VARS+=("CRR_DESTINATION_LOCATION_NAME=$(get_env_var CRR_DESTINATION_LOCATION_NAME)") |
| 182 | + ENV_VARS+=("CRR_ROLE_NAME=$(get_env_var CRR_ROLE_NAME)") |
| 183 | + ENV_VARS+=("BACKBEAT_BUCKET_CHECK_TIMEOUT_S=$(get_env_var BACKBEAT_BUCKET_CHECK_TIMEOUT_S)") |
| 184 | + ENV_VARS+=("MOCHA_FILE=$(get_env_var MOCHA_FILE)") |
| 185 | + |
| 186 | + # Derived endpoints |
| 187 | + ENV_VARS+=("CLOUDSERVER_HOST=end2end-connector-s3api.default.svc.cluster.local") |
| 188 | + ENV_VARS+=("VAULT_STS_ENDPOINT=http://end2end-connector-vault-sts-api:80") |
| 189 | + ENV_VARS+=("BACKBEAT_API_ENDPOINT=http://end2end-management-backbeat-api.default.svc.cluster.local:80") |
| 190 | + |
| 191 | + # From k8s: MongoDB config |
| 192 | + local cloudserver_secret |
| 193 | + cloudserver_secret=$(kubectl get secret -l app.kubernetes.io/name=connector-cloudserver-config,app.kubernetes.io/instance=end2end \ |
| 194 | + -o jsonpath="{.items[0].data.config\.json}" | base64 -d) |
| 195 | + ENV_VARS+=("MONGO_DATABASE=$(echo "${cloudserver_secret}" | jq -r '.mongodb.database')") |
| 196 | + ENV_VARS+=("MONGO_READ_PREFERENCE=$(echo "${cloudserver_secret}" | jq -r '.mongodb.readPreference')") |
| 197 | + ENV_VARS+=("MONGO_REPLICA_SET_HOSTS=$(echo "${cloudserver_secret}" | jq -r '.mongodb.replicaSetHosts')") |
| 198 | + ENV_VARS+=("MONGO_SHARD_COLLECTION=$(echo "${cloudserver_secret}" | jq -r '.mongodb.shardCollections')") |
| 199 | + ENV_VARS+=("MONGO_WRITE_CONCERN=$(echo "${cloudserver_secret}" | jq -r '.mongodb.writeConcern')") |
| 200 | + ENV_VARS+=("MONGO_AUTH_USERNAME=$(echo "${cloudserver_secret}" | jq -r '.mongodb.authCredentials.username')") |
| 201 | + ENV_VARS+=("MONGO_AUTH_PASSWORD=$(echo "${cloudserver_secret}" | jq -r '.mongodb.authCredentials.password')") |
| 202 | + |
| 203 | + # From k8s: CRR account credentials |
| 204 | + local crr_src crr_dst |
| 205 | + crr_src=$(get_env_var CRR_SOURCE_ACCOUNT_NAME) |
| 206 | + crr_dst=$(get_env_var CRR_DESTINATION_ACCOUNT_NAME) |
| 207 | + local src_ak src_sk src_st src_id dst_ak dst_sk dst_st dst_id |
| 208 | + src_ak=$(kubectl get secret "end2end-account-${crr_src}" -o jsonpath='{.data.AccessKeyId}' | base64 -d) |
| 209 | + src_sk=$(kubectl get secret "end2end-account-${crr_src}" -o jsonpath='{.data.SecretAccessKey}' | base64 -d) |
| 210 | + src_st=$(kubectl get secret "end2end-account-${crr_src}" -o jsonpath='{.data.SessionToken}' | base64 -d) |
| 211 | + src_id=$(kubectl get secret "end2end-account-${crr_src}" -o jsonpath='{.data.AccountId}' | base64 -d) |
| 212 | + dst_ak=$(kubectl get secret "end2end-account-${crr_dst}" -o jsonpath='{.data.AccessKeyId}' | base64 -d) |
| 213 | + dst_sk=$(kubectl get secret "end2end-account-${crr_dst}" -o jsonpath='{.data.SecretAccessKey}' | base64 -d) |
| 214 | + dst_st=$(kubectl get secret "end2end-account-${crr_dst}" -o jsonpath='{.data.SessionToken}' | base64 -d) |
| 215 | + dst_id=$(kubectl get secret "end2end-account-${crr_dst}" -o jsonpath='{.data.AccountId}' | base64 -d) |
| 216 | + ENV_VARS+=("CRR_SOURCE_INFO={\"AccessKeyId\":\"${src_ak}\",\"SecretAccessKey\":\"${src_sk}\",\"SessionToken\":\"${src_st}\",\"AccountId\":\"${src_id}\"}") |
| 217 | + ENV_VARS+=("CRR_DESTINATION_INFO={\"AccessKeyId\":\"${dst_ak}\",\"SecretAccessKey\":\"${dst_sk}\",\"SessionToken\":\"${dst_st}\",\"AccountId\":\"${dst_id}\"}") |
| 218 | + |
| 219 | + # From k8s: Zenko account session token |
| 220 | + ENV_VARS+=("ZENKO_SESSION_TOKEN=$(kubectl get secret end2end-account-zenko -o jsonpath='{.data.SessionToken}' | base64 -d)") |
| 221 | +} |
| 222 | + |
| 223 | +# ============================================================================= |
| 224 | +# MAIN |
| 225 | +# ============================================================================= |
| 226 | +case "$SUITE" in |
| 227 | + common) |
| 228 | + load_common |
| 229 | + ;; |
| 230 | + ctst) |
| 231 | + load_ctst |
| 232 | + ;; |
| 233 | + e2e) |
| 234 | + load_e2e |
| 235 | + ;; |
| 236 | + *) |
| 237 | + echo "Usage: source load-config.sh [common|ctst|e2e]" >&2 |
| 238 | + exit 1 |
| 239 | + ;; |
| 240 | +esac |
0 commit comments