From 5e6d11ee63a1c00eab2c48b21ecf73ec925493a9 Mon Sep 17 00:00:00 2001 From: Foad Lind Date: Tue, 7 Jun 2022 15:59:25 +0200 Subject: [PATCH] feat: Make it possible to customize k8s resources Currently there is no way for plugins to customize Kubernetes resources defined in Tutor deployment manifests. This change makes that possible by taking advantage of the strategic merge patching mechanism in `kustomization.yml`. Any resource definition in a `k8s-override` patch in a plugin will override the resource defined by Tutor, provided that their names match. Reference: https://github.com/overhangio/tutor/pull/675 --- CHANGELOG.md | 1 + tutor/templates/k8s/override.yml | 1 + tutor/templates/kustomization.yml | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 tutor/templates/k8s/override.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index ac1e78e7d89..ff1e3f00f47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ Every user-facing change should have an entry in this changelog. Please respect --> ## Unreleased +- [Improvement] Make it possible to override k8s objects in plugins using `k8s-override` patch. (by @foadlind) ## v13.3.1 (2022-06-06) diff --git a/tutor/templates/k8s/override.yml b/tutor/templates/k8s/override.yml new file mode 100644 index 00000000000..5c105154f61 --- /dev/null +++ b/tutor/templates/k8s/override.yml @@ -0,0 +1 @@ +{{ patch("k8s-override") }} diff --git a/tutor/templates/kustomization.yml b/tutor/templates/kustomization.yml index a5a2815299e..1bfb6373a51 100644 --- a/tutor/templates/kustomization.yml +++ b/tutor/templates/kustomization.yml @@ -59,4 +59,8 @@ configMapGenerator: app.kubernetes.io/name: redis {{ patch("kustomization-configmapgenerator") }} +patchesStrategicMerge: +- k8s/override.yml +{{ patch("kustomization-patches-strategic-merge") }} + {{ patch("kustomization") }}