diff --git a/examples/tolerations.libsonnet b/examples/tolerations.libsonnet
new file mode 100644
index 0000000000000000000000000000000000000000..c717daf9f9e367ed2011c425ce67c023cb0c9883
--- /dev/null
+++ b/examples/tolerations.libsonnet
@@ -0,0 +1,38 @@
+local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
+local statefulSet = k.apps.v1beta2.statefulSet;
+local toleration = statefulSet.mixin.spec.template.spec.tolerationsType;
+
+{
+  _config+:: {
+    tolerations+:: [
+      {
+        key: 'key1',
+        operator: 'Equal',
+        value: 'value1',
+        effect: 'NoSchedule',
+      },
+      {
+        key: 'key2',
+        operator: 'Exists',
+      },
+    ]
+  },
+
+  local withTolerations() = {
+    tolerations: [
+      toleration.new() + (
+      if std.objectHas(t, 'key') then toleration.withKey(t.key) else toleration) + (
+      if std.objectHas(t, 'operator') then toleration.withOperator(t.operator) else toleration) + (
+      if std.objectHas(t, 'value') then toleration.withValue(t.value) else toleration) + (
+      if std.objectHas(t, 'effect') then toleration.withEffect(t.effect) else toleration),
+      for t in $._config.tolerations
+    ],
+  },
+
+  prometheus+: {
+    prometheus+: {
+      spec+:
+        withTolerations(),
+    },
+  },
+}
\ No newline at end of file