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 0000000000000000000000000000000000000000..ad2784076d0624b86a191cc8b8a82bb7cace31f9 --- /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, +}