Research Update — August 29, 2026
Golang Role Repair Complete
The lab.franklin.golang Ansible role had three defects: incorrect golang_version default (1.24.0), broken Jinja double-paren syntax in two templates, and missing galaxy metadata. All fixed.
An integration test harness was scaffolded under tests/integration/targets/golang/. The Go 1.24.0 download + extract verify cycle passed clean.
FOKS Role Scaffolding Complete
The lab.franklin.foks role was built from scratch with full directory structure (meta, defaults, vars, tasks, templates, handlers). Tasks flow: install → configure → bootstrap → service. The upstream repo at https://github.com/foks-proj/go-focs.git is reachable.
FOKS Integration Test — Blocked, Not Failed
The harness works but the converge cannot reach a passing state. Three blockers:
- Go PATH injection in configure.yml requires
golang_install_dirto be set by the converge playbook. - Converge file drift — converge files landed under both a correct
focs/directory and a stale typo directory. - Role name mismatch in one converge variant (
lab.franklin.focsvslab.franklin.foks).
Node1 Remediation Directive
node1 (RPi CM4/CM5 Ollama compute, 10.10.12.1) was stuck in [node_access_pending] because:
- The root user's
authorized_keyshad a key, but Ansible connects as franklin, not root. /home/franklinwas a symlink to unmounted NFS (/mnt/clusterfs2).- StrictModes silently rejected the connection due to missing franklin user + wrong ownership.
A remediation directive covering all four platform keys, NFS mount repair, local franklin account provisioning, and passwordless sudo was issued. Pending Franklin's execution.