Settings reference

Note

For information on how to manage these settings, see Settings management.

Special settings

There are a small number of settings that behave in a particular way:

RADKit directory

  • Used by: Client, Service, Control

  • Environment: RADKIT_DIRECTORY

  • Command-line: --radkit-directory

  • TOML: N/A

Sets the main directory where the Client and Service store their configuration, log files, certificate bundles etc. By default, this is set to .radkit in the user’s home directory (written as ~/.radkit on macOS and Linux).

You usually don’t want to change this, but if you want to switch to a completely different RADKit configuration or if you are running RADKit in a specific environment (e.g. a container, a Windows service or a systemd service), this option may be useful. All paths used internally by RADKit components are relative to RADKIT_DIRECTORY.

Settings file

  • Used by: Client, Service, Control

  • Environment: N/A

  • Command-line: --settings-file

  • TOML: N/A

Determines the TOML file to read at startup. By default, the following paths are used, relative to the RADKit directory (see above):

  • client/settings.toml

  • service/settings.toml

  • control/settings.toml

These values can be overridden with either an absolute path, or a path relative to the current working directory (i.e. you can’t make those relative to the RADKit directory without specifying its absolute location). This setting may come in handy when you want to recall specific settings for particular situations.

Private key password

  • Used by: Client

  • Environment: RADKIT_CLIENT_PRIVATE_KEY_PASSWORD_BASE64

  • Command-line: N/A

  • TOML: N/A

Makes it possible to pass the Client private key password via the environment. Inherently insecure. See Non-interactive authentication for details.

Superadmin password

  • Used by: Service

  • Environment:

    • RADKIT_SERVICE_SUPERADMIN_PASSWORD_BASE64

    • RADKIT_SERVICE_SUPERADMIN_PASSWORD_FILE

    • RADKIT_SERVICE_SUPERADMIN_PASSWORD_FD

    • CREDENTIALS_DIRECTORY

  • Command-line: N/A

  • TOML: N/A

These options make it possible to pass the superadmin password via the environment. See Storing the superadmin password for details.

Common settings

These settings are used by both RADKit Client and Service and are referred to by the same name in both applications, i.e. the names are not prefixed with client or service, but they can be specified independently and take different values in one application and the other.

truststore.cisco_root_store

Path to Cisco Root store. This store is used to communicate with Cisco operated services like SSO or CXD.

  • Environment: RADKIT_TRUSTSTORE_CISCO_ROOT_STORE

  • Command-line: --setting truststore.cisco_root_store

  • TOML: section [truststore], setting cisco_root_store

  • Type: string

  • Default: {cisco-radkit-common package location}/certificate_bundles/cisco_root_store.pem

truststore.public_root_store

Path to Public Root store. This store is used to communicate with non-Cisco-operated services like HTTP requests to the devices through raw HTTP or Swagger.

  • Environment: RADKIT_TRUSTSTORE_PUBLIC_ROOT_STORE

  • Command-line: --setting truststore.public_root_store

  • TOML: section [truststore], setting public_root_store

  • Type: string

  • Default: {cisco-radkit-common package location}/certificate_bundles/public_root_store.pem

cloud_client.oauth_provider

Custom OAuth provider

  • Environment: RADKIT_CLOUD_CLIENT_OAUTH_PROVIDER

  • Command-line: --setting cloud_client.oauth_provider

  • TOML: section [cloud_client], setting oauth_provider

  • Type: string

  • Default: okta

cloud_client.upload_allowed_hosts

List of regular expressions representing hosts/domains that RPC outputs may be uploaded to (for example, the Cisco CX Drive / CX Files service). The destination URL is provided by the RADKit Client in the RPC request, and the host part of the URL is matched against the regular expressions in this list. If there is at least one match, the upload is allowed; else, it is denied. The re.search method is used. If unsure, do not touch this setting.

  • Environment: RADKIT_CLOUD_CLIENT_UPLOAD_ALLOWED_HOSTS

  • Command-line: --setting cloud_client.upload_allowed_hosts

  • TOML: section [cloud_client], setting upload_allowed_hosts

  • Type: array

  • Default: ["^.*\.cisco\.com$"]

Note

Periods . and other special regex characters need to be properly quoted. For environment variables and CLI, please refer to the quoting rules for your shell. Here are a few examples:

Environment (bash):

RADKIT_CLOUD_CLIENT_UPLOAD_ALLOWED_HOSTS='["^.*\\.cisco.\\.com$"]'

Command-line (bash):

-s cloud_client.upload_allowed_hosts '["^.*\\.cisco\\.com$"]'

TOML:

cloud_client.upload_allowed_hosts = ['^.*\.cisco\.com$']

cloud_client.token_refresh_check_interval

Auth Token refresh check interval

  • Environment: RADKIT_CLOUD_CLIENT_TOKEN_REFRESH_CHECK_INTERVAL

  • Command-line: --setting cloud_client.token_refresh_check_interval

  • TOML: section [cloud_client], setting token_refresh_check_interval

  • Type: number

  • Default: 60

cloud_client.token_refresh_remaining_lifetime

Auth Token remaining session lifetime before a refresh is attempted

  • Environment: RADKIT_CLOUD_CLIENT_TOKEN_REFRESH_REMAINING_LIFETIME

  • Command-line: --setting cloud_client.token_refresh_remaining_lifetime

  • TOML: section [cloud_client], setting token_refresh_remaining_lifetime

  • Type: number

  • Default: 600

cloud_client.automatic_certificate_renewal_enabled

Enable automatic certificate renewal

  • Environment: RADKIT_AUTOMATIC_CERTIFICATE_RENEWAL_ENABLED

  • Command-line: --setting automatic_certificate_renewal_enabled

  • TOML: section [common], setting automatic_certificate_renewal_enabled

  • Type: boolean

  • Default: True

cloud_client.certificate_renewal_remaining_lifetime

The number of days before a certificate expires when the client will try to renew it automatically

  • Environment: RADKIT_CLOUD_CLIENT_CERTIFICATE_RENEWAL_REMAINING_LIFETIME

  • Command-line: --setting cloud_client.certificate_renewal_remaining_lifetime

  • TOML: section [cloud_client], setting certificate_renewal_remaining_lifetime

  • Type: integer

  • Default: 15

cloud_client.retry_interval

The duration, in seconds, the cloud client will wait before attempting to retry a failed request, especially in cases where retrying could lead to success, such as certain network issues or cloud-side failures.

  • Environment: RADKIT_CLOUD_CLIENT_RETRY_INTERVAL

  • Command-line: --setting cloud_client.retry_interval

  • TOML: section [cloud_client], setting retry_interval

  • Type: integer

  • Default: 60

cloud_client.resubmit_interval

Time, in seconds, a RADKit Service or Client will wait before resubmitting a previously failed request to the Cloud Client. This must be relatively long. When the Cloud Client reports a failed state it means the request itself is invalid, and should not be resubmitted, this timer, and the process of retrying are introduced to account for situations where a headless Client or Service are failing due to a defect in the RADKit Cloud and it is desired to retry indefinitely until the defect is fixed.

  • Environment: RADKIT_CLOUD_CLIENT_RESUBMIT_INTERVAL

  • Command-line: --setting cloud_client.resubmit_interval

  • TOML: section [cloud_client], setting resubmit_interval

  • Type: integer

  • Default: 900

certificate_validation_time_source

Time source used for certificate validation. The OS setting uses OS clock as a time data source. The CLOUD uses Access Service/Cloud time as a data source.

  • Environment: RADKIT_CLOUD_CLIENT_CERTIFICATE_VALIDATION_TIME_SOURCE

  • Command-line: --setting cloud_client.certificate_validation_time_source

  • TOML: section [cloud_client], setting certificate_validation_time_source

  • Type: string

  • Default: OS

cloud_client.proxy.url

Proxy URL for connecting to the RADKit Cloud

  • Environment: RADKIT_CLOUD_CLIENT_PROXY_URL

  • Command-line: --setting cloud_client.proxy.url

  • TOML: section [cloud_client.proxy], setting url

  • Type: string

  • Default: ""

cloud_client.proxy.username

Proxy username (Basic authentication only)

  • Environment: RADKIT_CLOUD_CLIENT_PROXY_USERNAME

  • Command-line: --setting cloud_client.proxy.username

  • TOML: section [cloud_client.proxy], setting username

  • Type: string

  • Default: ""

cloud_client.proxy.password

Proxy password (Basic authentication only)

  • Environment: RADKIT_CLOUD_CLIENT_PROXY_PASSWORD

  • Command-line: --setting cloud_client.proxy.password

  • TOML: section [cloud_client.proxy], setting password

  • Type: string

  • Default: ""

cloud_client.proxy.no_proxy

Comma-separated list of hosts/domains that should not be accessed through the proxy defined in cloud_client.proxy.url.

  • Environment: RADKIT_CLOUD_CLIENT_PROXY_NO_PROXY

  • Command-line: --setting cloud_client.proxy.no_proxy

  • TOML: section [cloud_client.proxy], setting no_proxy

  • Type: string

  • Default: ""

  • Example: "localhost,127.0.0.0/8,*.cisco.com,10.*"

cloud_client.proxy.fall_back_to_environment

When set to True and no proxy is configured in settings, use the proxy set in the environment variables WSS_PROXY, HTTPS_PROXY, or ALL_PROXY to connect to RADKit cloud. Also checks the cloud url against NO_PROXY.

  • Environment: RADKIT_CLOUD_CLIENT_PROXY_FALL_BACK_TO_ENVIRONMENT

  • Command-line: --setting cloud_client.proxy.fall_back_to_environment

  • TOML: section [cloud_client.proxy], setting fall_back_to_environment

  • Type: boolean

  • Default: True

ocsp.methods

Ordered list containing one or more OCSP methods. The methods are tried in order until one returns a legible OCSP response. For more information, see Certificate revocation.

  • Environment: RADKIT_OCSP_METHODS

  • Command-line: --setting ocsp.methods

  • TOML: section [ocsp], setting methods

  • Type: array

  • Default: ["STAPLER", "PASS"]

cloud_client.ocsp_proxy_stapler.extra_ocsp_validity_time

Extra validity time that is added to next_update value from OCSP Response.

  • Environment: RADKIT_CLOUD_CLIENT_OCSP_PROXY_STAPLER_EXTRA_OCSP_VALIDITY_TIME

  • Command-line: --setting cloud_client.ocsp_proxy_stapler.extra_ocsp_validity_time

  • TOML: section [cloud_client.ocsp_proxy_stapler], setting extra_ocsp_validity_time

  • Type: float

  • Default: 0

cloud_client.ocsp_proxy_stapler.timeout

Timeout value used for making request to the OCSP Proxy Stapler.

  • Environment: RADKIT_CLOUD_CLIENT_OCSP_PROXY_STAPLER_TIMEOUT

  • Command-line: --setting cloud_client.ocsp_proxy_stapler.timeout

  • TOML: section [cloud_client.ocsp_proxy_stapler], setting timeout

  • Type: float

  • Default: 10

rpc.h2_inactivity_timeout_seconds

Time, in seconds, after which an H2 multiplexing RPC connection should be terminated during a period of inactivity (no active RPC calls).

  • Environment: RADKIT_RPC_H2_INACTIVITY_TIMEOUT_SECONDS

  • Command-line: --setting rpc.h2_inactivity_timeout_seconds

  • TOML: section [rpc], setting h2_inactivity_timeout_seconds

  • Type: integer

  • Default: 60

telemetry.enable

Enable sending of telemetry to the cloud. See Telemetry for more information about which telemetry is sent.

  • Environment: RADKIT_TELEMETRY_ENABLE

  • Command-line: --setting telemetry.enable

  • TOML: section [telemetry], setting enable

  • Type: boolean

  • Default: True

Client settings

client.logging.level

Logging level (CRITICAL=50, ERROR=40, WARNING=30, INFO=20, DEBUG=10, TRACE=5)

  • Environment: RADKIT_CLIENT_LOGGING_LEVEL

  • Command-line: --setting client.logging.level

  • TOML: section [client.logging], setting level

  • Type: integer or string

  • Default:
    • integer: 20

    • string: INFO

client.logging.file_name

Client log file name (relative to log directory)

  • Environment: RADKIT_CLIENT_LOGGING_FILE_NAME

  • Command-line: --setting client.logging.file_name

  • TOML: section [client.logging], setting file_name

  • Type: string

  • Default: client.log

client.logging.directory

Custom Client log directory

  • Environment: RADKIT_CLIENT_LOGGING_DIRECTORY

  • Command-line: --setting client.logging.directory

  • TOML: section [client.logging], setting logging_directory

  • Type: string

  • Default: None

client.logging.size_limit_megabytes

Maximum size for file logs. * if set to 0 - fallbacks to time-based file logging * if set to 1 or more - enables size-based logging and sets the maximum file size to 1 or more megabytes Change of this setting requires manual restart of the Client.

  • Environment: RADKIT_CLIENT_LOGGING_SIZE_LIMIT_MEGABYTES

  • Command-line: --setting client.logging.size_limit_megabytes

  • TOML: section [client.logging], setting size_limit_megabytes

  • Type: float

  • Default: 0

client.logging.backup_count

Specifies the maximum number of backups to retain for logs. * For time-based file logging: This setting determines the number of days for which log backups will be kept. * For size-based file logging: This setting specifies the number of backup files to retain, where the size of each file is limited by the service.logging.size_limit_megabytes configuration. Change of this setting requires manual restart of the Client.

  • Environment: RADKIT_CLIENT_LOGGING_BACKUP_COUNT

  • Command-line: --setting client.logging.backup_count

  • TOML: section [client.logging], setting backup_count

  • Type: integer

  • Default: 14

client.logging.session_logging

Enable session logging

  • Environment: RADKIT_CLIENT_LOGGING_SESSION_LOGGING

  • Command-line: --setting client.logging.session_logging

  • TOML: section [client.logging], setting session_logging

  • Type: boolean

  • Default: True

client.logging.session_log_directory

Custom Client log directory

  • Environment: RADKIT_CLIENT_LOGGING_SESSION_LOG_DIRECTORY

  • Command-line: --setting client.logging.session_log_directory

  • TOML: section [client.logging], setting session_log_directory

  • Type: string

  • Default: None

client.logging.session_log_max_age

The number of days the session log is kept before it is being erased

  • Environment: RADKIT_CLIENT_LOGGING_SESSION_LOG_MAX_AGE

  • Command-line: --setting client.logging.session_log_max_age

  • TOML: section [client.logging], setting session_log_max_age

  • Type: integer

  • Default: 15

client.logging.session_log_size_limit_megabytes

Maximum size for file logs. * if set to 0 - fallbacks to time-based file logging * if set to 1 or more - enables size-based logging and sets the maximum file size to 1 or more megabytes Change of this setting requires manual restart of the Client.

  • Environment: RADKIT_CLIENT_LOGGING_SESSION_LOG_SIZE_LIMIT_MEGABYTES

  • Command-line: --setting client.logging.session_log_size_limit_megabytes

  • TOML: section [client.logging], setting session_log_size_limit_megabytes

  • Type: float

  • Default: 0

client.logging.console_limit_replenish

Token bucket replenish rate per second for console log rate limiting. Setting this value to 0 will disable console logging rate limiting.

  • Environment: RADKIT_CLIENT_LOGGING_CONSOLE_LIMIT_REPLENISH

  • Command-line: --setting client.logging.console_limit_replenish

  • TOML: section [client.logging], setting console_limit_replenish

  • Type: integer

  • Default: 40

client.logging.console_limit_burst

Token bucket size (maximum burst) for console log rate limiting. Setting this value to 0 will disable console logging rate limiting.

  • Environment: RADKIT_CLIENT_LOGGING_CONSOLE_LIMIT_BURST

  • Command-line: --setting client.logging.console_limit_burst

  • TOML: section [client.logging], setting console_limit_burst

  • Type: integer

  • Default: 120

client.logging.file_limit_replenish

Token bucket replenish rate per second for log file rate limiting Setting this value to 0 will disable file logging rate limiting.

  • Environment: RADKIT_CLIENT_LOGGING_FILE_LIMIT_REPLENISH

  • Command-line: --setting client.logging.file_limit_replenish

  • TOML: section [client.logging], setting file_limit_replenish

  • Type: integer

  • Default: 40

client.logging.file_limit_burst

Token bucket size (maximum burst) for log file rate limiting. Setting this value to 0 will disable file logging rate limiting.

  • Environment: RADKIT_CLIENT_LOGGING_FILE_LIMIT_BURST

  • Command-line: --setting client.logging.file_limit_burst

  • TOML: section [client.logging], setting file_limit_burst

  • Type: integer

  • Default: 120

client.profile

Profile script file name

  • Environment: RADKIT_CLIENT_PROFILE

  • Command-line: --setting client.profile

  • TOML: section [client], setting profile

  • Type: string

  • Default: profile.py

client.history

REPL history file name

  • Environment: RADKIT_CLIENT_HISTORY

  • Command-line: --setting client.history

  • TOML: section [client], setting history

  • Type: string

  • Default: .history

client.default_domain

Default RADKit Cloud domain to connect to

  • Environment: RADKIT_CLIENT_DEFAULT_DOMAIN

  • Command-line: --setting client.default_domain

  • TOML: section [client], setting default_domain

  • Type: string

  • Default: PROD

client.file_chunk_size

SCP/SFTP chunk size

  • Environment: RADKIT_CLIENT_FILE_CHUNK_SIZE

  • Command-line: --setting client.file_chunk_size

  • TOML: section [client], setting file_chunk_size

  • Type: integer

  • Default: 65536

client.request_send_timeout

Time (in seconds) after which request will be canceled if the request is not delivered to the service.

  • Environment: RADKIT_CLIENT_REQUEST_SEND_TIMEOUT

  • Command-line: --setting client.request_send_timeout

  • TOML: section [client], setting request_send_timeout

  • Type: float

  • Default: 60.0

client.sso_login_open_browser_default

Enable opening the browser during SSO login by default, otherwise prints the link to the console. Value not taken into account on Linux OS.

  • Environment: RADKIT_CLIENT_SSO_LOGIN_OPEN_BROWSER_DEFAULT

  • Command-line: --setting client.sso_login_open_browser_default

  • TOML: section [client], setting sso_login_open_browser_default

  • Type: boolean

  • Default: True

client.use_e2ee_default

Default end-to-end encryption setting. All possible choices are defined in this class UseE2EE.

  • Environment: RADKIT_CLIENT_USE_E2EE_DEFAULT

  • Command-line: --setting client.use_e2ee_default

  • TOML: section [client], setting use_e2ee_default

  • Type: string

  • Default: WHEN_AVAILABLE

client.use_h2_when_available

Use H2 multiplexing for RPC calls when available to improve the performance.

  • Environment: RADKIT_CLIENT_USE_H2_WHEN_AVAILABLE

  • Command-line: --setting client.use_h2_when_available

  • TOML: section [client], setting use_h2_when_available

  • Type: boolean

  • Default: False

client.enable_cloud_request_resubmit

Enable resubmitting a request to the Cloud Client after it previously failed. Note that the cloud client will return failed states when the request is rejected by the cloud, which usually means repeating the request does not make sense, however, this setting is introduced to enable retrying anyways, accommodating for the low chance of a cloud defect. The frequency of the retries is set by common.cloud_client.slow_retry_interval.

  • Environment: RADKIT_CLIENT_ENABLE_CLOUD_REQUEST_RESUBMIT

  • Command-line: --setting client.enable_cloud_request_resubmit

  • TOML: section [client], setting enable_cloud_request_resubmit

  • Type: boolean

  • Default: False

client.proxy_forwarder.timeout

Time (in seconds) after which http request must be canceled by the service http implementation if the request is not answered by the device.

  • Environment: RADKIT_CLIENT_PROXY_FORWARDER_TIMEOUT

  • Command-line: --setting client.proxy_forwarder.timeout

  • TOML: section [client.proxy_forwarder], setting timeout

  • Type: float

  • Default: 120.0

client.bdb.api_url

URL to perform BDB scripts against.

  • Environment: RADKIT_CLIENT_BDB_API_URL

  • Command-line: --setting client.bdb.api_url

  • TOML: section [client.bdb], setting api_url

  • Type: string

  • Default: https://scripts.cisco.com/api/v2

client.bdb.dev_mode

Run BDB scripts in dev mode.

  • Environment: RADKIT_CLIENT_BDB_DEV_MODE

  • Command-line: --setting client.bdb.dev_mode

  • TOML: section [client.bdb], setting dev_mode

  • Type: boolean

  • Default: False

client.bdb.is_experimental

Loader does not check permissions before executing the code.

  • Environment: RADKIT_CLIENT_BDB_IS_EXPERIMENTAL

  • Command-line: --setting client.bdb.is_experimental

  • TOML: section [client.bdb], setting is_experimental

  • Type: boolean

  • Default: False

client.bdb.allow_external

Allows to execute external scripts internally.

  • Environment: RADKIT_CLIENT_BDB_ALLOW_EXTERNAL

  • Command-line: --setting client.bdb.allow_external

  • TOML: section [client.bdb], setting allow_external

  • Type: boolean

  • Default: False

client.bdb.timeout

Time (in seconds) after which a BDB HTTP request times out.

  • Environment: RADKIT_CLIENT_BDB_TIMEOUT

  • Command-line: --setting client.bdb.timeout

  • TOML: section [client.bdb], setting timeout

  • Type: number

  • Default: 10.0

client.cxd.token_url

Base URL to retrieve a CX Drive upload token.

  • Environment: RADKIT_CLIENT_CXD_TOKEN_URL

  • Command-line: --setting client.cxd.token_url

  • TOML: section [client.cxd], setting token_url

  • Type: string

  • Default: https://cxd-token.cxapps.cisco.com/cxd/token

client.cxd.auth_url

URL to perform client-credentials authentication with CXD client credentials.

  • Environment: RADKIT_CLIENT_CXD_AUTH_URL

  • Command-line: --setting client.cxd.auth_url

  • TOML: section [client.cxd], setting auth_url

  • Type: string

  • Default: https://int-id.cisco.com/oauth2/default/v1/token?grant_type=client_credentials

client.cxd.connection_timeout

Time in seconds to wait for an initial response from CX Drive for any CX Drive request.

  • Environment: RADKIT_CLIENT_CXD_CONNECTION_TIMEOUT

  • Command-line: --setting client.cxd.connection_timeout

  • TOML: section [client.cxd], setting connection_timeout

  • Type: string

  • Default: 60

client.password_policy.minimum_length

Minimal length of password (minimum value: 8)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting minimum_length

  • Type: integer

  • Default: 8

client.password_policy.minimum_lowercase_letters

Minimal number of lowercase letters in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting minimum_lowercase_letters

  • Type: integer

  • Default: 1

client.password_policy.minimum_uppercase_letters

Minimal number of uppercase letters in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting minimum_uppercase_letters

  • Type: integer

  • Default: 1

client.password_policy.minimum_digits

Minimal number of digits in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting minimum_digits

  • Type: integer

  • Default: 1

client.password_policy.minimum_symbols

Minimal number of symbols in password (minimum value: 0)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting minimum_symbols

  • Type: integer

  • Default: 0

client.password_policy.expiration_days

Days after which password needs to be changed.

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting expiration_days

  • Type: integer

  • Default: 0

client.password_policy.expiration_warning_days

How many days earlier user should be notified about upcoming password expiration

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting expiration_warning_days

  • Type: integer

  • Default: 7

client.password_policy.reuse_password_changes

Number of history entries for password reuse limitation

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [client.password_policy], setting reuse_password_changes

  • Type: integer

  • Default: 12

client.theme

Theme to be used in the CLI. Possible themes are: “light_font” or “dark_font”

  • Environment: RADKIT_CLIENT_THEME

  • Command-line: --setting client.theme

  • TOML: section [client], setting theme

  • Type: string

  • Default: DEFAULT

Service settings

service.logging.file_name

Service log file name (relative to log directory)

  • Environment: RADKIT_SERVICE_LOGGING_FILE_NAME

  • Command-line: --setting service.logging.file_name

  • TOML: section [service.logging], setting file_name

  • Type: string

  • Default: service.log

service.logging.directory

Custom Service log directory

  • Environment: RADKIT_SERVICE_LOGGING_DIRECTORY

  • Command-line: --setting service.logging.directory

  • TOML: section [service.logging], setting directory

  • Type: string

  • Default: None

service.logging.level

Logging level (CRITICAL=50, ERROR=40, WARNING=30, INFO=20, DEBUG=10, TRACE=5)

  • Environment: RADKIT_SERVICE_LOGGING_LEVEL

  • Command-line: --setting service.logging.level

  • TOML: section [service.logging], setting level

  • Type: integer or string

  • Default:
    • integer: 20

    • string: INFO

service.logging.format

Logging format (TEXT or JSON)

  • Environment: RADKIT_SERVICE_LOGGING_FORMAT

  • Command-line: --setting service.logging.format

  • TOML: section [service.logging], setting format

  • Type: string

  • Default: TEXT

service.logging.size_limit_megabytes

Maximum size for file logs. * if set to 0 - fallbacks to time-based file logging * if set to 1 or more - enables size-based logging and sets the maximum file size to 1 or more megabytes Change of this setting requires manual restart of the Service.

  • Environment: RADKIT_SERVICE_LOGGING_SIZE_LIMIT_MEGABYTES

  • Command-line: --setting service.logging.size_limit_megabytes

  • TOML: section [service.logging], setting size_limit_megabytes

  • Type: float

  • Default: 0

service.logging.backup_count

Specifies the maximum number of backups to retain for logs. * For time-based file logging: This setting determines the number of days for which log backups will be kept. * For size-based file logging: This setting specifies the number of backup files to retain, where the size of each file is limited by the service.logging.size_limit_megabytes configuration. Change of this setting requires manual restart of the Service.

  • Environment: RADKIT_SERVICE_LOGGING_BACKUP_COUNT

  • Command-line: --setting service.logging.backup_count

  • TOML: section [service.logging], setting backup_count

  • Type: integer

  • Default: 14

service.logging.session_logging

Enable session logging

  • Environment: RADKIT_SERVICE_LOGGING_SESSION_LOGGING

  • Command-line: --setting service.logging.session_logging

  • TOML: section [service.logging], setting session_logging

  • Type: boolean

  • Default: True

service.logging.session_log_directory

Custom Service session log directory

  • Environment: RADKIT_SERVICE_LOGGING_SESSION_LOG_DIRECTORY

  • Command-line: --setting service.logging.session_log_directory

  • TOML: section [service.logging], setting session_log_directory

  • Type: string

  • Default: None

service.logging.session_log_max_age

The number of days the session log is kept before it is being erased

  • Environment: RADKIT_SERVICE_LOGGING_SESSION_LOG_MAX_AGE

  • Command-line: --setting service.logging.session_log_max_age

  • TOML: section [service.logging], setting session_log_max_age

  • Type: integer

  • Default: 15

service.logging.session_log_size_limit_megabytes

Maximum size for file logs. * if set to 0 - fallbacks to time-based file logging * if set to 1 or more - enables size-based logging and sets the maximum file size to 1 or more megabytes Change of this setting requires manual restart of the Service.

  • Environment: RADKIT_SERVICE_LOGGING_SESSION_LOG_SIZE_LIMIT_MEGABYTES

  • Command-line: --setting service.logging.session_log_size_limit_megabytes

  • TOML: section [service.logging], setting session_log_size_limit_megabytes

  • Type: float

  • Default: 0

service.logging.console_limit_replenish

Token bucket replenish rate per second for console log rate limiting. Setting this value to 0 will disable console logging rate limiting.

  • Environment: RADKIT_SERVICE_LOGGING_CONSOLE_LIMIT_REPLENISH

  • Command-line: --setting service.logging.console_limit_replenish

  • TOML: section [service.logging], setting console_limit_replenish

  • Type: integer

  • Default: 40

service.logging.console_limit_burst

Token bucket size (maximum burst) for console log rate limiting. Setting this value to 0 will disable console logging rate limiting.

  • Environment: RADKIT_SERVICE_LOGGING_CONSOLE_LIMIT_BURST

  • Command-line: --setting service.logging.console_limit_burst

  • TOML: section [service.logging], setting console_limit_burst

  • Type: integer

  • Default: 120

service.logging.file_limit_replenish

Token bucket replenish rate per second for log file rate limiting. Setting this value to 0 will disable file logging rate limiting.

  • Environment: RADKIT_SERVICE_LOGGING_FILE_LIMIT_REPLENISH

  • Command-line: --setting service.logging.file_limit_replenish

  • TOML: section [service.logging], setting file_limit_replenish

  • Type: integer

  • Default: 40

service.logging.file_limit_burst

Token bucket size (maximum burst) for log file rate limiting. Setting this value to 0 will disable file logging rate limiting.

  • Environment: RADKIT_SERVICE_LOGGING_FILE_LIMIT_BURST

  • Command-line: --setting service.logging.file_limit_burst

  • TOML: section [service.logging], setting file_limit_burst

  • Type: integer

  • Default: 120

service.connectivity.enable_direct

Whether to allow direct RPC over http api

  • Environment: RADKIT_SERVICE_CONNECTIVITY_ENABLE_DIRECT

  • Command-line: --setting service.connectivity.enable_direct

  • TOML: section [service.connectivity], setting enable_direct

  • Type: boolean

  • Default: True

service.connectivity.enable_cloud

Whether to connect to RADKit cloud and allow RPC from there

  • Environment: RADKIT_SERVICE_CONNECTIVITY_ENABLE_CLOUD

  • Command-line: --setting service.connectivity.enable_cloud

  • TOML: section [service.connectivity], setting enable_cloud

  • Type: boolean

  • Default: True

service.connectivity.listen_addresses_direct_rpc

RPC listener address(es) (must be a list; default: [“0.0.0.0”, “::”] or [“0.0.0.0”])

  • Environment: RADKIT_SERVICE_CONNECTIVITY_LISTEN_ADDRESSES_DIRECT_RPC

  • Command-line: --setting service.connectivity.listen_addresses_direct_rpc

  • TOML: section [service.connectivity], setting listen_addresses_direct_rpc

  • Type: array

  • Default for Windows when IPv6 is available: ["0.0.0.0", "::"]

  • Default for Mac/Linux when IPv6 is available: ["::"] (listens on both IPv4 and IPv6)

  • Default for all platforms when only IPv4 is available: ["0.0.0.0"]

service.connectivity.port_direct_rpc

RPC listener port for the direct RPC socket

  • Environment: RADKIT_SERVICE_CONNECTIVITY_PORT_DIRECT_RPC

  • Command-line: --setting service.connectivity.port_direct_rpc

  • TOML: section [service.connectivity], setting port_direct_rpc

  • Type: integer

  • Default: 8181

service.connectivity.port_direct_rpc_dynamic

Assign another port when the default port is not available for the direct RPC socket

  • Environment: RADKIT_SERVICE_CONNECTIVITY_PORT_DIRECT_RPC_DYNAMIC

  • Command-line: --setting service.connectivity.port_direct_rpc_dynamic

  • TOML: section [service.connectivity], setting port_direct_rpc_dynamic

  • Type: boolean

  • Default: False

service.connectivity.default_domain

Default RADKit Cloud domain to connect to

  • Environment: RADKIT_SERVICE_CONNECTIVITY_DEFAULT_DOMAIN

  • Command-line: --setting service.connectivity.default_domain

  • TOML: section [service.connectivity], setting default_domain

  • Type: string

  • Default: PROD

service.connectivity.max_active_rpc_requests_warning

Maximum number of active RPC requests. Exceeding this threshold will result in warning logs being issued. Setting this value to 0 will disable active RPC requests limiter.

  • Environment: RADKIT_SERVICE_CONNECTIVITY_MAX_ACTIVE_RPC_REQUESTS_WARNING

  • Command-line: --setting service.connectivity.max_active_rpc_requests_warning

  • TOML: section [service.connectivity], setting max_active_rpc_requests_warning

  • Type: integer

  • Default: 1000

service.connectivity.max_active_rpc_requests_error

Number of active RPC requests after which all new requests are ignored. Setting this value to 0 will disable active RPC requests limiter.

  • Environment: RADKIT_SERVICE_CONNECTIVITY_MAX_ACTIVE_RPC_REQUESTS_ERROR

  • Command-line: --setting service.connectivity.max_active_rpc_requests_error

  • TOML: section [service.connectivity], setting max_active_rpc_requests_error

  • Type: integer

  • Default: 2000

service.connectivity.enable_h2_rpc_transport

Enable RPC multiplexing for incoming requests using the H2 protocol. This can significantly improves the performance when many concurrent RPC requests are performed.

  • Environment: RADKIT_SERVICE_CONNECTIVITY_ENABLE_H2_RPC_TRANSPORT

  • Command-line: --setting service.connectivity.enable_h2_rpc_transport

  • TOML: section [service.connectivity], setting enable_h2_rpc_transport

  • Type: boolean

  • Default: True

service.connectivity.enable_cloud_request_resubmit

Enable resubmitting a request to the Cloud after it previously failed. Note that the cloud client will return failed states when the request is rejected by the cloud, which usually means repeating the request does not make sense, however, this setting is introduced to enable retrying anyways, accommodating for the low chance of a cloud defect. The frequency of the retries is set by common.cloud_client.slow_retry_interval.

  • Environment: RADKIT_SERVICE_CONNECTIVITY_ENABLE_CLOUD_REQUEST_RESUBMIT

  • Command-line: --setting service.connectivity.enable_cloud_request_resubmit

  • TOML: section [service.connectivity], setting enable_cloud_request_resubmit

  • Type: boolean

  • Default: True

service.connectivity.cloud_to_direct_access_token_timeout_minutes

Time in minutes that a RADKit client can take to establish a direct connection to this radkit_service with an access token after obtaining an access token through the cloud.

  • Environment: RADKIT_SERVICE_CONNECTIVITY_CLOUD_TO_DIRECT_ACCESS_TOKEN_TIMEOUT_MINUTES

  • Command-line: --setting service.connectivity.cloud_to_direct_access_token_timeout_minutes

  • TOML: section [service.connectivity], setting cloud_to_direct_access_token_timeout_minutes

  • Type: number

  • Default: 10

service.terminal_enable_timeout

Timeout for enable password in seconds

  • Environment: RADKIT_SERVICE_TERMINAL_ENABLE_TIMEOUT

  • Command-line: --setting service.terminal_enable_timeout

  • TOML: section [service], setting terminal_enable_timeout

  • Type: number

  • Default: 3

service.ui.enable_web_ui

Enable the radkit-service web server for the service management

  • Environment: RADKIT_SERVICE_UI_ENABLE_WEB_UI

  • Command-line: --setting service.ui.enable_web_ui

  • TOML: section [service.ui], setting enable_web_ui

  • Type: boolean

  • Default: True

service.ui.session_idle_timeout_minutes

Time of idleness in minutes after which the session is terminated

  • Environment: RADKIT_SERVICE_UI_SESSION_IDLE_TIMEOUT_MINUTES

  • Command-line: --setting service.ui.session_idle_timeout_minutes

  • TOML: section [service.ui], setting session_idle_timeout_minutes

  • Type: integer

  • Default: 30

service.ui.session_absolute_timeout_minutes

Time in minutes after which the session is terminated

  • Environment: RADKIT_SERVICE_UI_SESSION_ABSOLUTE_TIMEOUT_MINUTES

  • Command-line: --setting service.ui.session_absolute_timeout_minutes

  • TOML: section [service.ui], setting session_absolute_timeout_minutes

  • Type: integer

  • Default: 720

service.ui.listen_addresses

UI/API listener address(es) (must be a list)

  • Environment: RADKIT_SERVICE_UI_LISTEN_ADDRESSES

  • Command-line: --setting service.ui.listen_addresses

  • TOML: section [service.ui], setting listen_addresses

  • Type: array

  • Default for Windows when IPv6 is available: ["0.0.0.0", "::"]

  • Default for Mac/Linux when IPv6 is available: ["::"] (listens on both IPv4 and IPv6)

  • Default for all platforms when only IPv4 is available: ["0.0.0.0"]

service.ui.port_https

UI/API listener port (HTTPS)

  • Environment: RADKIT_SERVICE_UI_PORT_HTTPS

  • Command-line: --setting service.ui.port_https

  • TOML: section [service.ui], setting port_https

  • Type: integer

  • Default: 8081

service.ui.port_https_dynamic

Enable the dynamic selection of an HTTPS port for listening in the event that the default port is unavailable.

  • Environment: RADKIT_SERVICE_UI_PORT_HTTPS_DYNAMIC

  • Command-line: --setting service.ui.port_https_dynamic

  • TOML: section [service.ui], setting port_https_dynamic

  • Type: boolean

  • Default: False

  • Default when using Service GUI: True

service.ui.cert_file

UI/API cert file name

  • Environment: RADKIT_SERVICE_UI_CERT_FILE

  • Command-line: --setting service.ui.cert_file

  • TOML: section [service.ui], setting cert_file

  • Type: string

  • Default: webserver.pem

service.ui.key_file

UI/API key file name

  • Environment: RADKIT_SERVICE_UI_KEY_FILE

  • Command-line: --setting service.ui.key_file

  • TOML: section [service.ui], setting key_file

  • Type: string

  • Default: webserver.key

service.ui.cert_chain_file

UI/API cert chain file name

  • Environment: RADKIT_SERVICE_UI_CERT_CHAIN_FILE

  • Command-line: --setting service.ui.cert_chain_file

  • TOML: section [service.ui], setting cert_chain_file

  • Type: string

  • Default: cert_chain.pem

service.ui.remote_user_external_auth_enabled

Enables remote user external authentication

  • Environment: RADKIT_SERVICE_UI_REMOTE_USER_EXTERNAL_AUTH_ENABLED

  • Command-line: --setting service.ui.remote_user_external_auth_enabled

  • TOML: section [service.ui], setting remote_user_external_auth_enabled

  • Type: boolean

  • Default: False

service.e2ee.cert_file

End-to-end encryption cert file name

  • Environment: RADKIT_SERVICE_E2EE_CERT_FILE

  • Command-line: --setting service.e2ee.cert_file

  • TOML: section [service.e2ee], setting cert_file

  • Type: string

  • Default: e2ee.pem

service.e2ee.key_file

End-to-end encryption key file name

  • Environment: RADKIT_SERVICE_E2EE_KEY_FILE

  • Command-line: --setting service.e2ee.key_file

  • TOML: section [service.e2ee], setting key_file

  • Type: string

  • Default: e2ee.key

service.e2ee.require_e2ee

Enforce usage of end-to-end encrypted RPC calls. Setting to true will refuse non end-to-end encrypted requests, except for get-capabilities.

  • Environment: RADKIT_SERVICE_E2EE_REQUIRE_E2EE

  • Command-line: --setting service.e2ee.require_e2ee

  • TOML: section [service.e2ee], setting require_e2ee

  • Type: boolean

  • Default: True

service.e2ee.require_e2ee_session_verification

Enable end-to-end session verification. Clients will have to pass an access token and an E2EE fingerprint in order to connect to this service.

  • Environment: RADKIT_SERVICE_E2EE_REQUIRE_E2EE_SESSION_VERIFICATION

  • Command-line: --setting service.e2ee.require_e2ee_session_verification

  • TOML: section [service.e2ee], setting require_e2ee_session_verification

  • Type: boolean

  • Default: False

service.database.service_database_name

Service database file

  • Environment: RADKIT_SERVICE_DATABASE_SERVICE_DATABASE_NAME

  • Command-line: --setting service.database.service_database_name

  • TOML: section [service.database], setting service_database_name

  • Type: string

  • Default: service-db.json.encrypted

service.devices_proxy.url

HTTP proxy URL used by HTTP and Swagger device connections

  • Environment: RADKIT_SERVICE_DEVICES_PROXY_URL

  • Command-line: --setting service.devices_proxy.url

  • TOML: section [service.devices_proxy], setting url

  • Type: string

  • Default: None

service.devices_proxy.username

HTTP proxy username used by HTTP and Swagger device connections (Basic authentication only)

  • Environment: RADKIT_SERVICE_DEVICES_PROXY_USERNAME

  • Command-line: --setting service.devices_proxy.username

  • TOML: section [service.devices_proxy], setting username

  • Type: string

  • Default: None

service.devices_proxy.password

HTTP proxy password used by HTTP and Swagger device connections (Basic authentication only)

  • Environment: RADKIT_SERVICE_DEVICES_PROXY_PASSWORD

  • Command-line: --setting service.devices_proxy.password

  • TOML: section [service.devices_proxy], setting password

  • Type: string

  • Default: None

service.devices_proxy.fall_back_to_environment

When set to True and no proxy is configured in settings, use the proxy set in the environment variables HTTPS_PROXY or ALL_PROXY to connect to devices. Does not check NO_PROXY.

  • Environment: RADKIT_SERVICE_DEVICES_PROXY_FALL_BACK_TO_ENVIRONMENT

  • Command-line: --setting service.devices.proxy.fall_back_to_environment

  • TOML: section [service.devices.proxy], setting fall_back_to_environment

  • Type: boolean

  • Default: False

service.connectors.request_timeout

Note

Added in version 1.6.5

API request timeout when contacting external inventory sources

  • Environment: RADKIT_SERVICE_CONNECTORS_REQUEST_TIMEOUT

  • Command-line: --setting service.connectors.request_timeout

  • TOML: section [service.connectors], setting request_timeout

  • Type: float

  • Default: 120

service.rbac.device_access_control

Enable per-device access control

  • Environment: RADKIT_SERVICE_RBAC_DEVICE_ACCESS_CONTROL

  • Command-line: --setting service.rbac.device_access_control

  • TOML: section [service.rbac], setting device_access_control

  • Type: boolean

  • Default: False

service.rbac.dynamic_remote_users

Enable dynamic remote users (EXPERIMENTAL)

  • Environment: RADKIT_SERVICE_RBAC_DYNAMIC_REMOTE_USERS

  • Command-line: --setting service.rbac.dynamic_remote_users

  • TOML: section [service.rbac], setting dynamic_remote_users

  • Type: boolean

  • Default: False

service.ssh.reconnect_timer

Interval between SSH reconnection attempts in seconds

  • Environment: RADKIT_SERVICE_SSH_RECONNECT_TIMER

  • Command-line: --setting service.ssh.reconnect_timer

  • TOML: section [service.ssh], setting reconnect_timer

  • Type: number

  • Default: 2

service.ssh.reconnect_attempts

Number of SSH reconnection attempts

  • Environment: RADKIT_SERVICE_SSH_RECONNECT_ATTEMPTS

  • Command-line: --setting service.ssh.reconnect_attempts

  • TOML: section [service.ssh], setting reconnect_attempts

  • Type: integer

  • Default: 0

service.ssh.connection_timeout

SSH connection timeout in seconds

  • Environment: RADKIT_SERVICE_SSH_CONNECTION_TIMEOUT

  • Command-line: --setting service.ssh.connection_timeout

  • TOML: section [service.ssh], setting connection_timeout

  • Type: number

  • Default: 30

service.ssh.keepalive_count_max

Number of SSH keepalives which may be sent without receiving any messages from the server, beyond which the session will be terminated

  • Environment: RADKIT_SERVICE_SSH_KEEPALIVE_COUNT_MAX

  • Command-line: --setting service.ssh.keepalive_count_max

  • TOML: section [service.ssh], setting keepalive_count_max

  • Type: integer

  • Default: 3

service.ssh.keepalive_interval

Interval between SSH keepalives (0 = do not send)

  • Environment: RADKIT_SERVICE_SSH_KEEPALIVE_INTERVAL

  • Command-line: --setting service.ssh.keepalive_interval

  • TOML: section [service.ssh], setting keepalive_interval

  • Type: number

  • Default: 60

service.ssh.keepalive_send_always

Always send SSH keepalives, even if data is being received from the server

  • Environment: RADKIT_SERVICE_SSH_KEEPALIVE_SEND_ALWAYS

  • Command-line: --setting service.ssh.keepalive_send_always

  • TOML: section [service.ssh], setting keepalive_send_always

  • Type: boolean

  • Default: True

service.ssh.jumphost_max_depth

Maximum number of jumphosts in a chain

  • Environment: RADKIT_SERVICE_SSH_JUMPHOST_MAX_DEPTH

  • Command-line: --setting service.ssh.jumphost_max_depth

  • TOML: section [service.ssh], setting jumphost_max_depth

  • Type: integer

  • Default: 5

service.ssh.fall_back_to_environment

When set to True, load various ssh settings/certs/keys from ~/.ssh

  • Environment: RADKIT_SERVICE_SSH_FALL_BACK_TO_ENVIRONMENT

  • Command-line: --setting service.ssh.fall_back_to_environment

  • TOML: section [service.ssh], setting fall_back_to_environment

  • Type: boolean

  • Default: False

service.ssh.asyncssh_log_level

Logging level for asyncssh (CRITICAL=50, ERROR=40, WARNING=30, INFO=20, DEBUG=10)

  • Environment: RADKIT_SERVICE_SSH_ASYNCSSH_LOG_LEVEL

  • Command-line: --setting service.ssh.asyncssh_log_level

  • TOML: section [service.ssh], setting asyncssh_log_level

  • Type: integer

  • Default: 0

service.ssh.asyncssh_debug_level

Debugging level for asyncssh (1=minimal, 2=verbose, 3=trace)

  • Environment: RADKIT_SERVICE_SSH_ASYNCSSH_DEBUG_LEVEL

  • Command-line: --setting service.ssh.asyncssh_debug_level

  • TOML: section [service.ssh], setting asyncssh_debug_level

  • Type: integer

  • Default: 1

service.telnet.connection_timeout

Telnet connection timeout in seconds

  • Environment: RADKIT_SERVICE_TELNET_CONNECTION_TIMEOUT

  • Command-line: --setting service.telnet.connection_timeout

  • TOML: section [service.telnet], setting connection_timeout

  • Type: number

  • Default: 15

service.swagger_runner.get_paths_default_timeout

Default timeout used for getting Swagger paths

  • Environment: RADKIT_SERVICE_SWAGGER_RUNNER_GET_PATHS_DEFAULT_TIMEOUT

  • Command-line: --setting service.swagger_runner.get_paths_default_timeout

  • TOML: section [service.swagger_runner], setting get_paths_default_timeout

  • Type: number

  • Default: 10.0

service.swagger_runner.call_path_default_timeout

Default timeout used for calling Swagger paths

  • Environment: RADKIT_SERVICE_SWAGGER_RUNNER_CALL_PATH_DEFAULT_TIMEOUT

  • Command-line: --setting service.swagger_runner.call_path_default_timeout

  • TOML: section [service.swagger_runner], setting call_path_default_timeout

  • Type: number

  • Default: 10.0

service.swagger_runner.timeout_limit

Maximum allowed timeout for Swagger actions. If request timeout will be greater than the limit, limit value will be used.

  • Environment: RADKIT_SERVICE_SWAGGER_RUNNER_TIMEOUT_LIMIT

  • Command-line: --setting service.swagger_runner.timeout_limit

  • TOML: section [service.swagger_runner], setting timeout_limit

  • Type: number

  • Default: 300.0

service.swagger_runner.connections_soft_limit

Concurrent Swagger connections threshold beyond which idle connections will be cancelled

  • Environment: RADKIT_SERVICE_SWAGGER_RUNNER_CONNECTIONS_SOFT_LIMIT

  • Command-line: --setting service.swagger_runner.connections_soft_limit

  • TOML: section [service.swagger_runner], setting connections_soft_limit

  • Type: integer

  • Default: 80

service.swagger_runner.connections_hard_limit

Maximum number of concurrent Swagger connections

  • Environment: RADKIT_SERVICE_SWAGGER_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.swagger_runner.connections_hard_limit

  • TOML: section [service.swagger_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.command_runner.command_timeout

Timeout for a single Terminal command (how long we will wait for the device to answer) in seconds

  • Environment: RADKIT_SERVICE_COMMAND_RUNNER_COMMAND_TIMEOUT

  • Command-line: --setting service.command_runner.command_timeout

  • TOML: section [service.command_runner], setting command_timeout

  • Type: number

  • Default: 30

service.command_runner.prepare_timeout

Timeout for preparing connection to the device, in seconds. It takes into account establishing the connection and provisioning.

  • Environment: RADKIT_SERVICE_COMMAND_RUNNER_PREPARE_TIMEOUT

  • Command-line: --setting service.command_runner.prepare_timeout

  • TOML: section [service.command_runner], setting prepare_timeout

  • Type: float

  • Default: 30

service.command_runner.connections_soft_limit

Concurrent Terminal connections threshold beyond which idle connections will be cancelled

  • Environment: RADKIT_SERVICE_COMMAND_RUNNER_CONNECTIONS_SOFT_LIMIT

  • Command-line: --setting service.command_runner.connections_soft_limit

  • TOML: section [service.command_runner], setting connections_soft_limit

  • Type: integer

  • Default: 80

service.command_runner.connections_hard_limit

Maximum number of Terminal concurrent connections

  • Environment: RADKIT_SERVICE_COMMAND_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.command_runner.connections_hard_limit

  • TOML: section [service.command_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.netconf_runner.use_local_cache

Use local cache

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_USE_LOCAL_CACHE

  • Command-line: --setting service.netconf_runner.use_local_cache

  • TOML: section [service.netconf_runner], setting use_local_cache

  • Type: boolean

  • Default: True

service.netconf_runner.cache_dir

Cache directory name

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_CACHE_DIR

  • Command-line: --setting service.netconf_runner.cache_dir

  • TOML: section [service.netconf_runner], setting cache_dir

  • Type: string

  • Default: yang_cache

service.netconf_runner.connection_timeout

Netconf connection timeout

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_CONNECTION_TIMEOUT

  • Command-line: --setting service.netconf_runner.connection_timeout

  • TOML: section [service.netconf_runner], setting connection_timeout

  • Type: number

  • Default: 5

service.netconf_runner.reconnect_timer

Interval between Netconf reconnection attempts in seconds

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_RECONNECT_TIMER

  • Command-line: --setting service.netconf_runner.reconnect_timer

  • TOML: section [service.netconf_runner], setting reconnect_timer

  • Type: number

  • Default: 2

service.netconf_runner.reconnect_attempts

Number of Netconf reconnection attempts

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_RECONNECT_ATTEMPTS

  • Command-line: --setting service.netconf_runner.reconnect_attempts

  • TOML: section [service.netconf_runner], setting reconnect_attempts

  • Type: integer

  • Default: 5

service.netconf_runner.keepalive_interval

SSH/Netconf keepalive interval in seconds

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_KEEPALIVE_INTERVAL

  • Command-line: --setting service.netconf_runner.keepalive_interval

  • TOML: section [service.netconf_runner], setting keepalive_interval

  • Type: number

  • Default: 60

service.netconf_runner.max_converter_threads

Max number of YANG->JSON converter threads

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_MAX_CONVERTER_THREADS

  • Command-line: --setting service.netconf_runner.max_converter_threads

  • TOML: section [service.netconf_runner], setting max_converter_threads

  • Type: integer

  • Default: 5

service.netconf_runner.get_capabilities_timeout

Get Capabilities timeout in seconds

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_GET_CAPABILITIES_TIMEOUT

  • Command-line: --setting service.netconf_runner.get_capabilities_timeout

  • TOML: section [service.netconf_runner], setting get_capabilities_timeout

  • Type: number

  • Default: 7200

service.netconf_runner.get_xpath_timeout

Get XPath timeout in seconds

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_GET_XPATH_TIMEOUT

  • Command-line: --setting service.netconf_runner.get_xpath_timeout

  • TOML: section [service.netconf_runner], setting get_xpath_timeout

  • Type: number

  • Default: 5

service.netconf_runner.connections_soft_limit

Concurrent Netconf connections threshold beyond which idle connections will be cancelled

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_CONNECTIONS_SOFT_LIMIT

  • Command-line: --setting service.netconf_runner.connections_soft_limit

  • TOML: section [service.netconf_runner], setting connections_soft_limit

  • Type: integer

  • Default: 80

service.netconf_runner.connections_hard_limit

Maximum number of concurrent Netconf connections

  • Environment: RADKIT_SERVICE_NETCONF_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.netconf_runner.connections_hard_limit

  • TOML: section [service.netconf_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.snmp_runner.default_timeout

Default timeout used for every SNMP request, in seconds. Used if no timeout is passed by radkit-client

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_DEFAULT_TIMEOUT

  • Command-line: --setting service.snmp_runner.default_timeout

  • TOML: section [service.snmp_runner], setting default_timeout

  • Type: number

  • Default: 1.0

service.snmp_runner.max_timeout

Maximum timeout used for every SNMP request, in seconds. Used if the timeout passed by radkit-client is greater than this

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_MAX_TIMEOUT

  • Command-line: --setting service.snmp_runner.max_timeout

  • TOML: section [service.snmp_runner], setting max_timeout

  • Type: number

  • Default: 120.0

service.snmp_runner.default_limit

Number of entries requested per get_bulk request, by default

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_DEFAULT_LIMIT

  • Command-line: --setting service.snmp_runner.default_limit

  • TOML: section [service.snmp_runner], setting default_limit

  • Type: integer

  • Default: 50

service.snmp_runner.max_limit

Number of entries requested per get_bulk request, ever

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_MAX_LIMIT

  • Command-line: --setting service.snmp_runner.max_limit

  • TOML: section [service.snmp_runner], setting max_limit

  • Type: integer

  • Default: 5000

service.snmp_runner.default_retries

Number of times to retry each SNMP request, by default.

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_DEFAULT_RETRIES

  • Command-line: --setting service.snmp_runner.default_retries

  • TOML: section [service.snmp_runner], setting default_retries

  • Type: integer

  • Default: 5

service.snmp_runner.max_retries

Number of times to retry each SNMP request, maximum.

  • Environment: RADKIT_SERVICE_SNMP_RUNNER_MAX_RETRIES

  • Command-line: --setting service.snmp_runner.max_retries

  • TOML: section [service.snmp_runner], setting max_retries

  • Type: integer

  • Default: 50

service.http_runner.default_timeout

Default timeout used for every HTTP request.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_DEFAULT_TIMEOUT

  • Command-line: --setting service.http_runner.default_timeout

  • TOML: section [service.http_runner], setting default_timeout

  • Type: number

  • Default: 10.0

service.http_runner.authentication_timeout

Timeout for performing the authentication flow for HTTP requests.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_AUTHENTICATION_TIMEOUT

  • Command-line: --setting service.http_runner.authentication_timeout

  • TOML: section [service.http_runner], setting authentication_timeout

  • Type: number

  • Default: 120.0

service.http_runner.timeout_limit

Maximum allowed timeout the HTTP request. If request timeout will be greater than the limit, limit value will be used.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_TIMEOUT_LIMIT

  • Command-line: --setting service.http_runner.timeout_limit

  • TOML: section [service.http_runner], setting timeout_limit

  • Type: number

  • Default: 300.0

service.http_runner.connections_hard_limit

Maximum number of concurrent HTTP connections for all the devices.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.http_runner.connections_hard_limit

  • TOML: section [service.http_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.http_runner.limit_max_connections

Determines the maximum number of connections that can be active at any given time to a specific device.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_LIMIT_MAX_CONNECTIONS

  • Command-line: --setting service.http_runner.limit_max_connections

  • TOML: section [service.http_runner], setting limit_max_connections

  • Type: integer

  • Default: 100

service.http_runner.limit_max_keepalive_connections

Determines the maximum number of keep-alive connections that can be active at any given time to a specific device.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_LIMIT_MAX_KEEPALIVE_CONNECTIONS

  • Command-line: --setting service.http_runner.limit_max_keepalive_connections

  • TOML: section [service.http_runner], setting limit_max_keepalive_connections

  • Type: integer

  • Default: 20

service.http_runner.limit_keepalive_connections_expiry_seconds

Sets the duration for which keep-alive connections can remain active before expiring in seconds. Value 0 means do not limit.

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_LIMIT_KEEPALIVE_CONNECTIONS_EXPIRY_SECONDS

  • Command-line: --setting service.http_runner.limit_keepalive_connections_expiry_seconds

  • TOML: section [service.http_runner], setting limit_keepalive_connections_expiry_seconds

  • Type: float

  • Default: 0

service.http_runner.http2_enabled

Enables version 2 of the HTTP protocol

  • Environment: RADKIT_SERVICE_HTTP_RUNNER_HTTP2_ENABLED

  • Command-line: --setting service.http_runner.http2_enabled

  • TOML: section [service.http_runner], setting http2_enabled

  • Type: boolean

  • Default: True

service.terminal_proxy_runner.connections_hard_limit

Maximum number of Terminal proxy concurrent connections

  • Environment: RADKIT_SERVICE_TERMINAL_PROXY_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.terminal_proxy_runner.connections_hard_limit

  • TOML: section [service.terminal_proxy_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.tcp_tunneling_runner.connections_hard_limit

Maximum number of concurrent TCP tunnels

  • Environment: RADKIT_SERVICE_TCP_TUNNELING_RUNNER_CONNECTIONS_HARD_LIMIT

  • Command-line: --setting service.tcp_tunneling_runner.connections_hard_limit

  • TOML: section [service.tcp_tunneling_runner], setting connections_hard_limit

  • Type: integer

  • Default: 100

service.password_policy.minimum_length

Minimal length of password (minimum value: 8)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting minimum_length

  • Type: integer

  • Default: 8

service.password_policy.minimum_lowercase_letters

Minimal number of lowercase letters in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting minimum_lowercase_letters

  • Type: integer

  • Default: 1

service.password_policy.minimum_uppercase_letters

Minimal number of uppercase letters in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting minimum_uppercase_letters

  • Type: integer

  • Default: 1

service.password_policy.minimum_digits

Minimal number of digits in password (minimum value: 1)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting minimum_digits

  • Type: integer

  • Default: 1

service.password_policy.minimum_symbols

Minimal number of symbols in password (minimum value: 0)

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting minimum_symbols

  • Type: integer

  • Default: 0

service.password_policy.expiration_days

Days after which password needs to be changed.

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting expiration_days

  • Type: integer

  • Default: 0

service.password_policy.expiration_warning_days

How many days earlier user should be notified about upcoming password expiration

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting expiration_warning_days

  • Type: integer

  • Default: 7

service.password_policy.reuse_password_changes

Number of history entries for password reuse limitation

  • Environment: N/A

  • Command-line: N/A

  • TOML: section [service.password_policy], setting reuse_password_changes

  • Type: integer

  • Default: 12

Control settings

Note

RADKit Control has its own proxy settings, control.proxy.* which are separate from those of the Client and Service, cloud_client.proxy.*. The latter are used for connecting to the RADKit Cloud, while the former are used for connecting to a remote RADKit Service.

control.service_url

URL to Service API endpoint

  • Environment: RADKIT_CONTROL_SERVICE_URL

  • Command-line: --setting control.service_url

  • TOML: section [control], setting service_url

  • Type: string

  • Default: https://localhost:8081/api/v1

control.service_certificate

Path to a certificate file identifying the Service.

  • Environment: RADKIT_CONTROL_SERVICE_CERTIFICATE

  • Command-line: --setting control.service_certificate

  • TOML: section [control], setting service_certificate

  • Type: FilePath

  • Default: None

control.service_fingerprint

Service certificate fingerprint used to verify TLS connection. The fingerprint should use SHA256 hash.

  • Environment: RADKIT_CONTROL_SERVICE_FINGERPRINT

  • Command-line: --setting control.service_fingerprint

  • TOML: section [control], setting service_fingerprint

  • Type: string

  • Default: None

control.admin_name

Service admin name

  • Environment: RADKIT_CONTROL_ADMIN_NAME

  • Command-line: --setting control.admin_name

  • TOML: section [control], setting admin_name

  • Type: string

  • Default: superadmin

control.admin_password

Service admin password. Storing a password in the settings file is highly discouraged.

  • Environment: RADKIT_CONTROL_ADMIN_PASSWORD

  • Command-line: --setting control.admin_password

  • TOML: section [control], setting admin_password

  • Type: string

  • Default: None

control.admin_password_base64

Service admin password encoded using BASE64. Storing a password in the settings file is highly discouraged.

  • Environment: RADKIT_CONTROL_ADMIN_PASSWORD_BASE64

  • Command-line: --setting control.admin_password_base64

  • TOML: section [control], setting admin_password_base64

  • Type: string

  • Default: None

control.admin_password_file

Path to a file where the Service admin password is stored. Storing a password long-term in a user-accessible file is highly discouraged. This setting is recommended for automation only. The password file should not be readable by group/other.

  • Environment: RADKIT_CONTROL_ADMIN_PASSWORD_FILE

  • Command-line: --setting control.admin_password_file

  • TOML: section [control], setting admin_password_file

  • Type: string

  • Default: None

control.log_format

Logging format string

  • Environment: RADKIT_CONTROL_LOG_FORMAT

  • Command-line: --setting control.log_format

  • TOML: section [control], setting log_format

  • Type: string

  • Default: %(message)s%(keyval)s

control.date_format

Logging date format string (NOT USED)

  • Environment: RADKIT_CONTROL_DATE_FORMAT

  • Command-line: --setting control.date_format

  • TOML: section [control], setting date_format

  • Type: string

  • Default: %Y-%m-%dT%H:%M:%S

control.main_logging_level

Logging level for RADKit Control modules

  • Environment: RADKIT_CONTROL_MAIN_LOGGING_LEVEL

  • Command-line: --setting control.main_logging_level

  • TOML: section [control], setting main_logging_level

  • Type: integer

  • Default: 40

control.root_logging_level

Logging level for third-party Python modules

  • Environment: RADKIT_CONTROL_ROOT_LOGGING_LEVEL

  • Command-line: --setting control.root_logging_level

  • TOML: section [control], setting root_logging_level

  • Type: integer

  • Default: 40

control.request_timeout

The timeout configuration to use when sending requests to the Service

  • Environment: RADKIT_CONTROL_REQUEST_TIMEOUT

  • Command-line: --setting control.request_timeout

  • TOML: section [control], setting request_timeout

  • Type: float

  • Default: 5.0

control.proxy.url

Proxy URL for connecting to the RADKit Service

  • Environment: RADKIT_CONTROL_PROXY_URL

  • Command-line: --setting control.proxy.url

  • TOML: section [control.proxy], setting url

  • Type: string

  • Default: None

control.proxy.username

Proxy username (Basic authentication only)

  • Environment: RADKIT_CONTROL_PROXY_USERNAME

  • Command-line: --setting control.proxy.username

  • TOML: section [control.proxy], setting username

  • Type: string

  • Default: None

control.proxy.password

Proxy password (Basic authentication only)

  • Environment: RADKIT_CONTROL_PROXY_PASSWORD

  • Command-line: --setting control.proxy.password

  • TOML: section [control.proxy], setting password

  • Type: string

  • Default: None

control.proxy.no_proxy

Comma-separated list of hosts that should not be accessed through the proxy defined by control.proxy.url

  • Environment: RADKIT_CONTROL_PROXY_NO_PROXY

  • Command-line: --setting control.proxy.no_proxy

  • TOML: section [control.proxy], setting no_proxy

  • Type: string

  • Default: None

  • Example: "localhost,127.0.0.0/8,::1,*.cisco.com,10.*"

control.proxy.fall_back_to_environment

When set to True and no proxy is configured in settings, use the proxy set in the environment variables WSS_PROXY, HTTPS_PROXY, or ANY_PROXY to connect to RADKit service. Also checks the service url against NO_PROXY.

  • Environment: RADKIT_CONTROL_PROXY_FALL_BACK_TO_ENVIRONMENT

  • Command-line: --setting control.proxy.fall_back_to_environment

  • TOML: section [control.proxy], setting fall_back_to_environment

  • Type: boolean

  • Default: True