summary refs log tree commit diff
path: root/nixos/modules/services/cluster/kubernetes/dashboard.nix
diff options
context:
space:
mode:
authorMatej Cotman <cotman.matej@gmail.com>2017-04-26 22:44:38 +0200
committerRobin Gloster <mail@glob.in>2017-09-24 11:44:25 +0200
commited322f42357e1822560fd1fd80f56a9fbf89a672 (patch)
treea0410b0200ac1ed67ca0991802add40f0c741e35 /nixos/modules/services/cluster/kubernetes/dashboard.nix
parent7332179285dca99c7bcc76c7a97e74583f782f2c (diff)
downloadnixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar.gz
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar.bz2
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar.lz
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar.xz
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.tar.zst
nixlib-ed322f42357e1822560fd1fd80f56a9fbf89a672.zip
kubernetes: update service
Diffstat (limited to 'nixos/modules/services/cluster/kubernetes/dashboard.nix')
-rw-r--r--nixos/modules/services/cluster/kubernetes/dashboard.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/dashboard.nix
new file mode 100644
index 000000000000..337c2634a374
--- /dev/null
+++ b/nixos/modules/services/cluster/kubernetes/dashboard.nix
@@ -0,0 +1,85 @@
+{ cfg }: {
+    "dashboard-controller" = {
+        "apiVersion" = "extensions/v1beta1";
+        "kind" = "Deployment";
+        "metadata" = {
+            "labels" = {
+                "addonmanager.kubernetes.io/mode" = "Reconcile";
+                "k8s-app" = "kubernetes-dashboard";
+                "kubernetes.io/cluster-service" = "true";
+            };
+            "name" = "kubernetes-dashboard";
+            "namespace" = "kube-system";
+        };
+        "spec" = {
+            "selector" = {
+                "matchLabels" = {
+                    "k8s-app" = "kubernetes-dashboard";
+                };
+            };
+            "template" = {
+                "metadata" = {
+                    "annotations" = {
+                        "scheduler.alpha.kubernetes.io/critical-pod" = "";
+                    };
+                    "labels" = {
+                        "k8s-app" = "kubernetes-dashboard";
+                    };
+                };
+                "spec" = {
+                    "containers" = [{
+                        "image" = "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0";
+                        "livenessProbe" = {
+                            "httpGet" = {
+                                "path" = "/";
+                                "port" = 9090;
+                            };
+                            "initialDelaySeconds" = 30;
+                            "timeoutSeconds" = 30;
+                        };
+                        "name" = "kubernetes-dashboard";
+                        "ports" = [{
+                            "containerPort" = 9090;
+                        }];
+                        "resources" = {
+                            "limits" = {
+                                "cpu" = "100m";
+                                "memory" = "50Mi";
+                            };
+                            "requests" = {
+                                "cpu" = "100m";
+                                "memory" = "50Mi";
+                            };
+                        };
+                    }];
+                    "tolerations" = [{
+                        "key" = "CriticalAddonsOnly";
+                        "operator" = "Exists";
+                    }];
+                };
+            };
+        };
+    };
+    "dashboard-service" = {
+        "apiVersion" = "v1";
+        "kind" = "Service";
+        "metadata" = {
+            "labels" = {
+                "addonmanager.kubernetes.io/mode" = "Reconcile";
+                "k8s-app" = "kubernetes-dashboard";
+                "kubernetes.io/cluster-service" = "true";
+            };
+            "name" = "kubernetes-dashboard";
+            "namespace" = "kube-system";
+        };
+        "spec" = {
+            "ports" = [{
+                "port" = 80;
+                "targetPort" = 9090;
+            }];
+            "selector" = {
+                "k8s-app" = "kubernetes-dashboard";
+            };
+        };
+    };
+}