ProxMox

OPS works perfectly fine with Proxmox.

You'll want to create an API token on the datacenter in the proxmox UI.

You'll also want to ensure you have the correct permissions for that user's token on both the datacenter and storage for the operations you'd like to perform.

The default node name is set to 'pve' but you can reset this through the environment variable of 'NODE_NAME':

export NODE_NAME='somethingelse'
package main

import (
  "fmt"
  "net/http"
)

func main() {
  fmt.Println("hello world!")

  http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Welcome to my website!")
  })

  fs := http.FileServer(http.Dir("static/"))
  http.Handle("/static/", http.StripPrefix("/static/", fs))

  http.ListenAndServe("0.0.0.0:8080", nil)
}

Image Operations

Create Image

List Images

Delete Image

Instance Operations

Create Instance

List Instances

Start Instance

Stop Instance

Get Logs for Instance

Delete Instance

Networking

Proxmox has support for assigning multiple nics to the instance. By default DHCP is used but static ip addresses can be set as well. Proxmox is the only target that we support multiple nics for currently.

A config could look like so:

Notes:

If you are running through nested virtualization such as using VMWare Fusion there is a known bug where you need to disable KVM on your instances.

Last updated

Was this helpful?