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("_",["SERVER_redis", m.namespace, m.name]) = join(".",[m.name, m.namespace, "svc"])
join("_",["PORT_redis", m.namespace, m.name]) = "6379" 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])] redis_conns = [for m in var.redis: join("_",["redis", m.namespace, m.name])]
mongo_vars = merge([for m in var.mongo: { mongo_vars = merge([for m in var.mongo: {
@@ -90,3 +94,10 @@ data "kubernetes_secret_v1" "mongos" {
namespace = "${var.mongo[count.index].namespace}" 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 name: dbgate
description: null description: null
options: options:
redis: ingress-class:
default: traefik
examples:
- traefik
type: string
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
pg:
default: [] default: []
examples: examples:
- [] - []
items: items:
properties: properties:
dbname:
default: ''
type: string
name: name:
default: '' default: ''
type: string type: string
namespace: namespace:
default: '' default: ''
type: string type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object type: object
type: array type: array
domain-name: issuer:
default: your_company.com default: letsencrypt-prod
examples: examples:
- your_company.com - letsencrypt-prod
type: string 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: maria:
default: [] default: []
examples: examples:
@@ -93,60 +147,26 @@ options:
type: string type: string
type: object type: object
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: sub-domain:
default: dbgate default: dbgate
examples: examples:
- dbgate - dbgate
type: string type: string
ingress-class: use-oauth:
default: traefik default: false
examples: examples:
- traefik - false
type: string type: boolean
domain: domain:
default: your-company default: your-company
examples: examples:
- your-company - your-company
type: string type: string
app-group:
default: dev
examples:
- dev
type: string
storage: storage:
default: default:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
@@ -174,38 +194,18 @@ options:
- Block - Block
type: string type: string
type: object type: object
issuer: redis:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
pg:
default: [] default: []
examples: examples:
- [] - []
items: items:
properties: properties:
dbname:
default: ''
type: string
name: name:
default: '' default: ''
type: string type: string
namespace: namespace:
default: '' default: ''
type: string type: string
secret:
properties:
key:
default: ''
type: string
name:
default: ''
type: string
type: object
username:
default: ''
type: string
type: object type: object
type: array type: array
dependencies: dependencies: