From omni-scale
Provides scripts and guidance for operating Sidero Omni Proxmox providers in Talos Kubernetes clusters: check status, restart, view logs, debug registration, create machine classes, configure storage selectors.
npx claudepluginhub basher83/lunar-claude --plugin omni-scaleThis skill uses the workspace's default tool permissions.
Operational tooling for Talos Linux Kubernetes clusters via Sidero Omni with Proxmox infrastructure provider.
examples/cluster-template.yamlexamples/machineclass-ceph.yamlexamples/machineclass-local.yamlexamples/proxmox-gpu-worker.yamlexamples/proxmox-storage-node.yamlexamples/proxmox-worker-multi-net.yamlreferences/architecture.mdreferences/cel-storage-selectors.mdreferences/cluster-templates.mdreferences/debugging.mdreferences/gitops-bootstrap-issues.mdreferences/machine-classes.mdreferences/omnictl-auth.mdreferences/provider-setup.mdreferences/proxmox-permissions.mdreferences/recovery-procedures.mdscripts/provider-ctl.pyManages Proxmox VE via REST API: create/clone/start/stop VMs and LXC containers, handle snapshots, backups, storage, templates using curl and jq. For Proxmox infrastructure tasks.
Automates Proxmox VE with Ansible's community.proxmox collection for creating VMs/templates, managing clusters/users/ACLs/storage, preferring native modules over CLI like pvecm/qm.
Provides expert guidance on Kubernetes, OpenShift, and OLM: debugging resources like pods/deployments, operator development/troubleshooting, manifest/CRD reviews, and cluster investigations.
Share bugs, ideas, or general feedback.
Operational tooling for Talos Linux Kubernetes clusters via Sidero Omni with Proxmox infrastructure provider.
Use ${CLAUDE_PLUGIN_ROOT}/skills/omni-talos/scripts/provider-ctl.py for provider management:
| Task | Command |
|---|---|
| View logs | ${CLAUDE_PLUGIN_ROOT}/skills/omni-talos/scripts/provider-ctl.py --logs 50 |
| Raw JSON logs | ${CLAUDE_PLUGIN_ROOT}/skills/omni-talos/scripts/provider-ctl.py --logs 50 --raw |
| Restart provider | ${CLAUDE_PLUGIN_ROOT}/skills/omni-talos/scripts/provider-ctl.py --restart |
The provider runs on Foxtrot LXC (CT 200) — script handles SSH automatically.
| Component | Location | IP | Endpoint |
|---|---|---|---|
| Omni | Holly (VMID 101, Quantum) | 192.168.10.20 | omni.spaceships.work |
| Proxmox Provider | Foxtrot LXC (CT 200, Matrix) | 192.168.3.10 | L2 adjacent to Talos VMs |
| Target Cluster | Matrix (Foxtrot/Golf/Hotel) | 192.168.3.{5,6,7} | Proxmox API |
| Storage | CEPH RBD | — | vm_ssd pool |
omnictl commands:
omnictl cluster status <cluster-name>
omnictl get machines -l omni.sidero.dev/cluster=<cluster-name>
omnictl get machineclasses
omnictl apply -f machine-classes/<name>.yaml
omnictl cluster template sync -f clusters/<name>.yaml
Note: --cluster flag does not exist. Use label selector -l instead.
MachineClass minimal example:
metadata:
namespace: default
type: MachineClasses.omni.sidero.dev
id: matrix-worker
spec:
autoprovision:
providerid: matrix-cluster
providerdata: |
cores: 4
memory: 16384
disk_size: 100
storage_selector: name == "vm_ssd"
node: foxtrot
See references/machine-classes.md for full field reference.
| Constraint | Details |
|---|---|
| L2 adjacency | Provider MUST be on same L2 as Talos VMs (Foxtrot LXC) |
CEL type reserved | Use name only for storage selectors |
| Hostname bug | Use :local-fix tag, not :latest |
| No CP pinning | Omni allows only 1 ControlPlane section per template |
| No VM migration | Destroys node state — destroy/recreate instead |
| Split-horizon DNS | omni.spaceships.work → 192.168.10.20 (LAN) |
| File | Content |
|---|---|
references/architecture.md | Network topology, design decisions |
references/machine-classes.md | Full provider data fields (compute, storage, network, PCI) |
references/provider-setup.md | Provider config, compose setup, credentials |
references/cluster-templates.md | Cluster template structure, patches |
references/cel-storage-selectors.md | CEL syntax and patterns |
references/debugging.md | Common issues |
references/recovery-procedures.md | Recovery from stuck states |
references/proxmox-permissions.md | API token setup |
references/omnictl-auth.md | Authentication methods |
| File | Description |
|---|---|
examples/machineclass-ceph.yaml | CEPH storage |
examples/machineclass-local.yaml | Local LVM |
examples/cluster-template.yaml | Complete cluster |
examples/proxmox-gpu-worker.yaml | GPU passthrough |
examples/proxmox-storage-node.yaml | Storage node |
examples/proxmox-worker-multi-net.yaml | Multi-network |