Commit Graph
1143 Commits
Author SHA1 Message Date
Gmer4Lfe 9d2610a911 Stop the host card claiming it is waiting for a partner after the onboard was cancelled 2026-08-17 07:23:48 -04:00
Gmer4Lfe bc9692f521 Tighten authorized_keys after installing a key, since sshd ignores a world-writable one and says nothing to the installer 2026-08-17 07:19:46 -04:00
Gmer4Lfe d8e3c09b57 Skip the key step when SSH already works, and read the install path live on both sides 2026-08-17 07:04:46 -04:00
Gmer4Lfe 7e7d845f61 Read the scripts dir live for the paste command, because choosing appdata moves it mid-wizard 2026-08-17 06:51:51 -04:00
Gmer4Lfe b83c118c7f Keep the SSH step visible until the partnership exists, not until the owner says its own phase 1 finished 2026-08-17 06:42:21 -04:00
Gmer4Lfe 069815790b Put the join inside the wizard, send a partner to Partnership when it finishes, and say what is left 2026-08-17 06:16:36 -04:00
Gmer4Lfe 366e2a269f Exclude the Redis AOF and MariaDB binlog from the dirty auth sync, which delivered their index without the file it names 2026-08-17 05:53:37 -04:00
Gmer4Lfe bdc2cdbadb Clear the onboard phase flags on offboard, and let the mirror signal the owner before revoking the key it signals with 2026-08-17 05:44:35 -04:00
Gmer4Lfe fe58fb7826 File the owner's containers on the mirror during onboard, with the icon resolved where the Emby key is 2026-08-17 05:33:52 -04:00
Gmer4Lfe 6dbb076a1e Name the partner fallback folder from master.conf and give it the closest Emby user's avatar 2026-08-17 05:27:25 -04:00
Gmer4Lfe 3676526daf Remove the Docker tab and stop overwriting folder.view3's file, which destroyed folders made in its own UI 2026-08-17 05:11:00 -04:00
Gmer4Lfe 6a15a9d99a Push INACTIVE to the mirror before revoking the key that push needs, and stop two steps reporting success they did not have 2026-08-17 04:58:15 -04:00
Gmer4Lfe a46317de18 Make tailscale removal opt-in, since it depends on a key that expires and no-ops silently once it has 2026-08-17 04:49:32 -04:00
Gmer4Lfe 32355e0219 Record the tailscale grace period as a deadline instead of sleeping six hours inside the offboard 2026-08-17 04:46:01 -04:00
Gmer4Lfe 2cbc06a683 Show a launched job's progress, stop a refused rerun from overwriting the live record, and label deployed containers so Unraid owns them 2026-08-17 04:26:32 -04:00
Gmer4Lfe cce1e25c2b Let a non-blocking checklist item be dismissed with a recorded decision, and run discovery on the mirror once there is something to discover 2026-08-16 21:56:00 -04:00
Gmer4Lfe 39dba3f8ab Say that the rsync count file is a cache the live-PID scan overwrites, so a stale value stops reading as a leak 2026-08-16 21:49:58 -04:00
Gmer4Lfe 5bdf3bff60 Report each teardown and setup step from what it did, not from whether it was attempted 2026-08-16 21:46:26 -04:00
Gmer4Lfe 65516ea3ac Report the Tailscale device as removed only when it was, instead of whenever the toggle was on 2026-08-16 21:38:03 -04:00
Gmer4Lfe 27989d066e Disarm on offboard every sync gate onboard arms, with the same helper, so the two are one operation in both directions 2026-08-16 21:36:46 -04:00
Gmer4Lfe 3ae6298656 Let a partner adopt the owner's custom networks from the conf phase 1 already cached, instead of asking for a value it cannot know 2026-08-16 21:20:59 -04:00
Gmer4Lfe 662f4f0d53 Create the network and cache partner confs in phase 1, where SSH already works and no plugin is needed on the far side 2026-08-16 21:13:46 -04:00
Gmer4Lfe a02b918ff9 Make the cancel actually remove the key it says it removed, instead of erroring into a swallowed stderr 2026-08-16 21:03:54 -04:00
Gmer4Lfe 23825a824d Create the networks our own pushed templates name, instead of trusting a fresh mirror to have uncommented them 2026-08-16 20:50:10 -04:00
Gmer4Lfe cf67393db6 Read varaverk.cfg the way bash and the PHP side both read it, so a comment on the SCRIPTS_DIR line cannot disable cron suppression 2026-08-16 20:40:23 -04:00
Gmer4Lfe 7ed0f5c23b Send the webhook setup to the path the partner actually uses, and arm the sync gates before the seed that depends on them 2026-08-16 20:32:14 -04:00
Gmer4Lfe f363c6cd55 Match the trigger failure patterns before the success one, since the failures echo a path back 2026-08-16 20:26:46 -04:00
Gmer4Lfe c8a6f58007 Launch owner-side Phase 2 through run_job.sh so it leaves a job record, and only claim it started once one exists 2026-08-16 20:25:54 -04:00
Gmer4Lfe 93cdbaac57 Give the mirror the terminal step its half of phase 1 actually needs, instead of a button that cannot answer a password prompt 2026-08-16 20:16:17 -04:00
Gmer4Lfe 47ad3b3075 Push the API key to the conf path the partner actually uses, and say so when there is no conf there 2026-08-16 19:59:15 -04:00
Gmer4Lfe 1493cf2dcf Push our conf to partners on the 4-hour cycle too, since the conf-save hook the push half was written for never existed 2026-08-16 19:47:19 -04:00
Gmer4Lfe 35e59d2510 Let the plugin read partner vars from the same RAM cache bash reads, so PHP and bash cannot disagree about a partner 2026-08-16 19:40:49 -04:00
Gmer4Lfe 4f95cc6d13 Deliver master.conf to a node that has no Varaverk on it yet, which is the node that needs it
Phase 1 exists to hand the partner its identity before the install, but the push refused any
host without varaverk.cfg — so the conf could only ever reach a node that no longer needed it
to be told who it was. It now resolves the remote's conf directory across both install layouts
and creates the internal one when neither exists.
2026-08-16 16:14:23 -04:00
Gmer4Lfe f627658567 Read the partner's identity out of master.conf instead of asking for it again 2026-08-16 13:56:09 -04:00
Gmer4Lfe 3c24550b19 Derive the pull target from the install location, so master.conf is safe to share between hosts 2026-08-16 13:54:05 -04:00
Gmer4Lfe 98fab394a1 Resolve the partner through the shared Tailscale resolver, so a shared-tailnet peer is findable 2026-08-16 13:43:02 -04:00
Gmer4Lfe 6fbc2b4125 Stop a missing SSH key making every Tailscale peer look like the Gitea host, and say so when the scripts are absent 2026-08-16 13:31:24 -04:00
Gmer4Lfe 64de77c065 Let the setup checklist create the SSH key it is asking for, instead of linking to a guide 2026-08-16 13:24:26 -04:00
Gmer4Lfe 19ba1e723c Stop a paused rsync counting as an absent partner and auto-offboarding the partnership 2026-08-16 13:13:25 -04:00
Gmer4Lfe 1d4dc44668 Name HOST2 by the hostname the key derivation actually uses, not its Tailscale spelling 2026-08-16 13:07:10 -04:00
Gmer4Lfe 0fe3435033 Let the conf push seed a node that has no master.conf yet, which is the node it exists to seed 2026-08-16 13:05:04 -04:00
Gmer4Lfe 6d9c856514 Open the sync gates when a partnership actually completes, instead of leaving them shut for ever 2026-08-16 12:51:24 -04:00
Gmer4Lfe 9634838f64 Ship a freshly seeded node inert, so it cannot sync before anyone has looked at it 2026-08-16 12:39:56 -04:00
Gmer4Lfe 28273ffc2a Retire domains nothing has probed in 90 days, and notice NPM changes within five minutes 2026-08-16 12:12:08 -04:00
Gmer4Lfe 7b65b64864 Let the uptime history card be folded away, and remember that per browser 2026-08-16 12:06:52 -04:00
Gmer4Lfe b90fd59544 Separate the four uptime periods so they read as four graphs, not one 2026-08-16 12:02:08 -04:00
Gmer4Lfe d5ee2d7ef1 Tell a decommissioned domain apart from a broken one in the uptime history 2026-08-16 11:59:41 -04:00
Gmer4Lfe 73358e6bae Stop Unraid's span.warn stretching the watchdog and queue badges across their row 2026-08-16 11:55:25 -04:00
Gmer4Lfe f2ad41e8e2 Show how each domain has behaved over a day, a week, a month and a year, not just now 2026-08-16 11:55:25 -04:00
Gmer4Lfe 187dc188c2 Namespace the proxy table's fixed-layout class so Unraid Connect's Tailwind layer cannot claim it 2026-08-16 11:27:59 -04:00