root

package
v1.15.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CleanMountAlias added in v1.15.9

func CleanMountAlias(alias string) string

CleanMountAlias removes all leading and trailing slashes from a mount alias. Note: Slashes inside the alias are valid and will be kept.

Types

type AlreadyMountedError

type AlreadyMountedError string

AlreadyMountedError is an error that is returned when a store is already mounted on a given mount point.

func (AlreadyMountedError) Error

func (a AlreadyMountedError) Error() string

type NotInitializedError

type NotInitializedError struct {
	// contains filtered or unexported fields
}

NotInitializedError is an error that is returned when a not initialized store should be mounted.

func (NotInitializedError) Alias

func (n NotInitializedError) Alias() string

Alias returns the store alias this error was generated for.

func (NotInitializedError) Error

func (n NotInitializedError) Error() string

func (NotInitializedError) Path

func (n NotInitializedError) Path() string

Path returns the store path this error was generated for.

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store is the public facing password store. It contains one or more leaf stores.

func New

func New(cfg *config.Config) *Store

New creates a new store.

func (*Store) AddMount

func (r *Store) AddMount(ctx context.Context, alias, path string, keys ...string) error

AddMount adds a new mount.

func (*Store) AddRecipient

func (r *Store) AddRecipient(ctx context.Context, store, rec string) error

AddRecipient adds a single recipient to the given store.

func (*Store) Alias

func (r *Store) Alias() string

Alias always returns an empty string.

func (*Store) CheckRecipients added in v1.15.3

func (r *Store) CheckRecipients(ctx context.Context, store string) error

CheckRecipients checks all current recipients to make sure that they are valid, e.g. not expired.

func (*Store) Concurrency added in v1.14.0

func (r *Store) Concurrency() int

Concurrency returns the concurrency level supported by this store, which is the minimum of all mount points, limited by the number of cores.

func (*Store) Convert

func (r *Store) Convert(ctx context.Context, name string, cryptoBe backend.CryptoBackend, storageBe backend.StorageBackend, move bool) error

Convert will try to convert a given mount to a different set of backends.

func (*Store) Copy

func (r *Store) Copy(ctx context.Context, from, to string) error

Copy will copy one entry to another location. Multi-store copies are supported. Each entry has to be decoded and encoded for the destination to make sure it's encrypted for the right set of recipients.

func (*Store) Crypto

func (r *Store) Crypto(ctx context.Context, name string) backend.Crypto

Crypto returns the crypto backend.

func (*Store) Delete

func (r *Store) Delete(ctx context.Context, name string) error

Delete will remove an single entry from the store.

func (*Store) Exists

func (r *Store) Exists(ctx context.Context, name string) bool

Exists checks the existence of a single entry.

func (*Store) Format

func (r *Store) Format(ctx context.Context, maxDepth int) (string, error)

Format will pretty print all entries in this store and all substores.

func (*Store) Fsck

func (s *Store) Fsck(ctx context.Context, store, path string) error

Fsck checks all stores/entries matching the given prefix.

func (*Store) Get

func (r *Store) Get(ctx context.Context, name string) (gopass.Secret, error)

Get returns the plaintext of a single key.

func (*Store) GetRevision

func (r *Store) GetRevision(ctx context.Context, name, revision string) (context.Context, gopass.Secret, error)

GetRevision will try to retrieve the given revision from the sync backend.

func (*Store) GetSubStore

func (r *Store) GetSubStore(name string) (*leaf.Store, error)

GetSubStore returns an exact match for a mount point or an error if this mount point does not exist.

func (*Store) GetTemplate

func (r *Store) GetTemplate(ctx context.Context, name string) ([]byte, error)

GetTemplate will return the content of the named template.

func (*Store) HasSubDirs

func (r *Store) HasSubDirs(ctx context.Context, name string) (bool, error)

HasSubDirs returns true if the named entity has subdirectories.

func (*Store) HasTemplate

func (r *Store) HasTemplate(ctx context.Context, name string) bool

HasTemplate returns true if the template exists.

func (*Store) ImportMissingPublicKeys

func (r *Store) ImportMissingPublicKeys(ctx context.Context) error

ImportMissingPublicKeys import missing public keys in any substore.

func (*Store) Init

func (r *Store) Init(ctx context.Context, alias, path string, ids ...string) error

Init tries to initialize a new password store location matching the object.

func (*Store) IsDir

func (r *Store) IsDir(ctx context.Context, name string) bool

IsDir checks if a given key is actually a folder.

func (*Store) IsInitialized

func (r *Store) IsInitialized(ctx context.Context) (bool, error)

IsInitialized checks on disk if .gpg-id was generated and thus returns true.

func (r *Store) Link(ctx context.Context, from, to string) error

Link creates a symlink.

func (*Store) List

func (r *Store) List(ctx context.Context, maxDepth int) ([]string, error)

List will return a flattened list of all tree entries.

func (*Store) ListRecipients

func (r *Store) ListRecipients(ctx context.Context, store string) []string

ListRecipients lists all recipients for the given store.

func (*Store) ListRevisions

func (r *Store) ListRevisions(ctx context.Context, name string) ([]backend.Revision, error)

ListRevisions will list all revisions for the named entity.

func (*Store) Lock added in v1.12.0

func (r *Store) Lock() error

Lock drops all cached credentials, if any. Mostly only useful for the gopass REPL.

func (*Store) LookupTemplate

func (r *Store) LookupTemplate(ctx context.Context, name string) (string, []byte, bool)

LookupTemplate will lookup and return a template.

func (*Store) MountPoint

func (r *Store) MountPoint(name string) string

MountPoint returns the most-specific mount point for the given key.

func (*Store) MountPoints

func (r *Store) MountPoints() []string

MountPoints returns a sorted list of mount points. It encodes the logic that the longer a mount point the more specific it is. This allows to "shadow" a shorter mount point by a longer one.

func (*Store) Mounts

func (r *Store) Mounts() map[string]string

Mounts returns a map of mounts with their paths.

func (*Store) Move

func (r *Store) Move(ctx context.Context, from, to string) error

Move will move one entry from one location to another. Cross-store moves are supported. Moving an entry will decode it from the old location, encode it for the destination store with the right set of recipients and remove it from the old location afterwards.

func (*Store) Path

func (r *Store) Path() string

Path returns the store path.

func (*Store) Prune

func (r *Store) Prune(ctx context.Context, tree string) error

Prune will remove a subtree from the Store.

func (*Store) RCSAddRemote

func (r *Store) RCSAddRemote(ctx context.Context, name, remote, url string) error

RCSAddRemote adds a git remote.

func (*Store) RCSInit

func (r *Store) RCSInit(ctx context.Context, name, userName, userEmail string) error

RCSInit initializes the version control repo.

func (*Store) RCSInitConfig

func (r *Store) RCSInitConfig(ctx context.Context, name, userName, userEmail string) error

RCSInitConfig initializes the git repos local config.

func (*Store) RCSPull

func (r *Store) RCSPull(ctx context.Context, name, origin, remote string) error

RCSPull performs a git pull.

func (*Store) RCSPush

func (r *Store) RCSPush(ctx context.Context, name, origin, remote string) error

RCSPush performs a git push.

func (*Store) RCSRemoveRemote

func (r *Store) RCSRemoveRemote(ctx context.Context, name, remote string) error

RCSRemoveRemote removes a git remote.

func (*Store) RCSStatus

func (r *Store) RCSStatus(ctx context.Context, name string) error

RCSStatus show the git status. TODO this should likely iterate over all stores.

func (*Store) RecipientsTree

func (r *Store) RecipientsTree(ctx context.Context, pretty bool) (*tree.Root, error)

RecipientsTree returns a tree view of all stores' recipients.

func (*Store) RemoveMount

func (r *Store) RemoveMount(ctx context.Context, alias string) error

RemoveMount removes and existing mount.

func (*Store) RemoveRecipient

func (r *Store) RemoveRecipient(ctx context.Context, store, rec string) error

RemoveRecipient removes a single recipient from the given store.

func (*Store) RemoveTemplate

func (r *Store) RemoveTemplate(ctx context.Context, name string) error

RemoveTemplate will delete the named template if it exists.

func (*Store) SaveRecipients

func (r *Store) SaveRecipients(ctx context.Context, ack bool) error

SaveRecipients persists the recipients to disk. Only useful if persist keys is enabled.

func (*Store) Set

func (r *Store) Set(ctx context.Context, name string, sec gopass.Byter) error

Set encodes and write the ciphertext of one entry to disk.

func (*Store) SetTemplate

func (r *Store) SetTemplate(ctx context.Context, name string, content []byte) error

SetTemplate will (over)write the content to the template file.

func (*Store) Storage

func (r *Store) Storage(ctx context.Context, name string) backend.Storage

Storage returns the storage backend for the given mount point.

func (*Store) String

func (r *Store) String() string

func (*Store) TemplateTree

func (r *Store) TemplateTree(ctx context.Context) (*tree.Root, error)

TemplateTree returns a tree of all templates.

func (*Store) Tree

func (r *Store) Tree(ctx context.Context) (*tree.Root, error)

Tree returns the tree representation of the entries.

func (*Store) WithStoreConfig added in v1.15.0

func (r *Store) WithStoreConfig(ctx context.Context) context.Context

WithStoreConfig populates the context with the store config.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL