AgentSkillsCN

omni-talos

此技能为 Omni Proxmox 基础设施提供运营工具与指导。当用户请求“检查供应商状态”“重启供应商”“查看供应商日志”“调试供应商注册”“创建机器类别”“配置 Proxmox 供应商”“设置 CEL 存储选择器”“创建 Talos 集群”,或需要关于 Omni + Proxmox 基础设施集成、用于 Talos Kubernetes 集群的指导时,可使用此技能。

SKILL.md
--- frontmatter
name: omni-talos
description: This skill provides operational tooling and guidance for Omni Proxmox
  infrastructure. Use when the user asks to "check provider status", "restart provider",
  "view provider logs", "debug provider registration", "create a machine class",
  "configure Proxmox provider", "set up CEL storage selectors", "create a Talos cluster",
  or needs guidance on Omni + Proxmox infrastructure integration for Talos Kubernetes
  clusters.

Omni + Proxmox Infrastructure Provider

Operational tooling for Talos Linux Kubernetes clusters via Sidero Omni with Proxmox infrastructure provider.

Provider Operations

Use ${CLAUDE_PLUGIN_ROOT}/skills/omni-talos/scripts/provider-ctl.py for provider management:

TaskCommand
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.

Current Deployment

ComponentLocationIPEndpoint
OmniHolly (VMID 101, Quantum)192.168.10.20omni.spaceships.work
Proxmox ProviderFoxtrot LXC (CT 200, Matrix)192.168.3.10L2 adjacent to Talos VMs
Target ClusterMatrix (Foxtrot/Golf/Hotel)192.168.3.{5,6,7}Proxmox API
StorageCEPH RBDvm_ssd pool

Quick Reference

omnictl commands:

bash
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:

yaml
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.

Key Constraints

ConstraintDetails
L2 adjacencyProvider MUST be on same L2 as Talos VMs (Foxtrot LXC)
CEL type reservedUse name only for storage selectors
Hostname bugUse :local-fix tag, not :latest
No CP pinningOmni allows only 1 ControlPlane section per template
No VM migrationDestroys node state — destroy/recreate instead
Split-horizon DNSomni.spaceships.work → 192.168.10.20 (LAN)

Reference Files

FileContent
references/architecture.mdNetwork topology, design decisions
references/machine-classes.mdFull provider data fields (compute, storage, network, PCI)
references/provider-setup.mdProvider config, compose setup, credentials
references/cluster-templates.mdCluster template structure, patches
references/cel-storage-selectors.mdCEL syntax and patterns
references/debugging.mdCommon issues
references/recovery-procedures.mdRecovery from stuck states
references/proxmox-permissions.mdAPI token setup
references/omnictl-auth.mdAuthentication methods

Examples

FileDescription
examples/machineclass-ceph.yamlCEPH storage
examples/machineclass-local.yamlLocal LVM
examples/cluster-template.yamlComplete cluster
examples/proxmox-gpu-worker.yamlGPU passthrough
examples/proxmox-storage-node.yamlStorage node
examples/proxmox-worker-multi-net.yamlMulti-network