spiegel_podman/cmd/podman/secrets/exists.go
Ygal Blum 68dbddd979 Add support for secret exists
Add the command along with the abi and tunnel support
Add e2e tests
Add man page
Add apiv2 test to ensure return codes

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-04-03 15:33:50 +03:00

38 lines
1 KiB
Go

package secrets
import (
"github.com/containers/podman/v4/cmd/podman/common"
"github.com/containers/podman/v4/cmd/podman/registry"
"github.com/spf13/cobra"
)
var (
existsCmd = &cobra.Command{
Use: "exists SECRET",
Short: "Check if a secret exists in local storage",
Long: `If the named secret exists in local storage, podman secret exists exits with 0, otherwise the exit code will be 1.`,
Args: cobra.ExactArgs(1),
RunE: exists,
ValidArgsFunction: common.AutocompleteSecrets,
Example: `podman secret exists ID
podman secret exists SECRET || podman secret create SECRET <secret source>`,
}
)
func init() {
registry.Commands = append(registry.Commands, registry.CliCommand{
Command: existsCmd,
Parent: secretCmd,
})
}
func exists(cmd *cobra.Command, args []string) error {
found, err := registry.ContainerEngine().SecretExists(registry.GetContext(), args[0])
if err != nil {
return err
}
if !found.Value {
registry.SetExitCode(1)
}
return nil
}