56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# 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`):
|
||
|
||
```go
|
||
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](https://docs.hyper.sh).
|
||
|
||
|
||
## License
|
||
|
||
engine-api is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text.
|