Watchdogs/ folder + host conf rename
Move all watchdog scripts to a dedicated Watchdogs/ folder: Docker_Essentials/docker_watchdog.sh → Watchdogs/ unRAID_Essentials/system_watchdog.sh → Watchdogs/ unRAID_Essentials/resource_watchdog.sh → Watchdogs/ Orchestrators/watchdog_orchestrator.sh → Watchdogs/ Tools/watchdog_skip_list_manager.sh → Watchdogs/ Rename host config files: master_host1.conf → host1.conf master_host2.conf → host2.conf Update all references across the ecosystem: master.conf: WATCHDOG_ORCHESTRATOR_SCRIPTS paths → Watchdogs/ load_config.sh: host*.conf glob + all comments git_pull_execute.sh: sparse checkout glob + all comments Partnership/ssh_setup.sh: HOST_CONF path construction user_script_plug-in.sh: all script paths + per-host conf path common.sh, README.md, README-User_Script_Plug-in.md: comment refs All Partnership, Fallback, Monitors, Transcodes, Tools scripts: comment refs
This commit is contained in:
@@ -130,7 +130,7 @@ PARTNERSHIP_ONBOARD_VERIFY=true # curl-verify each WebUI after onboard
|
||||
PARTNERSHIP_ONBOARD_NOTIFY=true # notify both servers on successful onboard
|
||||
```
|
||||
|
||||
### master_host1.conf (owner side)
|
||||
### host1.conf (owner side)
|
||||
|
||||
```bash
|
||||
# Containers whose WebUI URLs are redirected to owner's Tailscale IP on onboard.
|
||||
@@ -179,7 +179,7 @@ HOST1_PARTNERSHIP_OWN_CONTAINERS=(
|
||||
)
|
||||
```
|
||||
|
||||
### master_host2.conf (mirror side)
|
||||
### host2.conf (mirror side)
|
||||
|
||||
```bash
|
||||
# Containers whose WebUI URLs are redirected on onboard.
|
||||
@@ -342,9 +342,9 @@ Partnership/partnership_onboard.sh
|
||||
### Adding a New Container to the Auth Stack
|
||||
|
||||
1. Create the XML template on HOST1 (`/boot/config/plugins/dockerMan/templates-user/my-NewContainer.xml`)
|
||||
2. Add the XML filename to `HOST1_PARTNERSHIP_AUTH_STACK` in `master_host1.conf`
|
||||
2. Add the XML filename to `HOST1_PARTNERSHIP_AUTH_STACK` in `host1.conf`
|
||||
- If it has a database dependency, put the dep earlier in the array
|
||||
3. Add the container name to `HOST2_PARTNERSHIP_REPLACE_CONTAINERS` in `master_host2.conf`
|
||||
3. Add the container name to `HOST2_PARTNERSHIP_REPLACE_CONTAINERS` in `host2.conf`
|
||||
4. Re-run the auth stack portion:
|
||||
```bash
|
||||
Partnership/partnership_onboard.sh --skip-ssh --skip-arr-stack --skip-arr-sync
|
||||
@@ -514,7 +514,7 @@ automatically, but if HOST2 had no pre-existing auth stack of its own, it needs
|
||||
docker ps
|
||||
|
||||
# Verify own parked containers came back up:
|
||||
# (listed in HOST2_PARTNERSHIP_OWN_CONTAINERS in master_host2.conf)
|
||||
# (listed in HOST2_PARTNERSHIP_OWN_CONTAINERS in host2.conf)
|
||||
|
||||
# If you need a fresh auth stack, deploy from HOST2's own XML templates:
|
||||
docker create ... && docker start NginxProxyManager # etc.
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
# TAILSCALE_API_KEY / TAILSCALE_TAILNET
|
||||
# Required when PARTNERSHIP_REMOVE_TAILSCALE=true
|
||||
#
|
||||
# master_host*.conf
|
||||
# host*.conf
|
||||
#
|
||||
# HOST*_PARTNERSHIP_AUTH_WEBUIS
|
||||
# Containers reconfigured on onboard/offboard. Format: "ContainerName|WebUIPort"
|
||||
@@ -253,7 +253,7 @@ OWNER="${!OWNER_ID}" # hostname string
|
||||
MIRROR="${!MIRROR_ID}"
|
||||
# SSH_KEY (set by detect_hosts) is this server's own private key.
|
||||
# The remote accepts it because this server's PUBLIC key was installed there via ssh_setup.sh.
|
||||
# With sparse checkout, each server only has its own master_host{N}.conf — the other server's
|
||||
# With sparse checkout, each server only has its own host{N}.conf — the other server's
|
||||
# key path is never available here. Use SSH_KEY for all outbound SSH regardless of mode.
|
||||
MIRROR_SSH_KEY="$SSH_KEY"
|
||||
OWNER_SSH_KEY="$SSH_KEY"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
# CONFIGURATION
|
||||
# ==============================================================================================
|
||||
#
|
||||
# master_host*.conf
|
||||
# host*.conf
|
||||
#
|
||||
# HOST*_PARTNERSHIP_AUTH_STACK
|
||||
# Auth container XMLs to push during onboard — used on offboard to identify what
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
#
|
||||
# Dependency ordering in the auth stack is owner-enforced
|
||||
# PARTNERSHIP_AUTH_STACK order matters: Mariadb and Redis must come before Authelia.
|
||||
# The array is ordered correctly in master_host1.conf. After each Mariadb/Redis deploy,
|
||||
# The array is ordered correctly in host1.conf. After each Mariadb/Redis deploy,
|
||||
# the script waits for the container to be healthy before continuing. This is a remote
|
||||
# health check — the container must be running (or report healthy) before the next
|
||||
# dependent is deployed.
|
||||
@@ -73,7 +73,7 @@
|
||||
# CONFIGURATION
|
||||
# ==============================================================================================
|
||||
#
|
||||
# master_host*.conf
|
||||
# host*.conf
|
||||
#
|
||||
# HOST*_PARTNERSHIP_AUTH_STACK
|
||||
# XML filenames (from this server's templates-user/) to push and deploy on the
|
||||
@@ -82,7 +82,7 @@
|
||||
#
|
||||
# HOST*_PARTNERSHIP_REPLACE_CONTAINERS
|
||||
# Containers to stop on the mirror before deploying the auth stack.
|
||||
# Defined in the MIRROR's own conf (master_host*.conf on HOST2) — never in HOST1's conf.
|
||||
# Defined in the MIRROR's own conf (host*.conf on HOST2) — never in HOST1's conf.
|
||||
# Read live from the mirror via SSH during Step 3 (sources mirror's load_config.sh at
|
||||
# the same $SCRIPTS_ROOT path — convention: both servers use the same repo location).
|
||||
# Leave empty on HOST2 if no conflicting containers exist (fresh mirror: nothing to stop).
|
||||
@@ -171,7 +171,7 @@ OWNER="${!OWNER_ID}"
|
||||
MIRROR="${!MIRROR_ID}"
|
||||
# SSH_KEY (set by detect_hosts) is this server's own private key.
|
||||
# The remote accepts it because this server's PUBLIC key was installed there via ssh_setup.sh.
|
||||
# HOST{N}_SSH_KEY lives in master_host{N}.conf — with sparse checkout, the other server's
|
||||
# HOST{N}_SSH_KEY lives in host{N}.conf — with sparse checkout, the other server's
|
||||
# conf is never present here. Always use SSH_KEY (local private key) for outbound SSH.
|
||||
MIRROR_SSH_KEY="$SSH_KEY"
|
||||
|
||||
@@ -359,7 +359,7 @@ wait_for_container_healthy() {
|
||||
#
|
||||
# SSHes to the mirror, sources its load_config.sh at the same $SCRIPTS_ROOT path (both servers
|
||||
# use the same convention), and reads the named config array from the mirror's own conf.
|
||||
# HOST2's container list stays in HOST2's master_host2.conf — not duplicated in HOST1's conf.
|
||||
# HOST2's container list stays in HOST2's host2.conf — not duplicated in HOST1's conf.
|
||||
# Fails gracefully if scripts aren't present yet or the array is empty (nothing to stop).
|
||||
#
|
||||
# deploy_container_from_xml() already stops/removes containers with the same name as what's
|
||||
@@ -547,7 +547,7 @@ if [[ "$SKIP_AUTH_STACK" == true ]]; then
|
||||
warn "Skipping (--skip-auth-stack)"
|
||||
elif [[ ${#PARTNERSHIP_AUTH_STACK[@]} -eq 0 ]]; then
|
||||
warn "PARTNERSHIP_AUTH_STACK not set in ${MY_ID} conf — skipping auth stack deploy"
|
||||
warn "Add HOST${MY_ID: -1}_PARTNERSHIP_AUTH_STACK to master_host${MY_ID: -1}.conf"
|
||||
warn "Add HOST${MY_ID: -1}_PARTNERSHIP_AUTH_STACK to host${MY_ID: -1}.conf"
|
||||
STEP_AUTH_OK=false
|
||||
else
|
||||
deploy_xml_stack PARTNERSHIP_AUTH_STACK
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# unRAID-Gmer4Lfe → gmer4lfe_rsync_automation
|
||||
# unRAID-Jayred365 → jayred365_rsync_automation
|
||||
# Idempotent — skips generation if key already exists (use --force to regenerate).
|
||||
# Updates master_host*.conf with key path on success.
|
||||
# Updates host*.conf with key path on success.
|
||||
#
|
||||
# ── MODES ─────────────────────────────────────────────────────────────────────────────────────
|
||||
# (default) — generate key if missing, copy to remote, update conf
|
||||
@@ -85,7 +85,7 @@ SSH_PUB_PATH="${SSH_KEY_PATH}.pub"
|
||||
|
||||
# ── Host conf path ────────────────────────────────────────────────────────────────────────────
|
||||
HOST_NUM="${MY_ID#HOST}" # "1" or "2"
|
||||
HOST_CONF="$SCRIPTS_ROOT/master_host${HOST_NUM}.conf"
|
||||
HOST_CONF="$SCRIPTS_ROOT/host${HOST_NUM}.conf"
|
||||
KEY_CONF_VAR="${MY_ID}_SSH_KEY"
|
||||
|
||||
# ── Strike state file ─────────────────────────────────────────────────────────────────────────
|
||||
@@ -316,12 +316,12 @@ fi
|
||||
|
||||
# ── Update conf ───────────────────────────────────────────────────────────────────────────────
|
||||
echo ""
|
||||
echo "━━━ $ICON_GEAR Update master_host${HOST_NUM}.conf ━━━"
|
||||
echo "━━━ $ICON_GEAR Update host${HOST_NUM}.conf ━━━"
|
||||
|
||||
if [[ "$DRY_RUN" == false ]]; then
|
||||
update_conf_key_path
|
||||
else
|
||||
warn "DRY RUN — would set ${KEY_CONF_VAR}=\"${SSH_KEY_PATH}\" in master_host${HOST_NUM}.conf"
|
||||
warn "DRY RUN — would set ${KEY_CONF_VAR}=\"${SSH_KEY_PATH}\" in host${HOST_NUM}.conf"
|
||||
fi
|
||||
|
||||
# ── Copy to remote ────────────────────────────────────────────────────────────────────────────
|
||||
@@ -373,7 +373,7 @@ echo ""
|
||||
echo "━━━━━ $ICON_SUMMARY SSH SETUP SUMMARY ━━━━━"
|
||||
echo " Key: $SSH_KEY_PATH"
|
||||
echo " Remote: $REMOTE_SERVER_NAME ($REMOTE_SERVER)"
|
||||
echo " Conf: ${KEY_CONF_VAR} in master_host${HOST_NUM}.conf"
|
||||
echo " Conf: ${KEY_CONF_VAR} in host${HOST_NUM}.conf"
|
||||
echo ""
|
||||
[[ "$DRY_RUN" == true ]] && warn "DRY RUN — no changes made" || \
|
||||
warn "$ICON_DONE DONE — SSH key ready for rsync automation ✅"
|
||||
|
||||
Reference in New Issue
Block a user