@@ -2,12 +2,32 @@ locals {
22 map_of_drupal_buckets = var. create_buckets == true ? {
33 for o in local . drupal_buckets_list : o . name => o
44 } : {}
5- map_of_drupal_databases = trimspace (var. cloudsql_instance_name ) != " " && trimspace (var. cloudsql_privileged_user_name ) != " " && trimspace (var. cloudsql_privileged_user_password ) != " " && var. create_databases_and_users == true ? {
5+
6+ map_of_drupal_databases = (
7+ trimspace (var. cloudsql_instance_name ) != " " &&
8+ trimspace (var. cloudsql_privileged_user_name ) != " " &&
9+ trimspace (var. cloudsql_privileged_user_password ) != " " &&
10+ var. create_databases_and_users == true
11+ ) ? {
612 for o in local . drupal_database_and_user_list : o . database => o
713 } : {}
8- map_of_output_drupal_databases = trimspace (var. cloudsql_instance_name ) != " " && trimspace (var. cloudsql_privileged_user_name ) != " " && trimspace (var. cloudsql_privileged_user_password ) != " " && var. create_databases_and_users == true ? {
14+
15+ map_of_output_drupal_databases = (
16+ trimspace (var. cloudsql_instance_name ) != " " &&
17+ trimspace (var. cloudsql_privileged_user_name ) != " " &&
18+ trimspace (var. cloudsql_privileged_user_password ) != " " &&
19+ var. create_databases_and_users == true
20+ ) ? {
921 for o in module . drupal_databases_and_users [0 ]. sql_users_creds : o . database => o
1022 } : {}
23+
24+ drupal_databases_keys = (
25+ var. create_databases_and_users == true ?
26+ [
27+ for o in local . drupal_database_and_user_list : o . database
28+ if trimspace (o. namespace ) != " "
29+ ] : []
30+ )
1131}
1232
1333resource "kubernetes_secret" "bucket_secret_name" {
@@ -17,13 +37,10 @@ resource "kubernetes_secret" "bucket_secret_name" {
1737 }
1838
1939 metadata {
20- # If not specified, we suppose that the Helm release name is defined with
21- # the following convention (the default of sparkfabrik/pkg_drupal):
22- # PKG_DRUPAL_HELM_RELEASE_NAME: drupal-${CI_COMMIT_REF_SLUG}-${CI_PROJECT_ID}
2340 name = each. value . helm_release_name == null ? " drupal-${ each . value . release_branch_name } -${ each . value . project_id } -bucket" : " ${ each . value . helm_release_name } -bucket"
2441 namespace = var. use_existing_kubernetes_namespaces ? each. value . namespace : kubernetes_namespace. namespace [each . value . namespace ]. metadata [0 ]. name
2542 annotations = {}
26- labels = var. default_k8s_labels
43+ labels = var. default_k8s_labels
2744 }
2845 data = {
2946 " endpoint" = each.value.host
@@ -35,22 +52,17 @@ resource "kubernetes_secret" "bucket_secret_name" {
3552}
3653
3754resource "kubernetes_secret" "database_secret_name" {
38- for_each = {
39- for o in local . map_of_drupal_databases : o . database => o
40- if trimspace (o. namespace ) != " " && var . create_databases_and_users == true
41- }
55+ for_each = toset (local. drupal_databases_keys )
56+
4257 metadata {
43- # If not specified, we suppose that the Helm release name is defined with
44- # the following convention (the default of sparkfabrik/pkg_drupal):
45- # PKG_DRUPAL_HELM_RELEASE_NAME: drupal-${CI_COMMIT_REF_SLUG}-${CI_PROJECT_ID}
46- name = each. value . helm_release_name == null ? " drupal-${ each . value . release_branch_name } -${ each . value . project_id } -db-user" : " ${ each . value . helm_release_name } -db-user"
47- namespace = var. use_existing_kubernetes_namespaces ? each. value . namespace : kubernetes_namespace. namespace [each . value . namespace ]. metadata [0 ]. name
58+ name = local. map_of_drupal_databases [each . key ]. helm_release_name == null ? " drupal-${ local . map_of_drupal_databases [each . key ]. release_branch_name } -${ local . map_of_drupal_databases [each . key ]. project_id } -db-user" : " ${ local . map_of_drupal_databases [each . key ]. helm_release_name } -db-user"
59+ namespace = var. use_existing_kubernetes_namespaces ? local. map_of_drupal_databases [each . key ]. namespace : kubernetes_namespace. namespace [local . map_of_drupal_databases [each . key ]. namespace ]. metadata [0 ]. name
4860 annotations = {}
49- labels = var. default_k8s_labels
61+ labels = var. default_k8s_labels
5062 }
5163 data = {
52- " endpoint" = each.value .host != null ? each.value .host : " "
53- " port" = each.value .port
64+ " endpoint" = local.map_of_drupal_databases[ each.key] .host != null ? local.map_of_drupal_databases[ each.key] .host : " "
65+ " port" = local.map_of_drupal_databases[ each.key] .port
5466 " database" = local.map_of_output_drupal_databases[each.key].database
5567 " username" = local.map_of_output_drupal_databases[each.key].user
5668 " password" = local.map_of_output_drupal_databases[each.key].password
0 commit comments