homelab-codex-ws/kb/subsystems/service-lifecycle.md
oskar 2553e760e3 feat(kb): SPLIT lifecycle -> subsystem + runbook
kb/subsystems/service-lifecycle.md (visibility private wg rozstrzygniecia 6)
kb/runbooks/service-operational-recovery.md — Operational Recovery

Tresc sekcji nietknieta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:53:57 +02:00

1.6 KiB

okf type visibility status updated links
0.1 subsystem private active 2026-05-11
../runbooks/service-operational-recovery.md

Service Lifecycle and Recovery

This document defines the lifecycle of a service in the homelab and the procedures for operational recovery.

Service Lifecycle

  1. Onboarding:
    • Create services/<service>/ directory.
    • Define docker-compose.yml, service.yaml, README.md, env.example, and healthcheck.sh.
    • Register service in inventory/topology.yaml or relevant host configs.
  2. Provisioning:
    • Ensure /opt/homelab/data/<service> exists.
    • Ensure /opt/homelab/config/<service> exists and contains required secrets/configs.
    • Setup environment variables from env.example into /opt/homelab/config/<service>/.env.
  3. Deployment:
    • scripts/deploy/deploy.sh (Starts fresh)
    • scripts/deploy/deploy.sh --resume (Continues after interruption)
  4. Verification:
    • Automatic as part of the deploy.sh pipeline (verify stage).
    • Manual: scripts/deploy/deploy.sh --stage verify.
  5. Maintenance:
    • Periodic updates via docker compose pull.
    • Log monitoring via docker compose logs -f.
  6. Decommissioning:
    • docker compose down.
    • Archive /opt/homelab/data/<service> if necessary.

Persistent Data Conventions

  • Data: /opt/homelab/data/<service> - Primary persistent state.
  • Config: /opt/homelab/config/<service> - Local overrides and secrets.
  • Backups: Standard backup routines should target /opt/homelab/data/.