quorate/terraform/internal/vault/minecraft.tf

71 lines
2.1 KiB
Terraform
Raw Permalink Normal View History

resource "vault_kv_secret_v2" "minecraft" {
mount = vault_mount.secret.path
name = "minecraft/server"
data_json_wo_version = 1
data_json_wo = jsonencode({
EULA = "PLACEHOLDER"
FTB_MODPACK_ID = "PLACEHOLDER"
FTB_MODPACK_VERSION_ID = "PLACEHOLDER"
MEMORY = "PLACEHOLDER"
JVM_OPTS = "PLACEHOLDER"
})
}
resource "vault_kv_secret_v2" "minecraft_files" {
mount = vault_mount.secret.path
name = "minecraft/files"
data_json_wo_version = 1
data_json_wo = jsonencode({
"server.properties" = "PLACEHOLDER"
})
}
resource "vault_policy" "minecraft" {
name = "minecraft"
policy = <<-EOT
path "secret/data/minecraft/server" {
capabilities = ["read"]
}
path "secret/data/quay/oauth/project-delivery-reader" {
capabilities = ["read"]
}
path "secret/data/minecraft/files" {
capabilities = ["read"]
}
path "secret/data/minecraft/rcon" {
capabilities = ["read"]
}
path "secret/data/versitygw/users/minecraft" {
capabilities = ["read"]
}
path "secret/data/ca/internal" {
capabilities = ["read"]
}
EOT
}
resource "vault_kv_secret_v2" "minecraft_s3" {
mount = vault_mount.secret.path
name = "versitygw/users/minecraft"
data_json_wo_version = 1
data_json_wo = jsonencode({ secretAccessKey = "PLACEHOLDER" })
}
resource "vault_kv_secret_v2" "minecraft_rcon" {
mount = vault_mount.secret.path
name = "minecraft/rcon"
data_json_wo_version = 1
data_json_wo = jsonencode({
password = "PLACEHOLDER"
})
}
resource "vault_kubernetes_auth_backend_role" "minecraft" {
backend = vault_auth_backend.kubernetes.path
role_name = "minecraft"
bound_service_account_names = ["minecraft-vso"]
bound_service_account_namespaces = ["minecraft"]
token_policies = [vault_policy.minecraft.name]
token_ttl = 3600
token_max_ttl = 3600
}