unlock.go 698 B

1234567891011121314151617181920212223242526272829303132333435
  1. package swarm
  2. import (
  3. "context"
  4. "github.com/spf13/cobra"
  5. "github.com/docker/docker/api/types/swarm"
  6. "github.com/docker/docker/cli"
  7. "github.com/docker/docker/cli/command"
  8. )
  9. func newUnlockCommand(dockerCli *command.DockerCli) *cobra.Command {
  10. cmd := &cobra.Command{
  11. Use: "unlock",
  12. Short: "Unlock swarm",
  13. Args: cli.ExactArgs(0),
  14. RunE: func(cmd *cobra.Command, args []string) error {
  15. client := dockerCli.Client()
  16. ctx := context.Background()
  17. key, err := readKey(dockerCli.In(), "Please enter unlock key: ")
  18. if err != nil {
  19. return err
  20. }
  21. req := swarm.UnlockRequest{
  22. LockKey: string(key),
  23. }
  24. return client.SwarmUnlock(ctx, req)
  25. },
  26. }
  27. return cmd
  28. }