From 253abe0f965e06c5ec79e78cd67c732197c4db4a Mon Sep 17 00:00:00 2001 From: Damien Lespiau <damien@weave.works> Date: Mon, 1 Oct 2018 17:42:07 +0100 Subject: [PATCH] contrib/kube-prometheus: Introduce a withImageRepository mixin This mixin replaces all images prefixes by $repository to generate manifests that will point to an internal registry. --- .../kube-prometheus-config-mixins.libsonnet | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet diff --git a/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet new file mode 100644 index 00000000..ad278407 --- /dev/null +++ b/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet @@ -0,0 +1,20 @@ +local l = import 'lib/lib.libsonnet'; + +// withImageRepository is a mixin that replaces all images prefixes by repository. eg. +// quay.io/coreos/addon-resizer -> $repository/addon-resizer +// grafana/grafana -> grafana $repository/grafana +local withImageRepository(repository) = { + local oldRepos = super._config.imageRepos, + local substituteRepository(image, repository) = + if repository == null then image else repository + '/' + l.imageName(image), + _config+:: { + imageRepos:: { + [field]: substituteRepository(oldRepos[field], repository), + for field in std.objectFields(oldRepos) + } + }, +}; + +{ + withImageRepository:: withImageRepository, +} -- GitLab