labels:
  io.cattle.role: project
categories:
- CNI
questions:
# VCenter options
- variable: ncp.vc.vc_endpoint
  default: ""
  description: "VCenter Server Endpoint"
  label: "VCenter URL"
  type: string
  group: VCenter
  required: true
- variable: ncp.vc.sso_domain
  default: "vsphere.local"
  description: "VCenter Single Sign-on Domain"
  label: "VCenter SSO Domain"
  type: string
  group: VCenter
  required: true
- variable: ncp.vc.https_port
  default: 443
  description: "VCenter Server Endpoint HTTPS Port"
  label: "HTTPS Port"
  type: int
  group: VCenter
  required: true

# Cluster options
- variable: ncp.coe.adaptor
  default: "kubernetes"
  description: "Specify whether you are running on Kubernetes or Openshift."
  label: "NCP Adaptor"
  type: enum
  options:
    - kubernetes
    - openshift4
  group: Cluster
  required: true
- variable: ncp.coe.cluster
  default: "k8scl-one"
  description: "Kubernetes cluster name for vSphere"
  label: "Cluster name"
  type: string
  group: Cluster
  required: true
- variable: ncp.coe.loglevel
  default: "WARNING"
  description: "Log level for NSX API client operations"
  label: "API Log level"
  type: enum
  options:
    - NOTSET
    - DEBUG
    - INFO
    - WARNING
    - ERROR
    - CRITICAL
  group: Cluster
  required: false
- variable: ncp.coe.enable_snat
  default: "True"
  description: "Enable SNAT for all projects in this cluster."
  label: "Enable SNAT"
  type: enum
  options:
    - True
    - False
  group: Cluster
  required: false
- variable: ncp.coe.node_type
  default: "HOSTVM"
  description: "The type of container host node."
  label: "Node Type"
  type: enum
  options:
    - HOSTVM
    - BAREMETAL
    - CLOUD
    - WCP_WORKER
  group: Cluster
  required: true

# NSX
- variable: ncp.image
  default: "nsx-ncp-ubuntu:latest"
  description: "Docker image for NSX NCP Container plugin. Must be downloaded from VMware Downloads page."
  label: "NSX NCP Docker image"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.nsx_api_managers
  default: "https://nsx.domain.net"
  description: "Address of one or more NSX managers separated by commas, in the form [<scheme>://]<ip_adress>[:<port>]"
  label: "NSX API Managers"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.nsx_api_user
  default: "user@domain.net"
  description: "Username to connect to NSX API"
  label: "NSX API User"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.nsx_api_password
  default: "VMWare1!"
  description: "Password used to connect to NSX API"
  label: "NSX API Password"
  type: password
  group: NSX
  required: true
- variable: ncp.nsx.insecure
  default: "False"
  description: "If true, the NSX Manager server certificate is not verified."
  label: "Enable insecure NSX API communication."
  type: enum
  options:
    - True
    - False
  group: NSX
  required: false
- variable: ncp.nsx.subnet_prefix
  default: 24
  description: "Subnet prefix of IP block."
  label: "Subnet Prefix"
  type: int
  group: NSX
  required: false
- variable: ncp.nsx.use_native_loadbalancer
  default: "True"
  description: "Option to use native load balancer or not."
  label: "Enable Native Load Balancer"
  type: enum
  options:
    - True
    - False
  group: NSX
  required: false
- variable: ncp.nsx.default_ingress_class_nsx
  default: "True"
  description: "Use native load balancer or not when ingress class annotation is missing."
  label: "Use NSX as default Ingress class"
  type: enum
  options:
    - True
    - False
  group: NSX
  required: false
- variable: ncp.nsx.container_ip_blocks
  default: "10.42.0.0/16"
  description: "Container ip blocks that will be used for creating subnets. If name, it must be unique"
  label: "Container IP Blocks"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.top_tier_router
  default: "<None>"
  description: "Resource ID of the top-tier router for the container cluster network which could be either tier0 or tier1."
  label: "Top Tier Router"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.external_ip_pools
  default: "10.42.0.0/16"
  description: "Resource ID of the external ip pools that will be used for allocating IP addresses which will be used for translating container IPs via SNAT rules."
  label: "External IP Pools"
  type: string
  group: NSX
  required: true
- variable: ncp.nsx.overlay_tz
  default: "<None>"
  description: "Resource ID of the NSX overlay transport zone that will be used for creating logical switches for container networking."
  label: "Overlay Transport Zone"
  type: string
  group: NSX
  required: false

# NSX Node Agent
- variable: ncp.nsxNodeAgent.ovs_uplink_port
  default: "eth0"
  description: "The OVS uplink OpenFlow port where to apply the NAT rules to."
  label: "OVS Uplink Port"
  type: string
  group: Node Agent
  required: true
- variable: ncp.nsxNodeAgent.is_dhcp_configured_on_ovs_uplink_port
  default: "auto"
  description: "Set to True if DHCP is configured on the OVS Uplink Port. 'Auto' will try to automatically infer it but it only works on CoreOS. On other types host OS, it defaults to False."
  label: "Is DHCP configured on OVS Uplink Port?"
  type: enum
  options:
    - True
    - False
    - auto
  group: Node Agent
  required: false

# Logging and Debug
- variable: ncp.default.debug
  default: "False"
  description: "If set to true, the logging level will be set to DEBUG instead of the default INFO level."
  label: "Debug?"
  type: enum
  options:
    - True
    - False
  group: Logging and Debug
  required: false