Light K8S Postgres Operator
  • Kotlin 90.8%
  • Makefile 9.2%
Find a file
2026-03-26 13:06:55 +01:00
.github/workflows chore(deps): update renovatebot/github-action action to v46.1.6 2026-03-26 13:06:55 +01:00
charts feat(observability): add readiness & liveness probe (no logic) 2026-03-24 12:46:20 +01:00
gradle feat(obervability): Liveness + Readiness probe (#36) 2026-03-24 12:50:31 +01:00
src fix(pgsql-password): use Base64.URL_ENCODER 2026-03-24 15:12:55 +01:00
.gitattributes init project 2026-03-12 01:10:26 +01:00
.gitignore fix: postgresql subchart values.yaml key 2026-03-19 22:21:46 +01:00
build.gradle.kts feat(observability): add readiness & liveness probe (no logic) 2026-03-24 12:46:20 +01:00
gradle.properties feat(observability): add readiness & liveness probe (no logic) 2026-03-24 12:46:20 +01:00
gradlew chore(deps): update gradle to v9.4.1 2026-03-20 22:27:59 +01:00
gradlew.bat init project 2026-03-12 01:10:26 +01:00
Makefile feat(observability): add readiness & liveness probe (no logic) 2026-03-24 12:46:20 +01:00
README.md feat: chart dependencies + fix values.yaml + rework values.local.yaml 2026-03-19 21:28:52 +01:00
renovate.json chore(config): migrate config renovate.json 2026-03-20 21:25:16 +00:00
settings.gradle.kts init project 2026-03-12 01:10:26 +01:00
TODO.md doc: update TODO.md 2026-03-19 17:49:32 +01:00

k8s-postgres-operator

K8S Operator for postresql database. Write for my personal homelab, open to PR. Does not claim to be complete.

Create database and role. Put credential on secret.

ci+renovate, backups and internal metrics are scheduled

Test strategie unit tests: reconciler logic, mocked K8s client
e2e chainsaw: happy scnario, observable cluster
e2e kotlin: edge cases, resiliency

Dev env

make check-dependencies to ensure docker/kubectl/helm/k3d/java are detected
make init to setup the project
make run to run a k3d cluster with the operator inside. ./local.values.yaml is used.

make stop to stop the k3d cluster
make deploy to re-deploy the build/helm chart
make undeploy to uninstall helm release
make logs to get kunectl log on operator
make status to get pod operator status

make syncHelmVersion to sync the helm image tag with project version
make syncCrds to copy generated crds inside helm chart
make cs-check to run linter (dryrun)
make cs-fix to run linter

KUBECONFIG=$(k3d kubeconfig write light-k8s-postgres-operator-dev) k9s Launch k9s connected to the dev cluster