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,
+}