archy/docs/current-state.md
2026-01-24 22:59:20 +00:00

2.4 KiB

Current Development State

What We're Actually Using

NEW Archipelago Components (Following Plan)

  • Container Orchestration (core/container/) - Our NEW implementation
  • Security Modules (core/security/) - Our NEW implementation
  • Performance Modules (core/performance/) - Our NEW implementation
  • Parmanode Compatibility (core/parmanode/) - Our NEW implementation
  • App Manifests (apps/*/manifest.yml) - Our NEW YAML format
  • Container RPC Endpoints (core/startos/src/container/) - Our NEW API layer
  • Vue.js Container Views - Our NEW UI components

⚠️ TEMPORARY StartOS Dependencies (To Be Replaced)

  • Backend Binary (startbox) - Still using StartOS binary temporarily
  • Backend Core (core/startos/) - StartOS fork, being extended with our modules
  • Some RPC Infrastructure - StartOS RPC system, we're adding to it

Development Strategy

Phase 1: Extension (Current)

  • Use our new container orchestration modules
  • Add container RPC endpoints to StartOS backend
  • Use our new app manifest system
  • ⚠️ Still running startbox binary (StartOS) as base

Phase 2: Refactoring (Next)

  • 🔄 Replace StartOS-specific code with Archipelago-native
  • 🔄 Create our own backend binary (archipelago or arch)
  • 🔄 Remove StartOS dependencies
  • 🔄 Build on Alpine Linux base

Phase 3: Complete Independence

  • Pure Archipelago implementation
  • No StartOS code remaining
  • Alpine Linux + Podman only

What We Should Be Doing NOW

For Development

  1. Use Mock Backend - For UI development, mock backend is fine
  2. Use Our New Modules - All container code uses archipelago-container
  3. Use Our App Manifests - All apps defined in apps/*/manifest.yml
  4. Mark StartOS Code - Add // TODO: Refactor to Archipelago-native comments

For Backend

  • Currently: Using StartOS backend as base, extending with our modules
  • Future: Build our own Archipelago backend that uses ONLY our modules

Key Point

We ARE following the plan - we built all the NEW Archipelago components. We're just using StartOS backend temporarily as a base while we extend it. The plan was to "integrate with existing Rust backend via enhanced API layer" - which is what we did.

But you're right - we should be moving toward complete independence. The mock backend is fine for now since we're developing the UI and container management features.