mirror of https://github.com/containers/podman.git
				
				
				
			Add --host and -H as equivalent options to --url
Docker supports -H and --host for specify the listening socket. Podman should support them also in order to match the CLI. These will not be documented since Podman defaults to using the --url option. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
		
							parent
							
								
									5201ea8e41
								
							
						
					
					
						commit
						18c0c19aa9
					
				|  | @ -31,11 +31,11 @@ func IsRemote() bool { | |||
| 		fs.SetInterspersed(false) | ||||
| 		fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", remote, "") | ||||
| 		connectionFlagName := "connection" | ||||
| 		ignoredConnection := "" | ||||
| 		fs.StringVarP(&ignoredConnection, connectionFlagName, "c", "", "") | ||||
| 		fs.StringP(connectionFlagName, "c", "", "") | ||||
| 		hostFlagName := "host" | ||||
| 		fs.StringP(hostFlagName, "H", "", "") | ||||
| 		urlFlagName := "url" | ||||
| 		ignoredURL := "" | ||||
| 		fs.StringVar(&ignoredURL, urlFlagName, "", "") | ||||
| 		fs.String(urlFlagName, "", "") | ||||
| 
 | ||||
| 		// The shell completion logic will call a command called "__complete" or "__completeNoDesc"
 | ||||
| 		// This command will always be the second argument
 | ||||
|  | @ -46,7 +46,7 @@ func IsRemote() bool { | |||
| 		} | ||||
| 		_ = fs.Parse(os.Args[start:]) | ||||
| 		// --connection or --url implies --remote
 | ||||
| 		remoteFromCLI.Value = remoteFromCLI.Value || fs.Changed(connectionFlagName) || fs.Changed(urlFlagName) | ||||
| 		remoteFromCLI.Value = remoteFromCLI.Value || fs.Changed(connectionFlagName) || fs.Changed(urlFlagName) || fs.Changed(hostFlagName) | ||||
| 	}) | ||||
| 	return podmanOptions.EngineMode == entities.TunnelMode || remoteFromCLI.Value | ||||
| } | ||||
|  |  | |||
|  | @ -345,6 +345,8 @@ func rootFlags(cmd *cobra.Command, opts *entities.PodmanConfig) { | |||
| 	urlFlagName := "url" | ||||
| 	lFlags.StringVar(&opts.URI, urlFlagName, uri, "URL to access Podman service (CONTAINER_HOST)") | ||||
| 	_ = cmd.RegisterFlagCompletionFunc(urlFlagName, completion.AutocompleteDefault) | ||||
| 	lFlags.StringVarP(&opts.URI, "host", "H", uri, "Used for Docker compatibility") | ||||
| 	_ = lFlags.MarkHidden("host") | ||||
| 
 | ||||
| 	// Context option added just for compatibility with DockerCLI.
 | ||||
| 	lFlags.String("context", "default", "Name of the context to use to connect to the daemon (This flag is a NOOP and provided solely for scripting compatibility.)") | ||||
|  |  | |||
|  | @ -400,4 +400,23 @@ EOF | |||
|     run_podman rm -f -t 0 $cname | ||||
| } | ||||
| 
 | ||||
| @test "podman-system-service containers --host" { | ||||
|     skip_if_remote "N/A under podman-remote" | ||||
| 
 | ||||
|     SERVICE_NAME=podman-service-$(random_string) | ||||
|     port=$(random_free_port) | ||||
|     URL=tcp://127.0.0.1:$port | ||||
| 
 | ||||
|     systemd-run --unit=$SERVICE_NAME $PODMAN system service $URL --time=0 | ||||
|     wait_for_port 127.0.0.1 $port | ||||
| 
 | ||||
|     run_podman --host $URL run --rm $IMAGE true | ||||
|     run_podman -H $URL run --rm $IMAGE true | ||||
| 
 | ||||
|     systemctl stop $SERVICE_NAME | ||||
| 
 | ||||
|     # Make sure the option is actually connecting | ||||
|     run_podman 125 --host $URL run --rm $IMAGE true | ||||
|     assert "$output" =~ "Cannot connect to Podman.*connection refused" | ||||
| } | ||||
| # vim: filetype=sh | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue