working on terraform with bitwarden with success

This commit is contained in:
2026-02-10 10:11:38 +00:00
parent aff67f5008
commit 8939736cdc
+81
View File
@@ -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
#}