Implement tt cluster worker publish command for publishing worker
configurations to etcd or tarantool config storage (TCS). The command
accepts a URL with format:
http(s)://[username:password@]host:port/prefix/host-name/worker-name
- prefix - a base path to the worker configuration.
- host-name - a name of the host.
- worker-name - a name of the worker.
Possible arguments:
- timeout - a request timeout in seconds (default 3.0).
- ssl_key_file - a path to a private SSL key file.
- ssl_cert_file - a path to an SSL certificate file.
- ssl_ca_file - a path to a trusted certificate authorities
(CA) file.
- ssl_ca_path - a path to a trusted certificate authorities
(CA) directory.
- ssl_ciphers - a list of allowed SSL ciphers.
- verify_host - set off (default true) verification of the
certificate’s name against the host.
- verify_peer - set off (default true) verification of the peer’s
SSL certificate.
The command supports the following environment variables:
- TT_CLI_USERNAME - specifies a Tarantool username;
- TT_CLI_PASSWORD - specifies a Tarantool password.
- TT_CLI_ETCD_USERNAME - specifies a Etcd username;
- TT_CLI_ETCD_PASSWORD - specifies a Etcd password.
The priority of credentials:
environment variables < command flags < URL credentials.
Usage:
tt cluster worker publish <URI> <FILE>
Supported flags:
--force force publish and skip checking existence
-h, --help help for publish
-p, --password string password (used as etcd/tarantool config
storage credentials)
-u, --username string username (used as etcd/tarantool config
storage credentials)
Example:
tt cluster worker publish \
https://user:pass@localhost:2379/cluster/workers/host/server-1 \
worker.yaml
The implementation uses go-storage library for both etcd and TCS.
Without --force flag, it checks if the key already exists before
publishing. Due to go-storage limitations (no "count" predicate
support), this check is done via two separate transactions with a
potential race condition.
Closes TNTP-7062
Requested by @oleg-jukovec in tarantool/tt@303dc24.
Implement
tt cluster worker publishcommand for publishing workerconfigurations to etcd or tarantool config storage (TCS). The command
accepts a URL with format:
Possible arguments:
(CA) file.
(CA) directory.
certificate’s name against the host.
SSL certificate.
The command supports the following environment variables:
The priority of credentials:
environment variables < command flags < URL credentials.
Usage:
Supported flags:
-h, --help help for publish
-p, --password string password (used as etcd/tarantool config
storage credentials)
-u, --username string username (used as etcd/tarantool config
storage credentials)
Example:
The implementation uses go-storage library for both etcd and TCS.
Without --force flag, it checks if the key already exists before
publishing. Due to go-storage limitations (no "count" predicate
support), this check is done via two separate transactions with a
potential race condition.
Closes TNTP-7062
Requested by @oleg-jukovec in tarantool/tt@303dc24.