How cabon-tech/zavictl works
zavictl is a CLI-first DevOps control plane: engineers issue lifecycle and operations commands, which either manage catalog state directly or submit workflows for execution through provider adapters. The workflow engine persists execution progress, applies policy decisions, and dispatches steps to integrations. The README documents many additional command families, represented by their existing CLI files or enclosing directory; those handlers were not all sampled, so uncertain wiring is omitted.
Main entry points: engine.go Execution engine · registry.go Provider registry · state.go State store interface · main.go zavictl command
Components 22
CLI and catalog
- zavictl command
cmd/zavictl/main.go - CLI commands
internal/cli - Service catalog
internal/cli/service.go - Database operations
internal/cli/database.go - Other lifecycle commands
internal/cli
Workflow orchestration
- Execution engine
pkg/execution/engine.go - Workflow definitions
pkg/workflow - Step runner
pkg/execution/runner.go
Policy and state
- CEL policy engine
pkg/policy/engine.go - Event bus
pkg/events/event.go - State store interface
pkg/state/state.go - SQLite state
pkg/state/sqlite/store.go
Provider integrations
- Provider registry
pkg/provider/registry.go - GitHub adapter
adapters/github/connection.go - Vault adapter
adapters/vault/connection.go - Prometheus adapter
adapters/prometheus/connection.go - Other adapters
adapters
Other components
- Engineer
- GitHub
- Vault
- Prometheus
- Cloud and runtime tools
Connections 21
- Engineer → zavictl command: runs
- zavictl command → CLI commands: enters
- Service catalog → State store interface: reads and writes
- Database operations → Execution engine: submits workflow
- Other lifecycle commands → Execution engine: orchestrates operations
- Execution engine → Workflow definitions: executes definition
- Execution engine → Step runner: runs steps
- Execution engine → State store interface: persists progress
- Execution engine → CEL policy engine: evaluates operation
- Step runner → Provider registry: dispatches operation
- Provider registry → GitHub adapter: selects provider
- Provider registry → Vault adapter: selects provider
- Provider registry → Prometheus adapter: selects provider
- Provider registry → Other adapters: selects provider
- GitHub adapter → GitHub: calls API
- Vault adapter → Vault: calls API
- Prometheus adapter → Prometheus: queries API
- Other adapters → Cloud and runtime tools: integrates tools
- CEL policy engine → Event bus: publishes audit event
- Event bus → SQLite state: persists events
- State store interface → SQLite state: implemented by