login.go 729 B

123456789101112131415161718192021222324252627282930313233343536
  1. package login
  2. import (
  3. "github.com/pkg/errors"
  4. "github.com/spf13/cobra"
  5. "github.com/docker/api/client"
  6. )
  7. // Command returns the compose command with its child commands
  8. func Command() *cobra.Command {
  9. command := &cobra.Command{
  10. Short: "Cloud login for docker contexts",
  11. Use: "login",
  12. }
  13. command.AddCommand(
  14. azureLoginCommand(),
  15. )
  16. return command
  17. }
  18. func azureLoginCommand() *cobra.Command {
  19. azureLoginCmd := &cobra.Command{
  20. Use: "azure",
  21. RunE: func(cmd *cobra.Command, args []string) error {
  22. ctx := cmd.Context()
  23. cs, err := client.GetCloudService(ctx, "aci")
  24. if err != nil {
  25. return errors.Wrap(err, "cannot connect to backend")
  26. }
  27. return cs.Login(ctx, nil)
  28. },
  29. }
  30. return azureLoginCmd
  31. }