Skip to content

Commit

Permalink
Option --url and --connection should imply --remote.
Browse files Browse the repository at this point in the history
Closes containers#13242

Signed-off-by: Romain Geissler <[email protected]>
  • Loading branch information
Romain-Geissler-1A committed Feb 26, 2022
1 parent 49d511b commit ca980c2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
8 changes: 8 additions & 0 deletions cmd/podman/registry/remote.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ func IsRemote() bool {
fs.Usage = func() {}
fs.SetInterspersed(false)
fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", remote, "")
connectionFlagName := "connection"
ignoredConnection := ""
fs.StringVarP(&ignoredConnection, connectionFlagName, "c", "", "")
urlFlagName := "url"
ignoredURL := ""
fs.StringVar(&ignoredURL, urlFlagName, "", "")

// The shell completion logic will call a command called "__complete" or "__completeNoDesc"
// This command will always be the second argument
Expand All @@ -39,6 +45,8 @@ func IsRemote() bool {
start = 2
}
_ = fs.Parse(os.Args[start:])
// --connection or --url implies --remote
remoteFromCLI.Value = remoteFromCLI.Value || fs.Changed(connectionFlagName) || fs.Changed(urlFlagName)
})
return podmanOptions.EngineMode == entities.TunnelMode || remoteFromCLI.Value
}
2 changes: 2 additions & 0 deletions docs/source/markdown/podman.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ and "$graphroot/networks" as rootless.

#### **--connection**, **-c**
Connection to use for remote podman, including Mac and Windows (excluding WSL2) machines, (Default connection is configured in `containers.conf`)
Setting this option will switch the **--remote** option to true.
Remote connections use local containers.conf for default.

#### **--conmon**
Expand Down Expand Up @@ -108,6 +109,7 @@ environment variable is set, the **--remote** option defaults to true.

#### **--url**=*value*
URL to access Podman service (default from `containers.conf`, rootless `unix://run/user/$UID/podman/podman.sock` or as root `unix://run/podman/podman.sock`).
Setting this option will switch the **--remote** option to true.

- `CONTAINER_HOST` is of the format `<schema>://[<user[:<password>]@]<host>[:<port>][<path>]`

Expand Down
11 changes: 11 additions & 0 deletions test/system/001-basic.bats
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,17 @@ See 'podman version --help'" "podman version --remote"
if grep -- " --remote " <<<"$output"; then
die "podman --help, with CONTAINER_CONNECTION set, is showing --remote"
fi

# When it detects --url or --connection, --remote is not an option
run_podman --url foobar --help
if grep -- " --remote " <<<"$output"; then
die "podman --help, with --url set, is showing --remote"
fi

run_podman --connection foobar --help
if grep -- " --remote " <<<"$output"; then
die "podman --help, with --connection set, is showing --remote"
fi
}

# Check that just calling "podman-remote" prints the usage message even
Expand Down

0 comments on commit ca980c2

Please sign in to comment.