This commit is contained in:
2024-01-26 09:12:40 +01:00
parent 24f6e33d21
commit db07be70a0
14 changed files with 974 additions and 643 deletions

View File

@@ -16,6 +16,9 @@ locals {
pg_username = data.kubernetes_secret_v1.postgresql_password.data["username"]
pg_password = data.kubernetes_secret_v1.postgresql_password.data["password"]
pg_host = "${var.instance}-${var.component}-rw.${var.namespace}.svc"
pg-username = pg_username
pg-password = pg_password
pg-host = pg_host
sorted-db-name = reverse(distinct(sort([
for db in var.databases: db.name

View File

@@ -60,36 +60,26 @@ options:
default: backup-settings
type: string
type: object
domain:
default: your-company
postgres:
default:
replicas: 1
examples:
- your-company
type: string
sub_domain:
default: dataset-pg
- replicas: 1
properties:
replicas:
default: 1
type: integer
type: object
issuer:
default: letsencrypt-prod
examples:
- dataset-pg
- letsencrypt-prod
type: string
app_group:
default: api
examples:
- api
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
storage:
default: 8Gi
examples:
- 8Gi
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
databases:
default: []
items:
@@ -99,6 +89,11 @@ options:
type: string
type: object
type: array
sub_domain:
default: dataset-pg
examples:
- dataset-pg
type: string
roles:
default: []
items:
@@ -108,6 +103,28 @@ options:
type: string
type: object
type: array
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
storage:
default:
postgres:
size: 10Gi
examples:
- postgres:
size: 10Gi
properties:
postgres:
default:
size: 10Gi
properties:
size:
default: 10Gi
type: string
type: object
type: object
extentions:
default:
directus:
@@ -289,16 +306,45 @@ options:
type: object
type: object
type: object
issuer:
default: letsencrypt-prod
images:
default:
postgresql:
registry: ghcr.io
repository: cloudnative-pg/postgresql
tag: 15.3
examples:
- letsencrypt-prod
- 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
ingress_class:
default: traefik
examples:
- traefik
type: string
replicas:
default: 1
domain:
default: your-company
examples:
- 1
type: integer
- your-company
type: string
dependencies:
- dist: null
category: dbo

View File

@@ -17,9 +17,10 @@ resource "kubectl_manifest" "prj_pg" {
namespace: "${var.namespace}"
labels: ${jsonencode(local.pg-labels)}
spec:
instances: ${var.replicas}
instances: ${var.postgres.replicas}
imageName: "${var.images.postgresql.registry}/${var.images.postgresql.repository}:${var.images.postgresql.tag}"
storage:
size: "${var.storage}"
size: "${var.storage.postgres.size}"
monitoring:
enablePodMonitor: true
bootstrap: