fix
This commit is contained in:
@@ -6,26 +6,33 @@ metadata:
|
||||
name: domain
|
||||
description: null
|
||||
options:
|
||||
issuer:
|
||||
default: letsencrypt-prod
|
||||
examples:
|
||||
- letsencrypt-prod
|
||||
type: string
|
||||
domain-name:
|
||||
default: your_company.com
|
||||
examples:
|
||||
- your_company.com
|
||||
type: string
|
||||
auth:
|
||||
apps:
|
||||
default:
|
||||
enable: false
|
||||
nextcloud:
|
||||
enable: true
|
||||
examples:
|
||||
- enable: true
|
||||
- enable: false
|
||||
nextcloud:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
nextcloud:
|
||||
default:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: true
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
ci:
|
||||
default:
|
||||
enable: false
|
||||
@@ -48,6 +55,90 @@ options:
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
infra:
|
||||
default:
|
||||
enable: false
|
||||
traefik:
|
||||
enable: false
|
||||
examples:
|
||||
- enable: false
|
||||
traefik:
|
||||
enable: false
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
traefik:
|
||||
default:
|
||||
enable: false
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
issuer:
|
||||
default: letsencrypt-prod
|
||||
examples:
|
||||
- letsencrypt-prod
|
||||
type: string
|
||||
mail:
|
||||
default:
|
||||
enable: false
|
||||
examples:
|
||||
- enable: false
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
type: object
|
||||
erp:
|
||||
default:
|
||||
dolibarr:
|
||||
enable: true
|
||||
enable: false
|
||||
examples:
|
||||
- dolibarr:
|
||||
enable: true
|
||||
enable: false
|
||||
properties:
|
||||
dolibarr:
|
||||
default:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: true
|
||||
type: boolean
|
||||
type: object
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
type: object
|
||||
auth:
|
||||
default:
|
||||
enable: true
|
||||
examples:
|
||||
- enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: true
|
||||
type: boolean
|
||||
type: object
|
||||
distributions:
|
||||
default:
|
||||
core: core
|
||||
domain: domain
|
||||
examples:
|
||||
- core: core
|
||||
domain: domain
|
||||
properties:
|
||||
core:
|
||||
default: core
|
||||
type: string
|
||||
domain:
|
||||
default: domain
|
||||
type: string
|
||||
type: object
|
||||
backups:
|
||||
default:
|
||||
enable: false
|
||||
@@ -78,92 +169,11 @@ options:
|
||||
default: backup-settings
|
||||
type: string
|
||||
type: object
|
||||
infra:
|
||||
default:
|
||||
enable: false
|
||||
traefik:
|
||||
enable: false
|
||||
examples:
|
||||
- enable: false
|
||||
traefik:
|
||||
enable: false
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
traefik:
|
||||
default:
|
||||
enable: false
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
erp:
|
||||
default:
|
||||
dolibarr:
|
||||
enable: true
|
||||
enable: false
|
||||
examples:
|
||||
- dolibarr:
|
||||
enable: true
|
||||
enable: false
|
||||
properties:
|
||||
dolibarr:
|
||||
default:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: true
|
||||
type: boolean
|
||||
type: object
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
type: object
|
||||
ingress-class:
|
||||
default: traefik
|
||||
examples:
|
||||
- traefik
|
||||
type: string
|
||||
apps:
|
||||
default:
|
||||
enable: false
|
||||
nextcloud:
|
||||
enable: true
|
||||
examples:
|
||||
- enable: false
|
||||
nextcloud:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: false
|
||||
type: boolean
|
||||
nextcloud:
|
||||
default:
|
||||
enable: true
|
||||
properties:
|
||||
enable:
|
||||
default: true
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
distributions:
|
||||
default:
|
||||
core: core
|
||||
domain: domain
|
||||
examples:
|
||||
- core: core
|
||||
domain: domain
|
||||
properties:
|
||||
core:
|
||||
default: core
|
||||
type: string
|
||||
domain:
|
||||
default: domain
|
||||
type: string
|
||||
type: object
|
||||
dependencies: []
|
||||
providers:
|
||||
kubernetes: null
|
||||
|
||||
@@ -19,6 +19,7 @@ locals {
|
||||
ci = { for k, v in var.ci : k => v if k!="enable" }
|
||||
erp = { for k, v in var.erp : k => v if k!="enable" }
|
||||
apps = { for k, v in var.apps : k => v if k!="enable" }
|
||||
mail = { for k, v in var.apps : k => v if k!="enable" }
|
||||
|
||||
# Force install authentik and it's modules when any are needed
|
||||
use-ldap = (var.ci.enable && var.ci.gitea.enable) || (var.erp.enable && var.erp.dolibarr.enable)
|
||||
@@ -115,3 +116,19 @@ resource "kubectl_manifest" "apps" {
|
||||
options: ${jsonencode(merge(local.global, local.apps))}
|
||||
EOF
|
||||
}
|
||||
resource "kubectl_manifest" "apps" {
|
||||
count = var.apps.enable ? 1 : 0
|
||||
yaml_body = <<-EOF
|
||||
apiVersion: "vynil.solidite.fr/v1"
|
||||
kind: "Install"
|
||||
metadata:
|
||||
name: "mail"
|
||||
namespace: "${var.namespace}"
|
||||
labels: ${jsonencode(local.common-labels)}
|
||||
spec:
|
||||
distrib: "${var.distributions.domain}"
|
||||
category: "meta"
|
||||
component: "domain-mail"
|
||||
options: ${jsonencode(merge(local.global, local.mail))}
|
||||
EOF
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user