This commit is contained in:
2023-10-20 13:17:32 +02:00
parent 463a74fdb3
commit 7cb17b8170
2 changed files with 79 additions and 68 deletions

View File

@@ -31,6 +31,10 @@ locals {
join("_",["SERVER_redis", m.namespace, m.name]) = join(".",[m.name, m.namespace, "svc"])
join("_",["PORT_redis", m.namespace, m.name]) = "6379"
}]...)
redis-privs = [for m in var.redis: merge({secret = lookup(m,"secret",{})},m) if contains(keys(m),"secret")]
redis_secrets = merge([for index, m in var.redis-privs: {
join("_",["PASSWORD_redis", m.namespace, m.name]) = data.kubernetes_secret_v1.redis[index].data[lookup(m.secret,"key", "password")]
}]...)
redis_conns = [for m in var.redis: join("_",["redis", m.namespace, m.name])]
mongo_vars = merge([for m in var.mongo: {
@@ -90,3 +94,10 @@ data "kubernetes_secret_v1" "mongos" {
namespace = "${var.mongo[count.index].namespace}"
}
}
data "kubernetes_secret_v1" "redis" {
count = length(var.redis-privs)
metadata {
name = "${lookup(var.redis-privs[count.index].secret, "name", var.redis-privs[count.index].name)}"
namespace = "${var.redis-privs[count.index].namespace}"
}
}

View File

@@ -6,25 +6,79 @@ metadata:
name: dbgate
description: null
options:
redis:
ingress-class:
default: traefik
examples:
- traefik
type: string
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
pg:
default: []
examples:
- []
items:
properties:
dbname:
default: ''
type: string
name:
default: ''
type: string
namespace:
default: ''
type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object
type: array
domain-name:
default: your_company.com
issuer:
default: letsencrypt-prod
examples:
- your_company.com
- letsencrypt-prod
type: string
mongo:
default: []
examples:
- []
items:
properties:
dbname:
default: ''
type: string
name:
default: ''
type: string
namespace:
default: ''
type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object
type: array
maria:
default: []
examples:
@@ -93,60 +147,26 @@ options:
type: string
type: object
type: object
use-oauth:
default: false
examples:
- false
type: boolean
mongo:
default: []
examples:
- []
items:
properties:
dbname:
default: ''
type: string
name:
default: ''
type: string
namespace:
default: ''
type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object
type: array
app-group:
default: dev
examples:
- dev
type: string
sub-domain:
default: dbgate
examples:
- dbgate
type: string
ingress-class:
default: traefik
use-oauth:
default: false
examples:
- traefik
type: string
- false
type: boolean
domain:
default: your-company
examples:
- your-company
type: string
app-group:
default: dev
examples:
- dev
type: string
storage:
default:
accessMode: ReadWriteOnce
@@ -174,38 +194,18 @@ options:
- Block
type: string
type: object
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
pg:
redis:
default: []
examples:
- []
items:
properties:
dbname:
default: ''
type: string
name:
default: ''
type: string
namespace:
default: ''
type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object
type: array
dependencies: