Vultr

OPS works perfectly fine with Vultr.

For most operations you'll want to use the following config and you'll need access to your API key and the access key and secret access key found in your portal:

{
"CloudConfig" :{
"Zone": "ewr1",
"BucketName":"nanos-test"
}
}
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

TOKEN=my_api_token \
VULTR_ACCESS=my_access_token \
VULTR_SECRET=my_vultr_secret \
ops image create -c config.json -z ewr1 -a x -t vultr

List Images

TOKEN=my_api_token \
VULTR_ACCESS=my_access_token \
VULTR_SECRET=my_vultr_secret \
ops image list -z ewr1 -t vultr

Delete Image

Instance Operations

Create Instance

TOKEN=my_api_token \
VULTR_ACCESS=my_access_token \
VULTR_SECRET=my_vultr_secret \
ops instance create -z ewr1 -t vultr -i 6f5e4eebdf761

List Instances

TOKEN=my_api_token \
VULTR_ACCESS=my_access_token \
VULTR_SECRET=my_vultr_secret \
ops instance list -z ewr1 -t vultr

Get Logs for Instance

Delete Instance