Build remote apply
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start from branch phase-5/remote-apply and read spec design 00 section 5. Examine the existing local apply command and approval queue logic, noting dependency #86. Write the bats and Pester acceptance tests listed before implementing remote apply --group with connection-loss coping and revert timer. Done when tests pass and a host reverts correctly on failed login or scored service failure.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Read first
- Roadmap, section 4.1: remote mode, why
remote applywaits forremote plan - Design 00, section 5: execution model, including "keeping a run in remote mode" and its acceptance tests
- Design 00, section 4: the module contract, rule 9 (kept once verified)
- Conventions, section 3.3: the queue and the login check, what the control node answers for each host
- Conventions, section 3.1: the revert timer and approval items
- Design 03, section 8: preventing self-lockout, the dead-man revert and the two-session rule
- Lab, section 1: machines, the control node and the hosts to try it on
- AGENTS.md: hard rules 3 (no blanket actions), 5 (never impede scoring), 6 (officials get access), 7 (reversible) and 8 (confirm, then act)
Read these before starting. If this issue and the spec disagree, the spec wins; say so in the pull request.
Summary
Build remote apply <phase> --group <group>, which runs the local apply on every host of a group from the control node (a hardened server that can reach every host) and brings back the logs and manifests. The lockout rotates the very passwords and SSH settings the control node connects with, so it must cope with being cut off. Instead of the on-host keep question, the control node keeps a host's run only when it can still log in over the admin path and no scored service that passed before now fails; otherwise the revert timer undoes that host.
Depends on
- Blocked by #86 (the read-only remote plan). It is built only after
remote planhas run safely in the lab.
Location & Context
- Branch:
phase-5/remote-apply. Spec: design 00, section 5. - The
remotecommand from #86, in both runners (labyrinth.sh,labyrinth.ps1), withapplyadded. Record its options in Conventions 3.3 first, then add them to the manual anddocs/Commands.md. - Tests: new bats and Pester files, and
tests/manual/manual.bats. The lab pass uses the control node and several hosts (docs/lab/README.md).
Current Behavior
Changes can run only locally on each host. Remote apply is held back until remote plan has run safely in the lab.
Plan
- Build
remote apply <phase> --group <group>: run the localapplyand bring back logs and manifests. - Keep each host's own approval queue; list a host's queue with
-qon that host and apply chosen items there with-q -a(Conventions 3.3). - Cope with losing the connection while credentials and SSH settings rotate.
- Keep a host's run only when it can still log in over the admin path and no scored service that passed before now fails; otherwise the timer reverts that host, except modules kept once verified (design 00, section 4, rule 9). The control node prints and records which hosts it kept and why.
Acceptance tests
Write these first, in bats and Pester:
- A lost connection during rotation does not leave the host half-changed.
- A host where a previously passing scored service fails is reverted by the timer, except modules kept once verified.
- A host that cannot log in over the admin path is reverted.
- A host whose scored service already failed its probe before the run, and still fails after it, is kept when the admin login works and no other service regressed; the control node reports the failing service (design 00, section 5).
- Negative test: protected accounts and scored services are untouched before and after.
Done when
- The Linux and Windows versions both pass CI.
- The tests above pass in the lab on a control node and hosts of both platforms (
docs/lab/README.md). - The command is in both runners, the manual,
docs/Commands.md, its-hpage, the Conventions table and both test suites, in one branch (Roadmap section 2). Help never runs anything.
Out of scope
- The read-only plan: #86.
- The break-glass check at the host's console, which still follows the run (design 03, section 6.3); an operator who cannot log in there undoes that host's run with
laby -u ID. - Scheduled probes and checkpoints from the control node: #91.
- Lingua principale
- PowerShell
- Stelle
- 0
- Fork
- 0
- Merge medio
- 2h 7m
- PR unite (30g)
- 53
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnetdork/Labyrinth
-
Count wrapped rows when clearing a shown password or seed on LinuxForse già presa @dotnetdork l’ha presa oggi. Apertaarea: core platform: linux type: bug
dotnetdork/Labyrinth#151 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
area: accounts area: core type: docs
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
dotnetdork/Labyrinth#137 ·
I maintainer di solito rispondono entro 1 giorno
-
area: command-line platform: linux platform: windows type: docs
Difficoltà 4/5 3-5 giorni Idoneità per principianti 70/100
dotnetdork/Labyrinth#125 ·
I maintainer di solito rispondono entro 1 giorno
-
area: tests-ci platform: windows type: build
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
dotnetdork/Labyrinth#124 ·
I maintainer di solito rispondono entro 1 giorno
-
area: command-line platform: linux platform: windows type: feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 70/100
dotnetdork/Labyrinth#120 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dotnetdork/Labyrinth
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
earthtojake/text-to-cad#758 ·
I maintainer di solito rispondono entro 1 giorno
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
github/gh-actions-lock#261 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2567 ·
I maintainer di solito rispondono entro 9 giorni
-
cli good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Agent-Threat-Rule/agent-threat-rules#766 ·
I maintainer di solito rispondono entro 1 giorno