bbd376f057
B1: Linux Mint + VMware Workstation + setup-host-linux.sh (Python 3.12 note)
B2: rsync template transfer, VMX registration, smoke tests; keyrings.alt choice
B3: SSH key perms, BuildVMGuest + GiteaPAT via PlaintextKeyring (D-Bus-free)
B4: act-runner.service, config.yaml labels/envs fix, smoke job PASS
B5: rewritten — Python-only timers (no pwsh), 7z compression, --service-name
act-runner fix, prerequisite dirs, root service for backup
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
B3 — Closeout
Passo B3 di plans/PhaseB-user-checklist.md: trasferimento credenziali
e chiavi SSH al user ci-runner headless.
Stato
✅ COMPLETATO — chiavi SSH, credenziale guest Windows e GiteaPAT
disponibili a ci-runner; PoC headless verificato.
Cosa è stato fatto
-
Chiavi SSH guest Linux già presenti in
/var/lib/ci/keys/(copiate con i template in B2). Permessi corretti:ci_linux:600(ownerci-runner)ci_linux.pub:644(ownerci-runner)
-
Credenziale guest Windows
BuildVMGuestgià salvata come prerequisito del Passo 2 contools/ci-cred-set.py.- Backend:
keyrings.alt.file.PlaintextKeyring(~/.local/share/python_keyring/keyring_pass.cfg) - Verificata con
tools/ci-cred-check.py BuildVMGuest→OK (file) username='WINBUILD-2025\ci_build'
- Backend:
-
Gitea PAT salvato:
sudo -u ci-runner /opt/ci/venv/bin/python \ /opt/ci/local-ci-cd-system/tools/ci-cred-set.py GiteaPAT ci-runner-linuxVerificato con
ci-cred-check.py GiteaPAT→OK (file). -
PoC headless confermato: il backend
PlaintextKeyringnon dipende da D-Bus e funziona sia dasudo -u ci-runnerche dall'interno diact-runner.service(verificato durante smoke test B2 e B4).
Deviazioni / gotcha
secret-toolscartato: il piano originale usavasecret-tool(GNOME Secret Service). Non funziona senza una D-Bus session attiva, che non è disponibile in contesti systemd headless. Alternativa adottata:keyrings.alt.file.PlaintextKeyring— nessuna dipendenza da D-Bus, file in chiaro in~/.local/share/python_keyring/keyring_pass.cfg(accessibile solo aci-runner). Configurazione in~/.local/share/python_keyring/keyringrc.cfg.- Credenziale B2: il prerequisito del Passo 2 anticipava la parte
minima di B3 (solo
BuildVMGuest) per sbloccare lo smoke test Windows. In B3 si è completato aggiungendo il GiteaPAT e fissando i permessi chiavi SSH.
Riferimenti commit
3921758— feat: add credential management scripts (tools/ci-cred-set.py,tools/ci-cred-check.py)