From 283d34b882e6bfc0f62abfd4b1c1ac113175e4ed Mon Sep 17 00:00:00 2001
From: Vincent Brouillet <vincentbrouillet@nbnco.com.au>
Date: Fri, 9 Nov 2018 12:14:19 +1100
Subject: [PATCH] add example for kube-aws

---
 README.md                                      |  8 ++++++++
 examples/jsonnet-snippets/kube-aws.jsonnet     |  2 ++
 .../kube-prometheus-kube-aws.libsonnet         | 18 ++++++++++++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 examples/jsonnet-snippets/kube-aws.jsonnet
 create mode 100644 jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet

diff --git a/README.md b/README.md
index 04c7eb86..b8f69a8b 100644
--- a/README.md
+++ b/README.md
@@ -367,6 +367,14 @@ kubespray:
 (import 'kube-prometheus/kube-prometheus-kubespray.libsonnet')
 ```
 
+kube-aws:
+
+[embedmd]:# (examples/jsonnet-snippets/kube-aws.jsonnet)
+```jsonnet
+(import 'kube-prometheus/kube-prometheus.libsonnet') +
+(import 'kube-prometheus/kube-prometheus-kube-aws.libsonnet')
+```
+
 ### Internal Registry
 
 Some Kubernetes installations source all their images from an internal registry. kube-prometheus supports this use case and helps the user synchronize every image it uses to the internal registry and generate manifests pointing at the internal registry.
diff --git a/examples/jsonnet-snippets/kube-aws.jsonnet b/examples/jsonnet-snippets/kube-aws.jsonnet
new file mode 100644
index 00000000..b0842eb2
--- /dev/null
+++ b/examples/jsonnet-snippets/kube-aws.jsonnet
@@ -0,0 +1,2 @@
+(import 'kube-prometheus/kube-prometheus.libsonnet') +
+(import 'kube-prometheus/kube-prometheus-kube-aws.libsonnet')
diff --git a/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet
new file mode 100644
index 00000000..8a69d215
--- /dev/null
+++ b/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet
@@ -0,0 +1,18 @@
+local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
+local service = k.core.v1.service;
+local servicePort = k.core.v1.service.mixin.spec.portsType;
+
+{
+  prometheus+: {
+    kubeControllerManagerPrometheusDiscoveryService:
+      service.new('kube-controller-manager-prometheus-discovery', { 'k8s-app': 'kube-controller-manager' }, servicePort.newNamed('http-metrics', 10252, 10252)) +
+      service.mixin.metadata.withNamespace('kube-system') +
+      service.mixin.metadata.withLabels({ 'k8s-app': 'kube-controller-manager' }) +
+      service.mixin.spec.withClusterIp('None'),
+    kubeSchedulerPrometheusDiscoveryService:
+      service.new('kube-scheduler-prometheus-discovery', { 'k8s-app': 'kube-scheduler' }, servicePort.newNamed('http-metrics', 10251, 10251)) +
+      service.mixin.metadata.withNamespace('kube-system') +
+      service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) +
+      service.mixin.spec.withClusterIp('None'),
+  },
+}
-- 
GitLab