github.com/diptanu/nomad@v0.5.7-0.20170516172507-d72e86cbe3d9/commands.go (about) 1 package main 2 3 import ( 4 "os" 5 6 "github.com/hashicorp/nomad/command" 7 "github.com/hashicorp/nomad/command/agent" 8 "github.com/mitchellh/cli" 9 ) 10 11 // Commands returns the mapping of CLI commands for Nomad. The meta 12 // parameter lets you set meta options for all commands. 13 func Commands(metaPtr *command.Meta) map[string]cli.CommandFactory { 14 if metaPtr == nil { 15 metaPtr = new(command.Meta) 16 } 17 18 meta := *metaPtr 19 if meta.Ui == nil { 20 meta.Ui = &cli.BasicUi{ 21 Reader: os.Stdin, 22 Writer: os.Stdout, 23 ErrorWriter: os.Stderr, 24 } 25 } 26 27 return map[string]cli.CommandFactory{ 28 "alloc-status": func() (cli.Command, error) { 29 return &command.AllocStatusCommand{ 30 Meta: meta, 31 }, nil 32 }, 33 "agent": func() (cli.Command, error) { 34 return &agent.Command{ 35 Revision: GitCommit, 36 Version: Version, 37 VersionPrerelease: VersionPrerelease, 38 Ui: meta.Ui, 39 ShutdownCh: make(chan struct{}), 40 }, nil 41 }, 42 "agent-info": func() (cli.Command, error) { 43 return &command.AgentInfoCommand{ 44 Meta: meta, 45 }, nil 46 }, 47 "check": func() (cli.Command, error) { 48 return &command.AgentCheckCommand{ 49 Meta: meta, 50 }, nil 51 }, 52 "client-config": func() (cli.Command, error) { 53 return &command.ClientConfigCommand{ 54 Meta: meta, 55 }, nil 56 }, 57 "eval-status": func() (cli.Command, error) { 58 return &command.EvalStatusCommand{ 59 Meta: meta, 60 }, nil 61 }, 62 "executor": func() (cli.Command, error) { 63 return &command.ExecutorPluginCommand{ 64 Meta: meta, 65 }, nil 66 }, 67 "fs": func() (cli.Command, error) { 68 return &command.FSCommand{ 69 Meta: meta, 70 }, nil 71 }, 72 "init": func() (cli.Command, error) { 73 return &command.InitCommand{ 74 Meta: meta, 75 }, nil 76 }, 77 "inspect": func() (cli.Command, error) { 78 return &command.InspectCommand{ 79 Meta: meta, 80 }, nil 81 }, 82 "keygen": func() (cli.Command, error) { 83 return &command.KeygenCommand{ 84 Meta: meta, 85 }, nil 86 }, 87 "keyring": func() (cli.Command, error) { 88 return &command.KeyringCommand{ 89 Meta: meta, 90 }, nil 91 }, 92 "job": func() (cli.Command, error) { 93 return &command.JobCommand{ 94 Meta: meta, 95 }, nil 96 }, 97 "job dispatch": func() (cli.Command, error) { 98 return &command.JobDispatchCommand{ 99 Meta: meta, 100 }, nil 101 }, 102 "logs": func() (cli.Command, error) { 103 return &command.LogsCommand{ 104 Meta: meta, 105 }, nil 106 }, 107 "node-drain": func() (cli.Command, error) { 108 return &command.NodeDrainCommand{ 109 Meta: meta, 110 }, nil 111 }, 112 "node-status": func() (cli.Command, error) { 113 return &command.NodeStatusCommand{ 114 Meta: meta, 115 }, nil 116 }, 117 118 "operator": func() (cli.Command, error) { 119 return &command.OperatorCommand{ 120 Meta: meta, 121 }, nil 122 }, 123 124 "operator raft": func() (cli.Command, error) { 125 return &command.OperatorRaftCommand{ 126 Meta: meta, 127 }, nil 128 }, 129 130 "operator raft list-peers": func() (cli.Command, error) { 131 return &command.OperatorRaftListCommand{ 132 Meta: meta, 133 }, nil 134 }, 135 136 "operator raft remove-peer": func() (cli.Command, error) { 137 return &command.OperatorRaftRemoveCommand{ 138 Meta: meta, 139 }, nil 140 }, 141 142 "plan": func() (cli.Command, error) { 143 return &command.PlanCommand{ 144 Meta: meta, 145 }, nil 146 }, 147 148 "run": func() (cli.Command, error) { 149 return &command.RunCommand{ 150 Meta: meta, 151 }, nil 152 }, 153 "server-force-leave": func() (cli.Command, error) { 154 return &command.ServerForceLeaveCommand{ 155 Meta: meta, 156 }, nil 157 }, 158 "server-join": func() (cli.Command, error) { 159 return &command.ServerJoinCommand{ 160 Meta: meta, 161 }, nil 162 }, 163 "server-members": func() (cli.Command, error) { 164 return &command.ServerMembersCommand{ 165 Meta: meta, 166 }, nil 167 }, 168 "status": func() (cli.Command, error) { 169 return &command.StatusCommand{ 170 Meta: meta, 171 }, nil 172 }, 173 "stop": func() (cli.Command, error) { 174 return &command.StopCommand{ 175 Meta: meta, 176 }, nil 177 }, 178 "validate": func() (cli.Command, error) { 179 return &command.ValidateCommand{ 180 Meta: meta, 181 }, nil 182 }, 183 "version": func() (cli.Command, error) { 184 ver := Version 185 rel := VersionPrerelease 186 if GitDescribe != "" { 187 ver = GitDescribe 188 // Trim off a leading 'v', we append it anyways. 189 if ver[0] == 'v' { 190 ver = ver[1:] 191 } 192 } 193 if GitDescribe == "" && rel == "" && VersionPrerelease != "" { 194 rel = "dev" 195 } 196 197 return &command.VersionCommand{ 198 Revision: GitCommit, 199 Version: ver, 200 VersionPrerelease: rel, 201 Ui: meta.Ui, 202 }, nil 203 }, 204 } 205 }