anchor.diff:        type = types.path;
       };
   
  +    featureGates = mkOption {
  +      description = "List set of feature gates";
  +      default = [];
  +      type = types.listOf types.str;
  +    };
  +
       apiserver = {
         enable = mkOption {
           description = "Whether to enable Kubernetes apiserver.";
           default = false;
           type = types.bool;
  +      };
  +
  +      featureGates = mkOption {
  +        description = "List set of feature gates";
  +        default = cfg.featureGates;
  +        type = types.listOf types.str;
         };
   
         address = mkOption {
  
positive.code:           ExecStart = ''${cfg.package}/bin/kube-proxy \
              --kubeconfig=${mkKubeConfig "kube-proxy" cfg.proxy.kubeconfig} \
              --bind-address=${cfg.proxy.address} \
              ${optionalString cfg.verbose "--v=6"} \
              ${optionalString cfg.verbose "--log-flush-frequency=1s"} \
              ${optionalString (cfg.clusterCidr!=null)
  
negative.code:             --hairpin-mode=hairpin-veth \
              ${optionalString (cfg.kubelet.nodeIp != null)
                "--node-ip=${cfg.kubelet.nodeIp}"} \
              ${optionalString (cfg.kubelet.featureGates != [])
                "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.kubelet.featureGates}"} \
              ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
              ${cfg.kubelet.extraOpts}
            '';
  