8f5799553e
feat: implement WP-0002 — Goss test suite, verify playbook, and ADR-002
...
- goss/baseline.yaml: assertions for all spec/server-baseline.yaml items
(packages, services, SSH config, UFW rules, admin user, fail2ban, HISTCONTROL)
- goss/vars/baseline-vars.yaml: parameterised ports and paths
- ansible/roles/goss/: installs Goss binary (v0.4.9), deploys tests,
runs assertions in TAP format, fetches report to reports/
- ansible/playbooks/verify.yaml: playbook wrapping the goss role
- Makefile: add 'make verify' target; update 'make status' with hint
- docs/adr/ADR-002: formal repo boundary — railiance-hosts vs railiance-bootstrap
- workplans/RAIL-HO-WP-0002: registered workstream 8fed53c2, T03–T06 done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 12:38:48 +01:00
2be5de2a3a
feat: add server baseline spec, status command, and test suite workplan
...
- Fix duplicate `converge` Makefile target (was causing warnings)
- Fix `make status` SSH hardening check (use grep on sshd_config instead
of sshd -T which fails without hostkeys)
- Add `make status` target with connectivity, UFW, fail2ban, SSH checks
- Add spec/server-baseline.yaml — authoritative target-state spec for
all managed nodes (firewall, SSH, services, packages, users)
- Add workplan RAIL-HO-WP-0002 for Goss test suite and repo boundary ADR
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 11:10:27 +00:00
abbc5bab2c
contrib: FR for update_workstream MCP tool
...
Missing tool discovered during offline-inbox drain — repo_goal_id on
workstream bf40b47e is null in DB but correctly set in the workplan file.
No MCP path to fix this without a direct API call.
Contribution id: 0450a858-bccc-4cbf-8052-38c1654aa005
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 00:10:42 +01:00
5517d91bf5
chore: drain offline inbox — Railiance01 bootstrap milestone
...
State Hub was unreachable during the offline session that bootstrapped
Railiance01. Inbox event drained and T03/T04/T05 task statuses synced
to the hub (C-10 drift fixed via check_repo_consistency --fix).
Progress event id: de18d727-eea5-4dfa-913c-8fe62245cda4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 00:08:20 +01:00
ea7270368f
chore: add state-hub offline inbox and FR for ingest support
...
- state-hub-inbox/: convention for queuing progress events during
degraded-mode sessions (no tunnel to State Hub)
- First pending event: Railiance01 bootstrap milestone (T03-T05)
- contrib/feature-requests/: FR for automated inbox ingest in state-hub
- README documents the drain procedure until automation is in place
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-08 22:58:51 +00:00
679d0d67b1
feat: bootstrap and harden Railiance01 at HostEurope
...
- Extend base role with fail2ban, UFW k3s/Flannel rules, HISTCONTROL
- Add handlers dir for fail2ban restart
- Fix inventory script to emit correct dynamic inventory JSON format
- Add roles_path to ansible.cfg so playbook finds roles
- Add Railiance01 (92.205.62.239) to inventory/servers.yaml
- Mark workplan T03/T04/T05 as done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-08 22:53:38 +00:00
5187e63504
Link to state-hub and hosteurope integration
2026-03-08 23:28:59 +01:00
03f1d35ff4
We will for now have servers on hosteurope so i changed the README
2026-03-08 22:56:55 +01:00
32e316a196
added information on nydus dependency
2026-03-08 22:55:38 +01:00
6957614fd7
feat: add make targets for convergence
2025-09-14 02:23:03 +00:00
9685276eeb
docs: link to convergence documentation from README
2025-09-14 02:14:34 +00:00
492f605895
docs: establishing baseline security and tools
2025-09-14 04:10:57 +02:00
43455a4481
feat: add terraform-providers targets
2025-09-14 01:31:03 +00:00
1da97ad867
build: first successfull plan, apply, destroy of server
2025-09-14 01:20:54 +00:00
94b9bba11d
fix: use the apikey
2025-09-14 00:24:48 +00:00
7547513738
fix: apikey loading was broken
2025-09-14 00:11:27 +00:00
59283fff6d
fix: load api-key from secrets
2025-09-13 23:57:54 +00:00
17c9963c0f
fix: doctor target reports terraform now
2025-09-13 23:37:34 +00:00
298f5bd6a2
fix: set executable flag
2025-09-13 23:12:40 +00:00
26d2854c07
docs: added fast path documentation
2025-09-14 01:08:26 +02:00
389c20478f
docs: add documentation for provisioning a server
2025-09-14 00:57:26 +02:00
bc0ea33555
feat: script to set up servers at hetzner
2025-09-14 00:48:55 +02:00
75af105f6c
docs: added documentation about setting up ssh-access
2025-09-14 00:47:41 +02:00
ae128b14e5
security: add admin ssh key
2025-09-14 00:39:03 +02:00
627f3ecac4
security: added encrypted hetzner api token
2025-09-13 22:23:24 +00:00
77c1323ae5
fix: Makefile target hooks makes precommit work finally
2025-09-13 21:58:19 +00:00
9dd1a655d7
This now should not commit as I ran make hooks
2025-09-13 21:49:00 +00:00
2bcf4d2fda
fix: broken inlining of python block moved to script
2025-09-13 23:46:48 +02:00
da8cbbf6b5
Merge branch 'main' of http://92.205.130.254:32166/coulomb/railiance-hosts into main
2025-09-13 23:34:54 +02:00
bde4d85a52
chore: extended makefile with hooks target to set up pre-commit
2025-09-13 23:34:27 +02:00
8aea3e4ff1
test: This commit should be blocked
2025-09-13 21:24:03 +00:00
2204058c7b
security: pre-commit check for unencrypted stuff in secrets
2025-09-13 23:19:59 +02:00
8c0fb05b1e
test: This unencrypted file under secrets should not commit!
2025-09-13 23:06:43 +02:00
1192a0cece
docs: added secrets handling digest
2025-09-13 22:52:18 +02:00
59bc9bbcf4
docs: improved masterkey setup documentation
2025-09-13 22:48:15 +02:00
8101818cdb
docs: add initial repo cloning documentation
2025-09-13 21:49:38 +02:00
96099eeb10
chores: configure sops with age masterkey
2025-09-13 21:34:04 +02:00
811ac31c08
chore: add my age public masterkey
2025-09-13 21:19:08 +02:00
31f30373a0
docs: add documentation about secret key generation
2025-09-13 20:47:24 +02:00
9860735f82
feat: initial import of RailianceHosts starter
2025-09-13 20:26:11 +02:00