Back to

Package root

Latest Go to latest
Published: Jul 26, 2019 | License: MIT | Module:


Package Files

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

func New

func New(ctx context.Context, cfg *config.Config) (*Store, error)

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) 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, path string) error

Fsck checks all stores/entries matching the given prefix

func (*Store) Get

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

Get returns the plaintext of a single key

func (*Store) GetContext

func (r *Store) GetContext(ctx context.Context, name string) (store.Secret, context.Context, error)

GetContext returns the plaintext and the context of a single key

func (*Store) GetRevision

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

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

func (*Store) GetSubStore

func (r *Store) GetSubStore(name string) (store.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) GitAddRemote

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

GitAddRemote adds a git remote

func (*Store) GitInit

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

GitInit initializes the git repo

func (*Store) GitInitConfig

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

GitInitConfig initializes the git repos local config

func (*Store) GitPull

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

GitPull performs a git pull

func (*Store) GitPush

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

GitPush performs a git push

func (*Store) GitRemoveRemote

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

GitRemoveRemote removes a git remote

func (*Store) GitVersion

func (r *Store) GitVersion(ctx context.Context) semver.Version

GitVersion returns git version information

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) Initialized

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

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

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) 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) 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) RCS

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

RCS returns the sync backend

func (*Store) RecipientsTree

func (r *Store) RecipientsTree(ctx context.Context, pretty bool) (tree.Tree, 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) 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 store.Secret) error

Set encodes and write the ciphertext of one entry to disk

func (*Store) SetContext

func (r *Store) SetContext(ctx context.Context, name string, sec store.Secret) (context.Context, error)

SetContext encodes and write the ciphertext of one entry to disk and propagate the context

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.Tree, error)

TemplateTree returns a tree of all templates

func (*Store) Tree

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

Tree returns the tree representation of the entries

func (*Store) URL

func (r *Store) URL() string

URL returns the store URL

func (*Store) WithConfig

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

WithConfig populates the context with the substore config

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier