sleet 0.1.0

A fleet manager for SlateDB databases
Documentation
# Example sleet.toml: fleet-wide policy, stored at the fleet root.
# Full field reference: schema/config.schema.json

[node]
heartbeat_interval = "10s"
heartbeat_timeout = "30s"
config_poll = "1m"

# Applied to every registered database; a dbs/<db>.toml file overrides
# any field per database. Unset fields use SlateDB's defaults.
[database]
services = ["gc", "compactor-coordinator", "compaction-workers"]

[database.gc.manifest]
interval = "60s"
min_age = "5m"

[database.gc.wal_fence]
dry_run = true                         # deleting young fences can lose writes

[database.gc.compacted]
min_age = "10m"

[database.compactor-coordinator]
poll_interval = "5s"
max_concurrent_compactions = 4
worker_heartbeat_timeout = "30s"

[database.compactor-coordinator.scheduler]
min_compaction_sources = 4
max_compaction_sources = 8
include_size_threshold = 4.0

[database.compaction-workers]
count = 2                              # worker nodes per database
max_sst_size = 268435456               # 256 MiB
max_subcompactions = 4

# Mirror targets (RFC 0002). Fleet-wide targets apply to every
# database a target's scope covers; dbs/<db>.toml overrides per field,
# matched by target name. Databases under s3://user-data mirror to the
# DR bucket at the same relative path.
[database.mirror.targets.dr]
url = "s3://dr-bucket/mirrors"
source_prefix = "s3://user-data"
mode = "continuous"             # continuous | periodic
copier = "builtin"              # builtin | rclone | external
poll = "10s"                    # continuous: pass and tail cadence
# interval = "24h"              # periodic: cadence between passes
# min_age = "300s"              # prune deletion age floor
# checkpoint_lifetime = "15m"   # source pin checkpoint TTL
# copy_parallelism = 8          # builtin: concurrent object copies