Module cartridge.argparse

Gather configuration options.

The module tries to read configuration options from multiple sources and then merge them together according to the priority of the source:

  1. --<VARNAME> command line arguments
  2. TARANTOOL_<VARNAME> environment variables
  3. configuration files

One can specify a configuration file using the --cfg <CONFIG_FILE> option or the TARANTOOL_CFG=<CONFIG_FILE> environment variable.

Configuration files are yaml files, divided into sections like the following:

default:
  memtx_memory: 10000000
  some_option: "default value"
myapp.router:
  memtx_memory: 1024000000
  some_option: "router specific value"

Within the configuration file argparse looks for multiple matching section:

  1. The section named <APP_NAME>.<INSTANCE_NAME> is parsed first. Application name is derived automatically from the rockspec filename in the project directory. Or it can be can be specified manually with --app-name command line argument or TARANTOOL_APP_NAME environment variable. Instance name can be specified the same way either as --instance-name or TARANTOOL_INSTANCE_NAME.
  2. The common <APP_NAME> section is parsed next.
  3. Finally, the section [default] with global configuration is parsed with the lowest priority.

Functions

parse () Parse command line arguments, environment variables, and config files.
get_opts (filter) Filter results of parsing and cast variables to a given type.
get_box_opts () Shorthand for get_opts(box_opts).
get_cluster_opts () Shorthand for get_opts(cluster_opts).

Tables

cluster_opts Common cartridge.cfg options.
box_opts Common box.cfg tuning options.


Functions

parse ()
Parse command line arguments, environment variables, and config files.

Returns:

    {argname=value,...}
get_opts (filter)

Filter results of parsing and cast variables to a given type.

From all configuration options gathered by parse, select only ones specified in filter.

For example, running application as the following:

./init.lua --alias router --memtx-memory 100

results in:

parse()            -> {memtx_memory = "100", alias = "router"}
get_cluster_opts() -> {alias = "router"} -- a string
get_box_opts()     -> {memtx_memory = 100} -- a number

Parameters:

  • filter {argname=type,...}

Returns:

    {argname=value,...}
get_box_opts ()
Shorthand for get_opts(box_opts).
get_cluster_opts ()
Shorthand for get_opts(cluster_opts).

Tables

cluster_opts
Common cartridge.cfg options.

Options, which are not listed here (like roles) can't be modified with argparse and should be configured in code.

Fields:

  • alias string
  • workdir string
  • http_port number
  • http_enabled boolean
  • advertise_uri string
  • cluster_cookie string
  • console_sock string
  • auth_enabled boolean
  • bucket_count number
box_opts
Common box.cfg tuning options.

Fields:

  • listen string
  • memtx_memory number
  • strip_core boolean
  • memtx_min_tuple_size number
  • memtx_max_tuple_size number
  • slab_alloc_factor number
  • work_dir string
  • memtx_dir string
  • wal_dir string
  • vinyl_dir string
  • vinyl_memory number
  • vinyl_cache number
  • vinyl_max_tuple_size number
  • vinyl_read_threads number
  • vinyl_write_threads number
  • vinyl_timeout number
  • vinyl_run_count_per_level number
  • vinyl_run_size_ratio number
  • vinyl_range_size number
  • vinyl_page_size number
  • vinyl_bloom_fpr number
  • log string
  • log_nonblock boolean
  • log_level number
  • log_format string
  • io_collect_interval number
  • readahead number
  • snap_io_rate_limit number
  • too_long_threshold number
  • wal_mode string
  • rows_per_wal number
  • wal_max_size number
  • wal_dir_rescan_delay number
  • force_recovery boolean
  • replication string
  • instance_uuid string
  • replicaset_uuid string
  • custom_proc_title string
  • pid_file string
  • background boolean
  • username string
  • coredump boolean
  • checkpoint_interval number
  • checkpoint_wal_threshold number
  • checkpoint_count number
  • read_only boolean
  • hot_standby boolean
  • worker_pool_threads number
  • replication_timeout number
  • replication_sync_lag number
  • replication_sync_timeout number
  • replication_connect_timeout number
  • replication_connect_quorum number
  • replication_skip_conflict boolean
  • feedback_enabled boolean
  • feedback_host string
  • feedback_interval number
  • net_msg_max number
generated by LDoc 1.4.6 Last updated 2020-03-18 11:40:03