diff --git a/README.md b/README.md index 9b64d52..0f662d9 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,11 @@ An interactive setup script takes you from clone to mining in a few minutes. # Grab the latest release — pulls the published, tested images (no local build) curl -fsSL https://github.com/p2pool-starter-stack/pithead/releases/latest/download/pithead.tar.gz | tar xz cd pithead -cp config.json.template config.json # then set your Monero + Tari payout addresses +cp config.minimal.json config.json # then set your Monero + Tari payout addresses ./pithead setup ``` -> For every tunable, copy `config.advanced.example.json` instead. To build from source (a `dev` +> For every tunable, copy `config.reference.json` instead. To build from source (a `dev` > build), e.g. to contribute, see [Install from source](docs/getting-started.md#alternative-build-from-source). > NOTE: Prereqs are Ubuntu Server 24.04 LTS, 16 GB+ RAM, an SSD (~300 GB pruned / ~500 GB full diff --git a/config.json.template b/config.minimal.json similarity index 100% rename from config.json.template rename to config.minimal.json diff --git a/config.advanced.example.json b/config.reference.json similarity index 100% rename from config.advanced.example.json rename to config.reference.json diff --git a/docs/configuration.md b/docs/configuration.md index 948ede2..43d658c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -9,7 +9,7 @@ Only your two wallet addresses are required. Every other key is optional and fal the node runs locally, on the `main` pool, with a secure dashboard, and the local node's RPC credentials are auto-generated. Leave a key out unless you want to change it. -A fresh `config.json` is just this (see [`config.json.template`](../config.json.template)): +A fresh `config.json` is just this (see [`config.minimal.json`](../config.minimal.json)): ```json { @@ -23,7 +23,7 @@ A fresh `config.json` is just this (see [`config.json.template`](../config.json. ``` For the full shape with every key and its default, see -[`config.advanced.example.json`](../config.advanced.example.json) and copy in only the keys you +[`config.reference.json`](../config.reference.json) and copy in only the keys you want to override. > The string `"auto"` anywhere means "let the stack pick the default": a default path, the diff --git a/docs/getting-started.md b/docs/getting-started.md index e6b1017..61a1a76 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -8,7 +8,7 @@ process; most of it runs on its own. > ```bash > curl -fsSL https://github.com/p2pool-starter-stack/pithead/releases/latest/download/pithead.tar.gz | tar xz > cd pithead -> cp config.json.template config.json # set your Monero + Tari payout addresses +> cp config.minimal.json config.json # set your Monero + Tari payout addresses > ./pithead setup > ``` > @@ -55,11 +55,11 @@ dashboard shows the real version and the update-checker works: ```bash curl -fsSL https://github.com/p2pool-starter-stack/pithead/releases/latest/download/pithead.tar.gz | tar xz cd pithead -cp config.json.template config.json # then set your Monero + Tari payout addresses +cp config.minimal.json config.json # then set your Monero + Tari payout addresses ``` -`config.json.template` is minimal: just your two payout addresses. `setup` fills in defaults for -everything else. For the full set of knobs, copy `config.advanced.example.json` instead. Have your +`config.minimal.json` is minimal: just your two payout addresses. `setup` fills in defaults for +everything else. For the full set of knobs, copy `config.reference.json` instead. Have your Monero and Tari payout addresses ready (Tari wallets are sometimes labeled Minotari, same thing). ### Alternative: build from source @@ -71,7 +71,7 @@ stack, clone the repo. pithead sees the `build/` context and builds locally, tag ```bash git clone https://github.com/p2pool-starter-stack/pithead.git cd pithead && chmod +x pithead -cp config.json.template config.json # then set your payout addresses +cp config.minimal.json config.json # then set your payout addresses ``` > Changed your mind later? You can convert a clone to the published images in place. See diff --git a/docs/releasing.md b/docs/releasing.md index 359bf32..778bc82 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -159,7 +159,7 @@ What exists today: (the bundle ships no Dockerfiles, just `pithead` + `VERSION` + compose + the config templates + the `./build` runtime mounts) resolves `STACK_VERSION` to `vX.Y.Z` and pulls the published images (`--pull missing`; `upgrade` forces a re-pull). Override with `PITHEAD_REGISTRY` / `PITHEAD_PULL`. So - a release is now `cp config.json.template config.json && ./pithead setup`, no local build. + a release is now `cp config.minimal.json config.json && ./pithead setup`, no local build. **Remaining:** diff --git a/pithead b/pithead index ab1bc1c..1fc0d00 100755 --- a/pithead +++ b/pithead @@ -1468,7 +1468,7 @@ check_prerequisites() { log "All dependencies satisfied." } -# Placeholder credentials shipped in config.json.template / config.advanced.example.json. We +# Placeholder credentials shipped in config.minimal.json / config.reference.json. We # treat them like empty values so a user who copies the template but never edits the node creds # still gets real, auto-generated ones (rather than working-but-predictable defaults). readonly PLACEHOLDER_NODE_USER="create_a_username_for_node" @@ -1520,7 +1520,7 @@ ensure_config_exists() { [ -f "$CONFIG_FILE" ] && return 0 if [ ! -t 0 ]; then - error "$CONFIG_FILE not found and no interactive terminal is available.\n Create it first (copy config.json.template to config.json and edit it), then re-run." + error "$CONFIG_FILE not found and no interactive terminal is available.\n Create it first (copy config.minimal.json to config.json and edit it), then re-run." fi log "$CONFIG_FILE not found. Starting interactive setup..." diff --git a/scripts/release.sh b/scripts/release.sh index 12b27a5..aa60d7f 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -466,13 +466,13 @@ compose_build_mounts() { # containers find the config templates they render at setup. make_bundle() { # Unpacks to a versionless "pithead/" dir so the documented quick start can `cd pithead` and so a - # later bundle re-download upgrades it in place. Ships BOTH config templates: config.json.template + # later bundle re-download upgrades it in place. Ships BOTH config templates: config.minimal.json # (basic — just the two wallet addresses, the documented quick-start config) and the advanced # example. The bundle README + the repo quick start both point at the basic one (matching setup's - # own "copy config.json.template" guidance); the advanced example is "for more options". + # own "copy config.minimal.json" guidance); the advanced example is "for more options". local out="$1" d="$WORKDIR/pithead" mkdir -p "$d" - cp pithead VERSION docker-compose.yml config.json.template config.advanced.example.json "$d/" 2>/dev/null || true + cp pithead VERSION docker-compose.yml config.minimal.json config.reference.json "$d/" 2>/dev/null || true local m while IFS= read -r m; do [ -e "$m" ] || { @@ -482,7 +482,7 @@ make_bundle() { mkdir -p "$d/$(dirname "$m")" cp -R "$m" "$d/$(dirname "$m")/" done < <(compose_build_mounts docker-compose.yml) - printf 'Pithead %s — pinned install bundle (images pulled from %s, no local build).\n\nQuick start:\n 1. cp config.json.template config.json # then set your Monero + Tari payout addresses\n (more options: config.advanced.example.json)\n 2. ./pithead setup\n\nThere are no build contexts here, so pithead pulls the published %s images instead of building.\n' \ + printf 'Pithead %s — pinned install bundle (images pulled from %s, no local build).\n\nQuick start:\n 1. cp config.minimal.json config.json # then set your Monero + Tari payout addresses\n (more options: config.reference.json)\n 2. ./pithead setup\n\nThere are no build contexts here, so pithead pulls the published %s images instead of building.\n' \ "$TAG" "$REGISTRY" "$TAG" >"$d/README.txt" if [ "$DRY_RUN" -eq 1 ]; then printf ' %s[dry-run]%s would tar -> %s\n' "$C_YELLOW" "$C_RESET" "$out" diff --git a/tests/stack/run.sh b/tests/stack/run.sh index ca2f919..ff555c5 100755 --- a/tests/stack/run.sh +++ b/tests/stack/run.sh @@ -813,7 +813,7 @@ BUILD_MOUNTS="$( assert_contains "bundle ships monerod's config template" "$BUILD_MOUNTS" "./build/monero/bitmonero.conf.template" assert_contains "bundle ships the tari config dir" "$BUILD_MOUNTS" "./build/tari" # The bundle must ship the BASIC config template (the documented quick-start config — `cp -# config.json.template config.json`) and unpack to a versionless `pithead/` dir for the stable +# config.minimal.json config.json`) and unpack to a versionless `pithead/` dir for the stable # /releases/latest/download/pithead.tar.gz URL. Build a real bundle and inspect it. # shellcheck disable=SC1090,SC2034 # dynamic source; TAG/REGISTRY/DRY_RUN are consumed inside make_bundle ( @@ -829,7 +829,7 @@ assert_contains "bundle ships the tari config dir" "$BUILD_MOUNTS" "./build/tari make_bundle "$WORKDIR/pithead.tar.gz" >/dev/null 2>&1 tar tzf "$WORKDIR/pithead.tar.gz" 2>/dev/null ) >"$SANDBOX/bundle.list" 2>/dev/null -grep -q '^pithead/config.json.template$' "$SANDBOX/bundle.list" && ok "bundle ships config.json.template (basic quick-start config)" || bad "bundle ships config.json.template" "absent from the bundle" +grep -q '^pithead/config.minimal.json$' "$SANDBOX/bundle.list" && ok "bundle ships config.minimal.json (basic quick-start config)" || bad "bundle ships config.minimal.json" "absent from the bundle" grep -q '^pithead/$' "$SANDBOX/bundle.list" && ok "bundle unpacks to versionless pithead/" || bad "bundle unpacks to pithead/" "top-level dir is not pithead/" _bm_missing="" for _m in $BUILD_MOUNTS; do [ -e "$ROOT/$_m" ] || _bm_missing="$_bm_missing $_m"; done