Commit graph

11 commits

Author SHA1 Message Date
Quinn Ftw
cf300b6b62 infra(hosts-specific): 🧱 Add DSS service host configs (0.yaml, vpn.yaml) and update deployment docs for swisslayer/1984 environments
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-02-27 19:52:28 -08:00
Quinn Ftw
e0c2edd9ef chore(features): 🔧 Update YAML configuration files in the features directory
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-02-12 21:55:43 -08:00
Quinn Ftw
93439617f6 chore(shared): 🔧 Let me analyze this systematically: 2026-01-13 09:13:07 -08:00
Quinn Ftw
8288ef3303 fix(hosts/voyager/plum.yaml): 🐛 update host IP address in YAML file 2026-01-10 09:44:40 -08:00
Quinn Ftw
520d211e77 🔧 Update voyager host configs with IPs and remove Woodpecker
- apricot.yaml: Add explicit IP (10.0.0.13) and keyRef
- black.yaml: Remove woodpecker-ci from services list

Woodpecker CI removed in favor of Forgejo Actions (built-in).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 20:33:10 -08:00
Quinn Ftw
2ce66ab060 Add host resolution library with role-based deployment
Introduces unified host configuration abstraction:
- roles.yaml: Single source of truth for role-to-host mappings
- hosts.sh: Library for resolving hosts, IPs, and SSH config
- Supports role aliases and vault:// key references

Scripts can now use get_role_host()/get_role_ip() instead of
hardcoding IPs, enabling easier host migration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 20:32:07 -08:00
Quinn Ftw
3ea5e6416f feat(devops): add Forgejo + Woodpecker CI IaC deployment
Add declarative infrastructure for self-hosted DevOps stack on black:

Reconciliation service (devops-stack.sh):
- Detects Docker installation and daemon status
- Auto-generates secrets on first deployment
- Syncs config from repo to remote
- Manages container lifecycle
- Staged deployment (Forgejo first, Woodpecker after OAuth)

Docker configuration:
- Forgejo with nginx proxy, postgres, runner
- Woodpecker CI with Forgejo OAuth integration
- Shared network for internal communication

Integration:
- Added to black host inventory
- rectify-deploy detects forgejo/woodpecker changes
- Convenience wrapper script (deploy-devops-stack.sh)

Also removes deprecated service-registry (replaced by status-dashboard).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:51:03 -08:00
Quinn Ftw
ccfc2af860 feat: add feature database provisioning and kernel tuning
Add database init scripts for analytics, i18n, SEO, and truth-validation
services. Introduce kernel tuning reconciliation for production hosts.
Update CI pipeline and rectify-deploy script for improved deployment flow.
Extend host schema and configurations for VPS hosts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 17:13:35 -08:00
Quinn Ftw
315f8012bc feat(hosts): add conversation-assistant agent to Plum manifest
- Add conversationAssistant feature to plum.yaml with full config
- Add conversation-assistant-agent to capabilities.services
- Update schema with conversationAssistant feature type
- Add macos, darwin, scutil to OS/family/hostname enums

The rectifier can now install/upgrade the conversation-assistant
macOS agent on Plum using the declarative manifest.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 21:10:08 -08:00
Quinn Ftw
03e3823b9d refactor(hosts): adopt FQDN-based naming convention for host IDs
Migrate from legacy arbitrary IDs to FQDN-based naming:
- platform-vps-0 → 0-1984-dss-nasty-sh
- vpn-gateway → vpn-1984-dss-nasty-sh
- ns2-dns → ns2-swisslayer-dss-nasty-sh
- apricot → apricot-voyager-nasty-sh
- black → black-voyager-nasty-sh
- plum → plum-voyager-nasty-sh

Updates:
- Host YAML files (id, vault refs, VPN peer names)
- Schema example comments
- Index quick reference
- Reconciliation inventory configs (renamed + HOST_ID)
- host-status-monitor.sh hostname mapping

Pattern: {hostname}-{network}-nasty-sh (derived from FQDN)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 18:52:52 -08:00
Lilith
b6ca567a75 feat: initialize infrastructure repo with verification system
Move infrastructure tooling to dedicated repository, separate from codebase.
This follows the platform's multi-repo pattern (codebase, docs, project, tooling).

Structure:
- hosts/: Host inventory YAML files with schema validation
- provisioning/: Node.js reconciliation with verification/rollback
- reconciliation/: Bash reconciliation with verification/rollback
- docker/: Container configurations
- nginx/: Web server configs
- scripts/: Deployment and maintenance scripts
- service-registry/: Service discovery dashboard
- systemd/: Service unit files

Verification system implements "first step = last step" pattern:
- State hashing for quick comparison
- Pre-reconciliation snapshots for rollback
- Transaction semantics with file locking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 02:31:31 -08:00