ce7cb702218693d08ea6d83464d2457c9250027c
This commit is contained in:
commit
34c5f8963c
1 changed files with 145336 additions and 0 deletions
73
terraform/internal/postgres/providers.tf
Normal file
73
terraform/internal/postgres/providers.tf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
terraform {
|
||||
required_version = "< 2.0.0"
|
||||
backend "pg" {
|
||||
conn_str = "postgres://10.234.158.153:5432/tf_state?sslmode=require"
|
||||
schema_name = "internal_postgres"
|
||||
}
|
||||
|
||||
required_providers {
|
||||
postgresql = {
|
||||
source = "cyrilgdn/postgresql"
|
||||
version = "~> 1.26"
|
||||
}
|
||||
random = {
|
||||
source = "hashicorp/random"
|
||||
version = "~> 3.8"
|
||||
}
|
||||
vault = {
|
||||
source = "hashicorp/vault"
|
||||
version = "~> 5.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "vault" {}
|
||||
|
||||
ephemeral "vault_kv_secret_v2" "postgres_admin" {
|
||||
mount = var.vault_kv_mount
|
||||
name = var.postgres_admin_vault_path
|
||||
}
|
||||
|
||||
locals {
|
||||
postgres_admin_user = ephemeral.vault_kv_secret_v2.postgres_admin.data[var.postgres_admin_user_key]
|
||||
postgres_admin_password = ephemeral.vault_kv_secret_v2.postgres_admin.data[var.postgres_admin_password_key]
|
||||
}
|
||||
|
||||
provider "postgresql" {
|
||||
host = var.postgres_host
|
||||
port = 5432
|
||||
username = local.postgres_admin_user
|
||||
password = local.postgres_admin_password
|
||||
sslmode = "require"
|
||||
}
|
||||
|
||||
provider "random" {}
|
||||
|
||||
variable "postgres_host" {
|
||||
description = "LoadBalancer IP of the CNPG main-rw service."
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vault_kv_mount" {
|
||||
description = "Vault KV v2 mount containing PostgreSQL admin credentials."
|
||||
type = string
|
||||
default = "secret"
|
||||
}
|
||||
|
||||
variable "postgres_admin_vault_path" {
|
||||
description = "Vault KV path containing the PostgreSQL admin credentials."
|
||||
type = string
|
||||
default = "postgres/admin"
|
||||
}
|
||||
|
||||
variable "postgres_admin_user_key" {
|
||||
description = "Key in postgres_admin_vault_path containing the PostgreSQL admin username."
|
||||
type = string
|
||||
default = "username"
|
||||
}
|
||||
|
||||
variable "postgres_admin_password_key" {
|
||||
description = "Key in postgres_admin_vault_path containing the PostgreSQL admin password."
|
||||
type = string
|
||||
default = "password"
|
||||
}
|
||||
Loading…
Reference in a new issue