`tt cluster worker delete` implementation
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 15
- Forks
- 49
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 3
Description
Implement tt cluster worker delete command for deleting worker
configurations from 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 delete <URI>
Supported flags:
--force force delete and skip existence check
-h, --help help for delete
-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 delete \
https://user:pass@localhost:2379/cluster/workers/host/server-1
The implementation uses go-storage library for both etcd and TCS.
Without --force flag, it atomically checks that the key exists
(using predicate.VersionNotEqual) before deleting. With --force flag,
it deletes the configuration unconditionally.
Closes TNTP-7061
Requested by @oleg-jukovec in https://github.com/tarantool/tt/commit/7d9631d0b4cc631b4f0561ed4e5c1f5ae044bfab.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the existing tt cluster worker command implementations and tests, then trace their go-storage integration for etcd and Tarantool config storage. Implement the documented URI, credential, TLS, timeout, and --force behavior, and verify that normal deletion checks existence atomically while forced deletion skips that check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100