Restructure and variablize config
This commit is contained in:
parent
419bb286d4
commit
c6eed359e1
14 changed files with 122 additions and 28 deletions
|
|
@ -5,10 +5,10 @@ resource "random_password" "argocd_admin" {
|
|||
override_special = "!#$%&*()-_=+[]{}?"
|
||||
}
|
||||
|
||||
# Single secrets manager secret for all dumpnet secrets
|
||||
# Single secrets manager secret for all cluster secrets
|
||||
resource "aws_secretsmanager_secret" "dumpnet" {
|
||||
name = "dumpnet"
|
||||
description = "All dumpnet secrets"
|
||||
name = var.cluster_name
|
||||
description = "All ${var.cluster_name} secrets"
|
||||
}
|
||||
|
||||
resource "aws_secretsmanager_secret_version" "dumpnet" {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# S3 bucket for logs
|
||||
resource "aws_s3_bucket" "logs" {
|
||||
bucket = "dumpnet-logs"
|
||||
bucket = "${var.cluster_name}-logs"
|
||||
}
|
||||
|
||||
resource "aws_s3_bucket_lifecycle_configuration" "logs" {
|
||||
|
|
@ -10,7 +10,9 @@ resource "aws_s3_bucket_lifecycle_configuration" "logs" {
|
|||
id = "expire-old-logs"
|
||||
status = "Enabled"
|
||||
|
||||
filter {}
|
||||
filter {
|
||||
prefix = ""
|
||||
}
|
||||
|
||||
transition {
|
||||
days = 30
|
||||
|
|
@ -34,16 +36,16 @@ resource "aws_s3_bucket_server_side_encryption_configuration" "logs" {
|
|||
|
||||
# Athena database + workgroup
|
||||
resource "aws_athena_database" "logs" {
|
||||
name = "dumpnet_logs"
|
||||
name = "${replace(var.cluster_name, "-", "_")}_logs"
|
||||
bucket = aws_s3_bucket.athena_results.bucket
|
||||
}
|
||||
|
||||
resource "aws_s3_bucket" "athena_results" {
|
||||
bucket = "dumpnet-athena-results"
|
||||
bucket = "${var.cluster_name}-athena-results"
|
||||
}
|
||||
|
||||
resource "aws_athena_workgroup" "logs" {
|
||||
name = "dumpnet-logs"
|
||||
name = "${var.cluster_name}-logs"
|
||||
|
||||
configuration {
|
||||
result_configuration {
|
||||
|
|
@ -58,7 +60,7 @@ resource "aws_athena_workgroup" "logs" {
|
|||
|
||||
# IAM user for fluent-bit to write to S3
|
||||
resource "aws_iam_user" "fluentbit" {
|
||||
name = "dumpnet-fluentbit"
|
||||
name = "${var.cluster_name}-fluentbit"
|
||||
}
|
||||
|
||||
resource "aws_iam_access_key" "fluentbit" {
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ output "public_ip" {
|
|||
}
|
||||
|
||||
output "argocd_password_secret" {
|
||||
value = "aws secretsmanager get-secret-value --secret-id dumpnet/cluster --query SecretString --output text | python3 -m json.tool"
|
||||
value = "aws secretsmanager get-secret-value --secret-id ${var.cluster_name} --query SecretString --output text | python3 -m json.tool"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ variable "talos_version" {
|
|||
}
|
||||
|
||||
variable "cluster_name" {
|
||||
default = "dumpnet"
|
||||
description = "Name used for cluster resources, S3 buckets, secrets, etc."
|
||||
default = "dumpnet"
|
||||
}
|
||||
|
||||
variable "instance_type" {
|
||||
|
|
@ -19,8 +20,13 @@ variable "ami_id" {
|
|||
default = "ami-000f1b0ad9d8ceafd"
|
||||
}
|
||||
|
||||
variable "aws_region" {
|
||||
description = "AWS region"
|
||||
default = "us-east-1"
|
||||
}
|
||||
|
||||
variable "hosted_zone_id" {
|
||||
description = "Route53 hosted zone ID for dumpnet.chat"
|
||||
description = "Route53 hosted zone ID"
|
||||
}
|
||||
|
||||
variable "domain" {
|
||||
|
|
@ -33,3 +39,13 @@ variable "dns_records" {
|
|||
type = list(string)
|
||||
default = ["argocd"]
|
||||
}
|
||||
|
||||
variable "cert_manager_email" {
|
||||
description = "Email for Let's Encrypt certificate notifications"
|
||||
default = "dumpnetcerts@keane.sh"
|
||||
}
|
||||
|
||||
variable "state_bucket" {
|
||||
description = "S3 bucket for Terraform remote state (set in backend config, documented here for reference)"
|
||||
default = "iankeane-tfstate"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue