This commit is contained in:
2024-01-26 12:45:59 +01:00
parent bc5c15988c
commit f859b06bee
16 changed files with 292 additions and 310 deletions

View File

@@ -6,10 +6,30 @@ metadata:
name: code-server name: code-server
description: null description: null
options: options:
app_group: admin:
default: dev default:
cluster: false
namespace: false
examples: examples:
- dev - cluster: false
namespace: false
properties:
cluster:
default: false
type: boolean
namespace:
default: false
type: boolean
type: object
domain_name:
default: your-company.com
examples:
- your-company.com
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string type: string
storage: storage:
default: default:
@@ -48,41 +68,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
admin:
default:
cluster: false
namespace: false
examples:
- cluster: false
namespace: false
properties:
cluster:
default: false
type: boolean
namespace:
default: false
type: boolean
type: object
domain_name:
default: your-company.com
examples:
- your-company.com
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
sub-domain:
default: code
examples:
- code
type: string
images: images:
default: default:
codeserver: codeserver:
@@ -122,21 +107,36 @@ options:
type: number type: number
type: object type: object
type: object type: object
ingress_class: app_group:
default: traefik default: dev
examples: examples:
- traefik - dev
type: string type: string
domain: sub-domain:
default: your-company default: code
examples: examples:
- your-company - code
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string type: string
no-editor: no-editor:
default: false default: false
examples: examples:
- false - false
type: boolean type: boolean
domain:
default: your-company
examples:
- your-company
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -76,7 +76,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,6 +6,41 @@ metadata:
name: gramo name: gramo
description: null description: null
options: options:
sub-domain:
default: gramo
examples:
- gramo
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
managed:
default: false
examples:
- false
type: boolean
namespaces:
default: []
items:
type: string
type: array
domain:
default: your-company
examples:
- your-company
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
cluster-admin:
default: false
examples:
- false
type: boolean
images: images:
default: default:
gramo: gramo:
@@ -45,51 +80,16 @@ options:
type: string type: string
type: object type: object
type: object type: object
app_group:
default: infra
examples:
- infra
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
domain:
default: your-company
examples:
- your-company
type: string
namespaces:
default: []
items:
type: string
type: array
sub-domain:
default: gramo
examples:
- gramo
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
managed: app_group:
default: false default: infra
examples: examples:
- false - infra
type: boolean
ingress_class:
default: traefik
examples:
- traefik
type: string type: string
cluster-admin:
default: false
examples:
- false
type: boolean
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -76,7 +76,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,6 +6,21 @@ metadata:
name: okd name: okd
description: null description: null
options: options:
app_group:
default: infra
examples:
- infra
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
managed: managed:
default: false default: false
examples: examples:
@@ -16,6 +31,21 @@ options:
items: items:
type: string type: string
type: array type: array
sub-domain:
default: okd
examples:
- okd
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
domain:
default: your-company
examples:
- your-company
type: string
cluster-admin: cluster-admin:
default: false default: false
examples: examples:
@@ -60,36 +90,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
domain:
default: your-company
examples:
- your-company
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
app_group:
default: infra
examples:
- infra
type: string
sub-domain:
default: okd
examples:
- okd
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -76,7 +76,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -11,6 +11,11 @@ options:
examples: examples:
- traefik - traefik
type: string type: string
app_group:
default: infra
examples:
- infra
type: string
sub-domain: sub-domain:
default: traefik default: traefik
examples: examples:
@@ -26,11 +31,6 @@ options:
examples: examples:
- your-company - your-company
type: string type: string
app_group:
default: infra
examples:
- infra
type: string
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:

View File

@@ -63,7 +63,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -15,7 +15,7 @@ locals {
} }
resource "kubectl_manifest" "prj_certificate" { resource "kubectl_manifest" "prj_certificate" {
count = var.create-cert?1:0 count = var.create_cert?1:0
yaml_body = <<-EOF yaml_body = <<-EOF
apiVersion: "cert-manager.io/v1" apiVersion: "cert-manager.io/v1"
kind: "Certificate" kind: "Certificate"

View File

@@ -31,7 +31,7 @@ variable "create-redirect" {
type = bool type = bool
default = false default = false
} }
variable "create-cert" { variable "create_cert" {
type = bool type = bool
default = true default = true
} }

View File

@@ -6,35 +6,45 @@ metadata:
name: alertmanager name: alertmanager
description: null description: null
options: options:
app_group: issuer:
default: monitor default: letsencrypt-prod
examples: examples:
- monitor - letsencrypt-prod
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string type: string
listenLocal: listenLocal:
default: false default: false
examples: examples:
- false - false
type: boolean type: boolean
retention:
default: 120h
examples:
- 120h
type: string
replicas: replicas:
default: 1 default: 1
examples: examples:
- 1 - 1
type: integer type: integer
ingress_class: sub-domain:
default: traefik default: alertmanager
examples: examples:
- traefik - alertmanager
type: string type: string
domain: logLevel:
default: your-company default: info
examples: examples:
- your-company - info
type: string
retention:
default: 120h
examples:
- 120h
type: string type: string
images: images:
default: default:
@@ -75,25 +85,15 @@ options:
type: string type: string
type: object type: object
type: object type: object
logLevel: domain:
default: info default: your-company
examples: examples:
- info - your-company
type: string type: string
issuer: app_group:
default: letsencrypt-prod default: monitor
examples: examples:
- letsencrypt-prod - monitor
type: string
sub-domain:
default: alertmanager
examples:
- alertmanager
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string type: string
dependencies: dependencies:
- dist: null - dist: null

View File

@@ -63,7 +63,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,26 +6,6 @@ metadata:
name: prometheus name: prometheus
description: null description: null
options: options:
alertmanager:
default: alertmanager-alertmanager
examples:
- alertmanager-alertmanager
type: string
domain:
default: your-company
examples:
- your-company
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
replicas:
default: 1
examples:
- 1
type: integer
ingress_class: ingress_class:
default: traefik default: traefik
examples: examples:
@@ -36,21 +16,56 @@ options:
examples: examples:
- your_company.com - your_company.com
type: string type: string
app_group:
default: monitor
examples:
- monitor
type: string
shards: shards:
default: 1 default: 1
examples: examples:
- 1 - 1
type: integer type: integer
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
app_group:
default: monitor
examples:
- monitor
type: string
sub-domain: sub-domain:
default: prometheus default: prometheus
examples: examples:
- prometheus - prometheus
type: string type: string
domain:
default: your-company
examples:
- your-company
type: string
replicas:
default: 1
examples:
- 1
type: integer
logLevel:
default: info
examples:
- info
type: string
listenLocal:
default: false
examples:
- false
type: boolean
enableAdminAPI:
default: false
examples:
- false
type: boolean
alertmanager:
default: alertmanager-alertmanager
examples:
- alertmanager-alertmanager
type: string
images: images:
default: default:
prometheus: prometheus:
@@ -90,26 +105,11 @@ options:
type: string type: string
type: object type: object
type: object type: object
logLevel:
default: info
examples:
- info
type: string
enableAdminAPI:
default: false
examples:
- false
type: boolean
retention: retention:
default: 10d default: 10d
examples: examples:
- 10d - 10d
type: string type: string
listenLocal:
default: false
examples:
- false
type: boolean
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -63,7 +63,7 @@ module "forward" {
ingress_class = var.ingress_class ingress_class = var.ingress_class
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
services = [local.service] service = local.service
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,6 +6,35 @@ metadata:
name: dataset-pg name: dataset-pg
description: null description: null
options: options:
databases:
default: []
items:
properties:
name:
default: db
type: string
type: object
type: array
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
ingress_class:
default: traefik
examples:
- traefik
type: string
app_group:
default: api
examples:
- api
type: string
images: images:
default: default:
postgresql: postgresql:
@@ -35,12 +64,17 @@ options:
type: number type: number
type: object type: object
type: object type: object
databases: issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
roles:
default: [] default: []
items: items:
properties: properties:
name: name:
default: db default: alt-account
type: string type: string
type: object type: object
type: array type: array
@@ -49,6 +83,11 @@ options:
examples: examples:
- your-company - your-company
type: string type: string
sub-domain:
default: dataset-pg
examples:
- dataset-pg
type: string
storage: storage:
default: default:
postgres: postgres:
@@ -66,99 +105,11 @@ options:
type: string type: string
type: object type: object
type: object type: object
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
backups:
default:
enable: false
endpoint: ''
key-id-key: s3-id
retention:
db: 30d
schedule:
db: 0 3 * * *
secret-key: s3-secret
secret-name: backup-settings
examples:
- enable: false
endpoint: ''
key-id-key: s3-id
retention:
db: 30d
schedule:
db: 0 3 * * *
secret-key: s3-secret
secret-name: backup-settings
properties:
enable:
default: false
type: boolean
endpoint:
default: ''
type: string
key-id-key:
default: s3-id
type: string
retention:
default:
db: 30d
properties:
db:
default: 30d
type: string
type: object
schedule:
default:
db: 0 3 * * *
properties:
db:
default: 0 3 * * *
type: string
type: object
secret-key:
default: s3-secret
type: string
secret-name:
default: backup-settings
type: string
type: object
roles:
default: []
items:
properties:
name:
default: alt-account
type: string
type: object
type: array
sub-domain:
default: dataset-pg
examples:
- dataset-pg
type: string
ingress_class:
default: traefik
examples:
- traefik
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
app_group:
default: api
examples:
- api
type: string
extentions: extentions:
default: default:
directus: directus:
@@ -340,11 +291,60 @@ options:
type: object type: object
type: object type: object
type: object type: object
issuer: backups:
default: letsencrypt-prod default:
enable: false
endpoint: ''
key-id-key: s3-id
retention:
db: 30d
schedule:
db: 0 3 * * *
secret-key: s3-secret
secret-name: backup-settings
examples: examples:
- letsencrypt-prod - enable: false
type: string endpoint: ''
key-id-key: s3-id
retention:
db: 30d
schedule:
db: 0 3 * * *
secret-key: s3-secret
secret-name: backup-settings
properties:
enable:
default: false
type: boolean
endpoint:
default: ''
type: string
key-id-key:
default: s3-id
type: string
retention:
default:
db: 30d
properties:
db:
default: 30d
type: string
type: object
schedule:
default:
db: 0 3 * * *
properties:
db:
default: 0 3 * * *
type: string
type: object
secret-key:
default: s3-secret
type: string
secret-name:
default: backup-settings
type: string
type: object
dependencies: dependencies:
- dist: null - dist: null
category: dbo category: dbo

View File

@@ -157,7 +157,9 @@ module "postgrest-ingress" {
dns_names = [local.prest-dns_name] dns_names = [local.prest-dns_name]
create-redirect = true create-redirect = true
middlewares = [] middlewares = []
services = [local.prest-service] sub_paths = ["ui",""]
services = [local.swagger-service, local.prest-service]
services = []
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -176,23 +178,3 @@ module "swagger-service" {
kubectl = kubectl kubectl = kubectl
} }
} }
module "swagger-ingress" {
count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
component = "swagger"
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
labels = local.prest-labels
dns_names = [local.prest-dns_name]
middlewares = []
create-cert = false
sub-path = "ui"
secret-component = "postgrest"
services = [local.swagger-service]
providers = {
kubectl = kubectl
}
}