mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-09-14 03:27:59 +00:00
If the first time you run podman in a user account you do a su - USER, and the second time, you run as the logged in USER podman fails, because it is not handling the tmpdir definition in the database. This PR fixes this problem. vendor containers/common v0.11.1 This should fix a couple of issues we have seen in podman 1.9.1 with handling of libpod.conf. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/containers/common/pkg/auth"
|
|
"github.com/containers/image/v5/types"
|
|
"github.com/containers/libpod/cmd/podman/registry"
|
|
"github.com/containers/libpod/pkg/domain/entities"
|
|
"github.com/containers/libpod/pkg/registries"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var (
|
|
logoutOptions = auth.LogoutOptions{}
|
|
logoutCommand = &cobra.Command{
|
|
Use: "logout [flags] [REGISTRY]",
|
|
Short: "Logout of a container registry",
|
|
Long: "Remove the cached username and password for the registry.",
|
|
RunE: logout,
|
|
Args: cobra.MaximumNArgs(1),
|
|
Example: `podman logout quay.io
|
|
podman logout --authfile dir/auth.json quay.io
|
|
podman logout --all`,
|
|
}
|
|
)
|
|
|
|
func init() {
|
|
// Note that the local and the remote client behave the same: both
|
|
// store credentials locally while the remote client will pass them
|
|
// over the wire to the endpoint.
|
|
registry.Commands = append(registry.Commands, registry.CliCommand{
|
|
Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
|
|
Command: logoutCommand,
|
|
})
|
|
flags := logoutCommand.Flags()
|
|
|
|
// Flags from the auth package.
|
|
flags.AddFlagSet(auth.GetLogoutFlags(&logoutOptions))
|
|
logoutOptions.Stdout = os.Stdout
|
|
logoutOptions.AcceptUnspecifiedRegistry = true
|
|
}
|
|
|
|
// Implementation of podman-logout.
|
|
func logout(cmd *cobra.Command, args []string) error {
|
|
sysCtx := types.SystemContext{
|
|
AuthFilePath: logoutOptions.AuthFile,
|
|
SystemRegistriesConfPath: registries.SystemRegistriesConfPath(),
|
|
}
|
|
return auth.Logout(&sysCtx, &logoutOptions, args)
|
|
}
|