refactor: NewClientWithContext -> New, and use server only
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
dac679db48
commit
07a43cb314
|
@ -76,8 +76,8 @@ var appCpCommand = &cli.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,8 +31,8 @@ var appDeployCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,8 +79,8 @@ var appLogsCommand = &cli.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,9 @@ var appPsCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,9 +59,9 @@ var appRemoveCommand = &cli.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
appPath := appFiles[appName].Path
|
appPath := appFiles[appName].Path
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,9 +53,9 @@ var appRunCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ var appSecretGenerateCommand = &cli.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
secretsToCreate := make(map[string]string)
|
secretsToCreate := make(map[string]string)
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
secretEnvVars := secret.ReadSecretEnvVars(appEnv.Env)
|
secretEnvVars := secret.ReadSecretEnvVars(appEnv.Env)
|
||||||
if allSecrets {
|
if allSecrets {
|
||||||
secretsToCreate = secretEnvVars
|
secretsToCreate = secretEnvVars
|
||||||
|
@ -66,14 +66,14 @@ var appSecretGenerateCommand = &cli.Command{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
secretVals, err := secret.GenerateSecrets(secretsToCreate, appEnv.StackName(), host)
|
secretVals, err := secret.GenerateSecrets(secretsToCreate, appEnv.StackName(), server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if internal.Pass {
|
if internal.Pass {
|
||||||
for name, data := range secretVals {
|
for name, data := range secretVals {
|
||||||
if err := secret.PassInsertSecret(data, name, appEnv.StackName(), host); err != nil {
|
if err := secret.PassInsertSecret(data, name, appEnv.StackName(), server); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -112,14 +112,14 @@ var appSecretInsertCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
secretName := fmt.Sprintf("%s_%s_%s", appEnv.StackName(), name, version)
|
secretName := fmt.Sprintf("%s_%s_%s", appEnv.StackName(), name, version)
|
||||||
if err := client.StoreSecret(secretName, data, host); err != nil {
|
if err := client.StoreSecret(secretName, data, server); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if internal.Pass {
|
if internal.Pass {
|
||||||
if err := secret.PassInsertSecret(data, name, appEnv.StackName(), host); err != nil {
|
if err := secret.PassInsertSecret(data, name, appEnv.StackName(), server); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -158,9 +158,9 @@ var appSecretRmCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ var appSecretRmCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
if internal.Pass {
|
if internal.Pass {
|
||||||
if err := secret.PassRmSecret(parsed, appEnv.StackName(), host); err != nil {
|
if err := secret.PassRmSecret(parsed, appEnv.StackName(), server); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -191,7 +191,7 @@ var appSecretRmCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
if internal.Pass {
|
if internal.Pass {
|
||||||
if err := secret.PassRmSecret(parsed, appEnv.StackName(), host); err != nil {
|
if err := secret.PassRmSecret(parsed, appEnv.StackName(), server); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -227,9 +227,9 @@ var appSecretLsCommand = &cli.Command{
|
||||||
tableCol := []string{"Name", "Version", "Generated Name", "Created On Server"}
|
tableCol := []string{"Name", "Version", "Generated Name", "Created On Server"}
|
||||||
table := abraFormatter.CreateTable(tableCol)
|
table := abraFormatter.CreateTable(tableCol)
|
||||||
|
|
||||||
host := appFiles[appName].Server
|
server := appFiles[appName].Server
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ var appUndeployCommand = &cli.Command{
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
host := appFiles[appName].Server
|
host := appFiles[appName].Server
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,19 +13,20 @@ import (
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getAppsHost(appName string) string {
|
// getAppServer retrieves the server of an app.
|
||||||
|
func getAppServer(appName string) string {
|
||||||
appFiles, err := config.LoadAppFiles("")
|
appFiles, err := config.LoadAppFiles("")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var host string
|
var server string
|
||||||
if app, ok := appFiles[appName]; ok {
|
if app, ok := appFiles[appName]; ok {
|
||||||
host = app.Server
|
server = app.Server
|
||||||
} else {
|
} else {
|
||||||
logrus.Fatalf(`app "%s" does not exist`, appName)
|
logrus.Fatalf(`app "%s" does not exist`, appName)
|
||||||
}
|
}
|
||||||
return host
|
return server
|
||||||
}
|
}
|
||||||
|
|
||||||
var appVolumeListCommand = &cli.Command{
|
var appVolumeListCommand = &cli.Command{
|
||||||
|
@ -37,10 +38,10 @@ var appVolumeListCommand = &cli.Command{
|
||||||
if appName == "" {
|
if appName == "" {
|
||||||
internal.ShowSubcommandHelpAndError(c, errors.New("no app name provided!"))
|
internal.ShowSubcommandHelpAndError(c, errors.New("no app name provided!"))
|
||||||
}
|
}
|
||||||
host := getAppsHost(appName)
|
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
volumeList, err := client.GetVolumes(ctx, host, appName)
|
server := getAppServer(appName)
|
||||||
|
volumeList, err := client.GetVolumes(ctx, server, appName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -71,9 +72,9 @@ var appVolumeRemoveCommand = &cli.Command{
|
||||||
if appName == "" {
|
if appName == "" {
|
||||||
internal.ShowSubcommandHelpAndError(c, errors.New("no app name provided!"))
|
internal.ShowSubcommandHelpAndError(c, errors.New("no app name provided!"))
|
||||||
}
|
}
|
||||||
host := getAppsHost(appName)
|
server := getAppServer(appName)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
volumeList, err := client.GetVolumes(ctx, host, appName)
|
volumeList, err := client.GetVolumes(ctx, server, appName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -93,7 +94,7 @@ var appVolumeRemoveCommand = &cli.Command{
|
||||||
volumesToRemove = volumeNames
|
volumesToRemove = volumeNames
|
||||||
}
|
}
|
||||||
|
|
||||||
err = client.RemoveVolumes(ctx, host, volumesToRemove, internal.Force)
|
err = client.RemoveVolumes(ctx, server, volumesToRemove, internal.Force)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,21 +19,21 @@ var serverInitCommand = &cli.Command{
|
||||||
Name: "init",
|
Name: "init",
|
||||||
Usage: "Initialise server for deploying apps",
|
Usage: "Initialise server for deploying apps",
|
||||||
HideHelp: true,
|
HideHelp: true,
|
||||||
ArgsUsage: "<host>",
|
ArgsUsage: "<server>",
|
||||||
Description: `
|
Description: `
|
||||||
Initialise swarm mode on the target <host>.
|
Initialise swarm mode on the target <server>.
|
||||||
|
|
||||||
This initialisation explicitly chooses the "single host swarm" mode which uses
|
This initialisation explicitly chooses the "single host swarm" mode which uses
|
||||||
the default IPv4 address as the advertising address. This can be re-configured
|
the default IPv4 address as the advertising address. This can be re-configured
|
||||||
later for more advanced use cases.
|
later for more advanced use cases.
|
||||||
`,
|
`,
|
||||||
Action: func(c *cli.Context) error {
|
Action: func(c *cli.Context) error {
|
||||||
host := c.Args().First()
|
server := c.Args().First()
|
||||||
if host == "" {
|
if server == "" {
|
||||||
internal.ShowSubcommandHelpAndError(c, errors.New("no host provided"))
|
internal.ShowSubcommandHelpAndError(c, errors.New("no server provided"))
|
||||||
}
|
}
|
||||||
|
|
||||||
cl, err := client.NewClientWithContext(host)
|
cl, err := client.New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -50,13 +50,13 @@ later for more advanced use cases.
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ips, err := resolver.LookupIPAddr(ctx, host)
|
ips, err := resolver.LookupIPAddr(ctx, server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(ips) == 0 {
|
if len(ips) == 0 {
|
||||||
return fmt.Errorf("unable to retrieve ipv4 address for %s", host)
|
return fmt.Errorf("unable to retrieve ipv4 address for %s", server)
|
||||||
}
|
}
|
||||||
ipv4 := ips[0].IP.To4().String()
|
ipv4 := ips[0].IP.To4().String()
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// Package client provides Docker client initiatialisation functions.
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -8,35 +9,34 @@ import (
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewClientWithContext(contextName string) (*client.Client, error) {
|
// New initiates a new Docker client.
|
||||||
|
func New(contextName string) (*client.Client, error) {
|
||||||
context, err := GetContext(contextName)
|
context, err := GetContext(contextName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ctxEndpoint, err := GetContextEndpoint(context)
|
ctxEndpoint, err := GetContextEndpoint(context)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
helper := newConnectionHelper(ctxEndpoint)
|
helper := newConnectionHelper(ctxEndpoint)
|
||||||
httpClient := &http.Client{
|
httpClient := &http.Client{
|
||||||
// No tls
|
// No tls, no proxy
|
||||||
// No proxy
|
|
||||||
Transport: &http.Transport{
|
Transport: &http.Transport{
|
||||||
DialContext: helper.Dialer,
|
DialContext: helper.Dialer,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var clientOpts []client.Opt
|
var clientOpts []client.Opt
|
||||||
|
|
||||||
clientOpts = append(clientOpts,
|
clientOpts = append(clientOpts,
|
||||||
client.WithHTTPClient(httpClient),
|
client.WithHTTPClient(httpClient),
|
||||||
client.WithHost(helper.Host),
|
client.WithHost(helper.Host),
|
||||||
client.WithDialContext(helper.Dialer),
|
client.WithDialContext(helper.Dialer),
|
||||||
)
|
)
|
||||||
|
|
||||||
// FIXME: Maybe don't have this variable here and load it beforehand
|
|
||||||
version := os.Getenv("DOCKER_API_VERSION")
|
version := os.Getenv("DOCKER_API_VERSION")
|
||||||
|
|
||||||
if version != "" {
|
if version != "" {
|
||||||
clientOpts = append(clientOpts, client.WithVersion(version))
|
clientOpts = append(clientOpts, client.WithVersion(version))
|
||||||
} else {
|
} else {
|
||||||
|
@ -44,9 +44,9 @@ func NewClientWithContext(contextName string) (*client.Client, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
cl, err := client.NewClientWithOpts(clientOpts...)
|
cl, err := client.NewClientWithOpts(clientOpts...)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatalf("unable to create Docker client: %s", err)
|
logrus.Fatalf("unable to create Docker client: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return cl, nil
|
return cl, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func StoreSecret(secretName, secretValue, server string) error {
|
func StoreSecret(secretName, secretValue, server string) error {
|
||||||
cl, err := NewClientWithContext(server)
|
cl, err := New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ func getStackServices(ctx context.Context, dockerclient client.APIClient, namesp
|
||||||
|
|
||||||
// GetDeployedServicesByLabel filters services by label
|
// GetDeployedServicesByLabel filters services by label
|
||||||
func GetDeployedServicesByLabel(contextName string, label string) StackStatus {
|
func GetDeployedServicesByLabel(contextName string, label string) StackStatus {
|
||||||
cl, err := abraClient.NewClientWithContext(contextName)
|
cl, err := abraClient.New(contextName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if strings.Contains(err.Error(), "does not exist") {
|
if strings.Contains(err.Error(), "does not exist") {
|
||||||
// No local context found, bail out gracefully
|
// No local context found, bail out gracefully
|
||||||
|
@ -74,7 +74,7 @@ func GetDeployedServicesByLabel(contextName string, label string) StackStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAllDeployedServices(contextName string) StackStatus {
|
func GetAllDeployedServices(contextName string) StackStatus {
|
||||||
cl, err := abraClient.NewClientWithContext(contextName)
|
cl, err := abraClient.New(contextName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if strings.Contains(err.Error(), "does not exist") {
|
if strings.Contains(err.Error(), "does not exist") {
|
||||||
// No local context found, bail out gracefully
|
// No local context found, bail out gracefully
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
|
|
||||||
func GetVolumes(ctx context.Context, server string, appName string) ([]*types.Volume, error) {
|
func GetVolumes(ctx context.Context, server string, appName string) ([]*types.Volume, error) {
|
||||||
|
|
||||||
cl, err := NewClientWithContext(server)
|
cl, err := New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ func GetVolumeNames(volumes []*types.Volume) []string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func RemoveVolumes(ctx context.Context, server string, volumeNames []string, force bool) error {
|
func RemoveVolumes(ctx context.Context, server string, volumeNames []string, force bool) error {
|
||||||
cl, err := NewClientWithContext(server)
|
cl, err := New(server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue