mirror of
https://github.com/containers/podman.git
synced 2025-05-22 01:27:07 +08:00
Move CONTAINER_HOST and _CONNECTION to IsRemote Function
Current code does not check early enough. Follow up to https://github.com/containers/podman/pull/11978 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -19,11 +19,17 @@ var remoteFromCLI = struct {
|
||||
// Use in init() functions as an initialization check
|
||||
func IsRemote() bool {
|
||||
remoteFromCLI.sync.Do(func() {
|
||||
remote := false
|
||||
if _, ok := os.LookupEnv("CONTAINER_HOST"); ok {
|
||||
remote = true
|
||||
} else if _, ok := os.LookupEnv("CONTAINER_CONNECTION"); ok {
|
||||
remote = true
|
||||
}
|
||||
fs := pflag.NewFlagSet("remote", pflag.ContinueOnError)
|
||||
fs.ParseErrorsWhitelist.UnknownFlags = true
|
||||
fs.Usage = func() {}
|
||||
fs.SetInterspersed(false)
|
||||
fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", false, "")
|
||||
fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", remote, "")
|
||||
|
||||
// The shell completion logic will call a command called "__complete" or "__completeNoDesc"
|
||||
// This command will always be the second argument
|
||||
|
@ -314,15 +314,7 @@ func rootFlags(cmd *cobra.Command, opts *entities.PodmanConfig) {
|
||||
lFlags.StringVar(&opts.Identity, identityFlagName, ident, "path to SSH identity file, (CONTAINER_SSHKEY)")
|
||||
_ = cmd.RegisterFlagCompletionFunc(identityFlagName, completion.AutocompleteDefault)
|
||||
|
||||
remote := false
|
||||
if env, ok := os.LookupEnv("CONTAINER_HOST"); ok {
|
||||
logrus.Infof("CONTAINER_HOST==%q, defaulting to '--remote=true'", env)
|
||||
remote = true
|
||||
} else if env, ok := os.LookupEnv("CONTAINER_CONNECTION"); ok {
|
||||
logrus.Infof("CONTAINER_CONNECTION==%q, defaulting to '--remote=true'", env)
|
||||
remote = true
|
||||
}
|
||||
lFlags.BoolVarP(&opts.Remote, "remote", "r", remote, "Access remote Podman service")
|
||||
lFlags.BoolVarP(&opts.Remote, "remote", "r", registry.IsRemote(), "Access remote Podman service")
|
||||
pFlags := cmd.PersistentFlags()
|
||||
if registry.IsRemote() {
|
||||
if err := lFlags.MarkHidden("remote"); err != nil {
|
||||
|
@ -98,8 +98,19 @@ function setup() {
|
||||
skip "only applicable on a local run"
|
||||
fi
|
||||
|
||||
CONTAINER_HOST=foobar run_podman --log-level=info --help
|
||||
is "$output" ".*defaulting to '--remote=true'" "CONTAINER_HOST sets --remote true"
|
||||
CONTAINER_HOST=foobar run_podman --help
|
||||
# Should not have --remote flag
|
||||
echo $output | grep -v -qw -- "--remote"
|
||||
if [ $? -ne 0 ]; then
|
||||
die "Should not have --remote flag"
|
||||
fi
|
||||
|
||||
CONTAINER_CONNECTION=foobar run_podman --help
|
||||
# Should not have --remote flag
|
||||
echo $output | grep -v -qw -- "--remote"
|
||||
if [ $? -ne 0 ]; then
|
||||
die "Should not have --remote flag"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check that just calling "podman-remote" prints the usage message even
|
||||
|
Reference in New Issue
Block a user