···
cfg = config.services.kubernetes.addons.dashboard;
+
name = "k8s.gcr.io/kubernetes-dashboard-amd64";
image = pkgs.dockerTools.pullImage {
+
imageDigest = "sha256:dc4026c1b595435ef5527ca598e1e9c4343076926d7d62b365c44831395adbd0";
+
sha256 = "18ajcg0q1vignfjk2sm4xj4wzphfz8wah69ps8dklqfvv0164mc8";
options.services.kubernetes.addons.dashboard = {
···
services.kubernetes.addonManager.addons = {
kubernetes-dashboard-deployment = {
+
apiVersion = "apps/v1";
k8s-addon = "kubernetes-dashboard.addons.k8s.io";
···
"scheduler.alpha.kubernetes.io/critical-pod" = "";
+
priorityClassName = "system-cluster-critical";
name = "kubernetes-dashboard";
image = "${name}:${version}";
+
args = ["--auto-generate-certificates"];
+
name = "kubernetes-dashboard-certs";
initialDelaySeconds = 30;
+
name = "kubernetes-dashboard-certs";
+
secretName = "kubernetes-dashboard-certs";
serviceAccountName = "kubernetes-dashboard";
key = "node-role.kubernetes.io/master";
+
key = "CriticalAddonsOnly";
···
selector.k8s-app = "kubernetes-dashboard";
···
k8s-app = "kubernetes-dashboard";
k8s-addon = "kubernetes-dashboard.addons.k8s.io";
+
"addonmanager.kubernetes.io/mode" = "Reconcile";
name = "kubernetes-dashboard";
namespace = "kube-system";
+
kubernetes-dashboard-sec-certs = {
+
k8s-app = "kubernetes-dashboard";
+
# Allows editing resource and makes sure it is created first.
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
+
name = "kubernetes-dashboard-certs";
+
namespace = "kube-system";
+
kubernetes-dashboard-sec-kholder = {
+
k8s-app = "kubernetes-dashboard";
+
# Allows editing resource and makes sure it is created first.
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
+
name = "kubernetes-dashboard-key-holder";
+
namespace = "kube-system";
+
kubernetes-dashboard-cm = {
+
k8s-app = "kubernetes-dashboard";
+
# Allows editing resource and makes sure it is created first.
+
"addonmanager.kubernetes.io/mode" = "EnsureExists";
+
name = "kubernetes-dashboard-settings";
+
namespace = "kube-system";
} // (optionalAttrs cfg.enableRBAC {
kubernetes-dashboard-crb = {
+
apiVersion = "rbac.authorization.k8s.io/v1";
kind = "ClusterRoleBinding";
name = "kubernetes-dashboard";