How maeshinshin/ichor works
Ichor is a Kubernetes-native manager for Talos Linux clusters. Users initialize a new cluster or adopt an existing one, then manage machines, operations, CNI, storage, and backups through the CLI, web UI, or kubectl; Kubernetes custom resources hold the desired state. Controllers reconcile those resources against Talos nodes and cluster services. The graph preserves documented security, identity, and installation capabilities. Some subsystem links rely on README-level descriptions because their implementation was not sampled.
Main entry points: taloscluster_types.go Cluster resources · main.go Web UI · server.go UI API · taloscluster_webhook.go Admission validation
Components 16
User entry points
Kubernetes API
- Cluster resources
api/v1alpha1/taloscluster_types.go - Admission validation
internal/webhook/v1alpha1/taloscluster_webhook.go
Cluster reconciliation
- Machine reconciliation
internal/controller/talosmachine_controller.go - CNI handover
internal/controller/cnihandover_controller.go - Storage coordination
internal/controller/talosstorage_controller.go
Operations and services
- Operation execution
internal/controller/talosoperation_controller.go - etcd backup and restore
internal/etcdbackup/restore.go - Cluster installation
internal/installer/install.go
Identity and security
- OIDC login
internal/oidcissuer/flow.go - User management
internal/uiapi/user_service.go - Operation safeguards
internal/webhook/v1alpha1/override_webhook.go
Other components
- Cluster operator
Connections 17
- Cluster operator → Ichor CLI: runs commands
README.md - Cluster operator → Web UI: uses console
README.md - Cluster operator → kubectl: applies resources
README.md - Ichor CLI → Cluster resources: manages resources
README.md - Web UI → UI API: calls API
internal/uiapi/server.go - UI API → Cluster resources: reads and writes
internal/uiapi/server.go - kubectl → Cluster resources: manages resources
README.md - Admission validation → Cluster resources: validates changes
internal/webhook/v1alpha1/taloscluster_webhook.go - Machine reconciliation → Cluster resources: reconciles machines
internal/controller/talosmachine_controller.go - CNI handover → Cluster resources: reconciles CNI
internal/controller/cnihandover_controller.go - Storage coordination → Cluster resources: reads storage state
internal/controller/talosstorage_controller.go - Operation execution → Cluster resources: reconciles operations
internal/controller/talosoperation_controller.go - Cluster resources → etcd backup and restore: specifies backups
README.md - Cluster operator → Cluster installation: installs manager
README.md - Web UI → OIDC login: authenticates with
cmd/ichor-ui/main.go - UI API → User management: serves user actions
- Admission validation → Operation safeguards: gates overrides
internal/webhook/v1alpha1/override_webhook.go