How cyclops-ui/cyclops works
Cyclops provides a browser UI and CLI for managing Kubernetes applications through template-backed modules, while its controller renders and reconciles those modules into cluster resources. The README highlights customizable Helm-chart templates; the source also exposes template stores, release management, resource inspection, logs, exec, and module history. The graph follows documented routes and sampled wiring where available; unsampled subsystems are included from the tree and README, but their internal calls are not inferred.
Main entry points: client.go Kubernetes client · index.tsx UI pages · handler.go HTTP API · module_controller.go Module reconciler
Components 28
User interfaces
- Cyclops UI
cyclops-ui/src/App.tsx - UI pages
cyclops-ui/src/routes/index.tsx - Module pages
cyclops-ui/src/components/pages/Modules/Modules.tsx - Template store
cyclops-ui/src/components/pages/TemplateStore/TemplateStore.tsx - Cluster views
cyclops-ui/src/components/pages/Nodes.tsx - Helm views
cyclops-ui/src/components/pages/Helm/Releases/Releases.tsx - Resource details
cyclops-ui/src/components/k8s-resources/Service.tsx - Theme state
cyclops-ui/src/components/theme/ThemeContext.tsx
Control API
- HTTP API
cyclops-ctrl/internal/handler/handler.go - Module endpoints
cyclops-ctrl/internal/controller/modules.go - Template endpoints
cyclops-ctrl/internal/controller/templates.go - Live streams
cyclops-ctrl/internal/controller/sse/server.go - Pod exec
cyclops-ctrl/internal/controller/ws/server.go
Templates and modules
- Template repository
cyclops-ctrl/pkg/template/git.go - Template renderer
cyclops-ctrl/pkg/template/render/render.go - Module reconciler
cyclops-ctrl/internal/modulecontroller/module_controller.go - Module resources
cyclops-ctrl/api/v1alpha1/module_types.go - Template stores
cyclops-ctrl/api/v1alpha1/template_store_types.go - Template credentials
cyclops-ctrl/api/v1alpha1/template_auth_rule_types.go - Git config writes
cyclops-ctrl/internal/git/writeclient.go
Cluster operations
- Kubernetes client
cyclops-ctrl/pkg/cluster/k8sclient/client.go - Helm integration
cyclops-ctrl/internal/integrations/helm/helm.go - Resource mapping
cyclops-ctrl/internal/mapper/modules.go
Operations and tooling
Other components
- Developer
- Kubernetes cluster
Connections 29
- Developer → Cyclops UI: uses
README.md - Cyclops UI → UI pages: routes through
cyclops-ui/src/App.tsx - UI pages → Module pages: routes to
cyclops-ui/src/routes/index.tsx - UI pages → Template store: routes to
cyclops-ui/src/routes/index.tsx - UI pages → Cluster views: routes to
cyclops-ui/src/routes/index.tsx - UI pages → Helm views: routes to
cyclops-ui/src/routes/index.tsx - Cyclops UI → Theme state: provides theme
cyclops-ui/src/App.tsx - Resource details → Theme state: reads theme
cyclops-ui/src/components/k8s-resources/Service.tsx - HTTP API → Module endpoints: routes requests
cyclops-ctrl/internal/handler/handler.go - HTTP API → Template endpoints: routes requests
cyclops-ctrl/internal/handler/handler.go - HTTP API → Live streams: routes streams
cyclops-ctrl/internal/handler/handler.go - HTTP API → Pod exec: routes exec
cyclops-ctrl/internal/handler/handler.go - Developer → cyctl: manages resources
README.md - Template repository → Template credentials: resolves credentials
cyclops-ctrl/pkg/template/git.go - Module reconciler → Template repository: loads templates
cyclops-ctrl/internal/modulecontroller/module_controller.go - Module reconciler → Template renderer: renders templates
cyclops-ctrl/internal/modulecontroller/module_controller.go - Module reconciler → Kubernetes client: applies resources
cyclops-ctrl/internal/modulecontroller/module_controller.go - Module reconciler → Module resources: reconciles
cyclops-ctrl/internal/modulecontroller/module_controller.go - Template endpoints → Template repository: reads templates
- Module endpoints → Kubernetes client: queries cluster
- Live streams → Kubernetes client: streams resources
cyclops-ctrl/internal/controller/sse/server.go - Pod exec → Kubernetes client: executes commands
cyclops-ctrl/internal/controller/ws/server.go - Kubernetes client → Kubernetes cluster: reads and writes
- Helm views → Helm integration: manages releases
- Cluster views → Kubernetes client: inspects resources
- Git config writes → Template credentials: resolves credentials
cyclops-ctrl/internal/git/writeclient.go - cyctl → Module resources: manages modules
- cyctl → Template stores: manages stores
- cyctl → Template credentials: manages credentials