This commit is contained in:
2023-10-14 18:34:11 +02:00
parent c8423d1861
commit 05bd4eca8b
5 changed files with 379 additions and 370 deletions

View File

@@ -6,6 +6,45 @@ metadata:
name: dbgate name: dbgate
description: null description: null
options: options:
images:
default:
dbgate:
pullPolicy: IfNotPresent
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
examples:
- dbgate:
pullPolicy: IfNotPresent
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
properties:
dbgate:
default:
pullPolicy: IfNotPresent
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
properties:
pullPolicy:
default: IfNotPresent
enum:
- Always
- Never
- IfNotPresent
type: string
registry:
default: docker.io
type: string
repository:
default: dbgate/dbgate
type: string
tag:
default: 5.2.6-alpine
type: string
type: object
type: object
ingress-class: ingress-class:
default: traefik default: traefik
examples: examples:
@@ -13,202 +52,163 @@ options:
type: string type: string
redis: redis:
default: [] default: []
items:
type: object
properties:
namespace:
type: string
default: ''
name:
type: string
default: ''
secret:
type: object
properties:
name:
type: string
default: ''
key:
type: string
default: ''
examples: examples:
- [] - []
type: array
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
images:
default:
dbgate:
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
pullPolicy: IfNotPresent
properties:
dbgate:
properties:
pullPolicy:
enum:
- Always
- Never
- IfNotPresent
type: string
default: IfNotPresent
registry:
type: string
default: docker.io
repository:
type: string
default: dbgate/dbgate
tag:
type: string
default: 5.2.6-alpine
type: object
default:
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
pullPolicy: IfNotPresent
examples:
- dbgate:
registry: docker.io
repository: dbgate/dbgate
tag: 5.2.6-alpine
pullPolicy: IfNotPresent
type: object
domain:
default: your-company
examples:
- your-company
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
app-group:
default: dev
examples:
- dev
type: string
maria:
default: []
items: items:
type: object
properties: properties:
namespace:
type: string
default: ''
name: name:
type: string
default: '' default: ''
username:
type: string type: string
namespace:
default: '' default: ''
type: string
secret: secret:
type: object
properties: properties:
name:
type: string
default: ''
key: key:
type: string
default: '' default: ''
examples: type: string
- [] name:
type: array default: ''
pg: type: string
default: [] type: object
items:
type: object type: object
properties:
namespace:
type: string
default: ''
name:
type: string
default: ''
dbname:
type: string
default: ''
username:
type: string
default: ''
secret:
type: object
properties:
name:
type: string
default: ''
key:
type: string
default: ''
examples:
- []
type: array
storage:
default:
size: 1Gi
accessMode: ReadWriteOnce
type: Filesystem
properties:
type:
enum:
- Filesystem
- Block
type: string
default: Filesystem
accessMode:
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
default: ReadWriteOnce
size:
type: string
default: 1Gi
examples:
- size: 1Gi
accessMode: ReadWriteOnce
type: Filesystem
type: object
mongo:
default: []
items:
type: object
properties:
namespace:
type: string
default: ''
name:
type: string
default: ''
dbname:
type: string
default: ''
username:
type: string
default: ''
secret:
type: object
properties:
name:
type: string
default: ''
key:
type: string
default: ''
examples:
- []
type: array type: array
sub-domain: sub-domain:
default: dbgate default: dbgate
examples: examples:
- dbgate - dbgate
type: string type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
maria:
default: []
examples:
- []
items:
properties:
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
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
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
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
domain:
default: your-company
examples:
- your-company
type: string
app-group:
default: dev
examples:
- dev
type: string
storage:
default:
accessMode: ReadWriteOnce
size: 1Gi
type: Filesystem
examples:
- accessMode: ReadWriteOnce
size: 1Gi
type: Filesystem
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 1Gi
type: string
type:
default: Filesystem
enum:
- Filesystem
- Block
type: string
type: object
dependencies: dependencies:
- dist: null - dist: null
category: share category: share
@@ -223,4 +223,5 @@ providers:
postgresql: null postgresql: null
restapi: true restapi: true
http: true http: true
gitea: null
tfaddtype: null tfaddtype: null

View File

@@ -15,6 +15,9 @@ locals {
"app-group" = var.app-group "app-group" = var.app-group
} }
dbgate = { for k, v in var.apps.dbgate : k => v if k!="enable" } dbgate = { for k, v in var.apps.dbgate : k => v if k!="enable" }
# dbgate_pgs = flatten([for i in local.sorted-datasets: [
# for db in
# ] if i.engine=="pg" && i])
} }
resource "kubernetes_namespace_v1" "apps-ns" { resource "kubernetes_namespace_v1" "apps-ns" {

View File

@@ -11,104 +11,180 @@ options:
examples: examples:
- letsencrypt-prod - letsencrypt-prod
type: string type: string
storage-classes: organisations:
default: default: []
FilesystemReadWriteMany: ''
FilesystemReadWriteOnce: ''
BlockReadWriteMany: ''
BlockReadWriteOnce: ''
examples: examples:
- FilesystemReadWriteMany: '' - []
FilesystemReadWriteOnce: '' items:
BlockReadWriteMany: '' properties:
BlockReadWriteOnce: '' datasets:
type: object default: []
items:
properties:
engine:
default: pg
type: string
name:
default: ''
type: string
type: object
type: array
name:
default: ''
type: string
type: object
type: array
images:
default:
codeserver:
pullPolicy: IfNotPresent
registry: docker.io
repository: sebt3/code-server
tag: 4.15
examples:
- codeserver:
pullPolicy: IfNotPresent
registry: docker.io
repository: sebt3/code-server
tag: 4.15
properties: properties:
BlockReadWriteMany: codeserver:
type: string default:
pullPolicy: IfNotPresent
registry: docker.io
repository: sebt3/code-server
tag: 4.15
properties:
pullPolicy:
default: IfNotPresent
enum:
- Always
- Never
- IfNotPresent
type: string
registry:
default: docker.io
type: string
repository:
default: sebt3/code-server
type: string
tag:
default: 4.15
type: number
type: object
type: object
backups:
default:
enable: false
endpoint: ''
key-id-key: s3-id
secret-key: s3-secret
secret-name: backup-settings
examples:
- enable: false
endpoint: ''
key-id-key: s3-id
secret-key: s3-secret
secret-name: backup-settings
properties:
enable:
default: false
type: boolean
endpoint:
default: '' default: ''
BlockReadWriteOnce:
type: string type: string
default: '' key-id-key:
FilesystemReadWriteMany: default: s3-id
type: string type: string
default: '' secret-key:
FilesystemReadWriteOnce: default: s3-secret
type: string type: string
default: '' secret-name:
default: backup-settings
type: string
type: object
stations-sub-domain: stations-sub-domain:
default: code default: code
examples: examples:
- code - code
type: string type: string
backups: storage-classes:
default: default:
enable: false BlockReadWriteMany: ''
endpoint: '' BlockReadWriteOnce: ''
secret-name: backup-settings FilesystemReadWriteMany: ''
key-id-key: s3-id FilesystemReadWriteOnce: ''
secret-key: s3-secret
examples: examples:
- enable: false - BlockReadWriteMany: ''
endpoint: '' BlockReadWriteOnce: ''
secret-name: backup-settings FilesystemReadWriteMany: ''
key-id-key: s3-id FilesystemReadWriteOnce: ''
secret-key: s3-secret
type: object
properties: properties:
enable: BlockReadWriteMany:
type: boolean
default: false
endpoint:
type: string
default: '' default: ''
key-id-key:
type: string type: string
default: s3-id BlockReadWriteOnce:
secret-key: default: ''
type: string type: string
default: s3-secret FilesystemReadWriteMany:
secret-name: default: ''
type: string type: string
default: backup-settings FilesystemReadWriteOnce:
organisations: default: ''
type: string
type: object
domain:
default: your-company
examples:
- your-company
type: string
app-group:
default: dev
examples:
- dev
type: string
external-databases:
default: [] default: []
items:
type: object
properties:
name:
type: string
default: ''
datasets:
default: []
type: array
items:
type: object
properties:
name:
default: ''
type: string
engine:
default: pg
type: string
examples: examples:
- [] - []
type: array
stations:
default: []
items: items:
type: object
properties: properties:
name: engine:
default: postgres
enum:
- postgres
- mongo
- redis
- maria
- rabbit
type: string type: string
name:
default: '' default: ''
organisations: type: string
default: [] namespace:
type: array default: ''
items: type: string
type: string secret:
examples: default:
- [] name: default
namespace: default
pass-key: password
user-key: username
properties:
name:
default: default
type: string
namespace:
default: default
type: string
pass-key:
default: password
type: string
user-key:
default: username
type: string
type: object
type: object
type: array type: array
apps: apps:
default: default:
@@ -125,149 +201,73 @@ options:
enable: false enable: false
yaade: yaade:
enable: false enable: false
type: object
properties: properties:
dbgate: dbgate:
type: object
properties:
enable:
type: boolean
default: false
default: default:
enable: false enable: false
properties:
enable:
default: false
type: boolean
type: object
superset: superset:
type: object
properties:
enable:
type: boolean
default: false
default: default:
enable: false enable: false
properties:
enable:
default: false
type: boolean
type: object
yaade: yaade:
type: object
properties:
enable:
type: boolean
default: false
default: default:
enable: false enable: false
images:
default:
codeserver:
registry: docker.io
repository: sebt3/code-server
tag: 4.15
pullPolicy: IfNotPresent
properties:
codeserver:
properties: properties:
pullPolicy: enable:
enum: default: false
- Always type: boolean
- Never
- IfNotPresent
type: string
default: IfNotPresent
registry:
type: string
default: docker.io
repository:
type: string
default: sebt3/code-server
tag:
type: number
default: 4.15
type: object type: object
default:
registry: docker.io
repository: sebt3/code-server
tag: 4.15
pullPolicy: IfNotPresent
examples:
- codeserver:
registry: docker.io
repository: sebt3/code-server
tag: 4.15
pullPolicy: IfNotPresent
type: object type: object
external-databases:
default: []
items:
type: object
properties:
name:
type: string
default: ''
namespace:
type: string
default: ''
engine:
type: string
default: postgres
enum:
- postgres
- mongo
- redis
- maria
- rabbit
secret:
type: object
default:
name: default
namespace: default
user-key: username
pass-key: password
properties:
name:
type: string
default: default
namespace:
type: string
default: default
user-key:
type: string
default: username
pass-key:
type: string
default: password
examples:
- []
type: array
domain:
default: your-company
examples:
- your-company
type: string
domain-name: domain-name:
default: your_company.com default: your_company.com
examples: examples:
- your_company.com - your_company.com
type: string type: string
distributions: stations:
default: default: []
domain: domain
core: core
examples: examples:
- domain: domain - []
core: core items:
type: object properties:
properties: name:
core: default: ''
type: string type: string
default: core organisations:
domain: default: []
type: string items:
default: domain type: string
type: array
type: object
type: array
ingress-class: ingress-class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
app-group: distributions:
default: dev default:
core: core
domain: domain
examples: examples:
- dev - core: core
type: string domain: domain
properties:
core:
default: core
type: string
domain:
default: domain
type: string
type: object
dependencies: [] dependencies: []
providers: providers:
kubernetes: true kubernetes: true
@@ -276,4 +276,5 @@ providers:
postgresql: null postgresql: null
restapi: null restapi: null
http: null http: null
gitea: null
tfaddtype: null tfaddtype: null

View File

@@ -61,4 +61,5 @@ providers:
postgresql: null postgresql: null
restapi: null restapi: null
http: null http: null
gitea: null
tfaddtype: null tfaddtype: null

View File

@@ -33,8 +33,8 @@ data "kubernetes_secret_v1" "prj_mariadb_secret" {
} }
resource "kubectl_manifest" "prj_mariadb" { resource "kubectl_manifest" "prj_mariadb" {
yaml_body = <<-EOF yaml_body = <<-EOF
apiVersion: mariadbdbcommunity.mariadbdb.com/v1 apiVersion: mariadb.mmontes.io/v1alpha1
kind: mariadbDBCommunity kind: MariaDB
metadata: metadata:
name: "${var.instance}-${var.component}" name: "${var.instance}-${var.component}"
namespace: "${var.namespace}" namespace: "${var.namespace}"
@@ -60,3 +60,6 @@ resource "kubectl_manifest" "prj_mariadb" {
storage: "${var.storage}" storage: "${var.storage}"
EOF EOF
} }