Files
infra-kit/mise-tasks/render
T
stolzor 64be99308b
terraform / check (push) Canceled after 0s
Initial commit
2026-10-11 20:30:21 +03:00

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