recovery-point-manager role
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 15
- Forks
- 49
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 3
Description
The built-in roles.recovery-point-manager role periodically creates
recovery points (see box.backup.recovery_point.create()) across a
cluster from the declarative configuration. Enable it via roles and
configure it under roles_cfg.
Role-level options (defaults inherited by every manager):
backend(string) -- the default backend type. Resolved to the
module roles.recovery-point-manager.backends..backends_cfg(map) -- per-backend-type config, keyed by the backend
type name (for example,net-replicaset). The value is that
backend's own configuration.create.by.interval(number) -- seconds between attempts
(default 600).create.timeout(number) -- per-attempt timeout in seconds
(default 300).managers(map) -- the managers to run, keyed by a user-chosen name.
Omittingmanagersruns a single manager nameddefault; an
explicit empty map runs none.
Per-manager options (under managers.<name>), each overriding the
role-level default:
backend(string) -- the backend type for this manager.backend_cfg(table) -- the configuration of this manager's backend
type (un-keyed, unlike the role-levelbackends_cfg). It deep-merges
onto the role-levelbackends_cfg[<backend>], the manager winning.create.by.interval(number) -- seconds between attempts.create.timeout(number) -- per-attempt timeout in seconds.
The built-in net-replicaset backend creates a recovery point on a
remote replicaset's leader over net.replicaset. Its backend_cfg:
target(string, required) -- the name of the target replicaset in
the cluster configuration.login(string) -- the user the backend connects as. When omitted,
the identity is taken from iproto.advertise.sharding, then
iproto.advertise.peer.password(string) -- the password forlogin. When omitted, it is
resolved from the credentials of that user. Cannot be set without
login.params(table, Enterprise Edition) -- the connection transport:
transport, ssl_key_file, ssl_cert_file, ssl_ca_file, ssl_ciphers,
ssl_password, ssl_password_file.
The login user needs only the minimum privilege to create recovery
points on the target: execute on the box.backup.recovery_point.create
lua_call. A dedicated user with nothing else is the recommended setup:
credentials:
users:
backup_user:
password: secret_backup
privileges:
- permissions: [execute]
lua_call: ['box.backup.recovery_point.create']
Example:
roles: [roles.recovery-point-manager]
roles_cfg:
roles.recovery-point-manager:
backend: net-replicaset
create:
by:
interval: 300
backends_cfg:
net-replicaset:
login: backup_user
managers:
rs_001:
backend_cfg:
target: replicaset-001
Requested by @Serpentian in https://github.com/tarantool/tarantool/commit/9398bba1d7284cccba00a7518feee16d0073d57a.
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
Start from the recovery-point-manager role and the box.backup.recovery_point.create entry point described in the issue. Document the role-level and per-manager options, net-replicaset backend settings, required privilege, and YAML example; done means the configuration behavior and example are covered clearly in the relevant documentation.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100