This commit is contained in:
2024-01-26 10:19:34 +01:00
parent e8ad81c3db
commit 94e78fa7e9
187 changed files with 3355 additions and 2857 deletions

View File

@@ -45,13 +45,13 @@ resource "kubectl_manifest" "directus_config" {
DB_PORT: "5432"
STORAGE_LOCATIONS: "local"
STORAGE_LOCAL_ROOT: "/var/store"
ADMIN_EMAIL: "admin@${var.domain_name}"
ADMIN_EMAIL: "admin@${var.domain-name}"
NODE_EXTRA_CA_CERTS: "/etc/local-ca/ca.crt"
TELEMETRY: "false"
AUTH_PROVIDERS: "VYNIL"
AUTH_VYNIL_DRIVER: "openid"
AUTH_VYNIL_ALLOW_PUBLIC_REGISTRATION: "true"
AUTH_VYNIL_ISSUER_URL: "https://${data.kubernetes_ingress_v1.authentik.spec[0].rule[0].host}/application/o/directus-${replace(var.sub_domain, ".", "-")}-${var.instance}/.well-known/openid-configuration"
AUTH_VYNIL_ISSUER_URL: "https://${data.kubernetes_ingress_v1.authentik.spec[0].rule[0].host}/application/o/directus-${replace(var.sub-domain, ".", "-")}-${var.instance}/.well-known/openid-configuration"
AUTH_VYNIL_IDENTIFIER_KEY: "email"
PUBLIC_URL: "https://${local.directus-dns_name}"
EOF
@@ -133,12 +133,12 @@ resource "kubectl_manifest" "directus_deploy" {
valueFrom:
secretKeyRef:
key: "client-id"
name: "directus-${replace(var.sub_domain, ".", "-")}-${var.instance}-id"
name: "directus-${replace(var.sub-domain, ".", "-")}-${var.instance}-id"
- name: AUTH_VYNIL_CLIENT_SECRET
valueFrom:
secretKeyRef:
key: "client-secret"
name: "directus-${replace(var.sub_domain, ".", "-")}-${var.instance}-secret"
name: "directus-${replace(var.sub-domain, ".", "-")}-${var.instance}-secret"
- name: DB_USER
valueFrom:
secretKeyRef:
@@ -216,7 +216,7 @@ module "directus-ingress" {
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
ingress-class = var.ingress-class
labels = local.directus-labels
dns_names = [local.directus-dns_name]
create-redirect = true
@@ -230,9 +230,9 @@ module "directus-ingress" {
module "directus-application" {
count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/application"
component = "directus-${replace(var.sub_domain, ".", "-")}"
component = "directus-${replace(var.sub-domain, ".", "-")}"
instance = var.instance
app_group = var.app_group
app-group = var.app-group
dns_name = local.directus-dns_name
icon = local.directus-icon
protocol_provider = module.directus-oauth2[0].provider-id
@@ -244,7 +244,7 @@ module "directus-application" {
module "directus-oauth2" {
count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/oauth2"
component = "directus-${replace(var.sub_domain, ".", "-")}"
component = "directus-${replace(var.sub-domain, ".", "-")}"
instance = var.instance
namespace = var.namespace
labels = local.directus-labels

View File

@@ -6,7 +6,17 @@ metadata:
name: dataset-pg
description: null
options:
sub_domain:
app-group:
default: api
examples:
- api
type: string
domain:
default: your-company
examples:
- your-company
type: string
sub-domain:
default: dataset-pg
examples:
- dataset-pg
@@ -28,30 +38,10 @@ options:
type: string
type: object
type: object
postgres:
default:
replicas: 1
issuer:
default: letsencrypt-prod
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
domain:
default: your-company
examples:
- your-company
type: string
app_group:
default: api
examples:
- api
type: string
ingress_class:
default: traefik
examples:
- traefik
- letsencrypt-prod
type: string
extentions:
default:
@@ -234,15 +224,6 @@ options:
type: object
type: object
type: object
databases:
default: []
items:
properties:
name:
default: db
type: string
type: object
type: array
backups:
default:
enable: false
@@ -297,16 +278,29 @@ options:
default: backup-settings
type: string
type: object
domain_name:
default: your_company.com
ingress-class:
default: traefik
examples:
- your_company.com
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
- traefik
type: string
databases:
default: []
items:
properties:
name:
default: db
type: string
type: object
type: array
roles:
default: []
items:
properties:
name:
default: alt-account
type: string
type: object
type: array
images:
default:
postgresql:
@@ -336,15 +330,21 @@ options:
type: number
type: object
type: object
roles:
default: []
items:
properties:
name:
default: alt-account
type: string
type: object
type: array
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
domain-name:
default: your_company.com
examples:
- your_company.com
type: string
dependencies:
- dist: null
category: dbo

View File

@@ -1,5 +1,5 @@
locals {
dns_name = "${var.instance}.${var.sub_domain}.${var.domain_name}"
dns_name = "${var.instance}.${var.sub-domain}.${var.domain-name}"
pg-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "postgresql"
})

View File

@@ -152,7 +152,7 @@ module "postgrest-ingress" {
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
ingress-class = var.ingress-class
labels = local.prest-labels
dns_names = [local.prest-dns_name]
create-redirect = true
@@ -184,7 +184,7 @@ module "swagger-ingress" {
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
ingress-class = var.ingress-class
labels = local.prest-labels
dns_names = [local.prest-dns_name]
middlewares = []