From 851f9e90a5e2771952a6c1876fa5a97e732b1e8c 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..20c271beeb7 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 resources 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") }}