47 lines
1.6 KiB
Bash
Executable File
47 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#MISE description="Сгенерировать .env.config и backend.hcl из config.yaml"
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
INFRA=$(echo 'jsonencode(yamldecode(file("config.yaml")).infra)' | terraform console | jq -r .)
|
|
get() { jq -er "$1" <<<"$INFRA" || { echo "в config.yaml нет infra$1" >&2; exit 1; }; }
|
|
|
|
cat >.env.config.tmp <<ENV
|
|
# Сгенерировано задачей mise run render из config.yaml, не редактировать
|
|
POSTGRES_IMAGE=$(get .postgres.image)
|
|
POSTGRES_USER=$(get .postgres.admin_user)
|
|
POSTGRES_PORT=$(get .postgres.port)
|
|
PGADMIN_IMAGE=$(get .pgadmin.image)
|
|
PGADMIN_PORT=$(get .pgadmin.port)
|
|
PGADMIN_EMAIL=$(get .pgadmin.email)
|
|
SILO_IMAGE=$(get .silo.image)
|
|
SILO_USER=$(get .silo.admin_user)
|
|
SILO_STORAGE_PORT=$(get .silo.port)
|
|
SILO_WEB_PORT=$(get .silo.console_port)
|
|
VAULT_IMAGE=$(get .vault.image)
|
|
VAULT_PORT=$(get .vault.port)
|
|
VAULT_ADDR=http://$(get .vault.host):$(get .vault.port)
|
|
VAULT_MOUNT=$(get .vault.mount)
|
|
VAULT_DATABASE_MOUNT=$(get .vault.database_mount)
|
|
BACKUP_BUCKET=$(get .silo.backup_bucket)
|
|
ENV
|
|
|
|
cat >backend.hcl.tmp <<HCL
|
|
# Сгенерировано задачей mise run render из config.yaml, не редактировать
|
|
bucket = "$(get .silo.state_bucket)"
|
|
region = "us-east-1"
|
|
endpoints = {
|
|
s3 = "http://$(get .silo.host):$(get .silo.port)"
|
|
}
|
|
use_path_style = true
|
|
skip_credentials_validation = true
|
|
skip_region_validation = true
|
|
skip_requesting_account_id = true
|
|
skip_metadata_api_check = true
|
|
skip_s3_checksum = true
|
|
HCL
|
|
|
|
mv .env.config.tmp .env.config
|
|
mv backend.hcl.tmp backend.hcl
|