fix
This commit is contained in:
@@ -9,6 +9,17 @@ locals {
|
|||||||
"app.kubernetes.io/managed-by" = "vynil"
|
"app.kubernetes.io/managed-by" = "vynil"
|
||||||
"app.kubernetes.io/instance" = var.instance
|
"app.kubernetes.io/instance" = var.instance
|
||||||
}
|
}
|
||||||
|
pvc_spec = merge({
|
||||||
|
"accessModes" = [var.storage.volume.accessMode]
|
||||||
|
"volumeMode" = var.storage.volume.type
|
||||||
|
"resources" = {
|
||||||
|
"requests" = {
|
||||||
|
"storage" = "${var.storage.volume.size}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, var.storage.volume.class != "" ?{
|
||||||
|
"storageClassName" = var.storage.volume.class
|
||||||
|
}:{})
|
||||||
removePatch = <<-EOF
|
removePatch = <<-EOF
|
||||||
- op: remove
|
- op: remove
|
||||||
path: /spec/loadBalancerIP
|
path: /spec/loadBalancerIP
|
||||||
@@ -152,13 +163,7 @@ data "kustomization_overlay" "data" {
|
|||||||
name: gitea-shared-storage
|
name: gitea-shared-storage
|
||||||
annotations:
|
annotations:
|
||||||
k8up.io/backup: "true"
|
k8up.io/backup: "true"
|
||||||
spec:
|
spec: ${jsonencode(local.pvc_spec)}
|
||||||
accessModes:
|
|
||||||
- "${var.storage.volume.accessMode}"
|
|
||||||
volumeMode: Filesystem
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: "${var.storage.volume.size}"
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
patches {
|
patches {
|
||||||
|
|||||||
@@ -9,33 +9,6 @@ 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:
|
||||||
disable-registration:
|
|
||||||
default: true
|
|
||||||
examples:
|
|
||||||
- true
|
|
||||||
type: boolean
|
|
||||||
redis:
|
|
||||||
default:
|
|
||||||
exporter:
|
|
||||||
enabled: true
|
|
||||||
examples:
|
|
||||||
- exporter:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
exporter:
|
|
||||||
default:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
theme:
|
|
||||||
default: gitea-modern
|
|
||||||
examples:
|
|
||||||
- gitea-modern
|
|
||||||
type: string
|
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
postgres:
|
postgres:
|
||||||
@@ -44,6 +17,7 @@ options:
|
|||||||
size: 2Gi
|
size: 2Gi
|
||||||
volume:
|
volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
description: Configure this app storage
|
description: Configure this app storage
|
||||||
@@ -54,6 +28,7 @@ options:
|
|||||||
size: 2Gi
|
size: 2Gi
|
||||||
volume:
|
volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
@@ -76,6 +51,7 @@ options:
|
|||||||
volume:
|
volume:
|
||||||
default:
|
default:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
@@ -86,6 +62,9 @@ options:
|
|||||||
- ReadOnlyMany
|
- ReadOnlyMany
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
type: string
|
type: string
|
||||||
|
class:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
size:
|
size:
|
||||||
default: 10Gi
|
default: 10Gi
|
||||||
type: string
|
type: string
|
||||||
@@ -102,147 +81,33 @@ options:
|
|||||||
examples:
|
examples:
|
||||||
- dev
|
- dev
|
||||||
type: string
|
type: string
|
||||||
postgres:
|
|
||||||
default:
|
|
||||||
replicas: 1
|
|
||||||
examples:
|
|
||||||
- replicas: 1
|
|
||||||
properties:
|
|
||||||
replicas:
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
domain:
|
domain:
|
||||||
default: your-company
|
default: your-company
|
||||||
examples:
|
examples:
|
||||||
- your-company
|
- your-company
|
||||||
type: string
|
type: string
|
||||||
ssh-sub_domain:
|
redis:
|
||||||
default: git
|
default:
|
||||||
|
exporter:
|
||||||
|
enabled: true
|
||||||
examples:
|
examples:
|
||||||
- git
|
- exporter:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
exporter:
|
||||||
|
default:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
default-branch:
|
||||||
|
default: main
|
||||||
|
examples:
|
||||||
|
- main
|
||||||
type: string
|
type: string
|
||||||
backups:
|
|
||||||
default:
|
|
||||||
enable: false
|
|
||||||
endpoint: ''
|
|
||||||
key_id_key: s3-id
|
|
||||||
restic_key: bck-password
|
|
||||||
retention:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
schedule:
|
|
||||||
backup: 10 3 * * *
|
|
||||||
check: 10 5 * * 1
|
|
||||||
db: 10 3 * * *
|
|
||||||
prune: 10 1 * * 0
|
|
||||||
secret_key: s3-secret
|
|
||||||
secret_name: backup-settings
|
|
||||||
use-barman: false
|
|
||||||
examples:
|
|
||||||
- enable: false
|
|
||||||
endpoint: ''
|
|
||||||
key_id_key: s3-id
|
|
||||||
restic_key: bck-password
|
|
||||||
retention:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
schedule:
|
|
||||||
backup: 10 3 * * *
|
|
||||||
check: 10 5 * * 1
|
|
||||||
db: 10 3 * * *
|
|
||||||
prune: 10 1 * * 0
|
|
||||||
secret_key: s3-secret
|
|
||||||
secret_name: backup-settings
|
|
||||||
use-barman: false
|
|
||||||
properties:
|
|
||||||
enable:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
endpoint:
|
|
||||||
default: ''
|
|
||||||
type: string
|
|
||||||
key_id_key:
|
|
||||||
default: s3-id
|
|
||||||
type: string
|
|
||||||
restic_key:
|
|
||||||
default: bck-password
|
|
||||||
type: string
|
|
||||||
retention:
|
|
||||||
default:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
properties:
|
|
||||||
db:
|
|
||||||
default: 30d
|
|
||||||
type: string
|
|
||||||
keepDaily:
|
|
||||||
default: 14
|
|
||||||
type: integer
|
|
||||||
keepMonthly:
|
|
||||||
default: 12
|
|
||||||
type: integer
|
|
||||||
keepWeekly:
|
|
||||||
default: 6
|
|
||||||
type: integer
|
|
||||||
keepYearly:
|
|
||||||
default: 12
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
schedule:
|
|
||||||
default:
|
|
||||||
backup: 10 3 * * *
|
|
||||||
check: 10 5 * * 1
|
|
||||||
db: 10 3 * * *
|
|
||||||
prune: 10 1 * * 0
|
|
||||||
properties:
|
|
||||||
backup:
|
|
||||||
default: 10 3 * * *
|
|
||||||
type: string
|
|
||||||
check:
|
|
||||||
default: 10 5 * * 1
|
|
||||||
type: string
|
|
||||||
db:
|
|
||||||
default: 10 3 * * *
|
|
||||||
type: string
|
|
||||||
prune:
|
|
||||||
default: 10 1 * * 0
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
secret_key:
|
|
||||||
default: s3-secret
|
|
||||||
type: string
|
|
||||||
secret_name:
|
|
||||||
default: backup-settings
|
|
||||||
type: string
|
|
||||||
use-barman:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
admin:
|
|
||||||
default:
|
|
||||||
email: git-admin@git.your_company.com
|
|
||||||
name: gitea_admin
|
|
||||||
examples:
|
|
||||||
- email: git-admin@git.your_company.com
|
|
||||||
name: gitea_admin
|
|
||||||
properties:
|
|
||||||
email:
|
|
||||||
default: git-admin@git.your_company.com
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
default: gitea_admin
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
webhook:
|
webhook:
|
||||||
default:
|
default:
|
||||||
allowed-hosts: private
|
allowed-hosts: private
|
||||||
@@ -258,25 +123,45 @@ options:
|
|||||||
default: false
|
default: false
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
release:
|
ingress_class:
|
||||||
default: 8.3.0
|
default: traefik
|
||||||
examples:
|
examples:
|
||||||
- 8.3.0
|
- traefik
|
||||||
|
type: string
|
||||||
|
postgres:
|
||||||
|
default:
|
||||||
|
replicas: 1
|
||||||
|
examples:
|
||||||
|
- replicas: 1
|
||||||
|
properties:
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
ssh-sub_domain:
|
||||||
|
default: git
|
||||||
|
examples:
|
||||||
|
- git
|
||||||
|
type: string
|
||||||
|
theme:
|
||||||
|
default: gitea-modern
|
||||||
|
examples:
|
||||||
|
- gitea-modern
|
||||||
|
type: string
|
||||||
|
timezone:
|
||||||
|
default: Europe/Paris
|
||||||
|
examples:
|
||||||
|
- Europe/Paris
|
||||||
type: string
|
type: string
|
||||||
ssh-port:
|
ssh-port:
|
||||||
default: 2222
|
default: 2222
|
||||||
examples:
|
examples:
|
||||||
- 2222
|
- 2222
|
||||||
type: integer
|
type: integer
|
||||||
replicas:
|
sub_domain:
|
||||||
default: 1
|
default: git
|
||||||
examples:
|
examples:
|
||||||
- 1
|
- git
|
||||||
type: integer
|
|
||||||
default-branch:
|
|
||||||
default: main
|
|
||||||
examples:
|
|
||||||
- main
|
|
||||||
type: string
|
type: string
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
@@ -414,6 +299,16 @@ options:
|
|||||||
examples:
|
examples:
|
||||||
- your_company.com
|
- your_company.com
|
||||||
type: string
|
type: string
|
||||||
|
disable-registration:
|
||||||
|
default: true
|
||||||
|
examples:
|
||||||
|
- true
|
||||||
|
type: boolean
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
examples:
|
||||||
|
- 1
|
||||||
|
type: integer
|
||||||
load-balancer:
|
load-balancer:
|
||||||
default:
|
default:
|
||||||
ip: ''
|
ip: ''
|
||||||
@@ -424,21 +319,11 @@ options:
|
|||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
sub_domain:
|
|
||||||
default: git
|
|
||||||
examples:
|
|
||||||
- git
|
|
||||||
type: string
|
|
||||||
issuer:
|
issuer:
|
||||||
default: letsencrypt-prod
|
default: letsencrypt-prod
|
||||||
examples:
|
examples:
|
||||||
- letsencrypt-prod
|
- letsencrypt-prod
|
||||||
type: string
|
type: string
|
||||||
ingress_class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
push-create:
|
push-create:
|
||||||
default:
|
default:
|
||||||
org: 'true'
|
org: 'true'
|
||||||
@@ -459,10 +344,131 @@ options:
|
|||||||
default: 'true'
|
default: 'true'
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
timezone:
|
admin:
|
||||||
default: Europe/Paris
|
default:
|
||||||
|
email: git-admin@git.your_company.com
|
||||||
|
name: gitea_admin
|
||||||
examples:
|
examples:
|
||||||
- Europe/Paris
|
- email: git-admin@git.your_company.com
|
||||||
|
name: gitea_admin
|
||||||
|
properties:
|
||||||
|
email:
|
||||||
|
default: git-admin@git.your_company.com
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: gitea_admin
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
backups:
|
||||||
|
default:
|
||||||
|
enable: false
|
||||||
|
endpoint: ''
|
||||||
|
key_id_key: s3-id
|
||||||
|
restic_key: bck-password
|
||||||
|
retention:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
schedule:
|
||||||
|
backup: 10 3 * * *
|
||||||
|
check: 10 5 * * 1
|
||||||
|
db: 10 3 * * *
|
||||||
|
prune: 10 1 * * 0
|
||||||
|
secret_key: s3-secret
|
||||||
|
secret_name: backup-settings
|
||||||
|
use_barman: false
|
||||||
|
examples:
|
||||||
|
- enable: false
|
||||||
|
endpoint: ''
|
||||||
|
key_id_key: s3-id
|
||||||
|
restic_key: bck-password
|
||||||
|
retention:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
schedule:
|
||||||
|
backup: 10 3 * * *
|
||||||
|
check: 10 5 * * 1
|
||||||
|
db: 10 3 * * *
|
||||||
|
prune: 10 1 * * 0
|
||||||
|
secret_key: s3-secret
|
||||||
|
secret_name: backup-settings
|
||||||
|
use_barman: false
|
||||||
|
properties:
|
||||||
|
enable:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
endpoint:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
key_id_key:
|
||||||
|
default: s3-id
|
||||||
|
type: string
|
||||||
|
restic_key:
|
||||||
|
default: bck-password
|
||||||
|
type: string
|
||||||
|
retention:
|
||||||
|
default:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
properties:
|
||||||
|
db:
|
||||||
|
default: 30d
|
||||||
|
type: string
|
||||||
|
keepDaily:
|
||||||
|
default: 14
|
||||||
|
type: integer
|
||||||
|
keepMonthly:
|
||||||
|
default: 12
|
||||||
|
type: integer
|
||||||
|
keepWeekly:
|
||||||
|
default: 6
|
||||||
|
type: integer
|
||||||
|
keepYearly:
|
||||||
|
default: 12
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
schedule:
|
||||||
|
default:
|
||||||
|
backup: 10 3 * * *
|
||||||
|
check: 10 5 * * 1
|
||||||
|
db: 10 3 * * *
|
||||||
|
prune: 10 1 * * 0
|
||||||
|
properties:
|
||||||
|
backup:
|
||||||
|
default: 10 3 * * *
|
||||||
|
type: string
|
||||||
|
check:
|
||||||
|
default: 10 5 * * 1
|
||||||
|
type: string
|
||||||
|
db:
|
||||||
|
default: 10 3 * * *
|
||||||
|
type: string
|
||||||
|
prune:
|
||||||
|
default: 10 1 * * 0
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
secret_key:
|
||||||
|
default: s3-secret
|
||||||
|
type: string
|
||||||
|
secret_name:
|
||||||
|
default: backup-settings
|
||||||
|
type: string
|
||||||
|
use_barman:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
release:
|
||||||
|
default: 8.3.0
|
||||||
|
examples:
|
||||||
|
- 8.3.0
|
||||||
type: string
|
type: string
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
|
|||||||
@@ -10,6 +10,17 @@ locals {
|
|||||||
"app.kubernetes.io/name" = var.component
|
"app.kubernetes.io/name" = var.component
|
||||||
"app.kubernetes.io/instance" = var.instance
|
"app.kubernetes.io/instance" = var.instance
|
||||||
}
|
}
|
||||||
|
pvc_spec = merge({
|
||||||
|
"accessModes" = [var.storage.volume.accessMode]
|
||||||
|
"volumeMode" = var.storage.volume.type
|
||||||
|
"resources" = {
|
||||||
|
"requests" = {
|
||||||
|
"storage" = "${var.storage.volume.size}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, var.storage.volume.class != "" ?{
|
||||||
|
"storageClassName" = var.storage.volume.class
|
||||||
|
}:{})
|
||||||
nextcloud-labels = merge(local.common-labels, {
|
nextcloud-labels = merge(local.common-labels, {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -180,12 +191,7 @@ data "kustomization_overlay" "data" {
|
|||||||
name: nextcloud-nextcloud
|
name: nextcloud-nextcloud
|
||||||
annotations:
|
annotations:
|
||||||
k8up.io/backup: "true"
|
k8up.io/backup: "true"
|
||||||
spec:
|
spec: ${jsonencode(local.pvc_spec)}
|
||||||
accessModes:
|
|
||||||
- "${var.storage.volume.accessMode}"
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: "${var.storage.volume.size}"
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
patches {
|
patches {
|
||||||
@@ -204,18 +210,4 @@ data "kustomization_overlay" "data" {
|
|||||||
targetCPUUtilizationPercentage: ${var.hpa.avg-cpu}
|
targetCPUUtilizationPercentage: ${var.hpa.avg-cpu}
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
patches {
|
|
||||||
target {
|
|
||||||
kind = "PersistentVolumeClaim"
|
|
||||||
name = "nextcloud-nextcloud"
|
|
||||||
}
|
|
||||||
patch = <<-EOF
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: nextcloud-nextcloud
|
|
||||||
annotations:
|
|
||||||
k8up.io/backup: "true"
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,154 @@ metadata:
|
|||||||
name: nextcloud
|
name: nextcloud
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
|
redis:
|
||||||
|
default:
|
||||||
|
exporter:
|
||||||
|
enabled: true
|
||||||
|
examples:
|
||||||
|
- exporter:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
exporter:
|
||||||
|
default:
|
||||||
|
enabled: true
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
backups:
|
||||||
|
default:
|
||||||
|
enable: false
|
||||||
|
endpoint: ''
|
||||||
|
key_id_key: s3-id
|
||||||
|
restic_key: bck-password
|
||||||
|
retention:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
schedule:
|
||||||
|
backup: 30 3 * * *
|
||||||
|
check: 30 5 * * 1
|
||||||
|
db: 30 3 * * *
|
||||||
|
prune: 30 1 * * 0
|
||||||
|
secret_key: s3-secret
|
||||||
|
secret_name: backup-settings
|
||||||
|
use_barman: false
|
||||||
|
examples:
|
||||||
|
- enable: false
|
||||||
|
endpoint: ''
|
||||||
|
key_id_key: s3-id
|
||||||
|
restic_key: bck-password
|
||||||
|
retention:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
schedule:
|
||||||
|
backup: 30 3 * * *
|
||||||
|
check: 30 5 * * 1
|
||||||
|
db: 30 3 * * *
|
||||||
|
prune: 30 1 * * 0
|
||||||
|
secret_key: s3-secret
|
||||||
|
secret_name: backup-settings
|
||||||
|
use_barman: false
|
||||||
|
properties:
|
||||||
|
enable:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
endpoint:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
key_id_key:
|
||||||
|
default: s3-id
|
||||||
|
type: string
|
||||||
|
restic_key:
|
||||||
|
default: bck-password
|
||||||
|
type: string
|
||||||
|
retention:
|
||||||
|
default:
|
||||||
|
db: 30d
|
||||||
|
keepDaily: 14
|
||||||
|
keepMonthly: 12
|
||||||
|
keepWeekly: 6
|
||||||
|
keepYearly: 12
|
||||||
|
properties:
|
||||||
|
db:
|
||||||
|
default: 30d
|
||||||
|
type: string
|
||||||
|
keepDaily:
|
||||||
|
default: 14
|
||||||
|
type: integer
|
||||||
|
keepMonthly:
|
||||||
|
default: 12
|
||||||
|
type: integer
|
||||||
|
keepWeekly:
|
||||||
|
default: 6
|
||||||
|
type: integer
|
||||||
|
keepYearly:
|
||||||
|
default: 12
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
schedule:
|
||||||
|
default:
|
||||||
|
backup: 30 3 * * *
|
||||||
|
check: 30 5 * * 1
|
||||||
|
db: 30 3 * * *
|
||||||
|
prune: 30 1 * * 0
|
||||||
|
properties:
|
||||||
|
backup:
|
||||||
|
default: 30 3 * * *
|
||||||
|
type: string
|
||||||
|
check:
|
||||||
|
default: 30 5 * * 1
|
||||||
|
type: string
|
||||||
|
db:
|
||||||
|
default: 30 3 * * *
|
||||||
|
type: string
|
||||||
|
prune:
|
||||||
|
default: 30 1 * * 0
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
secret_key:
|
||||||
|
default: s3-secret
|
||||||
|
type: string
|
||||||
|
secret_name:
|
||||||
|
default: backup-settings
|
||||||
|
type: string
|
||||||
|
use_barman:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
openid-name:
|
||||||
|
default: vynil
|
||||||
|
examples:
|
||||||
|
- vynil
|
||||||
|
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
|
||||||
|
ingress_class:
|
||||||
|
default: traefik
|
||||||
|
examples:
|
||||||
|
- traefik
|
||||||
|
type: string
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
collabora:
|
collabora:
|
||||||
@@ -261,137 +409,31 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
openid-name:
|
issuer:
|
||||||
default: vynil
|
default: letsencrypt-prod
|
||||||
examples:
|
examples:
|
||||||
- vynil
|
- letsencrypt-prod
|
||||||
type: string
|
type: string
|
||||||
postgres:
|
hpa:
|
||||||
default:
|
default:
|
||||||
replicas: 1
|
avg-cpu: 50
|
||||||
|
max-replicas: 5
|
||||||
|
min-replicas: 1
|
||||||
examples:
|
examples:
|
||||||
- replicas: 1
|
- avg-cpu: 50
|
||||||
|
max-replicas: 5
|
||||||
|
min-replicas: 1
|
||||||
properties:
|
properties:
|
||||||
replicas:
|
avg-cpu:
|
||||||
|
default: 50
|
||||||
|
type: integer
|
||||||
|
max-replicas:
|
||||||
|
default: 5
|
||||||
|
type: integer
|
||||||
|
min-replicas:
|
||||||
default: 1
|
default: 1
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
sub_domain:
|
|
||||||
default: files
|
|
||||||
examples:
|
|
||||||
- files
|
|
||||||
type: string
|
|
||||||
ingress_class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
backups:
|
|
||||||
default:
|
|
||||||
enable: false
|
|
||||||
endpoint: ''
|
|
||||||
key_id_key: s3-id
|
|
||||||
restic_key: bck-password
|
|
||||||
retention:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
schedule:
|
|
||||||
backup: 30 3 * * *
|
|
||||||
check: 30 5 * * 1
|
|
||||||
db: 30 3 * * *
|
|
||||||
prune: 30 1 * * 0
|
|
||||||
secret_key: s3-secret
|
|
||||||
secret_name: backup-settings
|
|
||||||
use_barman: false
|
|
||||||
examples:
|
|
||||||
- enable: false
|
|
||||||
endpoint: ''
|
|
||||||
key_id_key: s3-id
|
|
||||||
restic_key: bck-password
|
|
||||||
retention:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
schedule:
|
|
||||||
backup: 30 3 * * *
|
|
||||||
check: 30 5 * * 1
|
|
||||||
db: 30 3 * * *
|
|
||||||
prune: 30 1 * * 0
|
|
||||||
secret_key: s3-secret
|
|
||||||
secret_name: backup-settings
|
|
||||||
use_barman: false
|
|
||||||
properties:
|
|
||||||
enable:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
endpoint:
|
|
||||||
default: ''
|
|
||||||
type: string
|
|
||||||
key_id_key:
|
|
||||||
default: s3-id
|
|
||||||
type: string
|
|
||||||
restic_key:
|
|
||||||
default: bck-password
|
|
||||||
type: string
|
|
||||||
retention:
|
|
||||||
default:
|
|
||||||
db: 30d
|
|
||||||
keepDaily: 14
|
|
||||||
keepMonthly: 12
|
|
||||||
keepWeekly: 6
|
|
||||||
keepYearly: 12
|
|
||||||
properties:
|
|
||||||
db:
|
|
||||||
default: 30d
|
|
||||||
type: string
|
|
||||||
keepDaily:
|
|
||||||
default: 14
|
|
||||||
type: integer
|
|
||||||
keepMonthly:
|
|
||||||
default: 12
|
|
||||||
type: integer
|
|
||||||
keepWeekly:
|
|
||||||
default: 6
|
|
||||||
type: integer
|
|
||||||
keepYearly:
|
|
||||||
default: 12
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
schedule:
|
|
||||||
default:
|
|
||||||
backup: 30 3 * * *
|
|
||||||
check: 30 5 * * 1
|
|
||||||
db: 30 3 * * *
|
|
||||||
prune: 30 1 * * 0
|
|
||||||
properties:
|
|
||||||
backup:
|
|
||||||
default: 30 3 * * *
|
|
||||||
type: string
|
|
||||||
check:
|
|
||||||
default: 30 5 * * 1
|
|
||||||
type: string
|
|
||||||
db:
|
|
||||||
default: 30 3 * * *
|
|
||||||
type: string
|
|
||||||
prune:
|
|
||||||
default: 30 1 * * 0
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
secret_key:
|
|
||||||
default: s3-secret
|
|
||||||
type: string
|
|
||||||
secret_name:
|
|
||||||
default: backup-settings
|
|
||||||
type: string
|
|
||||||
use_barman:
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
postgres:
|
postgres:
|
||||||
@@ -400,6 +442,7 @@ options:
|
|||||||
size: 2Gi
|
size: 2Gi
|
||||||
volume:
|
volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
description: Configure this app storage
|
description: Configure this app storage
|
||||||
@@ -410,6 +453,7 @@ options:
|
|||||||
size: 2Gi
|
size: 2Gi
|
||||||
volume:
|
volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
@@ -432,6 +476,7 @@ options:
|
|||||||
volume:
|
volume:
|
||||||
default:
|
default:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
@@ -442,84 +487,22 @@ options:
|
|||||||
- ReadOnlyMany
|
- ReadOnlyMany
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
type: string
|
type: string
|
||||||
|
class:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
size:
|
size:
|
||||||
default: 10Gi
|
default: 10Gi
|
||||||
type: string
|
type: string
|
||||||
type:
|
type:
|
||||||
default: Filesystem
|
default: Filesystem
|
||||||
enum:
|
|
||||||
- Filesystem
|
|
||||||
- Block
|
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
redis:
|
|
||||||
default:
|
|
||||||
exporter:
|
|
||||||
enabled: true
|
|
||||||
examples:
|
|
||||||
- exporter:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
exporter:
|
|
||||||
default:
|
|
||||||
enabled: true
|
|
||||||
properties:
|
|
||||||
enabled:
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
admin:
|
|
||||||
default:
|
|
||||||
name: nextcloud_admin
|
|
||||||
examples:
|
|
||||||
- name: nextcloud_admin
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
default: nextcloud_admin
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
app_group:
|
app_group:
|
||||||
default: ''
|
default: ''
|
||||||
examples:
|
examples:
|
||||||
- ''
|
- ''
|
||||||
type: string
|
type: string
|
||||||
hpa:
|
|
||||||
default:
|
|
||||||
avg-cpu: 50
|
|
||||||
max-replicas: 5
|
|
||||||
min-replicas: 1
|
|
||||||
examples:
|
|
||||||
- avg-cpu: 50
|
|
||||||
max-replicas: 5
|
|
||||||
min-replicas: 1
|
|
||||||
properties:
|
|
||||||
avg-cpu:
|
|
||||||
default: 50
|
|
||||||
type: integer
|
|
||||||
max-replicas:
|
|
||||||
default: 5
|
|
||||||
type: integer
|
|
||||||
min-replicas:
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
type: object
|
|
||||||
issuer:
|
|
||||||
default: letsencrypt-prod
|
|
||||||
examples:
|
|
||||||
- letsencrypt-prod
|
|
||||||
type: string
|
|
||||||
domain_name:
|
|
||||||
default: your_company.com
|
|
||||||
examples:
|
|
||||||
- your_company.com
|
|
||||||
type: string
|
|
||||||
domain:
|
|
||||||
default: your-company
|
|
||||||
examples:
|
|
||||||
- your-company
|
|
||||||
type: string
|
|
||||||
apps:
|
apps:
|
||||||
default:
|
default:
|
||||||
audioplayer: false
|
audioplayer: false
|
||||||
@@ -610,6 +593,26 @@ options:
|
|||||||
default: true
|
default: true
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
domain:
|
||||||
|
default: your-company
|
||||||
|
examples:
|
||||||
|
- your-company
|
||||||
|
type: string
|
||||||
|
sub_domain:
|
||||||
|
default: files
|
||||||
|
examples:
|
||||||
|
- files
|
||||||
|
type: string
|
||||||
|
postgres:
|
||||||
|
default:
|
||||||
|
replicas: 1
|
||||||
|
examples:
|
||||||
|
- replicas: 1
|
||||||
|
properties:
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
dependencies:
|
dependencies:
|
||||||
- dist: null
|
- dist: null
|
||||||
category: share
|
category: share
|
||||||
|
|||||||
@@ -9,8 +9,20 @@ locals {
|
|||||||
"app.kubernetes.io/managed-by" = "vynil"
|
"app.kubernetes.io/managed-by" = "vynil"
|
||||||
"app.kubernetes.io/instance" = var.instance
|
"app.kubernetes.io/instance" = var.instance
|
||||||
}
|
}
|
||||||
|
pvc_spec = merge({
|
||||||
|
"accessModes" = [var.storage.volume.accessMode]
|
||||||
|
"volumeMode" = var.storage.volume.type
|
||||||
|
"resources" = {
|
||||||
|
"requests" = {
|
||||||
|
"storage" = "${var.storage.volume.size}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, var.storage.volume.class != "" ?{
|
||||||
|
"storageClassName" = var.storage.volume.class
|
||||||
|
}:{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
data "kubernetes_secret_v1" "authentik" {
|
data "kubernetes_secret_v1" "authentik" {
|
||||||
metadata {
|
metadata {
|
||||||
name = "authentik"
|
name = "authentik"
|
||||||
@@ -56,13 +68,7 @@ data "kustomization_overlay" "data" {
|
|||||||
name: grafana
|
name: grafana
|
||||||
annotations:
|
annotations:
|
||||||
k8up.io/backup: "true"
|
k8up.io/backup: "true"
|
||||||
spec:
|
spec: ${jsonencode(local.pvc_spec)}
|
||||||
accessModes:
|
|
||||||
- "${var.storage.volume.accessMode}"
|
|
||||||
volumeMode: Filesystem
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: "${var.storage.volume.size}"
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
patches {
|
patches {
|
||||||
|
|||||||
@@ -6,11 +6,84 @@ metadata:
|
|||||||
name: grafana
|
name: grafana
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
|
storage:
|
||||||
|
default:
|
||||||
|
volume:
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
|
size: 10Gi
|
||||||
|
type: Filesystem
|
||||||
|
description: Configure this app storage
|
||||||
|
examples:
|
||||||
|
- volume:
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
|
size: 10Gi
|
||||||
|
type: Filesystem
|
||||||
|
properties:
|
||||||
|
volume:
|
||||||
|
default:
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
|
size: 10Gi
|
||||||
|
type: Filesystem
|
||||||
|
properties:
|
||||||
|
accessMode:
|
||||||
|
default: ReadWriteOnce
|
||||||
|
enum:
|
||||||
|
- ReadWriteOnce
|
||||||
|
- ReadOnlyMany
|
||||||
|
- ReadWriteMany
|
||||||
|
type: string
|
||||||
|
class:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
|
size:
|
||||||
|
default: 10Gi
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
default: Filesystem
|
||||||
|
enum:
|
||||||
|
- Filesystem
|
||||||
|
- Block
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
ingress_class:
|
||||||
|
default: traefik
|
||||||
|
examples:
|
||||||
|
- traefik
|
||||||
|
type: string
|
||||||
|
sub_domain:
|
||||||
|
default: grafana
|
||||||
|
examples:
|
||||||
|
- grafana
|
||||||
|
type: string
|
||||||
|
issuer:
|
||||||
|
default: letsencrypt-prod
|
||||||
|
examples:
|
||||||
|
- letsencrypt-prod
|
||||||
|
type: string
|
||||||
domain:
|
domain:
|
||||||
default: your-company
|
default: your-company
|
||||||
examples:
|
examples:
|
||||||
- your-company
|
- your-company
|
||||||
type: string
|
type: string
|
||||||
|
domain_name:
|
||||||
|
default: your_company.com
|
||||||
|
examples:
|
||||||
|
- your_company.com
|
||||||
|
type: string
|
||||||
|
app_group:
|
||||||
|
default: monitor
|
||||||
|
examples:
|
||||||
|
- monitor
|
||||||
|
type: string
|
||||||
|
admin_name:
|
||||||
|
default: grafana_admin
|
||||||
|
examples:
|
||||||
|
- grafana_admin
|
||||||
|
type: string
|
||||||
images:
|
images:
|
||||||
default:
|
default:
|
||||||
busybox:
|
busybox:
|
||||||
@@ -108,73 +181,6 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
issuer:
|
|
||||||
default: letsencrypt-prod
|
|
||||||
examples:
|
|
||||||
- letsencrypt-prod
|
|
||||||
type: string
|
|
||||||
sub_domain:
|
|
||||||
default: grafana
|
|
||||||
examples:
|
|
||||||
- grafana
|
|
||||||
type: string
|
|
||||||
storage:
|
|
||||||
default:
|
|
||||||
volume:
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
type: Filesystem
|
|
||||||
description: Configure this app storage
|
|
||||||
examples:
|
|
||||||
- volume:
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
type: Filesystem
|
|
||||||
properties:
|
|
||||||
volume:
|
|
||||||
default:
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
type: Filesystem
|
|
||||||
properties:
|
|
||||||
accessMode:
|
|
||||||
default: ReadWriteOnce
|
|
||||||
enum:
|
|
||||||
- ReadWriteOnce
|
|
||||||
- ReadOnlyMany
|
|
||||||
- ReadWriteMany
|
|
||||||
type: string
|
|
||||||
size:
|
|
||||||
default: 10Gi
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
default: Filesystem
|
|
||||||
enum:
|
|
||||||
- Filesystem
|
|
||||||
- Block
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: object
|
|
||||||
app_group:
|
|
||||||
default: monitor
|
|
||||||
examples:
|
|
||||||
- monitor
|
|
||||||
type: string
|
|
||||||
domain_name:
|
|
||||||
default: your_company.com
|
|
||||||
examples:
|
|
||||||
- your_company.com
|
|
||||||
type: string
|
|
||||||
admin_name:
|
|
||||||
default: grafana_admin
|
|
||||||
examples:
|
|
||||||
- grafana_admin
|
|
||||||
type: string
|
|
||||||
ingress_class:
|
|
||||||
default: traefik
|
|
||||||
examples:
|
|
||||||
- traefik
|
|
||||||
type: string
|
|
||||||
dependencies: []
|
dependencies: []
|
||||||
providers:
|
providers:
|
||||||
kubernetes: true
|
kubernetes: true
|
||||||
|
|||||||
@@ -7,6 +7,17 @@ locals {
|
|||||||
"app.kubernetes.io/managed-by" = "vynil"
|
"app.kubernetes.io/managed-by" = "vynil"
|
||||||
"app.kubernetes.io/instance" = var.instance
|
"app.kubernetes.io/instance" = var.instance
|
||||||
}
|
}
|
||||||
|
pvc_spec = merge({
|
||||||
|
"accessModes" = [var.storage.volume.accessMode]
|
||||||
|
"volumeMode" = var.storage.volume.type
|
||||||
|
"resources" = {
|
||||||
|
"requests" = {
|
||||||
|
"storage" = "${var.storage.volume.size}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, var.storage.volume.class != "" ?{
|
||||||
|
"storageClassName" = var.storage.volume.class
|
||||||
|
}:{})
|
||||||
rb-patch = <<-EOF
|
rb-patch = <<-EOF
|
||||||
- op: replace
|
- op: replace
|
||||||
path: /subjects/0/namespace
|
path: /subjects/0/namespace
|
||||||
@@ -58,13 +69,7 @@ data "kustomization_overlay" "data" {
|
|||||||
name: storage
|
name: storage
|
||||||
annotations:
|
annotations:
|
||||||
k8up.io/backup: "true"
|
k8up.io/backup: "true"
|
||||||
spec:
|
spec: ${jsonencode(local.pvc_spec)}
|
||||||
accessModes:
|
|
||||||
- "${var.storage.volume.accessMode}"
|
|
||||||
volumeMode: Filesystem
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: "${var.storage.volume.size}"
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,18 +10,21 @@ options:
|
|||||||
default:
|
default:
|
||||||
volume:
|
volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
description: Configure this app storage
|
description: Configure this app storage
|
||||||
examples:
|
examples:
|
||||||
- volume:
|
- volume:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
volume:
|
volume:
|
||||||
default:
|
default:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
|
class: ''
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
type: Filesystem
|
type: Filesystem
|
||||||
properties:
|
properties:
|
||||||
@@ -32,6 +35,9 @@ options:
|
|||||||
- ReadOnlyMany
|
- ReadOnlyMany
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
type: string
|
type: string
|
||||||
|
class:
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
size:
|
size:
|
||||||
default: 10Gi
|
default: 10Gi
|
||||||
type: string
|
type: string
|
||||||
|
|||||||
Reference in New Issue
Block a user