Documentation
¶
Index ¶
- Constants
- Variables
- func CleanupGVProxy(f define.VMFile) error
- func CreateSSHKeys(writeLocation string) (string, error)
- func DialNamedPipe(ctx context.Context, path string) (net.Conn, error)
- func GetDevNullFiles() (*os.File, *os.File, error)
- func GetEnvSetString(env string, val string) string
- func GetSSHKeys(identityPath string) (string, error)
- func LocalhostSSH(username, identityPath, name string, sshPort int, inputArgs []string) error
- func LocalhostSSHArgs() []string
- func LocalhostSSHShell(username, identityPath, name string, sshPort int, inputArgs []string) error
- func LocalhostSSHSilent(username, identityPath, name string, sshPort int, inputArgs []string) error
- func LocalhostSSHWithStdin(username, identityPath, name string, sshPort int, inputArgs []string, ...) error
- func PrintRootlessWarning(name string)
- func UpdatePodmanDockerSockService(mc *vmconfigs.MachineConfig) error
- func WaitAPIAndPrintInfo(forwardState APIForwardingState, name, helper, forwardSock string, ...)
- func WaitAndPingAPI(sock string)
- type APIForwardingState
- type CleanupCallback
- type ConnectionConfig
- type DistributionDownload
- type Download
- type ImageConfig
- type InspectInfo
- type InspectOptions
- type ListOptions
- type ListResponse
- type RemoveOptions
- type ResetOptions
- type SSHOptions
- type StartOptions
- type StopOptions
- type VM
- type VirtIoFs
- type Volume
- type VolumeKind
Constants ¶
const NFSSELinuxContext = "system_u:object_r:nfs_t:s0"
NFSSELinuxContext is what is used by NFS mounts, which is allowed access by container_t. We need to fix the Fedora selinux policy to just allow access to virtiofs_t.
Variables ¶
var ForwarderBinaryName = "gvproxy"
Functions ¶
func CleanupGVProxy ¶
CleanupGVProxy reads the --pid-file for gvproxy attempts to stop it
func CreateSSHKeys ¶
CreateSSHKeys makes a priv and pub ssh key for interacting the a VM.
func GetDevNullFiles ¶
GetDevNullFiles returns pointers to Read-only and Write-only DevNull files
func GetEnvSetString ¶
func GetSSHKeys ¶
GetSSHKeys checks to see if there is a ssh key at the provided location. If not, we create the priv and pub keys. The ssh key is then returned.
func LocalhostSSH ¶ added in v5.6.0
LocalhostSSH is a common function for ssh'ing to a podman machine using system-connections and a port TODO This should probably be taught about an machineconfig to reduce input
func LocalhostSSHArgs ¶ added in v5.6.0
func LocalhostSSHArgs() []string
LocalhostSSHArgs returns OpenSSH command-line options for connecting with no host key identity checks.
WARNING: This MUST NOT be used to communicate over untrusted networks.
func LocalhostSSHShell ¶ added in v5.6.0
func LocalhostSSHSilent ¶ added in v5.6.0
func LocalhostSSHWithStdin ¶ added in v5.6.0
func PrintRootlessWarning ¶
func PrintRootlessWarning(name string)
func UpdatePodmanDockerSockService ¶
func UpdatePodmanDockerSockService(mc *vmconfigs.MachineConfig) error
func WaitAPIAndPrintInfo ¶
func WaitAPIAndPrintInfo(forwardState APIForwardingState, name, helper, forwardSock string, noInfo, rootful bool)
WaitAPIAndPrintInfo prints info about the machine and does a ping test on the API socket
func WaitAndPingAPI ¶
func WaitAndPingAPI(sock string)
Types ¶
type APIForwardingState ¶
type APIForwardingState int
const ( NoForwarding APIForwardingState = iota ClaimUnsupported NotInstalled MachineLocal DockerGlobal )
type CleanupCallback ¶
type CleanupCallback struct { Funcs []func() error // contains filtered or unexported fields }
func CleanUp ¶
func CleanUp() CleanupCallback
func (*CleanupCallback) Add ¶
func (c *CleanupCallback) Add(anotherfunc func() error)
func (*CleanupCallback) CleanIfErr ¶
func (c *CleanupCallback) CleanIfErr(err *error)
func (*CleanupCallback) CleanOnSignal ¶
func (c *CleanupCallback) CleanOnSignal()
type ConnectionConfig ¶
type ConnectionConfig struct { // PodmanSocket is the exported podman service socket PodmanSocket *define.VMFile `json:"PodmanSocket"` // PodmanPipe is the exported podman service named pipe (Windows hosts only) PodmanPipe *define.VMFile `json:"PodmanPipe"` }
ConnectionConfig contains connections like sockets, etc.
type DistributionDownload ¶
type Download ¶
type Download struct { Arch string Artifact define.Artifact CacheDir string CompressionType compression.ImageCompression DataDir string Format define.ImageFormat ImageName string LocalPath string LocalUncompressedFile string Sha256sum string Size int64 URL *url.URL VMKind define.VMType VMName string }
type ImageConfig ¶
type ImageConfig struct { // IgnitionFile is the path to the filesystem where the // ignition file was written (if needs one) IgnitionFile define.VMFile `json:"IgnitionFilePath"` // ImageStream is the update stream for the image ImageStream string // ImageFile is the fq path to ImagePath define.VMFile `json:"ImagePath"` }
ImageConfig describes the bootable image for the VM
type InspectInfo ¶
type InspectOptions ¶
type InspectOptions struct{}
type ListOptions ¶
type ListOptions struct{}
type ListResponse ¶
type RemoveOptions ¶
type ResetOptions ¶
type ResetOptions struct {
Force bool
}
type SSHOptions ¶
type StartOptions ¶
type StopOptions ¶
type StopOptions struct{}
type VM ¶
type VM interface { Init(opts define.InitOptions) (bool, error) Inspect() (*InspectInfo, error) Remove(name string, opts RemoveOptions) (string, func() error, error) Set(name string, opts define.SetOptions) ([]error, error) SSH(name string, opts SSHOptions) error Start(name string, opts StartOptions) error State(bypass bool) (define.Status, error) Stop(name string, opts StopOptions) error }
TODO This can be removed when WSL is refactored into podman 5
type VirtIoFs ¶
type VirtIoFs struct { VolumeKind ReadOnly bool Source string Tag string Target string }
func MountToVirtIOFs ¶
func NewVirtIoFsMount ¶
NewVirtIoFsMount describes a machine volume mount for virtio-fs. With virtio-fs the source/target are described as a "shared dir". With this style of volume mount the Tag is used as the descriptor value for the mount (in Linux).
type Volume ¶
type Volume interface {
Kind() VolumeKind
}
type VolumeKind ¶
type VolumeKind string
var ( VirtIOFsVk VolumeKind = "virtiofs" NinePVk VolumeKind = "9p" )