mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-27 16:12:56 +00:00
The 'zenith' CLI utility can now be used to launch safekeepers. By default, one safekeeper is configured. There are new 'safekeeper start/stop' subcommands to manage the safekeepers. Each safekeeper is given a name that can be used to identify the safekeeper to start/stop with the 'zenith start/stop' commands. The safekeeper data is stored in '.zenith/safekeepers/<name>'. The 'zenith start' command now starts the pageserver and also all safekeepers. 'zenith stop' stops pageserver, all safekeepers, and all postgres nodes. Introduce new 'zenith pageserver start/stop' subcommands for starting/stopping just the page server. The biggest change here is to the 'zenith init' command. This adds a new 'zenith init --config=<path to toml file>' option. It takes a toml config file that describes the environment. In the config file, you can specify options for the pageserver, like the pg and http ports, and authentication. For each safekeeper, you can define a name and the pg and http ports. If you don't use the --config option, you get a default configuration with a pageserver and one safekeeper. Note that that's different from the previous default of no safekeepers. Any fields that are omitted in the configuration file are filled with defaults. You can also specify the initial tenant ID in the config file. A couple of sample config files are added in the control_plane/ directory. The --pageserver-pg-port, --pageserver-http-port, and --pageserver-auth options to 'zenith init' are removed. Use a config file instead. Finally, change the python test fixtures to use the new 'zenith' commands and the config file to describe the environment.
22 lines
704 B
TOML
22 lines
704 B
TOML
[package]
|
|
name = "zenith"
|
|
version = "0.1.0"
|
|
authors = ["Stas Kelvich <stas@zenith.tech>"]
|
|
edition = "2018"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
clap = "2.33.0"
|
|
anyhow = "1.0"
|
|
serde_json = "1"
|
|
postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="9eb0dbfbeb6a6c1b79099b9f7ae4a8c021877858" }
|
|
|
|
# FIXME: 'pageserver' is needed for BranchInfo. Refactor
|
|
pageserver = { path = "../pageserver" }
|
|
control_plane = { path = "../control_plane" }
|
|
walkeeper = { path = "../walkeeper" }
|
|
postgres_ffi = { path = "../postgres_ffi" }
|
|
zenith_utils = { path = "../zenith_utils" }
|
|
workspace_hack = { path = "../workspace_hack" }
|