working on terraform with bitwarden with success
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
terraform {
|
||||
required_version = "> 0.8.0"
|
||||
required_providers {
|
||||
bitwarden-secrets = {
|
||||
source = "bitwarden/bitwarden-secrets"
|
||||
version = "0.5.4-pre"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
@@ -7,6 +14,13 @@ provider "kubernetes" {
|
||||
}
|
||||
|
||||
|
||||
provider "bitwarden-secrets" {
|
||||
api_url = "https://bitwarden.tryton.geeraert.eu/api"
|
||||
identity_url = "https://bitwarden.tryton.geeraert.eu/identity"
|
||||
access_token = "0.716253cf-61a8-4d60-9116-b3ec00bf67b1.yRfbBN649M3DwG0TVQJO0w9m89mN1l:69GrWDDy6awetvPwQe/V8A=="
|
||||
organization_id = "a6361589-badd-4bde-9cb4-af8901161c0d"
|
||||
}
|
||||
|
||||
variable "kubernetes" {
|
||||
type = map(object({
|
||||
name = optional(string)
|
||||
@@ -262,6 +276,7 @@ resource "kubernetes_service_v1" "automatic_service_database" {
|
||||
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
||||
labels = {
|
||||
deployment_method = "Terraform"
|
||||
#username = "${resource.bitwarden-secrets_secret.automatic_bitwarden_secret_password[each.key].key}"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
@@ -790,3 +805,69 @@ resource "kubernetes_config_map_v1" "automatic-configmap" {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
data "bitwarden-secrets_secret" "secret" {
|
||||
id = "fee7431a-9f6d-478e-8ee0-b3e800c394b5"
|
||||
}
|
||||
|
||||
output "example" {
|
||||
value = {
|
||||
id = data.bitwarden-secrets_secret.secret.id
|
||||
key = data.bitwarden-secrets_secret.secret.key
|
||||
value = data.bitwarden-secrets_secret.secret.value #The actual secret value is marked sensitive and will not be printed to stdout
|
||||
note = data.bitwarden-secrets_secret.secret.note
|
||||
project_id = data.bitwarden-secrets_secret.secret.project_id
|
||||
organization_id = data.bitwarden-secrets_secret.secret.organization_id
|
||||
creation_date = data.bitwarden-secrets_secret.secret.creation_date
|
||||
revision_date = data.bitwarden-secrets_secret.secret.revision_date
|
||||
}
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
||||
|
||||
resource "kubernetes_config_map_v1_data" "tf-bw-configmap" {
|
||||
metadata {
|
||||
name = "bitwarden-terraform"
|
||||
namespace = "echo-server"
|
||||
}
|
||||
|
||||
data = yamldecode(data.bitwarden-secrets_secret.secret.value)
|
||||
#data = data.bitwarden-secrets_secret.secret.value
|
||||
|
||||
}
|
||||
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_username" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true }
|
||||
key = "${each.key}__db__username"
|
||||
value = each.key
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
length = 32
|
||||
special = true
|
||||
min_special = 5
|
||||
avoid_ambiguous = true
|
||||
}
|
||||
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_password" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true }
|
||||
key = "${each.key}__db__password"
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
length = 32
|
||||
special = true
|
||||
min_special = 5
|
||||
avoid_ambiguous = true
|
||||
}
|
||||
|
||||
#output "fromressource" {
|
||||
# #for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true }
|
||||
# value = {
|
||||
|
||||
# #id = resource.bitwarden-secrets_secret.automatic_bitwarden_secret_password.{each.key}.id
|
||||
# key = resource.bitwarden-secrets_secret.automatic_bitwarden_secret_password."[each.key]".id
|
||||
# #value = resource.bitwarden-secrets_secret.automatic_bitwarden_secret_password.{each.key}.value #The actual secret value is marked sensitive and will not be printed to stdout
|
||||
# }
|
||||
# sensitive = true
|
||||
#}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user