22. Managing Cluster Configuration

Robin exposes a set of configuration attributes that control different features and mechanisms of a cluster. This control can extend from enabling the auto-registration of Helm based applications to the logging level of certain Robin components. Each attribute has an associated scope, referred to henceforth as the attribute’s section, which determines the area of effectiveness for the variable alongside its associated value. Robin allows users to update these configuration attributes in order to better tune the cluster to meet their needs as well as ensure the cluster is setup correctly for the given environment. There are however some attributes which are set by Robin internally and cannot be updated. These are highlighted in the table of reference detailed in the section below and are exposed to users in order to inform them of the value set.

Note

The ability to update a configuration attribute is subject to Role Based Access Control (RBAC). By default, only Cluster Administrators (users having the superadmin role) have permission to update all configuration attributes. See the section on User Management for details on how RBAC works.

The following commands are described in this section:

robin config list

Display a list of cluster configuration attributes

robin config update

Update the value assigned to a cluster configuration attribute

22.1. View config attributes

In order to list all or a subsection of config attributes alongside details of the value currently set for each respective attribute, issue the following command:

robin config list [section] [attribute]
                            --full

section

Limit display output to attributes for this section. Note this is an optional parameter

attribute

Limit display output to this attribute. Note this is an optional parameter and is only valid in conjunction with the section parameter

--full

Display additional information about each attribute

Example 1 (List attributes for a particular section):

# robin config list cluster
Section | Attribute                                   | Value
--------+---------------------------------------------+--------------------------------------
cluster | calico_backend                              | bgp
cluster | cluster_domain                              | cluster.local
cluster | cluster_name                                | default
cluster | clusterid                                   | 368810af-cd52-4dad-81dd-c210e1bb8806
cluster | colocate_rcm_k8s                            | False
cluster | create_user_ns_tenant_isolation_nw_policies | False
cluster | csi_plugin_name                             | robin
cluster | csi_storage_affinity                        | True
cluster | custom_theme                                |
cluster | default_csi_respool                         | default
cluster | default_pod_ippool                          | nonrobin-default
cluster | default_pod_respool                         | default
cluster | deployment_source                           | installer
cluster | disable_calico                              | False
cluster | disable_hpa                                 | False
cluster | disable_isolated_ip_pools                   | False
cluster | disable_scale_hpa                           | True
cluster | dns_cluster_ip                              | 172.19.0.10
cluster | elb_integration                             | False
cluster | enable_nmap                                 | False
cluster | enable_telemetry                            | True
cluster | enable_vdi                                  | False
cluster | enable_volume_jobs                          | True
cluster | external_routes                             | None
cluster | ignored_phases                              | failed
cluster | install_key                                 | <REDACTED>
cluster | ip_version                                  | 4
cluster | k8s_affinity_plan                           | False
cluster | k8s_app_defaultcpu                          | 0
cluster | k8s_app_defaultmem                          | 0Mi
cluster | k8s_auto_registration                       | True
cluster | k8s_cert_expiryalert_days                   | 30
cluster | k8s_check_rpool_limits                      | False
cluster | k8s_cluster_cidr                            | 172.19.0.0/16
cluster | k8s_cluster_tenant_enabled                  | False
cluster | k8s_drop_event_for_pod_phases               | []
cluster | k8s_enforce_hosts_from_rpool                | False
cluster | k8s_gui_support                             | False
cluster | k8s_jit_jobcompletion                       | False
cluster | k8s_monitor_threadpool                      | 3
cluster | k8s_plan                                    | True
cluster | k8s_pod_cidr                                | 172.21.0.0/16
cluster | k8s_provider                                | robin
cluster | k8s_skip_recentprocessedevents              | 20
cluster | k8scheduler_exclude_nodes                   |
cluster | kms                                         | k8s
cluster | kms_keyring                                 | k8skeyring
cluster | kms_version                                 | v2
cluster | license_server_url                          | https://get.robin.io
cluster | loadbalancer_supported                      | False
cluster | marketplace                                 | False
cluster | max_inst_per_role                           | 5000
cluster | max_node_count                              | 65535
cluster | network_policy_scope                        | allow-all
cluster | ovs_enabled                                 | True
cluster | plan_begin_delay                            | 0
cluster | pod_ready_timeout                           | 900
cluster | rcm_cluster_ip                              | 172.19.76.38
cluster | remove_taints                               | True
cluster | reserved_ephemeral_pods_count               | 10
cluster | reserved_net_enabled                        | False
cluster | reserved_subnet                             | 172.20.0.0
cluster | resource_cleanup_k8s                        | 30
cluster | resource_sync_with_k8s                      | 5
cluster | robin_backup_dir                            | /etc/robin/
cluster | robin_install_dir                           | /usr/local/robin
cluster | robin_managed_k8s                           | False
cluster | robin_ns                                    | robinio
cluster | robincrash_dir                              | /home/robinds
cluster | robinds_dir                                 | /home/robinds
cluster | robinlog_dir                                | /home/robinds
cluster | snapshot_space_limit                        | 0.0
cluster | telemetry_interval                          | 86400
cluster | telemetry_server                            | insight.robinsystems.com:443
cluster | update_coredns                              | False
cluster | update_etc_hosts                            | False
cluster | upgrade_checks_timeout                      | 1800
cluster | enable_license_expiration_audit_schedule    | True
cluster | license_expiry_remainder_period             | 7

Example 2 (Additional details for a subsection of attributes):

# robin config list user_audit --full
Section: user_audit
  Attribute: enabled
  Value: True
  Default: True
  Valid values: ['true', 'false']
  Description: Enable auditing of user activity.

  Attribute: log_enable
  Value: False
  Default: False
  Valid values: ['true', 'false']
  Description: Enable logging for user audit

  Attribute: log_format
  Value: JSON
  Default: JSON
  Valid values: ['JSON', 'TEXT']
  Description: Output format for user audit log messages. Default: JSON

  Attribute: log_level
  Value: INFO
  Default: INFO
  Valid values: ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']
  Description: The log level for user audit. Default: INFO

  Attribute: log_retention
  Value: 4
  Default: 4
  Valid values:
  Description: The count of user audit log file archive retention

  Attribute: log_file_size
  Value: 10
  Default: 10
  Valid values:
  Description: The log file size for user audit logs : Default 10 MB per file

Returns a list containing all config attributes alongside details of the value currently set for each respective attribute.

End Point: /api/v3/robin_server/config

Method: GET

URL Parameters: None

Data Parameters: None

Port: RCM Port (default value is 29442)

Headers:

  • Authorization: <auth_token> : Authorization token to identify which user is sending the request. The token can be acquired from the login API.

Success Response Code: 200

Error Response Code: 500 (Internal Server Error), 404 (Not Found Error), 401 (Unauthorized Error)

Example Response:

Output
{
   "state":"Succeed",
   "message":"NA",
   "items":{
      "agent":{
         "hostname":{
            "value":"master.robin-server.robinio.svc.cluster.local",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"Unused."
         },
         "rest_server":{
            "value":"master.robin-server.robinio.svc.cluster.local",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The fully qualified hostname of the local Robin Agent rest server."
         },
         "rest_port":{
            "value":29450,
            "default":29450,
            "valid_values":"",
            "description":"The port where rest connections are made to the agents. Default: 29450"
         },
         "registration_timeout":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The timeout in seconds when a registration is considered failed. It may retry after this timeout. Default: 10"
         },
         "nfs_mount_options":{
            "value":"nolock,rw,timeo=60",
            "default":"nolock,rw,timeo=60",
            "valid_values":"",
            "description":"The fully qualified hostname of the local Robin Agent rest server."
         },
         "hard_reset_on_isolation":{
            "value":0,
            "default":0,
            "valid_values":[
               0,
               1
            ],
            "description":"The flag which tells Robin agent to perform a hard reset of the operating system on a network isolation. Default: 1 (True)"
         },
         "kvm_enabled":{
            "value":false,
            "default":true,
            "valid_values":"",
            "description":"KVM engine"
         },
         "kvm_virtlauncher_image":{
            "value":"robinsys\/virtlauncher:centos8",
            "default":"robinsys\/virtlauncher:centos8",
            "valid_values":"",
            "description":"KVM virtlauncher image to use. Default: robinsys\/virtlauncher:centos8"
         },
         "file_object_cache":{
            "value":"\/var\/lib\/robin\/file_object_cache",
            "default":"\/var\/lib\/robin\/file_object_cache",
            "valid_values":"",
            "description":"The path where file objects (bundles\/images et. all) are cached locally. Default: \/var\/lib\/robin\/file_object_cache"
         },
         "server_rest_port":{
            "value":29442,
            "default":29442,
            "valid_values":"",
            "description":"RCM Server Rest Port. Default: 29442"
         },
         "https_port":{
            "value":29443,
            "default":29443,
            "valid_values":"",
            "description":"HTTPS Port for Robin UI. Default: 29443"
         },
         "event_server_port":{
            "value":29449,
            "default":29449,
            "valid_values":"",
            "description":"Robin Event Server Port. Default: 29449"
         },
         "sherlock_rest_port":{
            "value":29446,
            "default":29446,
            "valid_values":"",
            "description":"Sherlock Server Port. Default: 29446"
         },
         "nodejs_port":{
            "value":29447,
            "default":29447,
            "valid_values":"",
            "description":"Node JS Port for Robin Pod Console Access. Default: 29447"
         },
         "stormgr_rpc_port":{
            "value":29451,
            "default":29451,
            "valid_values":"",
            "description":"Storage Manager RPC Port. Default: 29451"
         },
         "rdvm_rpc_port":{
            "value":29452,
            "default":29452,
            "valid_values":"",
            "description":"RDVM RPC Port. Default: 29452"
         },
         "rio_rpc_port":{
            "value":29453,
            "default":29453,
            "valid_values":"",
            "description":"RIO RPC Port. Default: 29453"
         },
         "stormgr_rest_port":{
            "value":29454,
            "default":29454,
            "valid_values":"",
            "description":"Storage Manager Rest Port. Default: 29454"
         },
         "rdvm_rest_port":{
            "value":29455,
            "default":29455,
            "valid_values":"",
            "description":"RDVM Rest Port. Default: 29455"
         },
         "rio_rest_port":{
            "value":29456,
            "default":29456,
            "valid_values":"",
            "description":"RIO Rest Port. Default: 29456"
         },
         "node_exporter_port":{
            "value":29457,
            "default":29457,
            "valid_values":"",
            "description":"Prometheus Node Exporter Port. Default: 29457"
         },
         "database_port":{
            "value":5432,
            "default":29458,
            "valid_values":"",
            "description":"Postgres Database Port. Default 29458"
         },
         "consul_server_port":{
            "value":29459,
            "default":29459,
            "valid_values":"",
            "description":"Consul Server Port. Default: 29459"
         },
         "consul_serflan_port":{
            "value":29460,
            "default":29460,
            "valid_values":"",
            "description":"Consul Serf Lan Port. Default: 29460"
         },
         "consul_serfwan_port":{
            "value":29461,
            "default":29461,
            "valid_values":"",
            "description":"Consul Serf Wan Port. Default: 29461"
         },
         "consul_http_port":{
            "value":29462,
            "default":29462,
            "valid_values":"",
            "description":"Consul HTTP Port. Default: 29462"
         },
         "node_monitor_port":{
            "value":29467,
            "default":29467,
            "valid_values":"",
            "description":"Robin node monitor HTTP Port. Default: 29467"
         },
         "stormgr_rest_listen_addr":{
            "value":"127.0.0.1",
            "default":"127.0.0.1",
            "valid_values":[
               "127.0.0.1",
               "::1",
               "0.0.0.0",
               ":::"
            ],
            "description":"Stormgr Rest Listener Addr"
         },
         "rdvm_rest_listen_addr":{
            "value":"127.0.0.1",
            "default":"127.0.0.1",
            "valid_values":[
               "127.0.0.1",
               "::1",
               "0.0.0.0",
               ":::"
            ],
            "description":"RDVM Rest Listener Addr"
         },
         "rio_rest_listen_addr":{
            "value":"127.0.0.1",
            "default":"127.0.0.1",
            "valid_values":[
               "127.0.0.1",
               "::1",
               "0.0.0.0",
               ":::"
            ],
            "description":"RIO Rest Listener Addr"
         },
         "rio_tcmu_device_io_timeout_secs":{
            "value":84600,
            "default":84600,
            "valid_values":"",
            "description":"RIO TCMU device timeout in seconds"
         },
         "rdvm_mem_maxcap":{
            "value":25769803776,
            "default":25769803776,
            "valid_values":"",
            "description":"Dictates the maximum memory (in bytes) allocated for robin storage services on a hybrid node"
         },
         "rdvm_mem_alloc":{
            "value":0,
            "default":0,
            "valid_values":"",
            "description":"Amount of memory (in bytes) allocated for robin storage services. Note that this attribute only is only a placeholder. The actual value is set on a per-node basis and is calculated based on the type of node (hybrid vs. storage), amount of memory, etc. Any non-zero value will trigger a recalculation for all specified nodes."
         },
         "rdvm_bmapcache_invalidate_all":{
            "value":0,
            "default":0,
            "valid_values":[
               0,
               1
            ],
            "description":"Invalidate the on-disk bmap cache entries on all devices of node"
         },
         "rdvm_bmapcache_skip_all":{
            "value":0,
            "default":0,
            "valid_values":[
               0,
               1
            ],
            "description":"Skip the bmap cache usage on all devices of node. This does not invalidate the existing on-disk entries"
         },
         "suicide_threshold":{
            "value":50,
            "default":50,
            "valid_values":"",
            "description":"Time in seconds after an isolated Robin host starts killing containers. Default: 50"
         },
         "rediscover_timeout":{
            "value":120,
            "default":120,
            "valid_values":"",
            "description":"Time in seconds to wait for response from agent during rediscovery. Default: 120"
         },
         "proc_virtualization":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Enable\/Disable proc virtualization."
         },
         "prefix_dockerio":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Prefix docker.io to all non-registry images."
         },
         "kubelet_restart_tolerance":{
            "value":35,
            "default":35,
            "valid_values":"",
            "description":"Number of seconds Autopilot will wait for kubelet to restart containers in a POD before taking action to re-deploy the POD. Default: 35"
         },
         "kubelet_restart_burstlimit":{
            "value":2,
            "default":2,
            "valid_values":"",
            "description":"Number of container restarts by kubelet in kubelet_restart_bursttime monitor-server will tolerate before reporting the POD as offline to robin-server. Default: 2"
         },
         "kubelet_restart_bursttime":{
            "value":25,
            "default":25,
            "valid_values":"",
            "description":"Number of seconds for kubelet_restart_burstlimit. Default: 25"
         },
         "watchdog_loop_interval":{
            "value":3,
            "default":3,
            "valid_values":"",
            "description":"Robin agent watchdog loop interval in seconds. Default: 3"
         },
         "monitor_interval":{
            "value":1,
            "default":1,
            "valid_values":[
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10
            ],
            "description":"Robin host monitoring interval in seconds. Default: 1"
         },
         "monitor_num_samples":{
            "value":3600,
            "default":3600,
            "valid_values":"",
            "description":"Robin host monitoring sample count. Default: 3600. (1-3600). Requires a monitor-server restart"
         },
         "monitor_report_interval":{
            "value":5,
            "default":5,
            "valid_values":"",
            "description":"Robin host reporting interval in seconds. Default: 5"
         },
         "monitor_network":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Robin host monitor network. Default: True"
         },
         "monitor_influx_details":{
            "value":"{\"url\": \"\", \"dbname\": \"robin\", \"auth\": \":\" }",
            "default":"{\"url\": \"\", \"dbname\": \"robin\", \"auth\": \":\" }",
            "valid_values":"",
            "description":"Influx URL format = PROTO:\/\/HOST:PORT auth=user:password"
         },
         "monitor_push_interval":{
            "value":60,
            "default":60,
            "valid_values":"",
            "description":"Monitor to external time series db push interval. Default 60"
         },
         "monitor_host_root_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server host root volume alert highmark. Default: 90%"
         },
         "monitor_host_root_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host root volume alert lowmark. Default: 85%"
         },
         "monitor_host_var_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server host \/var volume alert highmark. Default: 90%"
         },
         "monitor_host_var_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host \/var volume alert lowmark. Default: 85%"
         },
         "monitor_host_var_log_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server host \/var\/log volume alert highmark. Default: 90%"
         },
         "monitor_host_var_log_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host \/var\/log volume alert lowmark. Default: 85%"
         },
         "monitor_host_var_pgsql_volume_highmark":{
            "value":0.7,
            "default":0.7,
            "valid_values":"",
            "description":"monitor server host \/var\/lib\/pgsql volume alert highmark. Default: 90%"
         },
         "monitor_host_var_pgsql_volume_lowmark":{
            "value":0.5,
            "default":0.5,
            "valid_values":"",
            "description":"monitor server host \/var\/lib\/pgsql volume alert lowmark. Default: 85%"
         },
         "monitor_host_var_crash_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server host \/var\/crash volume alert highmark. Default: 90%"
         },
         "monitor_host_var_crash_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host \/var\/crash volume alert lowmark. Default: 85%"
         },
         "monitor_host_var_robin_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server host \/var\/lib\/robin volume alert highmark. Default: 90%"
         },
         "monitor_host_var_robin_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host \/var\/lib\/robin volume alert lowmark. Default: 85%"
         },
         "monitor_host_swap_highmark":{
            "value":0.8,
            "default":0.8,
            "valid_values":"",
            "description":"monitor server host swap space alert highmark. Default: 80%"
         },
         "monitor_host_swap_lowmark":{
            "value":0.75,
            "default":0.75,
            "valid_values":"",
            "description":"monitor server host swap space alert lowmark. Default: 75%"
         },
         "monitor_container_volume_highmark":{
            "value":0.9,
            "default":0.9,
            "valid_values":"",
            "description":"monitor server container volume alert highmark. Default: 90%"
         },
         "monitor_container_volume_lowmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server container volume alert lowmark. Default: 85%"
         },
         "monitor_container_swap_highmark":{
            "value":0.8,
            "default":0.8,
            "valid_values":"",
            "description":"monitor server container swap space alert highmark. Default: 80%"
         },
         "monitor_container_swap_lowmark":{
            "value":0.75,
            "default":0.75,
            "valid_values":"",
            "description":"monitor server container swap space alert lowmark. Default: 75%"
         },
         "monitor_host_mem_lowmark":{
            "value":0.8,
            "default":0.8,
            "valid_values":"",
            "description":"monitor server host memory usage lowmark. Default: 80%"
         },
         "monitor_host_mem_highmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host memory usage lowmark. Default: 85%"
         },
         "monitor_host_cpu_lowmark":{
            "value":0.8,
            "default":0.8,
            "valid_values":"",
            "description":"monitor server host memory usage lowmark. Default: 80%"
         },
         "monitor_host_cpu_highmark":{
            "value":0.85,
            "default":0.85,
            "valid_values":"",
            "description":"monitor server host memory usage lowmark. Default: 85%"
         },
         "metrics_grafana_details":{
            "value":"{\"url\": \"\", \"auth\": \":\"}",
            "default":"{\"url\": \"\", \"auth\": \":\"}",
            "valid_values":"",
            "description":"Grafana details URL=PROTO:\/\/HOST:PORT auth=user:password"
         },
         "robincri_log_level":{
            "value":"WARNING",
            "default":"WARNING",
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for robincri. Default: WARNING"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the agent. Default: DEBUG"
         },
         "network_type":{
            "value":10,
            "default":10,
            "valid_values":[
               4,
               6
            ],
            "description":"IP protocol version 4 or 6. Default: 4"
         },
         "dedicated_vcpu_usage_factor":{
            "value":0.5,
            "default":0.5,
            "valid_values":"",
            "description":"Default dedicated vcpu usage ratio. Default: 50%"
         },
         "cri":{
            "value":"robin",
            "default":"robin",
            "valid_values":[
               "robin",
               "dockershim",
               "kubelet"
            ],
            "description":"CRI type"
         },
         "agent_res_allocator":{
            "value":"topology_manager",
            "default":"topology_manager",
            "valid_values":[
               "robin",
               "topology_manager"
            ],
            "description":"CPU allocator is robin or topology manager"
         },
         "topology_manager_policy":{
            "value":"restricted",
            "default":"best-effort",
            "valid_values":[
               "none",
               "best-effort",
               "restricted",
               "single-numa-node"
            ],
            "description":"Topology manager policy"
         },
         "cpu_manager_policy":{
            "value":"static",
            "default":"static",
            "valid_values":[
               "none",
               "static"
            ],
            "description":"CPU manager policy"
         },
         "pod_max_pids":{
            "value":1000,
            "default":1000,
            "valid_values":"",
            "description":"Specify the max number of processes to be running per pod per K8S node via kubelet configuration. Default: 1000"
         },
         "shared_cpu_limit":{
            "value":1,
            "default":1,
            "valid_values":"",
            "description":"Value to set as limits (and plan for) for shared Robin applications. The lowest value possible is 0. To set limits equal to the value specified at runtime turn off this variable by setting the value as -1."
         },
         "monitor_d_state_event_timeout_secs":{
            "value":60,
            "default":60,
            "valid_values":[],
            "description":"Robin monitor server will detect important processes stuck in uninterruptable sleep (D) state and after this timeout raise an alert. Default: 60"
         },
         "monitor_d_state_timeout_secs":{
            "value":600,
            "default":600,
            "valid_values":[],
            "description":"Robin monitor server will detect important processes stuck in uninteruptable sleep (D) state and after this timeout it will reboot the server. Default: 600"
         },
         "monitor_enable_monitor_inotify":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Whether Robin Monitor Server will discover inotify. Default: False"
         },
         "monitor_inotify_cache_timeout":{
            "value":60,
            "default":60,
            "valid_values":[],
            "description":"Robin Monitor Server will cache inotify result and clear as configured. Default: 60 minute"
         },
         "monitor_include_iwatcher_in_inotify":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Whether Robin Monitor Server will include inotify while discovering inotify. Default: False"
         },
         "create_mig_partitions_on_reboot":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Whether mig partitions will be created on reboot. Default: False"
         }
      },
      "analytics":{
         "server":{
            "value":"robin-analytics.service.robin",
            "default":"robin-analytics.service.robin",
            "valid_values":"",
            "description":"The hostname of the Robin Analytics server."
         },
         "port":{
            "value":39481,
            "default":39481,
            "valid_values":"",
            "description":"The port number of the Robin Analytics server. Default: 39481"
         }
      },
      "app":{
         "enable_hooklogs":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/Disable hooklogs setting. Can be overriden at app level"
         },
         "enable_metrics":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/Disable App metrics setting. Can be overriden at app level"
         },
         "enable_limit_range":{
            "value":"disable",
            "default":"disable",
            "valid_values":[
               "enable",
               "disable",
               "permissive"
            ],
            "description":"Enable\/Disable\/permissive limit range setting."
         },
         "skip_namespace_for_limit_check":{
            "value":"kube-system,robinio",
            "default":"kube-system,robinio",
            "valid_values":"",
            "description":"Namespaces that must be skipped from resource limits check. Format is comma separated values. Default: 'robinio,kube-system' When updating do not remove 'kube-system,robinio'"
         },
         "apply_limit_range_on":{
            "value":"bundle",
            "default":"bundle",
            "valid_values":[
               "bundle",
               "non-bundle",
               "all"
            ],
            "description":"Selects the apps for which limit range is to be applied"
         },
         "job_hooks_memory_limit":{
            "value":"1G",
            "default":"1G",
            "valid_values":"",
            "description":"Memory for a job hooks limit when it is not configured in spec. Default value is 1G (examples: 2Gi, 250Mi)"
         },
         "job_hooks_cpu_limit":{
            "value":"1",
            "default":"1",
            "valid_values":"",
            "description":"CPU for a job hooks limit when it is not configured in spec. Default value is 1 (examples: 2G, 250m)"
         }
      },
      "client":{
         "server":{
            "value":"master.robin-server.service.robin",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The hostname of the Robin server."
         },
         "rest_port":{
            "value":29442,
            "default":29442,
            "valid_values":"",
            "description":"The REST port of the Robin server. Default: 29442"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the client. Default: DEBUG"
         },
         "enable_colors":{
            "value":true,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"If true, the client will use colors to indicate degraded and faulted states. Default: true"
         }
      },
      "cluster":{
         "max_node_count":{
            "value":65535,
            "default":65535,
            "valid_values":"",
            "description":"Maximum number of nodes that can be part of a cluster"
         },
         "enable_telemetry":{
            "value":true,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"If true, telemetry data will be sent to robin server. Default: true"
         },
         "telemetry_server":{
            "value":"insight.robinsystems.com:443",
            "default":"insight.robinsystems.com:443",
            "valid_values":"",
            "description":"Name and port of the telemetry server"
         },
         "telemetry_interval":{
            "value":86400,
            "default":86400,
            "valid_values":"",
            "description":"Interval in seconds for collecting telemetry data"
         },
         "install_key":{
            "value":"<REDACTED>",
            "default":"",
            "valid_values":"",
            "description":"Install key"
         },
         "reserved_subnet":{
            "value":"172.20.0.0",
            "default":"172.20.0.0",
            "valid_values":"",
            "description":"Reserved subnet to be used by Robin"
         },
         "robinds_dir":{
            "value":"\/home\/robinds",
            "default":"\/home\/robinds",
            "valid_values":"",
            "description":"Robin DS folder to be used during Robin Installation"
         },
         "robinlog_dir":{
            "value":"\/home\/robinds",
            "default":"\/home\/robinds",
            "valid_values":"",
            "description":"Robin log folder to be used during Robin Installation"
         },
         "robincrash_dir":{
            "value":"\/home\/robinds",
            "default":"\/home\/robinds",
            "valid_values":"",
            "description":"Robin crash folder to be used during Robin Installation"
         },
         "robin_install_dir":{
            "value":"\/usr\/local\/robin",
            "default":"\/usr\/local\/robin",
            "valid_values":"",
            "description":"Robin install config folder to be used during Robin Installation"
         },
         "robin_backup_dir":{
            "value":"\/etc\/robin\/",
            "default":"\/etc\/robin",
            "valid_values":"",
            "description":"Robin backup folder to be used during Robin Installation for backing up installation configuration files"
         },
         "ovs_enabled":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"OVS mode"
         },
         "kms":{
            "value":"k8s",
            "default":"k8s",
            "valid_values":[
               "robin",
               "google",
               "k8s",
               "vault"
            ],
            "description":"Key management service"
         },
         "kms_keyring":{
            "value":"k8skeyring",
            "default":"k8skeyring",
            "valid_values":"",
            "description":"Cryptographic key ring for google kms"
         },
         "kms_version":{
            "value":"v2",
            "default":"v2",
            "valid_values":"",
            "description":"ROBIN KMS version"
         },
         "clusterid":{
            "value":"368810af-cd52-4dad-81dd-c210e1bb8806",
            "default":"",
            "valid_values":"",
            "description":"ROBIN CNP Cluster UUID"
         },
         "disable_calico":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Disable Calico CNI Plugin"
         },
         "disable_isolated_ip_pools":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Disable Robin Loopback CNI Plugin"
         },
         "colocate_rcm_k8s":{
            "value":false,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enforce kubernetes API server and RCM master to exist on the same node"
         },
         "robin_managed_k8s":{
            "value":false,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Robin\/Externally managed Kubernetes install"
         },
         "k8s_pod_cidr":{
            "value":"172.21.0.0\/16",
            "default":"172.21.0.0\/16",
            "valid_values":"",
            "description":"Kubernetes default POD CIDR subnet"
         },
         "k8s_cluster_cidr":{
            "value":"172.19.0.0\/16",
            "default":"172.19.0.0\/16",
            "valid_values":"",
            "description":"Kubernetes default Cluster CIDR subnet"
         },
         "external_routes":{
            "value":null,
            "default":"",
            "valid_values":"",
            "description":"Comma separated External routes to be added for EC2 deployments"
         },
         "network_policy_scope":{
            "value":"allow-all",
            "default":"allow-all",
            "valid_values":[
               "allow-all",
               "namespace",
               "tenant",
               "user",
               "app",
               "deny-all"
            ],
            "description":"K8S Ingress\/Egress Network Policy Scope when creating applications. Default value: allow-all"
         },
         "k8s_provider":{
            "value":"robin",
            "default":"robin",
            "valid_values":[
               "robin",
               "gke",
               "openshift",
               "aks",
               "iks",
               "eks",
               "rke",
               "upstream"
            ],
            "description":"External Kubernetes Provider"
         },
         "csi_storage_affinity":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable or disable compute-storage affinity for k8s apps (e.g., helm). Default value: True"
         },
         "csi_plugin_name":{
            "value":"robin",
            "default":"robin",
            "valid_values":[
               "robin",
               "robin-0-3"
            ],
            "description":"Robin Storage Class name"
         },
         "marketplace":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Created as part of marketplace"
         },
         "snapshot_space_limit":{
            "value":0.0,
            "default":0.0,
            "valid_values":"",
            "description":"Default snapshot space limit. Default: 0% which means do not restrict the usage for snapshots."
         },
         "robin_ns":{
            "value":"robinio",
            "default":"robinio",
            "valid_values":"",
            "description":"Robin Namespace name"
         },
         "deployment_source":{
            "value":"installer",
            "default":"installer",
            "valid_values":[
               "installer",
               "operatorhub",
               "spec",
               "gcpmarkeplace",
               "marketplace",
               "express",
               "enterprise"
            ],
            "description":"Source of deployment"
         },
         "ignored_phases":{
            "value":"failed",
            "default":"failed",
            "valid_values":"",
            "description":"Comma seperated string of Kubernetes Pod phases to ignore"
         },
         "update_coredns":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Use this flag if DNS resolution for nodes to be provided using Core DNS"
         },
         "update_etc_hosts":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Use this flag if DNS resolution is not supported across nodes and \/etc\/hosts should be updated"
         },
         "ip_version":{
            "value":4,
            "default":4,
            "valid_values":[
               4,
               6
            ],
            "description":"IP version to be used for the cluster. Default is '4'"
         },
         "remove_taints":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Master Node Taints"
         },
         "cluster_domain":{
            "value":"cluster.local",
            "default":"cluster.local",
            "valid_values":"",
            "description":"Kubernetes cluster domain"
         },
         "cluster_name":{
            "value":"default",
            "default":"default",
            "valid_values":"",
            "description":"Custom cluster name"
         },
         "disable_scale_hpa":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Disable scalein\/out operations when HPA is enabled"
         },
         "disable_hpa":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Disable HPA feature"
         },
         "max_inst_per_role":{
            "value":5000,
            "default":5000,
            "valid_values":"",
            "description":"Maximum number of instances that can be part of a role"
         },
         "enable_nmap":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Enable Nmap check to avoid IP address collision"
         },
         "enable_vdi":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Experimental VDI feature in ROBIN"
         },
         "license_server_url":{
            "value":"https:\/\/get.robin.io",
            "default":"https:\/\/get.robin.io",
            "valid_values":"",
            "description":"URL of License Server to use when activating license. Default: https:\/\/get.robin.io"
         },
         "k8s_cluster_tenant_enabled":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"K8sCluster tenant is enabled"
         },
         "k8s_cert_expiryalert_days":{
            "value":30,
            "default":30,
            "valid_values":"",
            "description":"Users will be alerted about the k8s certificate expiry ahead of the configured days. Default: 30 days"
         },
         "pod_ready_timeout":{
            "value":900,
            "default":900,
            "valid_values":"",
            "description":"Time in seconds to wait for pod to go into ready state"
         },
         "loadbalancer_supported":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Environment support for Load Balancer"
         },
         "default_csi_respool":{
            "value":"default",
            "default":"default",
            "valid_values":"",
            "description":"Default resource pool to use for external PVCs"
         },
         "default_pod_respool":{
            "value":"default",
            "default":"default",
            "valid_values":"",
            "description":"Default resource pool to use for compute planning for storage affiniity"
         },
         "default_pod_ippool":{
            "value":"nonrobin-default",
            "default":"nonrobin-default",
            "valid_values":"",
            "description":"Default IP pool name to use for network planning. Default: nonrobin-default"
         },
         "k8s_auto_registration":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin to auto register the K8s apps (E.g., Helm). Default is 'True'"
         },
         "k8s_plan":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin to do plan for K8s apps (E.g., Helm). Default is 'True'"
         },
         "k8s_affinity_plan":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin to apply the role affinities and other placement-rules apps (E.g., Helm). Default is 'False'"
         },
         "k8s_check_rpool_limits":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin to check the limits before deploying a k8s app (E.g., Helm). Default is 'False'"
         },
         "k8s_enforce_hosts_from_rpool":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin to enforce the nodes selection from selected resource pools before creating a k8s app (E.g., Helm). Default is 'False'"
         },
         "k8s_drop_event_for_pod_phases":{
            "value":[

            ],
            "default":[

            ],
            "valid_values":"",
            "description":"Ignore pod deletion event when current pod phases are in specified values (E..g, Pending in array). Default is empty array"
         },
         "k8s_gui_support":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Show Apps in GUI for testing only. Default is 'False'"
         },
         "k8s_monitor_threadpool":{
            "value":3,
            "default":3,
            "valid_values":[],
            "description":"K8s apps monitor uses threadpool to monitor k8s apps (deployed outside RCM). Default threadpool size is 3"
         },
         "k8s_skip_recentprocessedevents":{
            "value":20,
            "default":20,
            "valid_values":[],
            "description":"K8s pod update events are processed. Repeated update events in short time can be skipped safely. Default time is 20 seconds"
         },
         "k8s_app_defaultcpu":{
            "value":0,
            "default":0,
            "valid_values":[],
            "description":"Number of CPU's for a pod planning when it is not configured in pod-spec. Default value is 0"
         },
         "k8s_app_defaultmem":{
            "value":"0Mi",
            "default":"0Mi",
            "valid_values":"",
            "description":"Memory for a pod planning when it is not configured in pod-spec. Default value is 0Mi (examples: 2Gi, 250Mi)"
         },
         "reserved_ephemeral_pods_count":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"Number of pods to reserve for application hook scripts that run as Kubernetes Jobs"
         },
         "resource_sync_with_k8s":{
            "value":5,
            "default":5,
            "valid_values":[],
            "description":"Robin will syncup details like ip-pool with CR in k8s in a regular interface. Default interval is 5 mins"
         },
         "resource_cleanup_k8s":{
            "value":30,
            "default":30,
            "valid_values":[],
            "description":"Robin will cleanup such as ip if unsed for more than specified value (in mins). Default interval is 30 mins"
         },
         "rcm_cluster_ip":{
            "value":"172.19.76.38",
            "default":null,
            "valid_values":"",
            "description":"Robin Master Cluster IP"
         },
         "dns_cluster_ip":{
            "value":"172.19.0.10",
            "default":null,
            "valid_values":"",
            "description":"Core DNS Cluster IP"
         },
         "elb_integration":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"ELB integration when creating Load Balancer services"
         },
         "enable_volume_jobs":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Enable Volume Operations to use respective jobs. Default is True"
         },
         "plan_begin_delay":{
            "value":0,
            "default":0,
            "valid_values":[],
            "description":"Allows Plan manager to sleep before beginning the plan. Default is 0 seconds"
         },
         "k8s_jit_jobcompletion":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Mimic the job completion at the time of webhook\/extension timeout. Default is False"
         },
         "calico_backend":{
            "value":"bgp",
            "default":"bgp",
            "valid_values":[
               "bgp",
               "vxlan"
            ],
            "description":"Calico Backend"
         },
         "reserved_net_enabled":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable configuration of reserved network if needed for a Pod"
         },
         "upgrade_checks_timeout":{
            "value":1800,
            "default":1800,
            "valid_values":"",
            "description":"Time in seconds to wait for Robin nodes to move to Ready state post upgrade"
         },
         "create_user_ns_tenant_isolation_nw_policies":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Create K8S Ingress\/Egress Network policies during user creations"
         },
         "k8scheduler_exclude_nodes":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"Remove the nodes that kube-scheduler sends to Robin server to test host not found scenarios. Format comma separate nodenames. Default is ''"
         },
         "custom_theme":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"If a custom theme needs to be enabled this variable should be set to the file object ID of the associated tarball. Default is '' indicating there is no custom theme."
         }
      },
      "gui":{
         "enable_metrics_view":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Enable metrics view in GUI"
         },
         "agent_res_allocator":{
            "value":"topology_manager",
            "default":"topology_manager",
            "valid_values":[
               "robin",
               "topology_manager"
            ],
            "description":"CPU allocator is robin or topology manager"
         },
         "enable_vdi":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Experimental VDI feature in ROBIN"
         }
      },
      "database":{
         "server":{
            "value":"172.19.171.38",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The fully qualified hostname of the database server. Default: Hostname of the Robin server."
         },
         "port":{
            "value":5432,
            "default":29458,
            "valid_values":"",
            "description":"The port number of the database. Default: 29458."
         },
         "db_name":{
            "value":"robin",
            "default":"robin",
            "valid_values":"",
            "description":"The name of the database. Default: robin"
         },
         "user":{
            "value":"robin",
            "default":"robin",
            "valid_values":"",
            "description":"The name of the database user. Default: robin"
         },
         "password":"<REDACTED>",
         "log_level":{
            "value":20,
            "default":20,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the database. Default: INFO"
         }
      },
      "database_storage":{
         "db_name":{
            "value":"robin_storage",
            "default":"robin_storage",
            "valid_values":"",
            "description":"The name of the storage database. Default: robin_storage"
         }
      },
      "docker":{
         "port":{
            "value":2376,
            "default":2376,
            "valid_values":"",
            "description":"The port where docker TCP connections are made. Default: 2376"
         },
         "docker_subnet":{
            "value":"172.17.0.0",
            "default":"172.17.0.0",
            "valid_values":"",
            "description":"Default docker subnet"
         },
         "storage_driver":{
            "value":"overlay2",
            "default":"devicemapper",
            "valid_values":"",
            "description":"The storage driver that docker will use. Default: devicemapper"
         }
      },
      "event_server":{
         "hostname":{
            "value":"master.robin-server.service.robin",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The hostname of the event server. Default: Hostname of the Robin server."
         },
         "db_name":{
            "value":"robin-event",
            "default":"robin-event",
            "valid_values":"",
            "description":"The name of the DB used to store all event related information"
         },
         "db_connections":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The number of connections to DB"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the file server. Default: INFO"
         },
         "log_file":{
            "value":"\/var\/log\/robin\/robin-event-server.log",
            "default":"\/var\/log\/robin\/robin-event-server.log",
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log file"
         },
         "log_filesize":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The log file size"
         },
         "log_retention":{
            "value":4,
            "default":4,
            "valid_values":"",
            "description":"The count of log file archive retention"
         },
         "rest_port":{
            "value":29449,
            "default":29449,
            "valid_values":"",
            "description":"The port where rest connections are made to the event server. Default: 29449"
         },
         "event_deffile":{
            "value":"\/opt\/robin\/current\/rcm\/event_types.json",
            "default":"\/opt\/robin\/current\/rcm\/event_types.json",
            "valid_values":"",
            "description":"Event definition file"
         },
         "alert_workers":{
            "value":32,
            "default":32,
            "valid_values":"",
            "description":"The number of workers serving the REST event post requests"
         },
         "alert_req_q_size":{
            "value":5000,
            "default":5000,
            "valid_values":"",
            "description":"The number of requests that could be queued before serving when REST post event workers are busy"
         },
         "max_subscriber":{
            "value":100,
            "default":100,
            "valid_values":"",
            "description":"The number of maximum event notification workers"
         },
         "notification_evt_workers":{
            "value":64,
            "default":64,
            "valid_values":"",
            "description":"The number of maximum event notification workers"
         },
         "notification_evt_q_size":{
            "value":5000,
            "default":5000,
            "valid_values":"",
            "description":"The alert notification queue size used to store when event notification workers are busy"
         },
         "notification_alert_workers":{
            "value":64,
            "default":64,
            "valid_values":"",
            "description":"The number of maximum alert notification workers"
         },
         "notification_alert_q_size":{
            "value":5000,
            "default":5000,
            "valid_values":"",
            "description":"The alert notification queue size used to store when alert notification workers are busy"
         },
         "notification_failure_ids_size":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The maximum size of the list of events\/alerts notifications failure for a subscriber"
         },
         "purge_disable":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Disable purging the alerts and events"
         },
         "purge_hour":{
            "value":1,
            "default":1,
            "valid_values":"",
            "description":"The time in the day when the purging should run, default 1 (1AM)"
         },
         "purge_event_age":{
            "value":168,
            "default":168,
            "valid_values":"",
            "description":"Purge the events older than specified hours, default 168 hours (7 days)"
         },
         "purge_alert_age":{
            "value":168,
            "default":168,
            "valid_values":"",
            "description":"Purge the alerts older than specified hours, default 168 hours (7 days)"
         },
         "emit_app_labels":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Emit the app k8s labels with EVENT_APP_* event notifications"
         },
         "rakuten_app_labels":{
            "value":"ns_uuid,nf_uuid",
            "default":"ns_uuid,nf_uuid",
            "valid_values":"",
            "description":"Rakuten app k8s labels emitted with EVENT_APP_* event notifications"
         },
         "rakuten_role_labels":{
            "value":"cnfc_uuid",
            "default":"cnfc_uuid",
            "valid_values":"",
            "description":"Rakuten role k8s labels emitted with EVENT_APP_* event notifications"
         }
      },
      "file_server":{
         "hostname":{
            "value":"robin-file-server.robinio",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The hostname of the file server. Default: local hostname."
         },
         "rest_port":{
            "value":29445,
            "default":29445,
            "valid_values":"",
            "description":"The port where rest connections are made to the file server. Default: 29445"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the file server. Default: INFO"
         },
         "rest_worker_threads":{
            "value":20,
            "default":20,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent REST requests"
         }
      },
      "host":{
         "host_type":{
            "value":"physical",
            "default":"physical",
            "valid_values":[
               "physical",
               "ec2",
               "azure",
               "obmc",
               "ibm",
               "anthos",
               "gcp"
            ],
            "description":"The hardware type of the host. Default: physical"
         },
         "saas_mode":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Robin SAAS install"
         },
         "ovs_enabled":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"OVS mode"
         },
         "mem_for_compute":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Amount of memory reserved in bytes for compute role"
         },
         "mem_for_management":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Amount of memory reserved in bytes for management role"
         }
      },
      "manager":{
         "connect_timeout":{
            "value":"10s",
            "default":"10s",
            "valid_values":"",
            "description":"The default HaProxy connection timeout. Default is '10s'"
         },
         "client_timeout":{
            "value":"45s",
            "default":"45s",
            "valid_values":"",
            "description":"The default timeout for HaProxy clients. Default is '45s'"
         },
         "server_timeout":{
            "value":"45s",
            "default":"45s",
            "valid_values":"",
            "description":"The default timeout for HaProxy servers. Default is '45s'"
         },
         "robincp_mode":{
            "value":true,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable\/disable HaProxy access to Robin control plane services. Default is 'True'"
         },
         "disabled_masters":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Comma seperated list of master nodes to disable in HaProxy"
         },
         "robin_k8s_extension":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable Robin's scheduler extender and webhooks to plan the K8s apps (E.g., Helm). Default is 'True'"
         },
         "extender_failure_policy":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Allows K8s to plan its own when Robin fails to plan. Default is 'True'"
         },
         "extender_hard_affinity":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Extender to let K8s not to allow scheduling if storage affinity cannot be satisfied in RCM. Default is 'False'"
         },
         "extender_timeout":{
            "value":63,
            "default":63,
            "valid_values":[],
            "description":"Allows K8s to wait for response from Robin before applying extender_failure_policy. Default is '60 seconds'"
         },
         "mutating_webhook_timeout":{
            "value":30,
            "default":30,
            "valid_values":[],
            "description":"Allows K8s to wait for response from Robin before admitting the resources. Default is '30 seconds'"
         },
         "validating_webhook_timeout":{
            "value":3,
            "default":3,
            "valid_values":[]
            ],
            "description":"Allows K8s to wait for response from Robin before admitting the resources during validation. Default is '3 seconds'"
         },
         "webhook_k8spodplannerjob_timeout":{
            "value":28,
            "default":28,
            "valid_values":[],
            "description":"Network planning based K8SPodPlanner job timeout. Default is '28 seconds'"
         },
         "extender_k8spodplannerjob_timeout":{
            "value":58,
            "default":58,
            "valid_values":[],
            "description":"Storage planning based K8SPodPlanner job timeout. Default is '58 seconds'"
         },
         "mutating_webhook_delay_failure":{
            "value":3,
            "default":3,
            "valid_values":[],
            "description":"RCM delays failure response to avoid K8S to call RCM aggressively"
         },
         "mutating_webhook_staticip_validation_enable":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"RCM by default disables static ip validation in webhook context to avoid delay"
         },
         "mutating_webhook_check_planq":{
            "value":false,
            "default":false,
            "valid_values":[
               true,
               false
            ],
            "description":"Allow or skip, RCM to check the plan q before submitting the job"
         },
         "robincns_k8s_apiserver_feature_gates":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"Let RCM knows the features gates of K8s API server in CNS. Format: <F1>=True,<F2>=False..."
         }
      },
      "monitor_server":{
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the file server. Default: DEBUG"
         },
         "rest_port":{
            "value":29448,
            "default":29448,
            "valid_values":"",
            "description":"Robin Monitor Server Port. Default: 29448"
         }
      },
      "notification":{
         "smtp_server":{
            "value":"localhost",
            "default":"localhost",
            "valid_values":"",
            "description":"Hostname of the SMTP mail server."
         },
         "smtp_port":{
            "value":0,
            "default":0,
            "valid_values":"",
            "description":"Port number for the SMTP mail server"
         },
         "smtp_user":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"User name for the SMTP email account"
         },
         "smtp_passwd":{
            "value":"<REDACTED>",
            "default":null,
            "valid_values":"",
            "description":"Password for the SMTP email account"
         },
         "smtp_ssl":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Email server requires SSL"
         },
         "smtp_sender":{
            "value":"robinsupport@robin.io",
            "default":"robinsupport@robin.io",
            "valid_values":"",
            "description":"SMTP sender email address"
         },
         "snmp_host":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Hostname\/IP Address where SNMP Traps should be sent."
         },
         "snmp_port":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Port number to use when sending SNMP traps"
         },
         "email_sender":{
            "value":"robin@robin.io",
            "default":"robin@robin.io",
            "valid_values":"",
            "description":"Email address of sender for all email notifications"
         },
         "insight_email_sender":{
            "value":"insight@robin.io",
            "default":"insight@robin.io",
            "valid_values":"",
            "description":"Email address of sender for all insight email reports"
         }
      },
      "ontap":{
         "retry_discover_lun_after_clone":{
            "value":50,
            "default":50,
            "valid_values":"",
            "description":"Number of retries to do if lun key cannot be discovered after cloning volume"
         },
         "retry_discover_volume_after_clone_from_backup":{
            "value":500,
            "default":500,
            "valid_values":"",
            "description":"Number of retries to do if volume key cannot be discovered after clone is complete from backup volume"
         },
         "retry_lun_mapping":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"Number of retries to do for lun mapping as it fails with key not found"
         }
      },
      "server":{
         "hostname":{
            "value":"master.robin-server.robinio.svc.cluster.local",
            "default":"master.robin-server.robinio.svc.cluster.local",
            "valid_values":"",
            "description":"The hostname of the Robin server."
         },
         "rest_server":{
            "value":"master.robin-server.service.robin",
            "default":"master.robin-server.service.robin",
            "valid_values":"",
            "description":"The fully qualified hostname of the Robin rest server."
         },
         "rest_port":{
            "value":29442,
            "default":29442,
            "valid_values":"",
            "description":"The REST port of the Robin server. Default: 29442"
         },
         "relocation_threshold":{
            "value":125,
            "default":125,
            "valid_values":"",
            "description":"Time in seconds after Robin server starts relocating containers from an unreachable compute host. Default: 125. (Deprecated)"
         },
         "storage_task_purge_age":{
            "value":7776000,
            "default":7776000,
            "valid_values":"",
            "description":"We purge the tasks which are older than this parameter (default 90 days)"
         },
         "job_archive_cron":{
            "value":"0 0 * * *",
            "default":"0 0 * * *",
            "valid_values":"",
            "description":"Cron for job archive Default: Every midnight"
         },
         "job_archive_age":{
            "value":86400,
            "default":86400,
            "valid_values":"",
            "description":"Cron for job archive Default: Every midnight"
         },
         "job_purge_max_count":{
            "value":100000,
            "default":100000,
            "valid_values":"",
            "description":"Number of jobs to purge, avoid overloading the DB and filesystem, Default: 100,000"
         },
         "job_purge_cron":{
            "value":"30 0 * * *",
            "default":"30 0 * * *",
            "valid_values":"",
            "description":"Cron for job purge. Default: Everyday 30 minutes past midnight"
         },
         "job_purge_age":{
            "value":1209600,
            "default":1209600,
            "valid_values":"",
            "description":"Purge successful jobs with completed time lesser than purge age. Default: older than 2 weeks"
         },
         "job_purge_failed_age":{
            "value":2419200,
            "default":2419200,
            "valid_values":"",
            "description":"Purge failed jobs with completed time lesser than failed purge age. Default: older than 4 weeks"
         },
         "job_purge_maintenance_age":{
            "value":604800,
            "default":604800,
            "valid_values":"",
            "description":"Purge maintenance job with completed time lesser than maintenance purge age. Default: older than 1 week"
         },
         "job_purge_maintenance_jtypes":{
            "value":"JobArchive,JobPurge",
            "default":"JobArchive,JobPurge",
            "valid_values":"",
            "description":"List of maintenance job types to purge. Default: 'JobArchive,JobPurge'"
         },
         "job_cleanup_cron":{
            "value":"0 1 1 * *",
            "default":"0 1 1 * *",
            "valid_values":"",
            "description":"Cron for cleanup of stale job logs. Default: 1st of every month at 1AM"
         },
         "image_prune_cron":{
            "value":"0 0 * * *",
            "default":"0 0 * * *",
            "valid_values":"",
            "description":"Cron for pruning unused images Default: Every midnight"
         },
         "workflow_execution_type":{
            "value":"async",
            "default":"async",
            "valid_values":"",
            "description":"Workflow execution type (sync | async)"
         },
         "enable_workflow_debugging":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable\/Disable workflow debugging"
         },
         "insight_cron":{
            "value":"0 *\/8 * * *",
            "default":"0 *\/8 * * *",
            "valid_values":"",
            "description":"Cron for running insight report"
         },
         "enable_image_prune_schedule":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable\/Disable unused host image pruning"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the server. Default: DEBUG"
         },
         "log_file_size":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The log file size for robin server : Default 10 MB per file"
         },
         "log_filter_file":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"Path to the log filter file. Default None"
         },
         "log_retention":{
            "value":9,
            "default":9,
            "valid_values":"",
            "description":"No: of backup log files for robin server : Default 9"
         },
         "inmem_log_capacity":{
            "value":100,
            "default":100,
            "valid_values":"",
            "description":"No: of log records per node to hold in mem befor flushing: Default 100"
         },
         "storage_provision_factor":{
            "value":0.8,
            "default":0.8,
            "valid_values":"",
            "description":"The factor used to over or under provision storage per disk. A value of 1 means that the exact amount of storage for a disk will be used."
         },
         "storage_alloc_policy":{
            "value":"PACK",
            "default":"PACK",
            "valid_values":[
               "PACK",
               "SPREAD"
            ],
            "description":"Storage allocation policy. PACK will pack volumes onto a disk till it is fully allocated. SPREAD will pick disks with fewer volumes."
         },
         "allow_latency_through_vols_on_disk":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Allow latency sensitive and throughput to go on the same disk"
         },
         "voltype_disk_reuse":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Determines if volumes of a volume type gets gets exclusive disk sets. This is not a strict enforement, rather a guideline"
         },
         "auto_move_disks":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable automatic attach\/detach of disks"
         },
         "allow_docker_rootfs":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/disable rootfs for docker instances"
         },
         "autopilot":{
            "value":false,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Engage\/Disengage Autopilot module"
         },
         "token_timeout":{
            "value":24,
            "default":24,
            "valid_values":"",
            "description":"The timeout in hours for a user login session. Default: 24"
         },
         "enable_apaudit":{
            "value":true,
            "default":true,
            "valid_values":[
               true,
               false
            ],
            "description":"Enable\/Disable APAUDIT logging"
         },
         "restart_burst_limit":{
            "value":15,
            "default":15,
            "valid_values":"",
            "description":"The number of failed restart attempts (within burst_interval) before robin server marks instances as ADMIN_WAIT. Default: 15"
         },
         "restart_burst_interval":{
            "value":600,
            "default":600,
            "valid_values":"",
            "description":"The number of seconds that the restart_burst_limit is tolerated. Default: 600"
         },
         "log_path":{
            "value":"\/var\/log\/robin\/log_collect",
            "default":"\/var\/log\/robin\/log_collect",
            "valid_values":"",
            "description":"The path where collected log files of the system will be stored. Default: \/var\/log\/robin\/log_collect"
         },
         "ssl_cert_file":{
            "value":"\/etc\/robin\/rcm\/ssl\/robin_ssl.crt",
            "default":"\/etc\/robin\/rcm\/ssl\/robin_ssl.crt",
            "valid_values":"",
            "description":"The filename of the SSL certificate file. Default: \/etc\/robin\/rcm\/ssl\/robin_ssl.crt"
         },
         "ssl_key_file":{
            "value":"\/etc\/robin\/rcm\/ssl\/robin_ssl.key",
            "default":"\/etc\/robin\/rcm\/ssl\/robin_ssl.key",
            "valid_values":"",
            "description":"The filename of the SSL key file. Default: \/etc\/robin\/rcm\/ssl\/robin_ssl.key"
         },
         "allocation_module":{
            "value":"robin.rcm.server.resmgr.workload_storage_allocator.WorkloadAllocator",
            "default":"robin.rcm.server.resmgr.workload_storage_allocator.WorkloadAllocator",
            "valid_values":"",
            "description":"The python path to the class that implements the Allocator"
         },
         "web_token_secret_key":{
            "value":"<REDACTED>",
            "default":null,
            "valid_values":"",
            "description":"The secret key used to sign web tokens."
         },
         "portmapping":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable\/Disable Port Mapping"
         },
         "auto_add_storage_disks":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable\/Disable host discovery and add disks"
         },
         "storage_providers":{
            "value":[
               "das",
               "ontap"
            ],
            "default":[
               "das",
               "ontap"
            ],
            "valid_values":"",
            "description":"Storage provider das\/ontap"
         },
         "storage_provider":{
            "value":"ontap",
            "default":"ontap",
            "valid_values":"",
            "description":"Storage provider robin\/ontap"
         },
         "disk_used_space_threshold":{
            "value":80,
            "default":80,
            "valid_values":"",
            "description":"Disk used space threshold used for alerts"
         },
         "disk_used_space_high_watermark":{
            "value":90,
            "default":90,
            "valid_values":"",
            "description":"Disk used space high watermark in percentage after which rebalance will be triggered automatically"
         },
         "disk_used_space_low_watermark":{
            "value":80,
            "default":80,
            "valid_values":"",
            "description":"Disk used space low watermark. This is the target percentage once disk reaches high watermark"
         },
         "slice_segcount_threshold":{
            "value":64,
            "default":64,
            "valid_values":"",
            "description":"Segment count per slice per volume threshold used for alerts"
         },
         "create_k8s_objects":{
            "value":true,
            "default":true,
            "valid_values":"",
            "description":"Enable K8S Object creation during bundle application hook executions"
         },
         "ext_auth_receive_timeout":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"External auth receive timeout"
         },
         "ext_auth_connect_timeout":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"External auth connect timeout"
         },
         "rest_worker_threads":{
            "value":20,
            "default":20,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent REST requests"
         },
         "rest_instances_worker_threads":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent instances REST requests"
         },
         "rest_storage_worker_threads":{
            "value":2,
            "default":2,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent storage array REST GET requests"
         },
         "rest_metrics_worker_threads":{
            "value":20,
            "default":20,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent metrics REST GET\/PUT requests"
         },
         "rest_events_worker_threads":{
            "value":5,
            "default":5,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent events REST POST requests"
         },
         "rest_user_worker_threads":{
            "value":5,
            "default":5,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent user REST POST requests"
         },
         "rest_volume_worker_threads":{
            "value":5,
            "default":5,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent volume REST requests"
         },
         "session_pid_debug":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"Log the PID of the current session when getting session or scoped session"
         },
         "k8s_snapshot_discard_kinds":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"Kinds separate by comma in plural form which can be discarded during snapshot. Default: \"\""
         },
         "k8s_snapshot_enable_implicit_discard_kinds":{
            "value":true,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Robin platform by default can discard certain kinds. Disable if required. Default: \"true\""
         },
         "k8s_snapshot_discard_resources":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"Resources separate by comma to be discarded during namespace snapshot. Each resource string specified here must be in one of the format <kind>\/annotation\/<annotation-key>:=<value>, <kind>\/name\/<name>:=<value>, <kind>\/label\/<label>:=<value>. Default: \"\""
         },
         "k8s_snapshot_enable_implicit_discard_resources":{
            "value":true,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Robin platform by default will discard certain resources during namespace snapshot that are created by kubernetes infra. Disable if required. Default: \"true\""
         },
         "k8s_recreated_resource_toskip_age":{
            "value":180,
            "default":180,
            "valid_values":[],
            "description":"During rollback, the resources will be deleted which can result in recreation by another operator before restoring the snapshot. Rollback will skip such recreated resources if seen within this configured time. Default: 180 seconds"
         }
      },
      "user_audit":{
         "enabled":{
            "value":true,
            "default":true,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable auditing of user activity."
         },
         "log_enable":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"Enable logging for user audit"
         },
         "log_format":{
            "value":"JSON",
            "default":"JSON",
            "valid_values":[
               "JSON",
               "TEXT"
            ],
            "description":"Output format for user audit log messages. Default: JSON"
         },
         "log_level":{
            "value":20,
            "default":20,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for user audit. Default: INFO"
         },
         "log_retention":{
            "value":4,
            "default":4,
            "valid_values":"",
            "description":"The count of user audit log file archive retention"
         },
         "log_file_size":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The log file size for user audit logs : Default 10 MB per file"
         }
      },
      "vip_info":{
         "vip":{
            "value":"",
            "default":"",
            "valid_values":"",
            "description":"VIP for Kubernetes cluster"
         },
         "port":{
            "value":36443,
            "default":"",
            "valid_values":"",
            "description":"VIP port for of the Kubernetes cluster"
         },
         "netmask":{
            "value":16,
            "default":"",
            "valid_values":"",
            "description":"VIP netmask for the Kubernetes cluster"
         },
         "vrid":{
            "value":0,
            "default":"",
            "valid_values":"",
            "description":"Virtual Router ID"
         }
      },
      "watchdog_server":{
         "hostname":{
            "value":"localhost",
            "default":"localhost",
            "valid_values":"",
            "description":"The hostname of the file server. Default: local hostname."
         },
         "rest_port":{
            "value":29444,
            "default":29444,
            "valid_values":"",
            "description":"The port where rest connections are made to the watchdog server. Default: 29444"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the watchdog server. Default: INFO"
         }
      },
      "auth_server":{
         "hostname":{
            "value":"master.robin-server.service.robin",
            "default":"master.robin-server.service.robin",
            "valid_values":"",
            "description":"The hostname of the auth server. Default: local master.robin-server.service.robin."
         },
         "rest_port":{
            "value":29466,
            "default":29466,
            "valid_values":"",
            "description":"The port where rest connections are made to the auth server. Default: 29466"
         },
         "log_level":{
            "value":10,
            "default":10,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the auth server. Default: INFO"
         },
         "rest_worker_threads":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"Number of REST worker threads to handle concurrent REST requests"
         }
      },
      "nfs":{
         "max_exports_per_pod":{
            "value":8,
            "default":8,
            "valid_values":"",
            "description":"Maximum exports in a NFS server pod, default is 8"
         },
         "shared_pod_placement":{
            "value":"PACK",
            "default":"PACK",
            "valid_values":"",
            "description":"RWX pvc placement on the NFS server pod, default is PACK"
         },
         "nfs_server_storage_affinity":{
            "value":"none",
            "default":"none",
            "valid_values":"",
            "description":"NFS server pod placement policy"
         },
         "pod_creation_timeout":{
            "value":600,
            "default":600,
            "valid_values":"",
            "description":"Timeout value in seconds for nfs serer pod creation, default is 60"
         },
         "service_creation_timeout":{
            "value":60,
            "default":60,
            "valid_values":"",
            "description":"Timeout value in seconds for service creation, default is 60"
         },
         "failover_enabled":{
            "value":1,
            "default":1,
            "valid_values":[
               0,
               1
            ],
            "description":"Flag to enable\/disable failover of nfs server pods Default: 1 (True)"
         },
         "max_failover_timed_wait":{
            "value":600,
            "default":600,
            "valid_values":"",
            "description":"Max Timed wait before spawning another Server Pod Failover Job"
         },
         "shared_pod_failover_serialized":{
            "value":1,
            "default":1,
            "valid_values":[
               0,
               1
            ],
            "description":"Flag to serialize failover of nfs exports from shared pod, Default: 1 (True)"
         },
         "default_server_type":{
            "value":"shared",
            "default":"shared",
            "valid_values":"",
            "description":"Default NFS server pod type"
         },
         "shared_pod_cpu":{
            "value":"100m",
            "default":"100m",
            "valid_values":"",
            "description":"Default CPU resource for shared nfs server pod"
         },
         "shared_pod_memory":{
            "value":"200Mi",
            "default":"200Mi",
            "valid_values":"",
            "description":"Default memory resource for shared nfs server pod"
         },
         "excl_pod_cpu":{
            "value":"100m",
            "default":"100m",
            "valid_values":"",
            "description":"Default CPU resource for exclusive nfs server pod"
         },
         "excl_pod_memory":{
            "value":"200Mi",
            "default":"200Mi",
            "valid_values":"",
            "description":"Default memory resource for exclusive nfs server pod"
         },
         "shared_pod_cpu_limit":{
            "value":"UNLIMITED",
            "default":"UNLIMITED",
            "valid_values":"",
            "description":"Default cpu limit for shared nfs_server_pod"
         },
         "shared_pod_memory_limit":{
            "value":"UNLIMITED",
            "default":"UNLIMITED",
            "valid_values":"",
            "description":"Default memory limit for shared nfs_server_pod"
         },
         "exclusive_pod_cpu_limit":{
            "value":"UNLIMITED",
            "default":"UNLIMITED",
            "valid_values":"",
            "description":"Default cpu limit for exclusive nfs_server_pod"
         },
         "exclusive_pod_memory_limit":{
            "value":"UNLIMITED",
            "default":"UNLIMITED",
            "valid_values":"",
            "description":"Default memory limit for exclusive nfs_server_pod"
         }
      },
      "cloud":{
         "http_proxy":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Proxy server to be used for cloud APIs over HTTP"
         },
         "https_proxy":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Proxy server to be used for cloud APIs over HTTPS"
         },
         "ftp_proxy":{
            "value":null,
            "default":null,
            "valid_values":"",
            "description":"Proxy server to be used for cloud APIs over FTP"
         },
         "proxy_certificate":{
            "value":false,
            "default":false,
            "valid_values":[
               "true",
               "false"
            ],
            "description":"If enabled use Certificate for the Proxy Server at \/etc\/proxy-cert"
         }
      },
      "sherlock":{
         "log_level":{
            "value":20,
            "default":20,
            "valid_values":[
               "DEBUG",
               "INFO",
               "WARNING",
               "ERROR",
               "CRITICAL"
            ],
            "description":"The log level for the sherlock. Default: INFO"
         },
         "cache_retention_time":{
            "value":10,
            "default":10,
            "valid_values":"",
            "description":"The sherlock cfg cache retention time. Default: 10 seconds"
         },
         "monitor_auth_enable":{
            "value":false,
            "default":false,
            "valid_values":"",
            "description":"The sherlock monitor authorization enable"
         }
      }
   }
}

22.2. Update config attributes

In order to update the value associated with a config attribute, issue the following command:

robin config update <section> <attribute> <value>
                                          --hosts <hosts>
                                          --force

section

Section of the attribute to update

attribute

Name of the attribute to update

value

New value for specified attribute. For sensitive attributes do not specify the value in the command line a prompt will be displayed instead

--hosts <hosts>

A comma separated list of hosts to configure. Note this parameter is only valid if the section is agent

--force

Override update restrictions

Example:

# robin config update cluster reserved_ephemeral_pods_count 5
The 'cluster' attribute 'reserved_ephemeral_pods_count' has been updated

22.3. Table of Reference

Detailed below are all the configuration sections along with each of their associated attributes. The description, valid values and updatability of each attribute is also provided.

Note

Any attributes emphasized in bold are not updateable after a Robin cluster is installed.

22.3.1. Agent Attributes

Configuration attributes associated with the agent section often relate to or impact all nodes (or at least a subset of worker nodes) within the cluster. Detailed below are all the relevant attributes for the section.

Attribute

Valid values

Description

rest_server

Any valid FQDN

The fully qualified hostname of the local Robin Agent rest server

rest_port

29450

The port where rest connections are made to the agents. Default: 29450

registration_timeout

Any valid integer

The timeout in seconds after which the agent tries to register with the server again. Default: 10 seconds.

nfs_mount_options

Any valid mount options

The options used when mounting an NFS share. Default: nolock,rw,timeo=60

hard_reset_on_isolation

0, 1

The flag which tells Robin agent to perform a hard reset of the operating system on a network isolation. Default: 0 (False)

kvm_enabled

‘True’, ‘False’

Enable support for the KVM engine. Default: True

kvm_virtlauncher_image

Any valid image name

KVM virtlauncher image to use. Default: robinsys/virtlauncher:centos8

file_object_cache

Any valid pathname

The path where file objects (bundles/images et. all) are cached locally. Default: /var/lib/robin/file_object_cache

server_rest_port

Any valid integer

RCM Server Rest Port. Default: 29442

https_port

Any valid integer

HTTPS Port for Robin UI. Default: 29443

event_server_port

Any valid integer

Robin Event Server Port. Default: 29449

sherlock_rest_port

Any valid integer

Sherlock Server Port. Default: 29446

nodejs_port

Any valid integer

Node JS Port for Robin Pod Console Access. Default: 29447

stormgr_rpc_port

Any valid integer

Storage Manager RPC Port. Default: 29451

rdvm_rpc_port

Any valid integer

RDVM RPC Port. Default: 29452

rio_rpc_port

Any valid integer

RIO RPC Port. Default: 29453

stormgr_rest_port

Any valid integer

Storage Manager Rest Port. Default: 29454

rdvm_rest_port

Any valid integer

RDVM Rest Port. Default: 29455

rio_rest_port

Any valid integer

RIO Rest Port. Default: 29456

node_exporter_port

Any valid integer

Prometheus Node Exporter Port. Default: 29457

database_port

Any valid integer

Postgres Database Port. Default 29458

consul_server_port

Any valid integer

Consul Server Port. Default: 29459

consul_serflan_port

Any valid integer

Consul Serf Lan Port. Default: 29460

consul_serfwan_port

Any valid integer

Consul Serf Wan Port. Default: 29461

consul_http_port

Any valid integer

Consul HTTP Port. Default: 29462

node_monitor_port

Any valid integer

Robin node monitor HTTP Port. Default: 29467

stormgr_rest_listen_addr

“127.0.0.1”, “::1”, “0.0.0.0”, “:::”

Stormgr Rest Listener Address. Default: 127.0.0.1

rdvm_rest_listen_addr

“127.0.0.1”, “::1”, “0.0.0.0”, “:::”

RDVM Rest Listener Address. Default: 127.0.0.1

rio_rest_listen_addr

“127.0.0.1”, “::1”, “0.0.0.0”, “:::”

RIO Rest Listener Address. Default: 127.0.0.1

rio_tcmu_device_io_timeout_secs

Any valid integer

RIO TCMU device timeout in seconds. Default: 84600

rdvm_mem_maxcap

Any valid integer

Dictates the maximum memory (in bytes) allocated for Robin storage services on a hybrid node. Default: 25769803776

rdvm_mem_alloc

Any valid integer

Amount of memory (in bytes) allocated for robin storage services. Note that this attribute only is only a placeholder. The actual value is set on a per-node basis and is calculated based on the type of node (hybrid vs. storage), amount of memory, etc. Any non-zero value will trigger a recalculation for all specified nodes. Default: 0

rdvm_bmapcache_invalidate_all

0, 1

Invalidate the on-disk bmap cache entries on all devices of node. Default 0 (False)

rdvm_bmapcache_skip_all

0, 1

Skip the bmap cache usage on all devices of node. This does not invalidate the existing on-disk entries. Default 0 (False)

suicide_threshold

Any valid integer

Time in seconds after an isolated Robin host starts killing containers. Default: 50 seconds

rediscover_timeout

Any valid integer

Time in seconds to wait for response from during rediscovery. Default: 120 seconds

proc_virtualization

‘True’, ‘False’

Enable/Disable proc virtualization

prefix_dockerio

‘True’, ‘False’

Boolean indicating whether or not to prefix ‘docker.io’ to all non-registry images

kubelet_restart_tolerance

Any valid integer

Number of seconds Autopilot will wait for kubelet to restart containers in a POD before taking action to re-deploy the POD. Default: 35 seconds

kubelet_restart_bursttime

Any valid integer

Number of seconds for kubelet_restart_burstlimit. Default: 25 seconds

kubelet_restart_burstlimit

Any valid integer

Number of container restarts by kubelet in kubelet_restart_bursttime monitor-server will tolerate before reporting the POD as offline to robin-server. Default: 2

monitor_interval

1 - 10

Robin host monitoring interval in seconds. Default: 1 second

monitor_num_samples

1 - 3600

Robin host monitoring sample count. Default: 3600. Requires a monitor-server restart

monitor_report_interval

Any valid integer

Robin host reporting interval in seconds. Default: 5 seconds

monitor_network

‘True’, ‘False’

Robin host monitor network. Default: True

monitor_influx_details

Any valid string

Used to generate Influx DB URL. URL format is PROTO://HOST:PORT auth=user:password. Default: ‘{“url”: “”, “dbname”: “robin”, “auth”: “:” }’

monitor_push_interval

Any valid integer

Monitor server to external time series DB push interval in seconds. Default 60 seconds

monitor_host_root_volume_highmark

0.0 - 1.0

If utilization of a host’s root volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_host_root_volume_lowmark

0.0 - 1.0

If utilization of a host’s root volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_host_var_volume_highmark

0.0 - 1.0

If utilization of a host’s /var volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_host_var_volume_lowmark

0.0 - 1.0

If utilization of a host’s /var volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_host_var_log_volume_highmark

0.0 - 1.0

If utilization of a host’s /var/log volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_host_var_log_volume_lowmark

0.0 - 1.0

If utilization of a host’s /var/log volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_host_var_pgsql_volume_highmark

0.0 - 1.0

If utilization of a host’s /var/lib/pgsql volume is over the percentage specified a highmark alert will be raised. Default: 0.7 (70%)

monitor_host_var_pgsql_volume_lowmark

0.0 - 1.0

If utilization of a host’s /var/lib/pgsql volume is under the percentage specified a lowmark alert will be raised. Default: 0.5 (50%)

monitor_host_var_crash_volume_highmark

0.0 - 1.0

If utilization of a host’s /var/crash volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_host_var_crash_volume_lowmark

0.0 - 1.0

If utilization of a host’s /var/crash volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_host_var_robin_volume_highmark

0.0 - 1.0

If utilization of a host’s /var/lib/robin volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_host_var_robin_volume_lowmark

0.0 - 1.0

If utilization of a host’s /var/lib/robin volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_host_swap_highmark

0.0 - 1.0

If utilization of a host’s swap space is over the percentage specified a highmark alert will be raised. Default: 0.8 (80%)

monitor_host_swap_lowmark

0.0 - 1.0

If utilization of a host’s swap space is under the percentage specified a lowmark alert will be raised. Default: 0.75 (75%)

monitor_container_volume_highmark

0.0 - 1.0

If utilization of a container’s volume is over the percentage specified a highmark alert will be raised. Default: 0.9 (90%)

monitor_container_volume_lowmark

0.0 - 1.0

If utilization of a container’s volume is under the percentage specified a lowmark alert will be raised. Default: 0.85 (85%)

monitor_container_swap_highmark

0.0 - 1.0

If utilization of a container’s swap space is over the percentage specified a highmark alert will be raised. Default: 0.8 (80%)

monitor_container_swap_lowmark

0.0 - 1.0

If utilization of a container’s swap space is under the percentage specified a lowmark alert will be raised. Default: 0.75 (75%)

monitor_host_mem_highmark

0.0 - 1.0

If utilization of a host’s total memory is over the percentage specified a highmark alert will be raised. Default: 0.85 (85%)

monitor_host_mem_lowmark

0.0 - 1.0

If utilization of host’s total memory is under the percentage specified a lowmark alert will be raised. Default: 0.8 (80%)

monitor_host_cpu_highmark

0.0 - 1.0

If utilization of a host’s total CPU is over the percentage specified a highmark alert will be raised. Default: 0.85 (85%)

monitor_host_cpu_lowmark

0.0 - 1.0

If utilization of host’s total CPU is under the percentage specified a lowmark alert will be raised. Default: 0.8 (80%)

metrics_grafana_details

Any valid string

Used to generate Grafana URL. URL format is PROTO://HOST:PORT auth=user:password. Default: ‘{“url”: “”, auth”: “:” }’

robincri_log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for Robin CRI. Default: WARNING

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the Robin Agent. Default: DEBUG

network_type

4, 6

IP protocol version 4 or 6. Default: 4

dedicated_vcpu_usage_factor

0.0 - 1.0

Default dedicated vcpu usage ratio. Default: 0.5 (50%)

cri

robin, dockershim, kubelet

CRI type. Default: robin

agent_res_allocator

robin, topology_manager

CPU allocator. Default: topology_manager

topology_manager_policy

‘none’, ‘best-effort’, ‘restricted’, ‘single-numa-node’

Topology manager policy. Default: best-effort

cpu_manager_policy

‘none’, ‘static’

CPU manager policy. Default: static

pod_max_pids

Any valid integer

The max number of processes to be running per pod per K8S node via kubelet configuration. Default: 1000

shared_cpu_limit

Any valid integer

Value to set as limits (and plan for) for shared Robin applications. The lowest value possible is 0. To set limits equal to the value specified at runtime turn off this variable by setting the value as -1. Default: 1

monitor_d_state_event_timeout_secs

0 - 3600

Robin monitor server will detect important processes stuck in uninterruptable sleep (D) state and after the specified timeout (in seconds) raise an alert. Default: 60 seconds

monitor_d_state_timeout_secs

0 - 3600

Robin monitor server will detect important processes stuck in uninteruptable sleep (D) state and after the specified timeout (in seconds) it will reboot the server. Default: 600 seconds

monitor_enable_monitor_inotify

‘True’, ‘False’

Boolean variable indicating whether Robin Monitor Server will discover inotify. Default: False

monitor_inotify_cache_timeout

0 - 2880

Robin Monitor Server will cache the inotify result and clear the cache per the timeout (in minutes) configured. Default: 60 minutes

monitor_include_iwatcher_in_inotify

‘True’, ‘False’

Boolean variable indicating whether Robin Monitor Server will include iwatcher while discovering inotify. Default: False

create_mig_partitions_on_reboot

‘True’, ‘False’

Boolean variable indicating whether MIG partitions will be created on reboot. Default: False

22.3.2. Application Attributes

Configuration attributes associated with the app section often relate to or impact applications settings or control the behavior of the orchestrator when planning applications. Detailed below are all the relevant attributes for the section.

Attribute

Valid values

Description

enable_hooklogs

True, False

Enable/disable logging of application hook scripts. Can be overriden at application level

enable_metrics

True, False

Enable/disable application metrics. Can be overriden at application level

enable_limit_range

‘enable’, ‘disable’, ‘permissive’

Set value for limit range setting

skip_namespace_for_limit_check

Any valid namespace(s)

Namespaces that must be skipped from resource limits check. Format is comma separated values. Default: robinio,kube-system

apply_limit_range_on

‘bundle’, ‘non-bundle’, ‘all’

Type of applications for which limit range is to be applied

job_hooks_memory_limit

Any valid memory limit value

Memory limit value for hook jobs when it is not configured in spec. Default value is 1G (examples: 2Gi, 250Mi)

job_hooks_memory_limit

Any valid CPU limit value

CPU limit value for hook jobs when it is not configured in spec. Default value is 1 (examples: 2G, 250m)

22.3.3. UI Attributes

Configuration attributes associated with the gui section often relate to or impact what information is displayed on the Robin UI as well as what details users have access to. Detailed below are all the relevant attributes for the section.

Attribute

Valid values

Description

enable_metrics_view

True, False

Enable/disable viewing metrics in the UI

agent_res_allocator

‘robin’, ‘topology_manager’

Name of plugin responsible for resource allocation

enable_vdi

True, False

Enable/disable experimental VDI feature in the UI

22.3.4. Client Attributes

Configuration attributes associated with the client section often relate to or impact the behavior of the Robin client. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes should be updated locally using the native robin client commands.

Attribute

Valid values

Description

server

Any valid FQDN

The hostname of the Robin server to connect to

rest_port

Any valid integer

The REST port of the Robin server. Default: 29442

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the client. Default: DEBUG

enable_colors

‘true’, ‘false’

If enabled the client will use colors to indicate degraded and faulted states. Default: ‘true’

22.3.5. Event Server Attributes

Configuration attributes associated with the event_server section often relate to or impact configuration of the Robin Event Server. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

hostname

Any valid FQDN

The fully qualified hostname of the event server. Default: Hostname of the Robin server

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the event server. Default: INFO

log_file

Any valid file path

The full path at which to store the event server logs. Default: /var/log/robin/robin-event-server.log

log_filesize

Any valid integer

Size of the event server log file in MB. Default: 10 MB

log_retention

Any valid integer

The count of log file archive retention. Default: 4

22.3.6. File Server Attributes

Configuration attributes associated with the file_server section often relate to or impact configuration of the Robin File Server. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

hostname

Any valid FQDN

The fully qualified hostname of the file server. Default: Hostname of the Robin server

port

Any valid integer

The port where rest connections are made to the file server. Default: 29445

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the file server. Default: INFO

22.3.7. Monitor Server Attributes

Configuration attributes associated with the monitor_server section often relate to or impact configuration of the Monitor Server running on every node within a Robin cluster. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

rest_port

Any valid integer

The port where rest connections are made to the monitor server. Default: 29448

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the monitor server. Default: DEBUG

22.3.8. User Audit Attributes

Configuration attributes associated with the user_audit section often relate to or impact configuration of the auditing tools present on a Robin Cluster. Detailed below are all the relevant attributes for the section.

Note

More details on the auditing capabilities available to users can be found here.

Attribute

Valid values

Description

enabled

‘True’, ‘False’

Enable auditing of user activity

log_enable

‘True’, ‘False’

Enable logging for user audit

log_format

‘JSON’, ‘TEXT’

Output format for user audit log messages if enabled. Default: JSON

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for user audit. Default: INFO

log_retention

Any integer value

The count of user audit log file archive retention. Default: 4

log_file_size

Any integer value

The log file size for user audit logs in MB. Default: 10

22.3.9. High Availability Attributes

Configuration attributes associated with the vip_info section often relate to or impact configuration of Kubernetes cluster with regards to high availability. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and cannot be updated as they are set at the time of installation. They are presented here as a reference.

Attribute

Valid values

Description

vip

Any valid IP address

VIP for the Kubernetes cluster

port

Any valid integer

VIP port for the Kubernetes cluster

netmask

Any valid IP address

VIP netmask for the Kubernetes cluster

vrid

Any valid integer

Virtual Router ID

22.3.10. Auth Server Attributes

Configuration attributes associated with the auth_server section often relate to or impact configuration of the Robin Auth Server. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

hostname

Any valid FQDN

The hostname of the auth server. Default: master.robin-server.service.robin

rest_port

Any valid integer

The port where rest connections are made to the auth server. Default: 29466

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the auth server. Default: DEBUG

22.3.11. Cloud Attributes

Configuration attributes associated with the cloud section often relate to or impact the APIs linked to cloud-based platforms. Detailed below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

http_proxy

Any valid IP address

Proxy server to be used for cloud APIs over HTTP. By default it is not set

https_proxy

Any valid IP address

Proxy server to be used for cloud APIs over HTTPS. By default it is not set

ftp_proxy

Any valid IP address

Proxy server to be used for cloud APIs over FTP. By default it is not set

proxy_certificate

‘true’, ‘false’

Boolean attribute indicating whether or not to use the certificate at /etc/proxy-cert for the Proxy Server. Default: False

22.3.12. Sherlock Tool Attributes

Configuration attributes associated with the sherlock section often relate to or impact configuration of the Robin’s native debugging tool Sherlock; details for which can be found here <troubleshooting.html#sherlock>. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

monitor_auth_enable

‘true’, ‘false’

If enabled data can be scraped from Sherlock by a special Metrics only user. By default this attribute is not enabled.

cache_retention_time

Any valid integer

The retention time in seconds for the configuration cached by Sherlock. Default: 10 seconds.

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the Sherlock tool. Default: INFO

22.3.13. Disaster Recovery Attributes

Configuration attributes associated with the dr section often relate to or impact configuration of the Robin’s disaster recovery facilities for applications. Shown below are all the relevant attributes for the section.

Attribute

Valid values

Description

poll_timeout

Any valid integer

Timeout in seconds on how long the peer cluster will be polled. Default: 30 seconds

max_pending_pair_requests

Any valid integer

Max number of pending pair requests allowed on a single cluster. Default: 30

max_retain_snapshots_count

Any valid integer

Max number of snapshots to retain as part of the replication policy. Default: 250

flush_dr_stats

‘True’, ‘False’

Boolean attribute indicating whether or not the collected statistics for applications should be flushed once it has been synced. Default: True

retain_dr_stats

Any valid integer

Time in seconds to retain transmission statistics for applications. Default: 120 seconds

auto_assign_mode

‘mirror’, ‘default’, ‘manual’

Auto-assignment mode for protection group creation and application assignment

max_pending_repl_jobs

Any valid integer

Maximum number of outstanding replication jobs for a protection group. Default: 4

max_snapshot_import_attempts

Any valid integer

Number of times the snapshot restore operation is retried. Default: 2

enable_dr_stats_push

‘True’, ‘False’

Boolean attribute indicating whether or not the collected DR statistics should be pushed to the Sherlock server. Default: True

app_creation_timeout

Any valid integer

Timeout in seconds the indefinite wait to create the app when there is a delay in app creation or loading, and it results in a delay in application registration. Default: 600 seconds.

primary_repl_resp_timeout

Any valid integer

Timeout in seconds for secondary to respond to primary for replication completion. Default: 86400 seconds

22.3.14. Host Attributes

Configuration attributes associated with the host section often relate to or impact the physical configuration of hosts within the Robin cluster. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

host_type

‘physical’, ‘ec2’, ‘azure’, ‘ibm’, ‘anthos’, ‘gcp’

The hardware type of the host. Default: physical

saas_mode

‘true’, ‘false’

Boolean attribute indicating whether the current cluster is installed with Robin Storage or Robin Platform

ovs_enabled

‘true’, ‘false’

Boolean attribute indicating whether OVS is enabled for the host

mem_for_compute

Any valid integer

Amount of memory reserved in bytes for compute role. Default: 0

mem_for_management

Any valid integer

Amount of memory reserved in bytes for management role. Default: 0

22.3.15. Database Attributes

Configuration attributes associated with the database section often relate to or impact the configuration of the Robin database. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

server

Any valid FQDN

The fully qualified hostname of the database server. Default: Hostname of the Robin server.

port

Any valid integer

The port number of the database. Default: 29458.

db_name

Any valid string

The name of the database. Default: robin

user

Any valid string

The name of the database user. Default: robin

password

Any valid string

The password of the database user

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the database. Default: INFO

pre_ping

‘True’, ‘False’

Boolean attribute indicating whether or not a ping should be sent to the database prior to making a connection

22.3.16. Event Notification Attributes

Configuration attributes associated with the notification section often relate to or impact the configuration of how users are notified of events or alerts occuring on a given Robin cluster. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

smtp_server

Any valid hostname

The hostname of the SMTP mail server. Default: localhost

smtp_port

Any valid integer

Port number for the SMTP mail server. Not set by default

smtp_user

Any valid string

User name for the SMTP email account. Not set by default

smtp_password

Any valid string

Password for the SMTP email account. Not set by default

smtp_ssl

‘True’, ‘False’

Boolean value indicating whether or not the SMTP email server has SSL enabled.

smtp_sender

Any valid string

SMTP sender email address. Default: robinsupport@robin.io

snmp_host

Any valid hostname

Hostname/IP Address where SNMP Traps should be sent. Not set by default

snmp_port

Any valid integer

Port number to use when sending SNMP traps. Not set by default

email_sender

Any valid string

Email address of sender for all email notifications. Default: robin@robin.io

insight_email_sender

Any valid string

Email address of sender for all insight email reports. Default: insight@robin.io

22.3.17. Network File System Attributes

Configuration attributes associated with the nfs section often relate to or impact the configuration of NFS pods which are used to support the creation of ReadWriteMany volumes; details for which can be found here <manage_storage.html#readwritemany-rwx-volumes>. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

max_exports_per_pod

Any valid integer

Maximum exports in a NFS server pod. Default is 8

shared_pod_placement

‘PACK’, ‘SPREAD’

RWX PVC placement on the NFS server pod. Default: PACK

nfs_server_storage_affinity

‘none’, ‘preferred’, ‘required’

NFS server pod placement policy in regards to storage affinity. Default: none

pod_creation_timeout

Any valid integer

Timeout value in seconds for NFS server pod creation. Default: 600 seconds

service_creation_timeout

Any valid integer

Timeout value in seconds for service creation. Default: 60 seconds

failover_enabled

0, 1

Flag to enable/disable failover of NFS server pods. Default: 1 (True)

max_failover_timed_wait

Any valid integer

Timeout value in seconds before spawning another Server Pod Failover Job. Default: 600 seconds

shared_pod_failover_serialized

0, 1

Flag to serialize failover of nfs exports from shared pod. Default: 1 (True)

default_server_type

‘shared’, ‘exclusive’

Default type for NFS server pod. Default: shared.

shared_pod_cpu

Any valid value for CPU resources in Kubernetes

Default CPU requests for shared NFS server pods. Default: 100m

shared_pod_memory

Any valid value for Memory resources in Kubernetes

Default Memory requests for shared NFS server pods. Default: 200Mi

excl_pod_cpu

Any valid value for CPU resources in Kubernetes

Default CPU requests for exclusive NFS server pods. Default: 100m

excl_pod_memory

Any valid value for Memory resources in Kubernetes

Default CPU requests for exclusive NFS server pods. Default: 200Mi

shared_pod_cpu_limit

Any valid value for CPU resources in Kubernetes

Default CPU limits for shared NFS server pods. Not set by default

shared_pod_memory_limit

Any valid value for Memory resources in Kubernetes

Default Memory limits for shared NFS server pods. Not set by default

exclusive_pod_cpu_limit

Any valid value for CPU resources in Kubernetes

Default CPU limits for exclusive NFS server pods. Not set by default

exclusive_pod_memory_limit

Any valid value for Memory resources in Kubernetes

Default CPU limits for exclusive NFS server pods. Not set by default

nfsv4_grace_period

Any valid integer

NFSv4 Grace Period. Default 25

nfsv4_lease_lifetime

Any valid integer

NFSv4 Lease Lifetime. Default 10

log_file_size_cap

Any valid integer

Max file size for logs before they are rotated. Can be specified in bytes, or use standard notation for kilobytes (K), megabytes (M), and gigabytes (G). Default: 64M

log_files_rotate

Any valid integer

The count of log file archive retention. Default: 10

22.3.18. Cluster wide Attributes

Configuration attributes associated with the cluster section often relate to or impact the configuration of the entire Robin cluster in a variety of facets. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

max_node_count

Any valid integer

Maximum number of nodes that can be part of a cluster. Default: 65535

enable_telemetry

‘True’, ‘False’

Boolean attribute indicating whether or not telemetry data will be sent to the Robin Insight server. Default: False

telemetry_server

Any valid URL

Name and port of the telemetry server. Default: insight.robinsystems.com:443

telemetry_interval

Any valid integer

Interval, in seconds, for collecting telemetry data. Default: 86400

reserved_subnet

Any valid network range

Reserved subnet to be used by Robin. Default: 172.20.0.0

robinds_dir

Any valid file path

Robin daemonset folder to be used during Robin Installation. Default: /home/robinds

robinlog_dir

Any valid file path

Robin log folder to be used during Robin Installation. Default: /home/robinds

robincrash_dir

Any valid file path

Robin crash folder to be used during Robin Installation. Default: /home/robinds

robin_install_dir

Any valid file path

Robin install config folder to be used during Robin Installation. Default: /usr/local/robin

robin_backup_dir

Any valid file path

Robin backup folder to be used during Robin Installation. Default: /etc/robin

ovs_enabled

‘True’, ‘False’

Boolean attribute indicating whether or not OVS is enabled for the cluster. Default: True

kms

‘robin’, ‘google’, ‘k8s’, ‘vault’

Name of key management service. Default: k8s

kms_keyring

Any valid string

Cryptographic key ring for specifed key management service. Default: k8skeyring

kms_version

Any valid string

Robin key management service version. Default: v2

disable_calico

‘True’, ‘False’

Boolean attribute indicating whether or not the Calico CNI Plugin should be disabled. Default: False

disable_isolated_ip_pools

‘True’, ‘False’

Boolean attribute indicating whether or not the Robin Loopback CNI Plugin should be disabled. Default: False

colocate_rcm_k8s

‘True’, ‘False’

Boolean attribute indicating whether or not it should be enforced that the Kubernetes API server and Robin server exist on the same node. Default: True

robin_managed_k8s

‘True’, ‘False’

Boolean attribute indicating whether or not the current cluster was installed with Robin managed Kubernetes. Default: True

k8s_pod_cidr

Any valid network range

Kubernetes default Pod CIDR subnet. Default: 172.21.0.0/16

k8s_cluster_cidr

Any valid network range

Kubernetes default Cluster CIDR subnet. Default: 172.19.0.0/16

external_routes

Any valid network range

Comma separated External routes to be added for EC2 deployments. Not set by default

network_policy_scope

‘allow-all’, ‘namespace’, ‘tenant’, ‘user’, ‘app’, ‘deny-all’

Kubernetes Ingress/Egress Network Policy Scope when creating applications. Default: allow-all

k8s_provider

‘robin’, ‘gke’, ‘openshift’, ‘aks’, ‘iks’, ‘eks’, ‘rke’, ‘upstream’

External Kubernetes Provider. Default: robin

deployment_source

‘installer’, ‘operatorhub’, ‘spec’, ‘gcpmarkeplace’, ‘marketplace’, ‘express’, ‘enterprise’

Source of deployment. Default: installer

csi_storage_affinity

‘True’, ‘False’

Boolean attribute indicating whether or not compute-storage affinity should be enabled for Kubernetes applications. Default: True

csi_plugin_name

‘robin’, ‘robin-0-3’

Robin storage class name. Default: robin

marketplace

‘True’, ‘False’

Boolean attribute indicating whether or not the cluster was created via the Google Marketplace. Default: False

snapshot_space_limit

Any valid integer

Default snapshot space limit in bytes when creating application. A snapshot space limit of 0 indicates no restrictions on the usage of snapshots. Default: 0

robin_ns

Any valid namespace

Namespace in which all Robin related Kubernetes objects are spawned. Default: robinio

ignored_phases

Any valid string

Comma seperated string of Kubernetes Pod phases to ignore when calculating Pod resource usage. Default: failed

update_coredns

‘True’, ‘False’

Boolean attribute indicating whether or not DNS resolution for nodes is to be provided using Core DNS. Default: False

update_etc_hosts

‘True’, ‘False’

Boolean attribute indicating whether or not DNS resolution is not supported across nodes and /etc/hosts should be updated. Default: False

ip_version

4, 6

IP version to be used for the cluster. Default is 4

remove_taints

‘True’, ‘False’

Boolean attribute indicating whether or not taints have been removed from Kubernetes Master nodes. Default: True

cluster_domain

Any valid string

Kubernetes cluster domain. Default: cluster.local

cluster_name

Any valid string

Custom cluster name. Default: default

disable_scale_hpa

‘True’, ‘False’

Boolean attribute indicating whether or not to disable scale in/out operations for applications when HPA is enabled. Default: True

disable_hpa

‘True’, ‘False’

Boolean attribute indicating whether or not to disable the HPA feature. Default: False

max_inst_per_role

Any valid integer

Maximum number of instances that can be part of a role. Default: 5000

enable_nmap

‘True’, ‘False’

Boolean attribute indicating whether or not to enable a NMap check to avoid IP address collisions. Default: False

enable_vdi

‘True’, ‘False’

Boolean attribute indicating whether or not to enable the experimental VDI feature. Default: False

license_server_url

Any valid URL

URL of License Server to use when activating license. Default: https://get.robin.io

license_external_https_proxy

Any valid URL

Address of https proxy for external connection to license server in the format IP:Port. It is not set by default

license_renew_period

Any valid integer

Number of days before license expiry to attempt automatic renewal. If the value is set to a negative number the feature is disabled. Default: -1

k8s_cluster_tenant_enabled

‘True’, ‘False’

Boolean attribute indicating whether or not the ‘K8sCluster’ tenant is enabled. Default: False

k8s_cert_expiryalert_days

Any valid integer

Number of days before the expiry of the Kubernetes certificate to alert the user. Default: 30

pod_ready_timeout

Any valid integer

Time in seconds to wait for pod to go into ready state. Default: 900 seconds

loadbalancer_supported

‘True’, ‘False’

Boolean attribute indicating whether or not the current cluster environment supports loadbalancers. Default: False

default_csi_respool

Any valid resource pool

Default resource pool to use for external PVCs. Default: default

default_pod_respool

Any valid resource pool

Default resource pool to use when planning for compute-storage affinity. Default: default

default_pod_ippool

Any valid IP-Pool

Default IP-Pool name to use for network planning. Default: nonrobin-default

reserved_ephemeral_pods_count

Any valid integer

Number of pods to reserve for application hook scripts that run as Kubernetes Jobs. Default: 10

rcm_cluster_ip

Any valid IP Address

Robin Master Cluster IP. Not set by default

dns_cluster_ip

Any valid IP Address

Core DNS Cluster IP. Not set by default

elb_integration

‘True’, ‘False’

Boolean attribute indicating whether or not there should ELB integration when creating LoadBalancer services. Default: False

enable_volume_jobs

‘True’, ‘False’

Boolean attribute indicating whether or not volume operations should be performed in the context of a Job. Default: True

calico_backend

‘bgp’, ‘vxlan’

Name of Calico backend. Default: bgp

reserved_net_enabled

‘True’, ‘False’

Boolean attribute indicating whether or not reserved networks should be configured if needed for a Pod. Default: False

upgrade_checks_timeout

Any valid integer

Time in seconds to wait for Robin nodes to move to Ready state post upgrade. Default: 1800 seconds

create_user_ns_tenant_isolation_nw_policies

‘True’, ‘False’

Boolean attribute indicating whether or not Kubernetes Ingress/Egress Network policies should be created during user addition. Default: False

custom_theme

Any valid integer

The file object ID of the tarball associated with the custom theme. This is not set by default

max_ips_per_range

Any valid integer

Maximum number of IPs that can be configured per range, should be a power of 2. Default: 8192 (8k)

disable_ip_alloc_in_ipam

‘True’, ‘False’

Boolean attribute indicating whether or not to allocate IP Addresses via Robin IPAM. Default: True

best_effort_qos

‘True’, ‘False’

Boolean attribute indicating whether or not to set CPU requests to O for Best-Effort Pods on clusters with isolated cores. Default: False

22.3.19. Manager Node Attributes

Configuration attributes associated with the manager section often relate to or impact the configuration of the Kubernetes master nodes of the Robin cluster. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

connect_timeout

Any valid time string

The default HaProxy connection timeout, presented in seconds. Default: ’10s’

client_timeout

Any valid time string

The default timeout for HaProxy clients, presented in seconds. Default: ’45s’

server_timeout

Any valid time string

The default timeout for HaProxy servers, presented in seconds. Default: ’45s’

robincp_mode

‘True’, ‘False’

Boolean attribute indicating whether or not to enable HaProxy access to Robin control plane services. Default: True

disabled_masters

Any valid string of hostnames

Comma seperated list of master nodes to disable in HaProxy. Not set by default

robin_k8s_extension

‘True’, ‘False’

Boolean attribute indicating whether or not to enable Robin’s scheduler extender and webhooks such that helm applications are planned by the Robin orchestrator. Default: True

extender_failure_policy

‘True’, ‘False’

Boolean attribute indicating whether or not to allow the native Kubernetes scheduler to plan on it’s own in the case Robin’s orchestrator fails to plan. Default: True

extender_hard_affinity

‘True’, ‘False’

Boolean attribute indicating whether or not to allow the native Kubernetes scheduler to continue to deploy objects when storage affinity cannot be satisfied. Default: False

extender_timeout

1 - 600

Amount of time, in seconds, the Kubernetes scheduler waits for a response from Robin before applying the extender_failure_policy. Default: 60 seconds

mutating_webhook_timeout

1 - 30

Amount of time, in seconds, the Kubernetes scheduler waits for a response from Robin before admitting resources. Default: 30 seconds

validating_webhook_timeout

1 - 30

Amount of time, in seconds, the Kubernetes scheduler waits for a response from Robin before admitting resources during validation. Default: 3 seconds

webhook_k8spodplannerjob_timeout

1 - 30

Timeout value, in seconds, for the network planning to occur as part of the K8SPodPlanner job. Default: 20 seconds

extender_k8spodplannerjob_timeout

1 - 600

Timeout value, in seconds, for the storage planning to occur as part of the K8SPodPlanner job. Default: 58 seconds

mutating_webhook_delay_failure

1 - 20

Additional time, in seconds, added to the failure response from the Robin scheduler to reduce the number of calls from Kubernetes. Default: 3 seconds

mutating_webhook_staticip_validation_enable

‘True’, ‘False’

Boolean attribute indicating whether or not to validate static IP addresses in the context of the webhook as it can cause delays. Default: False

mutating_webhook_check_planq

‘True’, ‘False’

Boolean attribute indicating whether or not the Robin scheduler should check the planning queue before submitting an additional job. Default: False

robincns_k8s_apiserver_feature_gates

Any valid string

Comma seperated list of feature gates of the Kubernetes API server in the format <F1>=True,<F2>=False etc. This attribute is only valid when Robin CNS is installed and is not set by default

22.3.20. Server Attributes

Configuration attributes associated with the server section often relate to or impact the configuration of the Robin server itself and the actions it takes with regards to orchestration. Shown below are all the relevant attributes for the section.

Note

Each of these attributes are only visible to superadmin users and hence can only be updated by the aforementioned users. They are presented here as a reference.

Attribute

Valid values

Description

hostname

Any valid FQDN

The hostname of the Robin server

rest_server

Any valid FQDN

The fully qualified hostname of the Robin rest server. Default: master.robin-server.service.robin

rest_port

Any valid integer

The port where rest connections are made to the Robin server. Default: 29442

storage_task_purge_age

Any valid integer

The age, in seconds, of tasks that should be purged. Default: 7776000 (90 days)

job_archive_cron

Any valid CRON string

CRON string representing the time at which the job archival schedule will run. Default: 0 0 * * * (every day at midnight)

job_archive_age

Any valid integer

The age, in seconds, at which jobs should be purged. Default: 86400 (1 day)

job_purge_max_count

Any valid integer

Number of jobs to purge in order to avoid overloading the DB and filesystem. Default: 100,000

job_purge_cron

Any valid CRON string

CRON string representing the time at which the job purge schedule will run. Default: 30 0 * * * (every day at 30 minutes past midnight)

job_purge_age

Any valid integer

The age, in seconds, at which successfully completed jobs should be purged. Default: 1209600 (2 weeks)

job_purge_failed_age

Any valid integer

The age, in seconds, at which completed jobs, which have failed, should be purged. Default: 2419200 (4 weeks)

job_purge_maintenance_age

Any valid integer

The age, in seconds, at which maintenance jobs should be purged. Default: 604800 (1 week)

job_purge_maintenance_jtypes

Any valid string

Comma seperated list of job types to be referenced as maintenance jobs. Default: ‘JobArchive,JobPurge’

job_cleanup_cron

Any valid CRON string

CRON string representing the time at which the schedule for cleaning up stale job logs will run. Default: 0 1 1 * * (1st of every month at 1AM)

image_prune_cron

Any valid CRON string

CRON string representing the time at which the schedule for pruning unused images will run. Default: 0 0 * * * (every day at midnight)

workflow_execution_type

‘sync’, ‘async’

Type of workflow execution. Default: async

enable_workflow_debugging

‘True’, ‘False’

Boolean attribute to indicate whether or not to enable workflow debugging. Default: False

insight_cron

Any valid CRON string

CRON string representing the time at which the schedule for producing an insight report will run. Default: 0 */8 * * * (Every 8 hours)

enable_image_prune_schedule

‘True’, ‘False’

Boolean attribute to indicate whether or not to enable the schedule to prune unused images from hosts. Default: False

log_level

‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’

The log level for the Robin server. Default: DEBUG

log_file_size

Any integer value

The log file size for Robin server logs in MB. Default: 10

log_filter_file

Any valid file path

Path to the log filter file. Not set by default

log_retention

Any valid integer

The count of log file archive retention. Default: 9

log_retention

Any valid integer

The number of log records per node to hold in memory before flushing. Default: 100

storage_provision_factor

Any valid float

The factor used to over or under provision storage per disk. A value of 1 means that the exact amount of storage for a disk will be used. Default: 0.8

storage_alloc_policy

‘PACK’, ‘SPREAD’

The storage allocation policy to enforce how volumes are allocated to disks. Default: PACK

allow_latency_through_vols_on_disk

‘True’, ‘False’

Boolean attribute to indicate whether or not to allow latency sensitive volumes and throughput volumes to go on the same disk. Default: False

voltype_disk_reuse

‘True’, ‘False’

Boolean attribute to indicate whether or not volumes of a volume type gets gets exclusive disk sets. This is not a strict enforement, rather a guideline. Default: True

auto_move_disks

‘True’, ‘False’

Boolean attribute to indicate whether or not to enable automatic attach/detach of disks on cloud based clusters when nodes become unreachable. Default: True

allow_docker_rootfs

‘True’, ‘False’

Boolean attribute to indicate whether or not to enable automatic attach/detach of disks on cloud based clusters when nodes become unreachable. Default: True

allow_docker_rootfs

‘True’, ‘False’

Boolean attribute to indicate whether or not the root filesystem can be used by docker instances. Default: True

autopilot

‘True’, ‘False’

Boolean attribute to indicate whether or not the autopilot module should be engaged. Default: True

token_timeout

Any valid integer

The timeout, in hours, for a user login session. Default: 24

enable_apaudit

‘True’, ‘False’

Boolean attribute to indicate whether or not autopilot auditing should be enabled. Default: True

restart_burst_limit

Any valid integer

The number of failed restart attempts (within the burst interval) before the Robin server marks instances as ADMIN_WAIT. Default: 15

restart_burst_interval

Any valid integer

The number of seconds that the restart_burst_limit is tolerated. Default: 600

log_path

Any valid file path

The path where collected log files of the system will be stored. Default: /var/log/robin/log_collect

ssl_cert_file

Any valid file path

The path at which the SSL certificate file is located. Default: /etc/robin/rcm/ssl/robin_ssl.crt

ssl_key_file

Any valid file path

The path at which the SSL key file is located. Default: /etc/robin/rcm/ssl/robin_ssl.key

allocation_module

Any valid module path

The python path for the class that implements the Allocator. Default: robin.rcm.server.resmgr.workload_storage_allocator.WorkloadAllocator

web_token_secret_key

Any valid string

The secret key used to sign web tokens. Not set by default

portmapping

‘True’, ‘False’

Boolean attribute to indicate whether or not portmapping should be enabled. Default: False

auto_add_storage_disks

‘True’, ‘False’

Boolean attribute to indicate whether or not automatic host discovery and consequent initialization of disks should be enabled. Default: False

storage_providers

Any valid string

Comma seperated list of all storage providers. Default: ‘das,ontap’

storage_provider

‘robin’, ‘ontap’

Selected storage provider. Default: ontap

disk_used_space_threshold

0 - 100

Percentage of disks space that needs to be used in order to trigger an alert. Default: 80%

disk_used_space_high_watermark

0 - 100

Percentage of disks space that needs to be used in order to trigger a rebalance operation such that usage is reduced. Default: 90%

disk_used_space_low_watermark

0 - 100

Target percentage of disk space to be used after rebalance operations are complete. Default: 80%

slice_segcount_threshold

Any valid integer

Value that segment count per slice per volume has to reach in order to trigger an alert. Default: 64

create_k8s_objects

‘True’, ‘False’

Boolean attribute to indicate whether or not Kubernetes objects can be created during bundle application hook executions. Default: True

ext_auth_receive_timeout

Any valid integer

Timeout, in seconds, to recieve a response from the external auth. Default: 10

ext_auth_connect_timeout

Any valid integer

Timeout, in seconds, to connect to external auth. Default: 10

enable_rcm_metrics

‘True’, ‘False’

Boolean attribute to indicate whether or not to collect Robin server metrics for Prometheus scraping. Default: True