about summary refs log tree commit diff
path: root/nixos/modules/services/cluster/kubernetes
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/cluster/kubernetes')
-rw-r--r--nixos/modules/services/cluster/kubernetes/addon-manager.nix6
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dns.nix14
-rw-r--r--nixos/modules/services/cluster/kubernetes/apiserver.nix72
-rw-r--r--nixos/modules/services/cluster/kubernetes/controller-manager.nix26
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix30
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/kubelet.nix54
-rw-r--r--nixos/modules/services/cluster/kubernetes/pki.nix20
-rw-r--r--nixos/modules/services/cluster/kubernetes/proxy.nix12
-rw-r--r--nixos/modules/services/cluster/kubernetes/scheduler.nix14
10 files changed, 126 insertions, 126 deletions
diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index dc851688fbecd..522cb0dd16dae 100644
--- a/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -21,7 +21,7 @@ in
   options.services.kubernetes.addonManager = with lib.types; {
 
     bootstrapAddons = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Bootstrap addons are like regular addons, but they are applied with cluster-admin rights.
         They are applied at addon-manager startup only.
       '';
@@ -43,7 +43,7 @@ in
     };
 
     addons = mkOption {
-      description = lib.mdDoc "Kubernetes addons (any kind of Kubernetes resource can be an addon).";
+      description = "Kubernetes addons (any kind of Kubernetes resource can be an addon).";
       default = { };
       type = attrsOf (either attrs (listOf attrs));
       example = literalExpression ''
@@ -62,7 +62,7 @@ in
       '';
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes addon manager");
+    enable = mkEnableOption "Kubernetes addon manager";
   };
 
   ###### implementation
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 1c00329e6ccff..f180035270641 100644
--- a/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -12,10 +12,10 @@ let
   };
 in {
   options.services.kubernetes.addons.dns = {
-    enable = mkEnableOption (lib.mdDoc "kubernetes dns addon");
+    enable = mkEnableOption "kubernetes dns addon";
 
     clusterIp = mkOption {
-      description = lib.mdDoc "Dns addon clusterIP";
+      description = "Dns addon clusterIP";
 
       # this default is also what kubernetes users
       default = (
@@ -31,19 +31,19 @@ in {
     };
 
     clusterDomain = mkOption {
-      description = lib.mdDoc "Dns cluster domain";
+      description = "Dns cluster domain";
       default = "cluster.local";
       type = types.str;
     };
 
     replicas = mkOption {
-      description = lib.mdDoc "Number of DNS pod replicas to deploy in the cluster.";
+      description = "Number of DNS pod replicas to deploy in the cluster.";
       default = 2;
       type = types.int;
     };
 
     reconcileMode = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Controls the addon manager reconciliation mode for the DNS addon.
 
         Setting reconcile mode to EnsureExists makes it possible to tailor DNS behavior by editing the coredns ConfigMap.
@@ -55,7 +55,7 @@ in {
     };
 
     coredns = mkOption {
-      description = lib.mdDoc "Docker image to seed for the CoreDNS container.";
+      description = "Docker image to seed for the CoreDNS container.";
       type = types.attrs;
       default = {
         imageName = "coredns/coredns";
@@ -66,7 +66,7 @@ in {
     };
 
     corefile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Custom coredns corefile configuration.
 
         See: <https://coredns.io/manual/toc/#configuration>.
diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix
index d5ec1e5e6d263..fe9dacb8b93d5 100644
--- a/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -31,7 +31,7 @@ in
   options.services.kubernetes.apiserver = with lib.types; {
 
     advertiseAddress = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver IP address on which to advertise the apiserver
         to members of the cluster. This address must be reachable by the rest
         of the cluster.
@@ -41,13 +41,13 @@ in
     };
 
     allowPrivileged = mkOption {
-      description = lib.mdDoc "Whether to allow privileged containers on Kubernetes.";
+      description = "Whether to allow privileged containers on Kubernetes.";
       default = false;
       type = bool;
     };
 
     authorizationMode = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/Webhook/RBAC/Node). See
         <https://kubernetes.io/docs/reference/access-authn-authz/authorization/>
       '';
@@ -56,7 +56,7 @@ in
     };
 
     authorizationPolicy = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver authorization policy file. See
         <https://kubernetes.io/docs/reference/access-authn-authz/authorization/>
       '';
@@ -65,7 +65,7 @@ in
     };
 
     basicAuthFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver basic authentication file. See
         <https://kubernetes.io/docs/reference/access-authn-authz/authentication>
       '';
@@ -74,7 +74,7 @@ in
     };
 
     bindAddress = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         The IP address on which to listen for the --secure-port port.
         The associated interface(s) must be reachable by the rest
         of the cluster, and by CLI/web clients.
@@ -84,14 +84,14 @@ in
     };
 
     clientCaFile = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver CA file for client auth.";
+      description = "Kubernetes apiserver CA file for client auth.";
       default = top.caFile;
       defaultText = literalExpression "config.${otop.caFile}";
       type = nullOr path;
     };
 
     disableAdmissionPlugins = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes admission control plugins to disable. See
         <https://kubernetes.io/docs/admin/admission-controllers/>
       '';
@@ -99,10 +99,10 @@ in
       type = listOf str;
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes apiserver");
+    enable = mkEnableOption "Kubernetes apiserver";
 
     enableAdmissionPlugins = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes admission control plugins to enable. See
         <https://kubernetes.io/docs/admin/admission-controllers/>
       '';
@@ -121,25 +121,25 @@ in
 
     etcd = {
       servers = mkOption {
-        description = lib.mdDoc "List of etcd servers.";
+        description = "List of etcd servers.";
         default = ["http://127.0.0.1:2379"];
         type = types.listOf types.str;
       };
 
       keyFile = mkOption {
-        description = lib.mdDoc "Etcd key file.";
+        description = "Etcd key file.";
         default = null;
         type = types.nullOr types.path;
       };
 
       certFile = mkOption {
-        description = lib.mdDoc "Etcd cert file.";
+        description = "Etcd cert file.";
         default = null;
         type = types.nullOr types.path;
       };
 
       caFile = mkOption {
-        description = lib.mdDoc "Etcd ca file.";
+        description = "Etcd ca file.";
         default = top.caFile;
         defaultText = literalExpression "config.${otop.caFile}";
         type = types.nullOr types.path;
@@ -147,63 +147,63 @@ in
     };
 
     extraOpts = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver extra command line options.";
+      description = "Kubernetes apiserver extra command line options.";
       default = "";
       type = separatedString " ";
     };
 
     extraSANs = mkOption {
-      description = lib.mdDoc "Extra x509 Subject Alternative Names to be added to the kubernetes apiserver tls cert.";
+      description = "Extra x509 Subject Alternative Names to be added to the kubernetes apiserver tls cert.";
       default = [];
       type = listOf str;
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates";
+      description = "List set of feature gates";
       default = top.featureGates;
       defaultText = literalExpression "config.${otop.featureGates}";
       type = listOf str;
     };
 
     kubeletClientCaFile = mkOption {
-      description = lib.mdDoc "Path to a cert file for connecting to kubelet.";
+      description = "Path to a cert file for connecting to kubelet.";
       default = top.caFile;
       defaultText = literalExpression "config.${otop.caFile}";
       type = nullOr path;
     };
 
     kubeletClientCertFile = mkOption {
-      description = lib.mdDoc "Client certificate to use for connections to kubelet.";
+      description = "Client certificate to use for connections to kubelet.";
       default = null;
       type = nullOr path;
     };
 
     kubeletClientKeyFile = mkOption {
-      description = lib.mdDoc "Key to use for connections to kubelet.";
+      description = "Key to use for connections to kubelet.";
       default = null;
       type = nullOr path;
     };
 
     preferredAddressTypes = mkOption {
-      description = lib.mdDoc "List of the preferred NodeAddressTypes to use for kubelet connections.";
+      description = "List of the preferred NodeAddressTypes to use for kubelet connections.";
       type = nullOr str;
       default = null;
     };
 
     proxyClientCertFile = mkOption {
-      description = lib.mdDoc "Client certificate to use for connections to proxy.";
+      description = "Client certificate to use for connections to proxy.";
       default = null;
       type = nullOr path;
     };
 
     proxyClientKeyFile = mkOption {
-      description = lib.mdDoc "Key to use for connections to proxy.";
+      description = "Key to use for connections to proxy.";
       default = null;
       type = nullOr path;
     };
 
     runtimeConfig = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Api runtime configuration. See
         <https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/>
       '';
@@ -213,7 +213,7 @@ in
     };
 
     storageBackend = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver storage backend.
       '';
       default = "etcd3";
@@ -221,13 +221,13 @@ in
     };
 
     securePort = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver secure port.";
+      description = "Kubernetes apiserver secure port.";
       default = 6443;
       type = int;
     };
 
     apiAudiences = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver ServiceAccount issuer.
       '';
       default = "api,https://kubernetes.default.svc";
@@ -235,7 +235,7 @@ in
     };
 
     serviceAccountIssuer = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver ServiceAccount issuer.
       '';
       default = "https://kubernetes.default.svc";
@@ -243,7 +243,7 @@ in
     };
 
     serviceAccountSigningKeyFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Path to the file that contains the current private key of the service
         account token issuer. The issuer will sign issued ID tokens with this
         private key.
@@ -252,7 +252,7 @@ in
     };
 
     serviceAccountKeyFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         File containing PEM-encoded x509 RSA or ECDSA private or public keys,
         used to verify ServiceAccount tokens. The specified file can contain
         multiple keys, and the flag can be specified multiple times with
@@ -263,7 +263,7 @@ in
     };
 
     serviceClusterIpRange = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         A CIDR notation IP range from which to assign service cluster IPs.
         This must not overlap with any IP ranges assigned to nodes for pods.
       '';
@@ -272,19 +272,19 @@ in
     };
 
     tlsCertFile = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver certificate file.";
+      description = "Kubernetes apiserver certificate file.";
       default = null;
       type = nullOr path;
     };
 
     tlsKeyFile = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver private key file.";
+      description = "Kubernetes apiserver private key file.";
       default = null;
       type = nullOr path;
     };
 
     tokenAuthFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver token authentication file. See
         <https://kubernetes.io/docs/reference/access-authn-authz/authentication>
       '';
@@ -293,7 +293,7 @@ in
     };
 
     verbosity = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Optional glog verbosity level for logging statements. See
         <https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md>
       '';
@@ -302,7 +302,7 @@ in
     };
 
     webhookConfig = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes apiserver Webhook config file. It uses the kubeconfig file format.
         See <https://kubernetes.io/docs/reference/access-authn-authz/webhook/>
       '';
diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index 18c82fc235935..453043e507d97 100644
--- a/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -17,34 +17,34 @@ in
   options.services.kubernetes.controllerManager = with lib.types; {
 
     allocateNodeCIDRs = mkOption {
-      description = lib.mdDoc "Whether to automatically allocate CIDR ranges for cluster nodes.";
+      description = "Whether to automatically allocate CIDR ranges for cluster nodes.";
       default = true;
       type = bool;
     };
 
     bindAddress = mkOption {
-      description = lib.mdDoc "Kubernetes controller manager listening address.";
+      description = "Kubernetes controller manager listening address.";
       default = "127.0.0.1";
       type = str;
     };
 
     clusterCidr = mkOption {
-      description = lib.mdDoc "Kubernetes CIDR Range for Pods in cluster.";
+      description = "Kubernetes CIDR Range for Pods in cluster.";
       default = top.clusterCidr;
       defaultText = literalExpression "config.${otop.clusterCidr}";
       type = str;
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes controller manager");
+    enable = mkEnableOption "Kubernetes controller manager";
 
     extraOpts = mkOption {
-      description = lib.mdDoc "Kubernetes controller manager extra command line options.";
+      description = "Kubernetes controller manager extra command line options.";
       default = "";
       type = separatedString " ";
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates";
+      description = "List set of feature gates";
       default = top.featureGates;
       defaultText = literalExpression "config.${otop.featureGates}";
       type = listOf str;
@@ -53,13 +53,13 @@ in
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes controller manager";
 
     leaderElect = mkOption {
-      description = lib.mdDoc "Whether to start leader election before executing main loop.";
+      description = "Whether to start leader election before executing main loop.";
       type = bool;
       default = true;
     };
 
     rootCaFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes controller manager certificate authority file included in
         service account's token secret.
       '';
@@ -69,13 +69,13 @@ in
     };
 
     securePort = mkOption {
-      description = lib.mdDoc "Kubernetes controller manager secure listening port.";
+      description = "Kubernetes controller manager secure listening port.";
       default = 10252;
       type = int;
     };
 
     serviceAccountKeyFile = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes controller manager PEM-encoded private RSA key file used to
         sign service account tokens
       '';
@@ -84,19 +84,19 @@ in
     };
 
     tlsCertFile = mkOption {
-      description = lib.mdDoc "Kubernetes controller-manager certificate file.";
+      description = "Kubernetes controller-manager certificate file.";
       default = null;
       type = nullOr path;
     };
 
     tlsKeyFile = mkOption {
-      description = lib.mdDoc "Kubernetes controller-manager private key file.";
+      description = "Kubernetes controller-manager private key file.";
       default = null;
       type = nullOr path;
     };
 
     verbosity = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Optional glog verbosity level for logging statements. See
         <https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md>
       '';
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index a920b6cb12682..89bbedf4d0401 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -77,25 +77,25 @@ let
 
   mkKubeConfigOptions = prefix: {
     server = mkOption {
-      description = lib.mdDoc "${prefix} kube-apiserver server address.";
+      description = "${prefix} kube-apiserver server address.";
       type = types.str;
     };
 
     caFile = mkOption {
-      description = lib.mdDoc "${prefix} certificate authority file used to connect to kube-apiserver.";
+      description = "${prefix} certificate authority file used to connect to kube-apiserver.";
       type = types.nullOr types.path;
       default = cfg.caFile;
       defaultText = literalExpression "config.${opt.caFile}";
     };
 
     certFile = mkOption {
-      description = lib.mdDoc "${prefix} client certificate file used to connect to kube-apiserver.";
+      description = "${prefix} client certificate file used to connect to kube-apiserver.";
       type = types.nullOr types.path;
       default = null;
     };
 
     keyFile = mkOption {
-      description = lib.mdDoc "${prefix} client key file used to connect to kube-apiserver.";
+      description = "${prefix} client key file used to connect to kube-apiserver.";
       type = types.nullOr types.path;
       default = null;
     };
@@ -111,7 +111,7 @@ in {
 
   options.services.kubernetes = {
     roles = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Kubernetes role that this machine should take.
 
         Master role will enable etcd, apiserver, scheduler, controller manager
@@ -127,7 +127,7 @@ in {
     kubeconfig = mkKubeConfigOptions "Default kubeconfig";
 
     apiserverAddress = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Clusterwide accessible address for the kubernetes apiserver,
         including protocol and optional port.
       '';
@@ -136,49 +136,49 @@ in {
     };
 
     caFile = mkOption {
-      description = lib.mdDoc "Default kubernetes certificate authority";
+      description = "Default kubernetes certificate authority";
       type = types.nullOr types.path;
       default = null;
     };
 
     dataDir = mkOption {
-      description = lib.mdDoc "Kubernetes root directory for managing kubelet files.";
+      description = "Kubernetes root directory for managing kubelet files.";
       default = "/var/lib/kubernetes";
       type = types.path;
     };
 
     easyCerts = mkOption {
-      description = lib.mdDoc "Automatically setup x509 certificates and keys for the entire cluster.";
+      description = "Automatically setup x509 certificates and keys for the entire cluster.";
       default = false;
       type = types.bool;
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates.";
+      description = "List set of feature gates.";
       default = [];
       type = types.listOf types.str;
     };
 
     masterAddress = mkOption {
-      description = lib.mdDoc "Clusterwide available network address or hostname for the kubernetes master server.";
+      description = "Clusterwide available network address or hostname for the kubernetes master server.";
       example = "master.example.com";
       type = types.str;
     };
 
     path = mkOption {
-      description = lib.mdDoc "Packages added to the services' PATH environment variable. Both the bin and sbin subdirectories of each package are added.";
+      description = "Packages added to the services' PATH environment variable. Both the bin and sbin subdirectories of each package are added.";
       type = types.listOf types.package;
       default = [];
     };
 
     clusterCidr = mkOption {
-      description = lib.mdDoc "Kubernetes controller manager and proxy CIDR Range for Pods in cluster.";
+      description = "Kubernetes controller manager and proxy CIDR Range for Pods in cluster.";
       default = "10.1.0.0/16";
       type = types.nullOr types.str;
     };
 
     lib = mkOption {
-      description = lib.mdDoc "Common functions for the kubernetes modules.";
+      description = "Common functions for the kubernetes modules.";
       default = {
         inherit mkCert;
         inherit mkKubeConfig;
@@ -188,7 +188,7 @@ in {
     };
 
     secretsPath = mkOption {
-      description = lib.mdDoc "Default location for kubernetes secrets. Not a store location.";
+      description = "Default location for kubernetes secrets. Not a store location.";
       type = types.path;
       default = cfg.dataDir + "/secrets";
       defaultText = literalExpression ''
diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix
index dca8996df0831..93a460971055f 100644
--- a/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -12,10 +12,10 @@ in
 {
   ###### interface
   options.services.kubernetes.flannel = {
-    enable = mkEnableOption (lib.mdDoc "flannel networking");
+    enable = mkEnableOption "flannel networking";
 
     openFirewallPorts = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Whether to open the Flannel UDP ports in the firewall on all interfaces.'';
       type = types.bool;
       default = true;
diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 313dbe2340182..c841f4e5f1862 100644
--- a/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -73,17 +73,17 @@ let
   taintOptions = with lib.types; { name, ... }: {
     options = {
       key = mkOption {
-        description = lib.mdDoc "Key of taint.";
+        description = "Key of taint.";
         default = name;
         defaultText = literalMD "Name of this submodule.";
         type = str;
       };
       value = mkOption {
-        description = lib.mdDoc "Value of taint.";
+        description = "Value of taint.";
         type = str;
       };
       effect = mkOption {
-        description = lib.mdDoc "Effect of taint.";
+        description = "Effect of taint.";
         example = "NoSchedule";
         type = enum ["NoSchedule" "PreferNoSchedule" "NoExecute"];
       };
@@ -105,26 +105,26 @@ in
   options.services.kubernetes.kubelet = with lib.types; {
 
     address = mkOption {
-      description = lib.mdDoc "Kubernetes kubelet info server listening address.";
+      description = "Kubernetes kubelet info server listening address.";
       default = "0.0.0.0";
       type = str;
     };
 
     clusterDns = mkOption {
-      description = lib.mdDoc "Use alternative DNS.";
+      description = "Use alternative DNS.";
       default = "10.1.0.1";
       type = str;
     };
 
     clusterDomain = mkOption {
-      description = lib.mdDoc "Use alternative domain.";
+      description = "Use alternative domain.";
       default = config.services.kubernetes.addons.dns.clusterDomain;
       defaultText = literalExpression "config.${options.services.kubernetes.addons.dns.clusterDomain}";
       type = str;
     };
 
     clientCaFile = mkOption {
-      description = lib.mdDoc "Kubernetes apiserver CA file for client authentication.";
+      description = "Kubernetes apiserver CA file for client authentication.";
       default = top.caFile;
       defaultText = literalExpression "config.${otop.caFile}";
       type = nullOr path;
@@ -132,13 +132,13 @@ in
 
     cni = {
       packages = mkOption {
-        description = lib.mdDoc "List of network plugin packages to install.";
+        description = "List of network plugin packages to install.";
         type = listOf package;
         default = [];
       };
 
       config = mkOption {
-        description = lib.mdDoc "Kubernetes CNI configuration.";
+        description = "Kubernetes CNI configuration.";
         type = listOf attrs;
         default = [];
         example = literalExpression ''
@@ -164,28 +164,28 @@ in
       };
 
       configDir = mkOption {
-        description = lib.mdDoc "Path to Kubernetes CNI configuration directory.";
+        description = "Path to Kubernetes CNI configuration directory.";
         type = nullOr path;
         default = null;
       };
     };
 
     containerRuntimeEndpoint = mkOption {
-      description = lib.mdDoc "Endpoint at which to find the container runtime api interface/socket";
+      description = "Endpoint at which to find the container runtime api interface/socket";
       type = str;
       default = "unix:///run/containerd/containerd.sock";
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes kubelet");
+    enable = mkEnableOption "Kubernetes kubelet";
 
     extraOpts = mkOption {
-      description = lib.mdDoc "Kubernetes kubelet extra command line options.";
+      description = "Kubernetes kubelet extra command line options.";
       default = "";
       type = separatedString " ";
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates";
+      description = "List set of feature gates";
       default = top.featureGates;
       defaultText = literalExpression "config.${otop.featureGates}";
       type = listOf str;
@@ -193,20 +193,20 @@ in
 
     healthz = {
       bind = mkOption {
-        description = lib.mdDoc "Kubernetes kubelet healthz listening address.";
+        description = "Kubernetes kubelet healthz listening address.";
         default = "127.0.0.1";
         type = str;
       };
 
       port = mkOption {
-        description = lib.mdDoc "Kubernetes kubelet healthz port.";
+        description = "Kubernetes kubelet healthz port.";
         default = 10248;
         type = port;
       };
     };
 
     hostname = mkOption {
-      description = lib.mdDoc "Kubernetes kubelet hostname override.";
+      description = "Kubernetes kubelet hostname override.";
       defaultText = literalExpression "config.networking.fqdnOrHostName";
       type = str;
     };
@@ -214,61 +214,61 @@ in
     kubeconfig = top.lib.mkKubeConfigOptions "Kubelet";
 
     manifests = mkOption {
-      description = lib.mdDoc "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)";
+      description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)";
       type = attrsOf attrs;
       default = {};
     };
 
     nodeIp = mkOption {
-      description = lib.mdDoc "IP address of the node. If set, kubelet will use this IP address for the node.";
+      description = "IP address of the node. If set, kubelet will use this IP address for the node.";
       default = null;
       type = nullOr str;
     };
 
     registerNode = mkOption {
-      description = lib.mdDoc "Whether to auto register kubelet with API server.";
+      description = "Whether to auto register kubelet with API server.";
       default = true;
       type = bool;
     };
 
     port = mkOption {
-      description = lib.mdDoc "Kubernetes kubelet info server listening port.";
+      description = "Kubernetes kubelet info server listening port.";
       default = 10250;
       type = port;
     };
 
     seedDockerImages = mkOption {
-      description = lib.mdDoc "List of docker images to preload on system";
+      description = "List of docker images to preload on system";
       default = [];
       type = listOf package;
     };
 
     taints = mkOption {
-      description = lib.mdDoc "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/).";
+      description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/).";
       default = {};
       type = attrsOf (submodule [ taintOptions ]);
     };
 
     tlsCertFile = mkOption {
-      description = lib.mdDoc "File containing x509 Certificate for HTTPS.";
+      description = "File containing x509 Certificate for HTTPS.";
       default = null;
       type = nullOr path;
     };
 
     tlsKeyFile = mkOption {
-      description = lib.mdDoc "File containing x509 private key matching tlsCertFile.";
+      description = "File containing x509 private key matching tlsCertFile.";
       default = null;
       type = nullOr path;
     };
 
     unschedulable = mkOption {
-      description = lib.mdDoc "Whether to set node taint to unschedulable=true as it is the case of node that has only master role.";
+      description = "Whether to set node taint to unschedulable=true as it is the case of node that has only master role.";
       default = false;
       type = bool;
     };
 
     verbosity = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Optional glog verbosity level for logging statements. See
         <https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md>
       '';
diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix
index a4b5cb8eda865..5e725df41f438 100644
--- a/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -41,16 +41,16 @@ in
   ###### interface
   options.services.kubernetes.pki = with lib.types; {
 
-    enable = mkEnableOption (lib.mdDoc "easyCert issuer service");
+    enable = mkEnableOption "easyCert issuer service";
 
     certs = mkOption {
-      description = lib.mdDoc "List of certificate specs to feed to cert generator.";
+      description = "List of certificate specs to feed to cert generator.";
       default = {};
       type = attrs;
     };
 
     genCfsslCACert = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Whether to automatically generate cfssl CA certificate and key,
         if they don't exist.
       '';
@@ -59,7 +59,7 @@ in
     };
 
     genCfsslAPICerts = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Whether to automatically generate cfssl API webserver TLS cert and key,
         if they don't exist.
       '';
@@ -68,7 +68,7 @@ in
     };
 
     cfsslAPIExtraSANs = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Extra x509 Subject Alternative Names to be added to the cfssl API webserver TLS cert.
       '';
       default = [];
@@ -77,7 +77,7 @@ in
     };
 
     genCfsslAPIToken = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Whether to automatically generate cfssl API-token secret,
         if they doesn't exist.
       '';
@@ -86,13 +86,13 @@ in
     };
 
     pkiTrustOnBootstrap = mkOption {
-      description = lib.mdDoc "Whether to always trust remote cfssl server upon initial PKI bootstrap.";
+      description = "Whether to always trust remote cfssl server upon initial PKI bootstrap.";
       default = true;
       type = bool;
     };
 
     caCertPathPrefix = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Path-prefrix for the CA-certificate to be used for cfssl signing.
         Suffixes ".pem" and "-key.pem" will be automatically appended for
         the public and private keys respectively.
@@ -103,7 +103,7 @@ in
     };
 
     caSpec = mkOption {
-      description = lib.mdDoc "Certificate specification for the auto-generated CAcert.";
+      description = "Certificate specification for the auto-generated CAcert.";
       default = {
         CN = "kubernetes-cluster-ca";
         O = "NixOS";
@@ -114,7 +114,7 @@ in
     };
 
     etcClusterAdminKubeconfig = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Symlink a kubeconfig with cluster-admin privileges to environment path
         (/etc/\<path\>).
       '';
diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix
index 015784f7e3116..c09e7695f2a42 100644
--- a/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -16,28 +16,28 @@ in
   options.services.kubernetes.proxy = with lib.types; {
 
     bindAddress = mkOption {
-      description = lib.mdDoc "Kubernetes proxy listening address.";
+      description = "Kubernetes proxy listening address.";
       default = "0.0.0.0";
       type = str;
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes proxy");
+    enable = mkEnableOption "Kubernetes proxy";
 
     extraOpts = mkOption {
-      description = lib.mdDoc "Kubernetes proxy extra command line options.";
+      description = "Kubernetes proxy extra command line options.";
       default = "";
       type = separatedString " ";
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates";
+      description = "List set of feature gates";
       default = top.featureGates;
       defaultText = literalExpression "config.${otop.featureGates}";
       type = listOf str;
     };
 
     hostname = mkOption {
-      description = lib.mdDoc "Kubernetes proxy hostname override.";
+      description = "Kubernetes proxy hostname override.";
       default = config.networking.hostName;
       defaultText = literalExpression "config.networking.hostName";
       type = str;
@@ -46,7 +46,7 @@ in
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy";
 
     verbosity = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Optional glog verbosity level for logging statements. See
         <https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md>
       '';
diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix
index f31a92f368400..da2f39226a249 100644
--- a/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix
@@ -12,21 +12,21 @@ in
   options.services.kubernetes.scheduler = with lib.types; {
 
     address = mkOption {
-      description = lib.mdDoc "Kubernetes scheduler listening address.";
+      description = "Kubernetes scheduler listening address.";
       default = "127.0.0.1";
       type = str;
     };
 
-    enable = mkEnableOption (lib.mdDoc "Kubernetes scheduler");
+    enable = mkEnableOption "Kubernetes scheduler";
 
     extraOpts = mkOption {
-      description = lib.mdDoc "Kubernetes scheduler extra command line options.";
+      description = "Kubernetes scheduler extra command line options.";
       default = "";
       type = separatedString " ";
     };
 
     featureGates = mkOption {
-      description = lib.mdDoc "List set of feature gates";
+      description = "List set of feature gates";
       default = top.featureGates;
       defaultText = literalExpression "config.${otop.featureGates}";
       type = listOf str;
@@ -35,19 +35,19 @@ in
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes scheduler";
 
     leaderElect = mkOption {
-      description = lib.mdDoc "Whether to start leader election before executing main loop.";
+      description = "Whether to start leader election before executing main loop.";
       type = bool;
       default = true;
     };
 
     port = mkOption {
-      description = lib.mdDoc "Kubernetes scheduler listening port.";
+      description = "Kubernetes scheduler listening port.";
       default = 10251;
       type = port;
     };
 
     verbosity = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Optional glog verbosity level for logging statements. See
         <https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md>
       '';