feat: DEV_STAND postgres config (no mtls)
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
nubes = {
|
||||||
|
source = "registry.kube5s.ru/nubes-dev/nubes"
|
||||||
|
version = "3.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "api_token" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
description = "Nubes API token"
|
||||||
|
}
|
||||||
|
variable "s3_uid" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
description = "Nubes S3 UID"
|
||||||
|
}
|
||||||
|
variable "realm" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
description = "resource_realm parameter for nubes_postgres resource"
|
||||||
|
}
|
||||||
|
variable "s3_user_uid" {
|
||||||
|
type = string
|
||||||
|
description = "S3 user UUID"
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "nubes" {
|
||||||
|
api_token = var.api_token
|
||||||
|
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
|
||||||
|
# log_level = "debug" # none | info | debug, default = "none"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
resource "nubes_postgres" "npg" {
|
||||||
|
resource_name = "pgdev01"
|
||||||
|
|
||||||
|
startup_configuration = {
|
||||||
|
resource_realm = var.realm
|
||||||
|
}
|
||||||
|
|
||||||
|
cluster_configuration = {
|
||||||
|
cpu = 500
|
||||||
|
memory = 512
|
||||||
|
replicas = 1
|
||||||
|
disk = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
access_configuration = {
|
||||||
|
master_ip_space = "no-needed"
|
||||||
|
master_access_list = jsonencode(["10.0.0.0/8"])
|
||||||
|
slave_ip_space = "no-needed"
|
||||||
|
slave_access_list = jsonencode([])
|
||||||
|
}
|
||||||
|
|
||||||
|
postgres_configuration = {
|
||||||
|
version = "17"
|
||||||
|
ssl_required = true
|
||||||
|
pooler_master = false
|
||||||
|
pooler_slave = false
|
||||||
|
}
|
||||||
|
|
||||||
|
postgres_conf = jsonencode([{
|
||||||
|
param_name = "log_connections"
|
||||||
|
param_value = ""
|
||||||
|
}])
|
||||||
|
|
||||||
|
backup_configuration = {
|
||||||
|
s3_uid = var.s3_uid
|
||||||
|
retain = 14
|
||||||
|
schedule = "0 0 * * *"
|
||||||
|
}
|
||||||
|
|
||||||
|
autoscale_configuration = {
|
||||||
|
enabled = false
|
||||||
|
schedule = 0
|
||||||
|
percent = 10
|
||||||
|
quota = 100
|
||||||
|
}
|
||||||
|
|
||||||
|
operation_timeout = "11m"
|
||||||
|
adopt_existing_on_create = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# PostgreSQL — пользователи (6 шт.)
|
||||||
|
# =============================================================================
|
||||||
|
resource "nubes_postgres_user" "pg_user_0" {
|
||||||
|
postgres_id = nubes_postgres.npg.id
|
||||||
|
username = "user0"
|
||||||
|
role = "ddl_user"
|
||||||
|
adopt_existing_on_create = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# resource "nubes_postgres_user" "pg_user_1" {
|
||||||
|
# postgres_id = nubes_postgres.npg.id
|
||||||
|
# username = "user1"
|
||||||
|
# role = "ddl_user"
|
||||||
|
# adopt_existing_on_create = true
|
||||||
|
# }
|
||||||
|
|
||||||
|
# # =============================================================================
|
||||||
|
# # PostgreSQL — базы данных (3 шт.)
|
||||||
|
# # =============================================================================
|
||||||
|
# resource "nubes_postgres_database" "pg_db_1" {
|
||||||
|
# postgres_id = nubes_postgres.npg.id
|
||||||
|
# db_name = "dbapp1"
|
||||||
|
# db_owner = nubes_postgres_user.pg_user_1.username
|
||||||
|
# adopt_existing_on_create = true
|
||||||
|
# }
|
||||||
|
|
||||||
|
resource "nubes_postgres_database" "pg_db_2" {
|
||||||
|
postgres_id = nubes_postgres.npg.id
|
||||||
|
db_name = "dbapp2"
|
||||||
|
db_owner = nubes_postgres_user.pg_user_0.username
|
||||||
|
adopt_existing_on_create = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# resource "nubes_postgres_database" "pg_db_3" {
|
||||||
|
# postgres_id = nubes_postgres.npg.id
|
||||||
|
# db_name = "dbapp3"
|
||||||
|
# db_owner = nubes_postgres_user.pg_user_1.username
|
||||||
|
# adopt_existing_on_create = true
|
||||||
|
# }
|
||||||
|
|
||||||
|
# S3 bucket — замени "buck0" на своё имя везде ниже
|
||||||
|
resource "nubes_s3bucket" "bukka0" { # ← замени buck0 на своё имя ресурса
|
||||||
|
resource_name = "btst" # ← замени buck0 на своё имя ресурса
|
||||||
|
#s3_user_uid = "naeel-s3"
|
||||||
|
s3_user_uid = var.s3_user_uid
|
||||||
|
bucket_name = "buckdev-e8c2" # ← замени buck0 на своё имя бакета
|
||||||
|
adopt_existing_on_create = true
|
||||||
|
}
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Синхронизация DEV_STAND с VM (без удаления state и .terraform)
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
VM_HOST="naeel@5.172.178.213"
|
||||||
|
VM_PATH="/home/naeel/tf_provider/DEV_STAND"
|
||||||
|
LOCAL_PATH="/home/naeel/tf_provider/DEV_STAND"
|
||||||
|
SSH_KEY="/home/naeel/tf_provider/secrets/id_ed25519.txt"
|
||||||
|
|
||||||
|
echo "Syncing DEV_STAND → VM (excluding .terraform, state, lock)..."
|
||||||
|
rsync -avz --delete \
|
||||||
|
--exclude='.terraform/' \
|
||||||
|
--exclude='terraform.tfstate*' \
|
||||||
|
--exclude='.terraform.lock.hcl' \
|
||||||
|
-e "ssh -i ${SSH_KEY} -o ConnectTimeout=10" \
|
||||||
|
"${LOCAL_PATH}/" \
|
||||||
|
"${VM_HOST}:${VM_PATH}/"
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
Reference in New Issue
Block a user