package
1.9.3
Repository: https://github.com/containers/libpod.git
Documentation: pkg.go.dev

# README

Adding a podman V2 commands

Build podman V2

$ cd $GOPATH/src/github.com/containers/libpod/cmd/podmanV2

If you wish to include the libpod library in your program,

$ go build -tags 'ABISupport' .

The --remote flag may be used to connect to the Podman service using the API. Otherwise, direct calls will be made to the Libpod library.

$ go build -tags '!ABISupport' .

The Libpod library is not linked into the executable. All calls are made via the API and --remote=False is an error condition.

Adding a new command podman manifests

$ mkdir -p $GOPATH/src/github.com/containers/libpod/cmd/podmanV2/manifests

Create the file $GOPATH/src/github.com/containers/libpod/cmd/podmanV2/manifests/manifest.go

package manifests

import (
    "github.com/containers/libpod/cmd/podmanV2/registry"
    "github.com/containers/libpod/pkg/domain/entities"
    "github.com/spf13/cobra"
)

var (
    // podman _manifests_
    manifestCmd = &cobra.Command{
        Use:               "manifest",
        Short:             "Manage manifests",
        Long:              "Manage manifests",
        Example:           "podman manifests IMAGE",
        TraverseChildren:  true,
        PersistentPreRunE: preRunE,
        RunE:              registry.SubCommandExists, // Report error if there is no sub command given
    }
)
func init() {
    // Subscribe command to podman
    registry.Commands = append(registry.Commands, registry.CliCommand{
        // _podman manifest_ will support both ABIMode and TunnelMode
        Mode:    []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
        // The definition for this command
        Command: manifestCmd,
    })
    // Setup cobra templates, sub commands will inherit
    manifestCmd.SetHelpTemplate(registry.HelpTemplate())
    manifestCmd.SetUsageTemplate(registry.UsageTemplate())
}

// preRunE populates the image engine for sub commands
func preRunE(cmd *cobra.Command, args []string) error {
    _, err := registry.NewImageEngine(cmd, args)
    return err
}

To "wire" in the manifest command, edit the file $GOPATH/src/github.com/containers/libpod/cmd/podmanV2/main.go to add:

package main

import	_ "github.com/containers/libpod/cmd/podmanV2/manifests"

Adding a new sub command podman manifests list

Create the file $GOPATH/src/github.com/containers/libpod/cmd/podmanV2/manifests/inspect.go

package manifests

import (
    "github.com/containers/libpod/cmd/podmanV2/registry"
    "github.com/containers/libpod/pkg/domain/entities"
    "github.com/spf13/cobra"
)

var (
    // podman manifests _inspect_
    inspectCmd = &cobra.Command{
        Use:     "inspect IMAGE",
        Short:   "Display manifest from image",
        Long:    "Displays the low-level information on a manifest identified by image name or ID",
        RunE:    inspect,
        Example: "podman manifest DEADBEEF",
    }
)

func init() {
    // Subscribe inspect sub command to manifest command
    registry.Commands = append(registry.Commands, registry.CliCommand{
        // _podman manifest inspect_ will support both ABIMode and TunnelMode
        Mode:    []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
        // The definition for this command
        Command: inspectCmd,
        Parent:  manifestCmd,
    })

    // This is where you would configure the cobra flags using inspectCmd.Flags()
}

// Business logic: cmd is inspectCmd, args is the positional arguments from os.Args
func inspect(cmd *cobra.Command, args []string) error {
    // Business logic using registry.ImageEngine
    // Do not pull from libpod directly use the domain objects and types
    return nil
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
nolint most of these validate and parse functions have been taken from projectatomic/docker and modified for cri-o.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
No description provided by the author