package pass

import "github.com/docker/docker-credential-helpers/pass"

Package pass implements a `pass` based credential helper. Passwords are stored as arguments to pass of the form: "$PASS_FOLDER/base64-url(serverURL)/username". We base64-url encode the serverURL, because under the hood pass uses files and folders, so /s will get translated into additional folders.

Index

Constants

const PASS_FOLDER = "docker-credential-helpers" //nolint:revive

PASS_FOLDER contains the directory where credentials are stored

Types

type Pass

type Pass struct{}

Pass handles secrets using pass as a store.

func (Pass) Add

func (p Pass) Add(creds *credentials.Credentials) error

Add adds new credentials to the keychain.

func (Pass) CheckInitialized

func (p Pass) CheckInitialized() bool

CheckInitialized checks whether the password helper can be used. It internally caches and so may be safely called multiple times with no impact on performance, though the first call may take longer.

func (Pass) Delete

func (p Pass) Delete(serverURL string) error

Delete removes credentials from the store.

func (Pass) Get

func (p Pass) Get(serverURL string) (string, string, error)

Get returns the username and secret to use for a given registry server URL.

func (Pass) List

func (p Pass) List() (map[string]string, error)

List returns the stored URLs and corresponding usernames for a given credentials label

Source Files

pass.go

Directories

PathSynopsis
pass/cmd
Version
v0.9.3 (latest)
Published
Mar 14, 2025
Platform
linux/amd64
Imports
12 packages
Last checked
2 days ago

Tools for package owners.