aboutsummaryrefslogtreecommitdiff
path: root/cmd/podman/system/connection/remove.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-07-21 10:36:44 -0700
committerMatthew Heon <matthew.heon@pm.me>2020-08-20 12:16:53 -0400
commitee956b04b05eed25d3aec967d8c68e7d1418fa09 (patch)
treebc73b8f62aa49b1b414bb9be129eb063da82219d /cmd/podman/system/connection/remove.go
parent7c13b8c12f0382c921d10ba917c558d3ed6c0fb4 (diff)
downloadpodman-ee956b04b05eed25d3aec967d8c68e7d1418fa09.tar.gz
podman-ee956b04b05eed25d3aec967d8c68e7d1418fa09.tar.bz2
podman-ee956b04b05eed25d3aec967d8c68e7d1418fa09.zip
[WIP] Refactor podman system connection
* Add support to manage multiple connections * Add connection * Remove connection * Rename connection * Set connection as default * Add markdown/man pages * Fix recursion in hack/xref-helpmsgs-manpages Signed-off-by: Jhon Honce <jhonce@redhat.com> <MH: Fixed build after rebase> Signed-off-by: Matt Heon <matthew.heon@pm.me>
Diffstat (limited to 'cmd/podman/system/connection/remove.go')
-rw-r--r--cmd/podman/system/connection/remove.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/cmd/podman/system/connection/remove.go b/cmd/podman/system/connection/remove.go
new file mode 100644
index 000000000..a2ca66c8d
--- /dev/null
+++ b/cmd/podman/system/connection/remove.go
@@ -0,0 +1,49 @@
+package connection
+
+import (
+ "github.com/containers/common/pkg/config"
+ "github.com/containers/libpod/v2/cmd/podman/registry"
+ "github.com/containers/libpod/v2/cmd/podman/system"
+ "github.com/containers/libpod/v2/pkg/domain/entities"
+ "github.com/spf13/cobra"
+)
+
+var (
+ // Skip creating engines since this command will obtain connection information to said engines
+ rmCmd = &cobra.Command{
+ Use: "remove NAME",
+ Args: cobra.ExactArgs(1),
+ Aliases: []string{"rm"},
+ Long: `Delete named destination from podman configuration`,
+ Short: "Delete named destination",
+ DisableFlagsInUseLine: true,
+ RunE: rm,
+ Example: `podman system connection remove devl
+ podman system connection rm devl`,
+ }
+)
+
+func init() {
+ registry.Commands = append(registry.Commands, registry.CliCommand{
+ Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
+ Command: rmCmd,
+ Parent: system.ConnectionCmd,
+ })
+}
+
+func rm(_ *cobra.Command, args []string) error {
+ cfg, err := config.ReadCustomConfig()
+ if err != nil {
+ return err
+ }
+
+ if cfg.Engine.ServiceDestinations != nil {
+ delete(cfg.Engine.ServiceDestinations, args[0])
+ }
+
+ if cfg.Engine.ActiveService == args[0] {
+ cfg.Engine.ActiveService = ""
+ }
+
+ return cfg.Write()
+}