This commit is contained in:
2024-01-26 12:30:24 +01:00
parent 97ebdf368b
commit bc5c15988c
25 changed files with 790 additions and 790 deletions

View File

@@ -6,10 +6,10 @@ metadata:
name: code-server name: code-server
description: null description: null
options: options:
domain: app_group:
default: your-company default: dev
examples: examples:
- your-company - dev
type: string type: string
storage: storage:
default: default:
@@ -48,30 +48,40 @@ options:
type: string type: string
type: object type: object
type: object type: object
timezone: admin:
default: Europe/Paris default:
cluster: false
namespace: false
examples: examples:
- Europe/Paris - cluster: false
type: string namespace: false
no-editor: properties:
cluster:
default: false default: false
examples:
- false
type: boolean type: boolean
sub-domain: namespace:
default: code default: false
examples: type: boolean
- code type: object
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
ingress_class: issuer:
default: traefik default: letsencrypt-prod
examples: examples:
- traefik - letsencrypt-prod
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
sub-domain:
default: code
examples:
- code
type: string type: string
images: images:
default: default:
@@ -112,31 +122,21 @@ options:
type: number type: number
type: object type: object
type: object type: object
admin: ingress_class:
default: default: traefik
cluster: false
namespace: false
examples: examples:
- cluster: false - traefik
namespace: false
properties:
cluster:
default: false
type: boolean
namespace:
default: false
type: boolean
type: object
app_group:
default: dev
examples:
- dev
type: string type: string
issuer: domain:
default: letsencrypt-prod default: your-company
examples: examples:
- letsencrypt-prod - your-company
type: string type: string
no-editor:
default: false
examples:
- false
type: boolean
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -38,7 +38,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = ["forward-${local.app_name}"] middlewares = ["forward-${local.app_name}"]
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -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
service = local.service services = [local.service]
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,15 +6,10 @@ metadata:
name: dbgate name: dbgate
description: null description: null
options: options:
sub-domain: app_group:
default: dbgate default: dev
examples: examples:
- dbgate - dev
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string type: string
images: images:
default: default:
@@ -55,45 +50,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
app_group:
default: dev
examples:
- dev
type: string
maria:
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:
default: your-company
examples:
- your-company
type: string
storage: storage:
default: default:
volume: volume:
@@ -131,54 +87,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
ingress_class:
default: traefik
examples:
- traefik
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
redis:
default: []
examples:
- []
items:
properties:
name:
default: ''
type: string
namespace:
default: ''
type: string
type: object
type: array
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:
@@ -213,6 +121,98 @@ options:
type: string type: string
type: object type: object
type: array type: array
ingress_class:
default: traefik
examples:
- traefik
type: string
maria:
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
redis:
default: []
examples:
- []
items:
properties:
name:
default: ''
type: string
namespace:
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
sub-domain:
default: dbgate
examples:
- dbgate
type: string
dependencies: dependencies:
- dist: null - dist: null
category: core category: core

View File

@@ -38,7 +38,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = [] middlewares = []
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }

View File

@@ -9,21 +9,31 @@ metadata:
A painless self-hosted Git service. A painless self-hosted Git service.
Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license. Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.
options: options:
load-balancer: default-branch:
default: default: main
ip: ''
examples: examples:
- ip: '' - main
type: string
push-create:
default:
org: 'true'
private: 'false'
user: 'true'
examples:
- org: 'true'
private: 'false'
user: 'true'
properties: properties:
ip: org:
default: '' default: 'true'
type: string
private:
default: 'false'
type: string
user:
default: 'true'
type: string type: string
type: object type: object
sub-domain:
default: git
examples:
- git
type: string
admin: admin:
default: default:
email: git-admin@git.your_company.com email: git-admin@git.your_company.com
@@ -39,21 +49,36 @@ options:
default: gitea_admin default: gitea_admin
type: string type: string
type: object type: object
webhook: ssh-sub-domain:
default: default: git
allowed-hosts: private
skip-tls-verify: false
examples: examples:
- allowed-hosts: private - git
skip-tls-verify: false type: string
properties: issuer:
allowed-hosts: default: letsencrypt-prod
default: private examples:
- letsencrypt-prod
type: string
load-balancer:
default:
ip: ''
examples:
- ip: ''
properties:
ip:
default: ''
type: string type: string
skip-tls-verify:
default: false
type: boolean
type: object type: object
ssh-port:
default: 2222
examples:
- 2222
type: integer
theme:
default: gitea-modern
examples:
- gitea-modern
type: string
storage: storage:
default: default:
postgres: postgres:
@@ -115,30 +140,10 @@ options:
type: string type: string
type: object type: object
type: object type: object
domain_name: domain:
default: your_company.com default: your-company
examples: examples:
- your_company.com - your-company
type: string
ssh-port:
default: 2222
examples:
- 2222
type: integer
release:
default: 8.3.0
examples:
- 8.3.0
type: string
default-branch:
default: main
examples:
- main
type: string
app_group:
default: dev
examples:
- dev
type: string type: string
images: images:
default: default:
@@ -271,92 +276,15 @@ options:
type: string type: string
type: object type: object
type: object type: object
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
redis:
default:
exporter:
enabled: true
examples:
- exporter:
enabled: true
properties:
exporter:
default:
enabled: true
properties:
enabled:
default: true
type: boolean
type: object
type: object
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
replicas:
default: 1
examples:
- 1
type: integer
push-create:
default:
org: 'true'
private: 'false'
user: 'true'
examples:
- org: 'true'
private: 'false'
user: 'true'
properties:
org:
default: 'true'
type: string
private:
default: 'false'
type: string
user:
default: 'true'
type: string
type: object
disable-registration:
default: true
examples:
- true
type: boolean
ssh-sub-domain:
default: git
examples:
- git
type: string
ingress_class: ingress_class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
theme: app_group:
default: gitea-modern default: dev
examples: examples:
- gitea-modern - dev
type: string
domain:
default: your-company
examples:
- your-company
type: string type: string
backups: backups:
default: default:
@@ -464,6 +392,78 @@ options:
default: false default: false
type: boolean type: boolean
type: object type: object
webhook:
default:
allowed-hosts: private
skip-tls-verify: false
examples:
- allowed-hosts: private
skip-tls-verify: false
properties:
allowed-hosts:
default: private
type: string
skip-tls-verify:
default: false
type: boolean
type: object
disable-registration:
default: true
examples:
- true
type: boolean
release:
default: 8.3.0
examples:
- 8.3.0
type: string
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
sub-domain:
default: git
examples:
- git
type: string
replicas:
default: 1
examples:
- 1
type: integer
redis:
default:
exporter:
enabled: true
examples:
- exporter:
enabled: true
properties:
exporter:
default:
enabled: true
properties:
enabled:
default: true
type: boolean
type: object
type: object
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
timezone:
default: Europe/Paris
examples:
- Europe/Paris
type: string
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -38,7 +38,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = [] middlewares = []
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }

View File

@@ -45,36 +45,16 @@ options:
type: string type: string
type: object type: object
type: object type: object
domain_name: app_group:
default: your_company.com default: infra
examples: examples:
- your_company.com - infra
type: string type: string
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:
- letsencrypt-prod - letsencrypt-prod
type: string type: string
managed:
default: false
examples:
- false
type: boolean
cluster-admin:
default: false
examples:
- false
type: boolean
sub-domain:
default: gramo
examples:
- gramo
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
domain: domain:
default: your-company default: your-company
examples: examples:
@@ -85,11 +65,31 @@ options:
items: items:
type: string type: string
type: array type: array
app_group: sub-domain:
default: infra default: gramo
examples: examples:
- infra - gramo
type: string type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
managed:
default: false
examples:
- false
type: boolean
ingress_class:
default: traefik
examples:
- traefik
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
service = local.service services = [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: nextcloud name: nextcloud
description: null description: null
options: options:
sub-domain:
default: files
examples:
- files
type: string
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
openid-name:
default: vynil
examples:
- vynil
type: string
backups: backups:
default: default:
enable: false enable: false
@@ -132,118 +112,31 @@ options:
default: false default: false
type: boolean type: boolean
type: object type: object
redis: domain_name:
default: default: your_company.com
exporter:
enabled: true
examples: examples:
- exporter: - your_company.com
enabled: true type: string
properties: openid-name:
exporter: default: vynil
default:
enabled: true
properties:
enabled:
default: true
type: boolean
type: object
type: object
apps:
default:
audioplayer: false
bookmarks: false
bpm: false
calendar: false
collabora: false
contacts: false
deck: false
groupfolders: true
mindmap: false
music: false
notes: false
onlyoffice: false
passman: false
spreed: false
tables: false
tasks: false
texteditor: true
examples: examples:
- audioplayer: false - vynil
bookmarks: false type: string
bpm: false
calendar: false
collabora: false
contacts: false
deck: false
groupfolders: true
mindmap: false
music: false
notes: false
onlyoffice: false
passman: false
spreed: false
tables: false
tasks: false
texteditor: true
properties:
audioplayer:
default: false
type: boolean
bookmarks:
default: false
type: boolean
bpm:
default: false
type: boolean
calendar:
default: false
type: boolean
collabora:
default: false
type: boolean
contacts:
default: false
type: boolean
deck:
default: false
type: boolean
groupfolders:
default: true
type: boolean
mindmap:
default: false
type: boolean
music:
default: false
type: boolean
notes:
default: false
type: boolean
onlyoffice:
default: false
type: boolean
passman:
default: false
type: boolean
spreed:
default: false
type: boolean
tables:
default: false
type: boolean
tasks:
default: false
type: boolean
texteditor:
default: true
type: boolean
type: object
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:
- letsencrypt-prod - letsencrypt-prod
type: string type: string
postgres:
default:
replicas: 1
examples:
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
storage: storage:
default: default:
postgres: postgres:
@@ -305,16 +198,33 @@ options:
type: string type: string
type: object type: object
type: object type: object
sub-domain:
default: files
examples:
- files
type: string
redis:
default:
exporter:
enabled: true
examples:
- exporter:
enabled: true
properties:
exporter:
default:
enabled: true
properties:
enabled:
default: true
type: boolean
type: object
type: object
domain: domain:
default: your-company default: your-company
examples: examples:
- your-company - your-company
type: string type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
images: images:
default: default:
collabora: collabora:
@@ -570,26 +480,101 @@ options:
type: string type: string
type: object type: object
type: object type: object
apps:
default:
audioplayer: false
bookmarks: false
bpm: false
calendar: false
collabora: false
contacts: false
deck: false
groupfolders: true
mindmap: false
music: false
notes: false
onlyoffice: false
passman: false
spreed: false
tables: false
tasks: false
texteditor: true
examples:
- audioplayer: false
bookmarks: false
bpm: false
calendar: false
collabora: false
contacts: false
deck: false
groupfolders: true
mindmap: false
music: false
notes: false
onlyoffice: false
passman: false
spreed: false
tables: false
tasks: false
texteditor: true
properties:
audioplayer:
default: false
type: boolean
bookmarks:
default: false
type: boolean
bpm:
default: false
type: boolean
calendar:
default: false
type: boolean
collabora:
default: false
type: boolean
contacts:
default: false
type: boolean
deck:
default: false
type: boolean
groupfolders:
default: true
type: boolean
mindmap:
default: false
type: boolean
music:
default: false
type: boolean
notes:
default: false
type: boolean
onlyoffice:
default: false
type: boolean
passman:
default: false
type: boolean
spreed:
default: false
type: boolean
tables:
default: false
type: boolean
tasks:
default: false
type: boolean
texteditor:
default: true
type: boolean
type: object
app_group: app_group:
default: '' default: ''
examples: examples:
- '' - ''
type: string type: string
admin:
default:
name: nextcloud_admin
examples:
- name: nextcloud_admin
properties:
name:
default: nextcloud_admin
type: string
type: object
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
hpa: hpa:
default: default:
avg-cpu: 50 avg-cpu: 50
@@ -610,6 +595,21 @@ options:
default: 1 default: 1
type: integer type: integer
type: object type: object
admin:
default:
name: nextcloud_admin
examples:
- name: nextcloud_admin
properties:
name:
default: nextcloud_admin
type: string
type: object
ingress_class:
default: traefik
examples:
- traefik
type: string
dependencies: dependencies:
- dist: null - dist: null
category: share category: share

View File

@@ -35,7 +35,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = ["${var.instance}-sslenforce", "${var.instance}-redirectdav", "${var.instance}-redirectindex"] middlewares = ["${var.instance}-sslenforce", "${var.instance}-redirectdav", "${var.instance}-redirectindex"]
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -94,7 +94,7 @@ module "collabora-ingress" {
labels = local.collabora-labels labels = local.collabora-labels
dns_names = [local.dns-collabora] dns_names = [local.dns-collabora]
middlewares = [] middlewares = []
service = local.collabora-service services = [local.collabora-service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -125,7 +125,7 @@ module "onlyoffice-ingress" {
labels = local.onlyoffice-labels labels = local.onlyoffice-labels
dns_names = [local.dns-onlyoffice] dns_names = [local.dns-onlyoffice]
middlewares = [] middlewares = []
service = local.onlyoffice-service services = [local.onlyoffice-service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }

View File

@@ -6,22 +6,7 @@ metadata:
name: okd name: okd
description: null description: null
options: options:
sub-domain: managed:
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:
default: false default: false
examples: examples:
- false - false
@@ -31,6 +16,11 @@ options:
items: items:
type: string type: string
type: array type: array
cluster-admin:
default: false
examples:
- false
type: boolean
images: images:
default: default:
okd: okd:
@@ -70,15 +60,15 @@ options:
type: string type: string
type: object type: object
type: object type: object
managed: domain:
default: false default: your-company
examples: examples:
- false - your-company
type: boolean type: string
domain_name: ingress_class:
default: your_company.com default: traefik
examples: examples:
- your_company.com - traefik
type: string type: string
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
@@ -90,6 +80,16 @@ options:
examples: examples:
- infra - infra
type: string 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

@@ -38,7 +38,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = ["forward-${local.app_name}"] middlewares = ["forward-${local.app_name}"]
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -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
service = local.service services = [local.service]
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,31 +6,31 @@ metadata:
name: traefik-ui name: traefik-ui
description: Access to the Traefik UI description: Access to the Traefik UI
options: options:
domain:
default: your-company
examples:
- your-company
type: string
ingress_class: ingress_class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
sub-domain:
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
domain:
default: your-company
examples:
- your-company
type: string
app_group: app_group:
default: infra default: infra
examples: examples:
- infra - infra
type: string type: string
sub-domain:
default: traefik
examples:
- traefik
type: string
issuer: issuer:
default: letsencrypt-prod default: letsencrypt-prod
examples: examples:

View File

@@ -25,7 +25,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = ["forward-${local.app_name}"] middlewares = ["forward-${local.app_name}"]
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -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
service = local.service services = [local.service]
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -6,11 +6,95 @@ metadata:
name: woodpecker name: woodpecker
description: null description: null
options: options:
admin-users:
default: woodpecker,admin
examples:
- woodpecker,admin
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
sub-domain:
default: ci
examples:
- ci
type: string
storage-server:
default:
accessMode: ReadWriteOnce
size: 10Gi
examples:
- accessMode: ReadWriteOnce
size: 10Gi
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 10Gi
type: string
type: object
timeouts:
default:
default: '60'
max: '120'
examples:
- default: '60'
max: '120'
properties:
default:
default: '60'
type: string
max:
default: '120'
type: string
type: object
storage-agent:
default:
size: 10Gi
storageClass: ''
writeMany: 'false'
examples:
- size: 10Gi
storageClass: ''
writeMany: 'false'
properties:
size:
default: 10Gi
type: string
storageClass:
default: ''
type: string
writeMany:
default: 'false'
type: string
type: object
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
ingress_class: ingress_class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
app_group:
default: dev
examples:
- dev
type: string
domain:
default: your-company
examples:
- your-company
type: string
images: images:
default: default:
agent: agent:
@@ -108,90 +192,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
storage-server:
default:
accessMode: ReadWriteOnce
size: 10Gi
examples:
- accessMode: ReadWriteOnce
size: 10Gi
properties:
accessMode:
default: ReadWriteOnce
enum:
- ReadWriteOnce
- ReadOnlyMany
- ReadWriteMany
type: string
size:
default: 10Gi
type: string
type: object
timeouts:
default:
default: '60'
max: '120'
examples:
- default: '60'
max: '120'
properties:
default:
default: '60'
type: string
max:
default: '120'
type: string
type: object
sub-domain:
default: ci
examples:
- ci
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
storage-agent:
default:
size: 10Gi
storageClass: ''
writeMany: 'false'
examples:
- size: 10Gi
storageClass: ''
writeMany: 'false'
properties:
size:
default: 10Gi
type: string
storageClass:
default: ''
type: string
writeMany:
default: 'false'
type: string
type: object
app_group:
default: dev
examples:
- dev
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
admin-users:
default: woodpecker,admin
examples:
- woodpecker,admin
type: string
domain:
default: your-company
examples:
- your-company
type: string
dependencies: dependencies:
- dist: null - dist: null
category: apps category: apps

View File

@@ -20,7 +20,7 @@ module "ingress" {
labels = local.common-labels labels = local.common-labels
dns_names = local.dns_names dns_names = local.dns_names
middlewares = [] middlewares = []
service = local.service services = [local.service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }

View File

@@ -6,15 +6,35 @@ metadata:
name: alertmanager name: alertmanager
description: null description: null
options: options:
app_group:
default: monitor
examples:
- monitor
type: string
listenLocal:
default: false
examples:
- false
type: boolean
retention:
default: 120h
examples:
- 120h
type: string
replicas:
default: 1
examples:
- 1
type: integer
ingress_class: ingress_class:
default: traefik default: traefik
examples: examples:
- traefik - traefik
type: string type: string
app_group: domain:
default: monitor default: your-company
examples: examples:
- monitor - your-company
type: string type: string
images: images:
default: default:
@@ -55,26 +75,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
retention:
default: 120h
examples:
- 120h
type: string
sub-domain:
default: alertmanager
examples:
- alertmanager
type: string
domain:
default: your-company
examples:
- your-company
type: string
replicas:
default: 1
examples:
- 1
type: integer
logLevel: logLevel:
default: info default: info
examples: examples:
@@ -85,16 +85,16 @@ options:
examples: examples:
- letsencrypt-prod - letsencrypt-prod
type: string type: string
sub-domain:
default: alertmanager
examples:
- alertmanager
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
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
service = local.service services = [local.service]
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -17,4 +17,4 @@ spec:
- "ReadWriteOnce" - "ReadWriteOnce"
resources: resources:
requests: requests:
storage: "10Gi" storage: 10Gi

View File

@@ -10,19 +10,19 @@ options:
default: default:
volume: volume:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 1oGi size: 10Gi
type: Filesystem type: Filesystem
description: Configure this app storage description: Configure this app storage
examples: examples:
- volume: - volume:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 1oGi size: 10Gi
type: Filesystem type: Filesystem
properties: properties:
volume: volume:
default: default:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 1oGi size: 10Gi
type: Filesystem type: Filesystem
properties: properties:
accessMode: accessMode:
@@ -33,7 +33,7 @@ options:
- ReadWriteMany - ReadWriteMany
type: string type: string
size: size:
default: 1oGi default: 10Gi
type: string type: string
type: type:
default: Filesystem default: Filesystem
@@ -43,11 +43,6 @@ options:
type: string type: string
type: object type: object
type: object type: object
alertmanager:
default: alertmanager-alertmanager
examples:
- alertmanager-alertmanager
type: string
images: images:
default: default:
loki: loki:
@@ -87,6 +82,11 @@ options:
type: string type: string
type: object type: object
type: object type: object
alertmanager:
default: alertmanager-alertmanager
examples:
- alertmanager-alertmanager
type: string
dependencies: [] dependencies: []
providers: providers:
kubernetes: true kubernetes: true

View File

@@ -6,35 +6,50 @@ metadata:
name: prometheus name: prometheus
description: null description: null
options: options:
replicas: alertmanager:
default: 1 default: alertmanager-alertmanager
examples: examples:
- 1 - alertmanager-alertmanager
type: integer
logLevel:
default: info
examples:
- info
type: string type: string
listenLocal:
default: false
examples:
- false
type: boolean
domain: domain:
default: your-company default: your-company
examples: examples:
- your-company - your-company
type: string type: string
retention: issuer:
default: 10d default: letsencrypt-prod
examples: examples:
- 10d - letsencrypt-prod
type: string type: string
alertmanager: replicas:
default: alertmanager-alertmanager default: 1
examples: examples:
- alertmanager-alertmanager - 1
type: integer
ingress_class:
default: traefik
examples:
- traefik
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
app_group:
default: monitor
examples:
- monitor
type: string
shards:
default: 1
examples:
- 1
type: integer
sub-domain:
default: prometheus
examples:
- prometheus
type: string type: string
images: images:
default: default:
@@ -75,41 +90,26 @@ options:
type: string type: string
type: object type: object
type: object type: object
logLevel:
default: info
examples:
- info
type: string
enableAdminAPI: enableAdminAPI:
default: false default: false
examples: examples:
- false - false
type: boolean type: boolean
domain_name: retention:
default: your_company.com default: 10d
examples: examples:
- your_company.com - 10d
type: string type: string
sub-domain: listenLocal:
default: prometheus default: false
examples: examples:
- prometheus - false
type: string type: boolean
app_group:
default: monitor
examples:
- monitor
type: string
shards:
default: 1
examples:
- 1
type: integer
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
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
service = local.service services = [local.service]
icon = local.icon icon = local.icon
request_headers = local.request_headers request_headers = local.request_headers
providers = { providers = {

View File

@@ -197,7 +197,7 @@ EOF
module "directus-service" { module "directus-service" {
count = var.extentions.directus.enable ? 1 : 0 count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/service" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service"
component = "directus" component = "directus"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -211,7 +211,7 @@ module "directus-service" {
module "directus-ingress" { module "directus-ingress" {
count = var.extentions.directus.enable ? 1 : 0 count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/ingress" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
component = "directus" component = "directus"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -221,7 +221,7 @@ module "directus-ingress" {
dns_names = [local.directus-dns_name] dns_names = [local.directus-dns_name]
create-redirect = true create-redirect = true
middlewares = [] middlewares = []
service = local.directus-service services = [local.directus-service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -229,7 +229,7 @@ module "directus-ingress" {
module "directus-application" { module "directus-application" {
count = var.extentions.directus.enable ? 1 : 0 count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/application" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application"
component = "directus-${replace(var.sub-domain, ".", "-")}" component = "directus-${replace(var.sub-domain, ".", "-")}"
instance = var.instance instance = var.instance
app_group = var.app_group app_group = var.app_group
@@ -243,7 +243,7 @@ module "directus-application" {
module "directus-oauth2" { module "directus-oauth2" {
count = var.extentions.directus.enable ? 1 : 0 count = var.extentions.directus.enable ? 1 : 0
source = "/dist/modules/oauth2" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//oauth2"
component = "directus-${replace(var.sub-domain, ".", "-")}" component = "directus-${replace(var.sub-domain, ".", "-")}"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace

View File

@@ -6,21 +6,49 @@ metadata:
name: dataset-pg name: dataset-pg
description: null description: null
options: options:
app_group: images:
default: api default:
postgresql:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
examples: examples:
- api - postgresql:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
properties:
postgresql:
default:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
properties:
registry:
default: ghcr.io
type: string type: string
repository:
default: cloudnative-pg/postgresql
type: string
tag:
default: 15.3
type: number
type: object
type: object
databases:
default: []
items:
properties:
name:
default: db
type: string
type: object
type: array
domain: domain:
default: your-company default: your-company
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:
@@ -38,10 +66,98 @@ options:
type: string type: string
type: object type: object
type: object type: object
issuer: postgres:
default: letsencrypt-prod default:
replicas: 1
examples: examples:
- letsencrypt-prod - 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:
default: your_company.com
examples:
- your_company.com
type: string
app_group:
default: api
examples:
- api
type: string type: string
extentions: extentions:
default: default:
@@ -224,126 +340,10 @@ options:
type: object type: object
type: object type: object
type: object type: object
backups: issuer:
default: default: letsencrypt-prod
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:
- enable: false - letsencrypt-prod
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
ingress_class:
default: traefik
examples:
- 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:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
examples:
- postgresql:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
properties:
postgresql:
default:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
properties:
registry:
default: ghcr.io
type: string
repository:
default: cloudnative-pg/postgresql
type: string
tag:
default: 15.3
type: number
type: object
type: object
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 type: string
dependencies: dependencies:
- dist: null - dist: null

View File

@@ -133,7 +133,7 @@ EOF
module "postgrest-service" { module "postgrest-service" {
count = var.extentions.postgrest.enable ? 1 : 0 count = var.extentions.postgrest.enable ? 1 : 0
source = "/dist/modules/service" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service"
component = "postgrest" component = "postgrest"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -147,7 +147,7 @@ module "postgrest-service" {
module "postgrest-ingress" { module "postgrest-ingress" {
count = var.extentions.postgrest.enable ? 1 : 0 count = var.extentions.postgrest.enable ? 1 : 0
source = "/dist/modules/ingress" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
component = "postgrest" component = "postgrest"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -157,7 +157,7 @@ module "postgrest-ingress" {
dns_names = [local.prest-dns_name] dns_names = [local.prest-dns_name]
create-redirect = true create-redirect = true
middlewares = [] middlewares = []
service = local.prest-service services = [local.prest-service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }
@@ -165,7 +165,7 @@ module "postgrest-ingress" {
module "swagger-service" { module "swagger-service" {
count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0 count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0
source = "/dist/modules/service" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service"
component = "swagger" component = "swagger"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -179,7 +179,7 @@ module "swagger-service" {
module "swagger-ingress" { module "swagger-ingress" {
count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0 count = var.extentions.postgrest.enable && var.extentions.postgrest.swagger.enable ? 1 : 0
source = "/dist/modules/ingress" source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
component = "swagger" component = "swagger"
instance = var.instance instance = var.instance
namespace = var.namespace namespace = var.namespace
@@ -191,7 +191,7 @@ module "swagger-ingress" {
create-cert = false create-cert = false
sub-path = "ui" sub-path = "ui"
secret-component = "postgrest" secret-component = "postgrest"
service = local.swagger-service services = [local.swagger-service]
providers = { providers = {
kubectl = kubectl kubectl = kubectl
} }