Architecture
Every box is an Elixir context — a bounded domain with its own schema, queries, and business logic. Arrows show data dependencies.
Core
· Infrastructure
Domain
· Contexts
Integrations
· Providers
Layers
Core Infrastructure
Domain Contexts
Integrations / Providers
Shared / Cross-cutting
Layer 1 — Core Infrastructure
Supervision tree & startup
application.ex
Ecto database ops
repo.ex
Encryption/decryption
vault.ex
Cloak Ecto types
Binary · Map
Visibility filters
accessible_to/3
Swoosh email delivery
mailer.ex
Production utilities
release.ex
used by
Layer 2 — Domain Contexts
User auth, registration, sessions, OAuth integration flows
accounts.ex
user.ex · user_token.ex
user_notifier.ex · scope.ex
→ Vault
→ Mailer
Org units grouping users, services, and shared resources
workspaces.ex
workspace.ex · member.ex
owner
admin
member
App/workload management, deployment registry config
services.ex
service.ex · service_registry.ex
→ Workspaces
Deployment lifecycle, status tracking, log management
deployments.ex
deployment.ex · worker.ex
deployment_server.ex
GenServer
deployment_supervisor.ex
GenServer
→ Services
→ Providers
Compute targets with encrypted credentials
hosts.ex · host.ex
→ Encrypted.Map
→ QueryHelpers
Code repos & container registries with auth
sources.ex · source.ex
→ Encrypted.Map
→ QueryHelpers
Host agents streaming metrics & logs
probes.ex · probe.ex
→ Hosts
Visualization dashboards, panels & tabs navigation
dashboards.ex · dashboard.ex
panel.ex
tabs/ tab_manager.ex
GenServer
→ Workspaces
integrated via
Layer 3 — Integrations & Providers
Deployment Providers
Fly.io
provider + client
fly/client.ex · fly/config.ex
fly/geo.ex · regions_cache.ex
providers/flyio.ex
fly/log_streamer.ex
GenServer
RunPod
GPU workloads
runpod/client.ex
providers/runpod.ex
Self-Hosted
custom infra
providers/self_hosted.ex
via providers/provider.ex behaviour
OAuth & Container Registries
GitLab
GitHub
Google
Docker Hub
gitlab.ex · oauth.ex
client.ex · registry.ex
→ Encrypted.Binary
github.ex · oauth.ex
client.ex · registry.ex
→ Encrypted.Binary
google/oauth.ex
→ Encrypted.Binary
registry/docker_hub.ex
→ Encrypted.Binary
Generated from codebase introspection
Caveman · Elixir / Phoenix