Skip to content

Commit

Permalink
Merge pull request #2184 from baude/remotemaskcommands
Browse files Browse the repository at this point in the history
Mask unimplemeted commands for remote client
  • Loading branch information
openshift-merge-robot authored Jan 20, 2019
2 parents 74b8509 + 6f6cf86 commit ef2f6f9
Show file tree
Hide file tree
Showing 8 changed files with 274 additions and 157 deletions.
151 changes: 151 additions & 0 deletions cmd/podman/commands.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
// +build !remoteclient

package main

import "github.com/urfave/cli"

func getAppCommands() []cli.Command {
return []cli.Command{
attachCommand,
commitCommand,
buildCommand,
createCommand,
diffCommand,
execCommand,
exportCommand,
importCommand,
killCommand,
kubeCommand,
loadCommand,
loginCommand,
logoutCommand,
logsCommand,
mountCommand,
pauseCommand,
psCommand,
podCommand,
portCommand,
pushCommand,
playCommand,
restartCommand,
rmCommand,
runCommand,
saveCommand,
searchCommand,
startCommand,
statsCommand,
stopCommand,
topCommand,
umountCommand,
unpauseCommand,
versionCommand,
volumeCommand,
waitCommand,
}
}

func getImageSubCommands() []cli.Command {
return []cli.Command{
buildCommand,
importCommand,
loadCommand,
pullCommand,
saveCommand,
trustCommand,
signCommand,
}
}

func getContainerSubCommands() []cli.Command {
return []cli.Command{
attachCommand,
checkpointCommand,
cleanupCommand,
containerExistsCommand,
commitCommand,
createCommand,
diffCommand,
execCommand,
exportCommand,
killCommand,
logsCommand,
psCommand,
mountCommand,
pauseCommand,
portCommand,
pruneContainersCommand,
refreshCommand,
restartCommand,
restoreCommand,
rmCommand,
runCommand,
runlabelCommand,
startCommand,
statsCommand,
stopCommand,
topCommand,
umountCommand,
unpauseCommand,
// updateCommand,
waitCommand,
}
}
func getMainAppFlags() []cli.Flag {
return []cli.Flag{
cli.StringFlag{
Name: "cgroup-manager",
Usage: "cgroup manager to use (cgroupfs or systemd, default systemd)",
},
cli.StringFlag{
Name: "cni-config-dir",
Usage: "path of the configuration directory for CNI networks",
},
cli.StringFlag{
Name: "conmon",
Usage: "path of the conmon binary",
},
cli.StringFlag{
Name: "default-mounts-file",
Usage: "path to default mounts file",
Hidden: true,
},
cli.StringSliceFlag{
Name: "hooks-dir",
Usage: "set the OCI hooks directory path (may be set multiple times)",
},
cli.IntFlag{
Name: "max-workers",
Usage: "the maximum number of workers for parallel operations",
Hidden: true,
},
cli.StringFlag{
Name: "namespace",
Usage: "set the libpod namespace, used to create separate views of the containers and pods on the system",
Value: "",
},
cli.StringFlag{
Name: "root",
Usage: "path to the root directory in which data, including images, is stored",
},
cli.StringFlag{
Name: "runroot",
Usage: "path to the 'run directory' where all state information is stored",
},
cli.StringFlag{
Name: "runtime",
Usage: "path to the OCI-compatible binary used to run containers, default is /usr/bin/runc",
},
cli.StringFlag{
Name: "storage-driver, s",
Usage: "select which storage driver is used to manage storage of images and containers (default is overlay)",
},
cli.StringSliceFlag{
Name: "storage-opt",
Usage: "used to pass an option to the storage driver",
},
cli.BoolFlag{
Name: "syslog",
Usage: "output logging information to syslog as well as the console",
},
}
}
21 changes: 21 additions & 0 deletions cmd/podman/commands_remoteclient.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// +build remoteclient

package main

import "github.com/urfave/cli"

func getAppCommands() []cli.Command {
return []cli.Command{}
}

func getImageSubCommands() []cli.Command {
return []cli.Command{}
}

func getContainerSubCommands() []cli.Command {
return []cli.Command{}
}

func getMainAppFlags() []cli.Flag {
return []cli.Flag{}
}
43 changes: 10 additions & 33 deletions cmd/podman/container.go
Original file line number Diff line number Diff line change
@@ -1,52 +1,29 @@
package main

import (
"sort"

"github.com/urfave/cli"
)

var (
subCommands = []cli.Command{
attachCommand,
checkpointCommand,
cleanupCommand,
containerExistsCommand,
commitCommand,
createCommand,
diffCommand,
execCommand,
exportCommand,
containerSubCommands = []cli.Command{
inspectCommand,
killCommand,
logsCommand,
psCommand,
mountCommand,
pauseCommand,
portCommand,
pruneContainersCommand,
refreshCommand,
restartCommand,
restoreCommand,
rmCommand,
runCommand,
runlabelCommand,
startCommand,
statsCommand,
stopCommand,
topCommand,
umountCommand,
unpauseCommand,
// updateCommand,
waitCommand,
}

containerDescription = "Manage containers"
containerCommand = cli.Command{
Name: "container",
Usage: "Manage Containers",
Description: containerDescription,
ArgsUsage: "",
Subcommands: subCommands,
Subcommands: getContainerSubCommandsSorted(),
UseShortOptionHandling: true,
OnUsageError: usageErrorHandler,
}
)

func getContainerSubCommandsSorted() []cli.Command {
containerSubCommands = append(containerSubCommands, getContainerSubCommands()...)
sort.Sort(commandSortedAlpha{containerSubCommands})
return containerSubCommands
}
18 changes: 9 additions & 9 deletions cmd/podman/image.go
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
package main

import (
"sort"

"github.com/urfave/cli"
)

var (
imageSubCommands = []cli.Command{
buildCommand,
historyCommand,
importCommand,
imageExistsCommand,
inspectCommand,
loadCommand,
lsImagesCommand,
pruneImagesCommand,
pullCommand,
pushCommand,
rmImageCommand,
saveCommand,
tagCommand,
trustCommand,
signCommand,
}

imageDescription = "Manage images"
imageCommand = cli.Command{
Name: "image",
Usage: "Manage images",
Description: imageDescription,
ArgsUsage: "",
Subcommands: imageSubCommands,
Subcommands: getImageSubCommandsSorted(),
UseShortOptionHandling: true,
OnUsageError: usageErrorHandler,
}
)

func getImageSubCommandsSorted() []cli.Command {
imageSubCommands = append(imageSubCommands, getImageSubCommands()...)
sort.Sort(commandSortedAlpha{imageSubCommands})
return imageSubCommands
}
Loading

0 comments on commit ef2f6f9

Please sign in to comment.