MCPcopy Index your code
hub / github.com/CRASH-Tech/proxmox-operator

github.com/CRASH-Tech/proxmox-operator @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
102 symbols 273 edges 13 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

proxmox-operator

This repository provides a Kubernetes operator for managing Proxmox virtualization platform QEMU VMs via CRDs.

Getting Started

  • git clone https://github.com/CRASH-Tech/proxmox-operator.git
  • cd proxmox-operator
  • Edit charts/proxmox-operator/values.yaml for your environment
  • helm repo add crash-tech https://crash-tech.github.io/charts/
  • helm install proxmox-operator crash-tech/proxmox-operator -f charts/proxmox-operator/values.yaml

Deploy example VM

  • Edit examples/example-qemu.yaml for your environment
  • kubectl apply -f examples/example-qemu.yaml
  • Check VM status
  • kubectl get qemu

Example VM

apiVersion: proxmox.xfix.org/v1alpha1
kind: Qemu
metadata:
  name: example-qemu
  finalizers:
    - resources-finalizer.proxmox-operator.xfix.org
spec:
  cluster: pve-test
  #node: crash-lab ### If not set it will set automaticly from "pool"
  #vmid: 222  ### If not set it will set automaticly
  pool: prod ### Cluster pool for place VM
  anti-affinity: "" ### The anti-affinity group. VM's with same anti-affinity group will be placed on different nodes
  autostart: true
  autostop: true
  cpu:
    type: host
    sockets: 2
    cores: 1
  memory:
    size: 2048
    balloon: 2048
  network:
    net0:
      model: virtio
      #mac: A2:7B:45:48:9C:E6  ### If not set it will set automaticly
      bridge: vmbr0
      tag: 103
  disk:
    scsi0:
      storage: local-lvm
      size: 9G
  tags:
    - test1
    - test2
  options:
    ostype: "l26"
    bios: "seabios"
    smbios1: "uuid=3ae878b3-a77e-4a4a-adc6-14ee88350d36,manufacturer=MTIz,product=MTIz,version=MTIz,serial=MTIz,sku=MTIz,family=MTIz,base64=1"
    scsihw: "virtio-scsi-pci"
    boot: "order=net0;ide2;scsi0"
    ide2: "none,media=cdrom"
    hotplug: "network,disk,usb"
    tablet: 1
    onboot: 0
    kvm: 1
    agent: "0"
    numa: 1
    protection: 0

Useful links

Core symbols most depended-on inside this repo

Cluster
called by 22
cmd/proxmox/client.go
Qemu
called by 18
cmd/proxmox/node.go
Node
called by 18
cmd/proxmox/cluster.go
updateQemuStatus
called by 16
main.go
GetReq
called by 7
cmd/proxmox/cluster.go
PostReq
called by 6
cmd/proxmox/cluster.go
V1alpha1
called by 5
cmd/kubernetes/client.go
setLeaderLabel
called by 3
leaderElection.go

Shape

Method 41
Struct 32
Function 28
TypeAlias 1

Languages

Go100%

Modules by API surface

main.go21 symbols
cmd/proxmox/cluster.go20 symbols
cmd/proxmox/qemu.go17 symbols
cmd/kubernetes/client.go9 symbols
cmd/kubernetes/api/v1alpha1/qemu.go8 symbols
cmd/proxmox/client.go6 symbols
cmd/proxmox/node.go5 symbols
cmd/kubernetes/qemu.go5 symbols
leaderElection.go3 symbols
cmd/kubernetes/api/api.go3 symbols
cmd/proxmox/storage.go2 symbols
cmd/common/common.go2 symbols

For agents

$ claude mcp add proxmox-operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact