Files
virtual-kubelet/vendor/github.com/hyperhq/hyper-api
2017-12-05 17:53:58 -06:00
..
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00
2017-12-05 17:53:58 -06:00

Go client for the Hyper.sh API

The hyper command uses this package to communicate with the Hyper.sh server. It can also be used by your own Go applications to do anything the command-line interface does  running containers, pulling images, managing volumes, etc.

For example, to list running containers (the equivalent of hyper ps):

package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"net/http"

	"github.com/hyperhq/hyper-api/client"
	"github.com/hyperhq/hyper-api/types"
)

func main() {
	var (
		host          = "tcp://us-west-1.hyper.sh:443"
		customHeaders = map[string]string{}
		verStr        = "v1.23"
		accessKey     = "xx"
		secretKey     = "xxx"
	)

	httpClient := &http.Client{
		Transport: &http.Transport{
			TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
		},
	}

	client, err := client.NewClient(host, verStr, httpClient, customHeaders, accessKey, secretKey)
	if err != nil {
		panic(err)
	}
	containers, err := client.ContainerList(context.Background(), types.ContainerListOptions{})
	if err != nil {
		panic(err)
	}

	for _, container := range containers {
		fmt.Printf("%s\t%s\n", container.ID[:10], container.Image)
	}
}

Full documentation is available on document.

License

engine-api is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.