forked from toolshed/abra
refactor: actual context getting
This commit is contained in:
@ -14,8 +14,16 @@ import (
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func NewClientWithContext(contextURL string) *dClient.Client {
|
||||
helper := newConnectionHelper(contextURL)
|
||||
func NewClientWithContext(contextName string) (*dClient.Client, error) {
|
||||
context, err := GetContext(contextName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ctxEndpoint, err := GetContextEndpoint(context)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
helper := newConnectionHelper(ctxEndpoint)
|
||||
httpClient := &http.Client{
|
||||
// No tls
|
||||
// No proxy
|
||||
@ -46,7 +54,21 @@ func NewClientWithContext(contextURL string) *dClient.Client {
|
||||
if err != nil {
|
||||
logrus.Fatalf("unable to create Docker client: %s", err)
|
||||
}
|
||||
return cl
|
||||
return cl, nil
|
||||
}
|
||||
|
||||
func GetContext(contextName string) (dCliContextStore.Metadata, error) {
|
||||
ctxs, err := NewDefaultDockerContextStore().Store.List()
|
||||
if err != nil {
|
||||
return dCliContextStore.Metadata{}, err
|
||||
}
|
||||
var context dCliContextStore.Metadata
|
||||
for _, ctx := range ctxs {
|
||||
if ctx.Name == contextName {
|
||||
context = ctx
|
||||
}
|
||||
}
|
||||
return context, nil
|
||||
}
|
||||
|
||||
func GetContextEndpoint(ctx dCliContextStore.Metadata) (string, error) {
|
||||
|
Reference in New Issue
Block a user