Added tfvars
This commit is contained in:
@@ -1,116 +0,0 @@
|
||||
provider "google" {
|
||||
version = "3.10.0"
|
||||
credentials = file("esoteric-parsec-243510-a8f93bb5a906.json")
|
||||
project = "esoteric-parsec-243510"
|
||||
region = "us-central1"
|
||||
zone = "us-central1-a"
|
||||
}
|
||||
|
||||
# provider "postgresql" {
|
||||
# host = "google_sql_database_instance.qseow-psql.public_ip_address"
|
||||
# port = 5432
|
||||
# database = "postgres"
|
||||
# username = "postgres"
|
||||
# password = "Qlik1234!"
|
||||
# sslmode = "disable"
|
||||
# connect_timeout = 15
|
||||
# }
|
||||
|
||||
# Create random ID for DB suffix
|
||||
resource "random_id" "db_name_suffix" {
|
||||
byte_length = 4
|
||||
}
|
||||
|
||||
# Create res for Cloud SQL DB config
|
||||
resource "google_sql_database_instance" "qseow-psql" {
|
||||
name = "qseow-psql-${random_id.db_name_suffix.hex}"
|
||||
database_version = "POSTGRES_9_6"
|
||||
settings{
|
||||
tier = "db-g1-small"
|
||||
availability_type = "REGIONAL"
|
||||
backup_configuration {
|
||||
enabled = "true"
|
||||
}
|
||||
# Enable ACL for Home IP
|
||||
# Change-out for cloud-sql-proxy inside runner
|
||||
ip_configuration {
|
||||
ipv4_enabled = "true"
|
||||
authorized_networks {
|
||||
name = "Home"
|
||||
value = "71.164.77.198"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Configure return values from google_sql_database_instance
|
||||
output "psql_ipv4" {
|
||||
value = google_sql_database_instance.qseow-psql.public_ip_address
|
||||
}
|
||||
|
||||
output "psql_name" {
|
||||
value = google_sql_database_instance.qseow-psql.connection_name
|
||||
}
|
||||
|
||||
# Configure postgres user
|
||||
resource "google_sql_user" "users" {
|
||||
name = "postgres"
|
||||
instance = google_sql_database_instance.qseow-psql.name
|
||||
password = "Qlik1234!"
|
||||
}
|
||||
|
||||
# Prep SQL query
|
||||
data "template_file" "psql_script" {
|
||||
template = <<SQL
|
||||
CREATE DATABASE "QSR" ENCODING = 'UTF8';
|
||||
CREATE DATABASE "QSMQ" ENCODING = 'UTF8';
|
||||
CREATE DATABASE "Licenses" ENCODING = 'UTF8';
|
||||
CREATE DATABASE "SenseServices" ENCODING = 'UTF8';
|
||||
CREATE DATABASE "QLogs" ENCODING = 'UTF8';
|
||||
|
||||
CREATE ROLE "qliksenserepository" WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
|
||||
ALTER ROLE "qliksenserepository" WITH ENCRYPTED PASSWORD 'Qlik1234!';
|
||||
GRANT qliksenserepository TO postgres;
|
||||
|
||||
ALTER DATABASE "QSR" OWNER TO "qliksenserepository";
|
||||
ALTER DATABASE "SenseServices" OWNER TO "qliksenserepository";
|
||||
ALTER DATABASE "QSMQ" OWNER TO "qliksenserepository";
|
||||
ALTER DATABASE "Licenses" OWNER TO qliksenserepository;
|
||||
|
||||
GRANT TEMPORARY, CONNECT ON DATABASE "QSMQ" TO PUBLIC;
|
||||
GRANT ALL ON DATABASE "QSMQ" TO postgres;
|
||||
GRANT CREATE ON DATABASE "QSMQ" TO "qliksenserepository";
|
||||
GRANT TEMPORARY, CONNECT ON DATABASE "SenseServices" TO PUBLIC;
|
||||
GRANT ALL ON DATABASE "SenseServices" TO postgres;
|
||||
GRANT CREATE ON DATABASE "SenseServices" TO "qliksenserepository";
|
||||
|
||||
GRANT TEMPORARY, CONNECT ON DATABASE "Licenses" TO PUBLIC;
|
||||
GRANT ALL ON DATABASE "Licenses" TO postgres;
|
||||
GRANT CREATE ON DATABASE "Licenses" TO qliksenserepository;
|
||||
|
||||
CREATE ROLE qlogs_users WITH NOLOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
|
||||
CREATE ROLE qlogs_reader WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
|
||||
CREATE ROLE qlogs_writer WITH LOGIN NOINHERIT NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
|
||||
|
||||
ALTER ROLE qlogs_reader WITH ENCRYPTED PASSWORD 'Qlik1234!';
|
||||
ALTER ROLE qlogs_writer WITH ENCRYPTED PASSWORD 'Qlik1234!';
|
||||
|
||||
GRANT qlogs_users TO qlogs_reader;
|
||||
GRANT qlogs_users TO qlogs_writer;
|
||||
|
||||
ALTER DATABASE "QLogs" OWNER TO qlogs_writer;
|
||||
SQL
|
||||
}
|
||||
|
||||
# Proto-section for setting up DBs/executing .sql file
|
||||
## Seems to be hanging? DB is created and this sits for MINUTES
|
||||
|
||||
# resource "null_resource" "db_setup" {
|
||||
|
||||
# provisioner "local-exec" {
|
||||
|
||||
# command = "psql -h ${google_sql_database_instance.qseow-psql.public_ip_address} -U postgres -d postgres -c ${data.template_file.psql_script.template}"
|
||||
# # command = "psql 'sslmode=disable dbname=postgres user=postgres hostaddr=google_sql_database_instance.qseow-psql.public_ip_address' -f ./qseow-test.sql"
|
||||
# }
|
||||
# depends_on = [google_sql_database_instance.qseow-psql, google_sql_user.users]
|
||||
# }
|
||||
60
bt-autoscaler/terraform/roots/psql/main.tf
Normal file
60
bt-autoscaler/terraform/roots/psql/main.tf
Normal file
@@ -0,0 +1,60 @@
|
||||
provider "google" {
|
||||
version = "3.10.0"
|
||||
credentials = file("esoteric-parsec-243510-a8f93bb5a906.json")
|
||||
project = ${var.project}
|
||||
region = ${var.region}
|
||||
zone = ${var.zone}
|
||||
}
|
||||
|
||||
# Create random ID for DB suffix
|
||||
resource "random_id" "db_suffix" {
|
||||
byte_length = 4
|
||||
}
|
||||
|
||||
# Create res for Cloud SQL DB config
|
||||
resource "google_sql_database_instance" "qseow-psql" {
|
||||
name = "qseow-psql-${random_id.db_suffix.hex}"
|
||||
database_version = "POSTGRES_9_6"
|
||||
settings{
|
||||
tier = "db-g1-small"
|
||||
availability_type = "REGIONAL"
|
||||
backup_configuration {
|
||||
enabled = "true"
|
||||
}
|
||||
# Enable ACL for Home IP
|
||||
# Change-out for cloud-sql-proxy inside runner
|
||||
ip_configuration {
|
||||
ipv4_enabled = "true"
|
||||
authorized_networks {
|
||||
name = "Network ACL"
|
||||
value = ${var.aclCIDR}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Configure return values from google_sql_database_instance
|
||||
output "psql_ipv4" {
|
||||
value = google_sql_database_instance.qseow-psql.public_ip_address
|
||||
}
|
||||
|
||||
output "psql_name" {
|
||||
value = google_sql_database_instance.qseow-psql.connection_name
|
||||
}
|
||||
|
||||
# Configure postgres user
|
||||
resource "google_sql_user" "users" {
|
||||
name = "postgres"
|
||||
instance = google_sql_database_instance.qseow-psql.name
|
||||
password = ${var.postgresPwd}
|
||||
}
|
||||
|
||||
# Proto-section for setting up DBs/executing .sql file
|
||||
## Seems to be hanging? DB is created and this sits for MINUTES
|
||||
|
||||
resource "null_resource" "db_setup" {
|
||||
provisioner "local-exec" {
|
||||
command = "psql -h ${google_sql_database_instance.qseow-psql.public_ip_address} -U postgres -d postgres -f qseow_db_setup.sql"
|
||||
}
|
||||
depends_on = [google_sql_database_instance.qseow-psql, google_sql_user.users]
|
||||
}
|
||||
5
bt-autoscaler/terraform/roots/psql/terraform.tfvars
Normal file
5
bt-autoscaler/terraform/roots/psql/terraform.tfvars
Normal file
@@ -0,0 +1,5 @@
|
||||
project = "esoteric-parsec-243510"
|
||||
region = "us-central1"
|
||||
zone = "us-central1-a"
|
||||
aclCIDR = "71.164.77.198/32"
|
||||
postgresPwd = "Qlik1234!"
|
||||
Reference in New Issue
Block a user