config

package
v1.12.9 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrConfigNotFound is returned on load if the config was not found
	ErrConfigNotFound = fmt.Errorf("config not found")
	// ErrConfigNotParsed is returned on load if the config could not be decoded
	ErrConfigNotParsed = fmt.Errorf("config not parseable")
)

Functions

func Directory

func Directory() string

Directory returns the configuration directory for the gopass config file

func Homedir

func Homedir() string

Homedir returns the users home dir or an empty string if the lookup fails

func PwStoreDir

func PwStoreDir(mount string) string

PwStoreDir reads the password store dir from the environment or returns the default location if the env is not set

Types

type Config

type Config struct {
	AutoClip      bool              `yaml:"autoclip"`      // decide whether passwords are automatically copied or not
	AutoImport    bool              `yaml:"autoimport"`    // import missing public keys w/o asking
	ClipTimeout   int               `yaml:"cliptimeout"`   // clear clipboard after seconds
	ExportKeys    bool              `yaml:"exportkeys"`    // automatically export public keys of all recipients
	NoPager       bool              `yaml:"nopager"`       // do not invoke a pager to display long lists
	Notifications bool              `yaml:"notifications"` // enable desktop notifications
	Parsing       bool              `yaml:"parsing"`       // allows to switch off all output parsing
	Path          string            `yaml:"path"`
	SafeContent   bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	Mounts        map[string]string `yaml:"mounts"`

	ConfigPath string `yaml:"-"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Config is the current config struct

func Load

func Load() *Config

Load will load the config from the default location or return a default config

func LoadWithFallback

func LoadWithFallback() *Config

LoadWithFallback will try to load the config from one of the default locations

func LoadWithFallbackRelaxed

func LoadWithFallbackRelaxed() *Config

LoadWithFallbackRelaxed will try to load the config from one of the default locations but also accept a more recent config.

func New

func New() *Config

New creates a new config with sane default values

func (*Config) CheckOverflow

func (c *Config) CheckOverflow() error

CheckOverflow implements configer. It will check for any extra config values not handled by the current struct

func (*Config) Config

func (c *Config) Config() *Config

Config will return a current config

func (*Config) ConfigMap

func (c *Config) ConfigMap() map[string]string

ConfigMap returns a map of stringified config values for easy printing

func (*Config) Directory

func (c *Config) Directory() string

Directory returns the directory this config is using

func (*Config) Save

func (c *Config) Save() error

Save saves the config

func (*Config) SetConfigValue

func (c *Config) SetConfigValue(key, value string) error

SetConfigValue will try to set the given key to the value in the config struct

func (*Config) String

func (c *Config) String() string

func (*Config) WithContext

func (c *Config) WithContext(ctx context.Context) context.Context

WithContext returns a context with all config options set for this store config, iff they have not been already set in the context

type Pre1102

type Pre1102 struct {
	AutoClip      bool              `yaml:"autoclip"`      // decide whether passwords are automatically copied or not
	AutoImport    bool              `yaml:"autoimport"`    // import missing public keys w/o asking
	ClipTimeout   int               `yaml:"cliptimeout"`   // clear clipboard after seconds
	ExportKeys    bool              `yaml:"exportkeys"`    // automatically export public keys of all recipients
	MIME          bool              `yaml:"mime"`          // enable gopass native MIME secrets
	NoColor       bool              `yaml:"nocolor"`       // do not use color when outputing text
	NoPager       bool              `yaml:"nopager"`       // do not invoke a pager to display long lists
	Notifications bool              `yaml:"notifications"` // enable desktop notifications
	Path          string            `yaml:"path"`
	SafeContent   bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	Mounts        map[string]string `yaml:"mounts"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre1102 is a pre-1.10.2 config

func (*Pre1102) CheckOverflow

func (c *Pre1102) CheckOverflow() error

CheckOverflow implements configer

func (*Pre1102) Config

func (c *Pre1102) Config() *Config

Config converts the Pre1102 config to the current config struct

type Pre1127

type Pre1127 struct {
	AutoClip      bool              `yaml:"autoclip"`      // decide whether passwords are automatically copied or not
	AutoImport    bool              `yaml:"autoimport"`    // import missing public keys w/o asking
	ClipTimeout   int               `yaml:"cliptimeout"`   // clear clipboard after seconds
	ExportKeys    bool              `yaml:"exportkeys"`    // automatically export public keys of all recipients
	NoColor       bool              `yaml:"nocolor"`       // do not use color when outputing text
	NoPager       bool              `yaml:"nopager"`       // do not invoke a pager to display long lists
	Notifications bool              `yaml:"notifications"` // enable desktop notifications
	Parsing       bool              `yaml:"parsing"`       // allows to switch off all output parsing
	Path          string            `yaml:"path"`
	SafeContent   bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	Mounts        map[string]string `yaml:"mounts"`

	ConfigPath string `yaml:"-"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre1127 is a pre-1.12.7 config

func (*Pre1127) CheckOverflow

func (c *Pre1127) CheckOverflow() error

CheckOverflow implements configer

func (*Pre1127) Config

func (c *Pre1127) Config() *Config

Config converts the Pre1127 config to the current config struct

type Pre130

type Pre130 struct {
	AlwaysTrust bool              `yaml:"alwaystrust"` // always trust public keys when encrypting
	AskForMore  bool              `yaml:"askformore"`  // ask for more data on generate
	AutoImport  bool              `yaml:"autoimport"`  // import missing public keys w/o asking
	AutoPull    bool              `yaml:"autopull"`    // pull from git before push
	AutoPush    bool              `yaml:"autopush"`    // push to git remote after commit
	ClipTimeout int               `yaml:"cliptimeout"` // clear clipboard after seconds
	Debug       bool              `yaml:"debug"`       // enable debug output
	LoadKeys    bool              `yaml:"loadkeys"`    // load missing keys from store
	Mounts      map[string]string `yaml:"mounts,omitempty"`
	NoColor     bool              `yaml:"nocolor"`     // disable colors in output
	Confirm     bool              `yaml:"noconfirm"`   // do not confirm recipients when encrypting
	Path        string            `yaml:"path"`        // path to the root store
	PersistKeys bool              `yaml:"persistkeys"` // store recipient keys in store
	SafeContent bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	Version     string            `yaml:"version"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre130 is the gopass config structure before version 1.3.0. Not all fields were available between 1.0.0 and 1.3.0, but this struct should cover all of them.

func (*Pre130) CheckOverflow

func (c *Pre130) CheckOverflow() error

CheckOverflow implements configer

func (*Pre130) Config

func (c *Pre130) Config() *Config

Config converts the Pre130 config to the current config struct

type Pre140

type Pre140 struct {
	AskForMore  bool              `yaml:"askformore"`  // ask for more data on generate
	AutoImport  bool              `yaml:"autoimport"`  // import missing public keys w/o asking
	AutoSync    bool              `yaml:"autosync"`    // push to git remote after commit, pull before push if necessary
	ClipTimeout int               `yaml:"cliptimeout"` // clear clipboard after seconds
	Mounts      map[string]string `yaml:"mounts,omitempty"`
	Confirm     bool              `yaml:"noconfirm"`   // do not confirm recipients when encrypting
	Path        string            `yaml:"path"`        // path to the root store
	SafeContent bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	Version     string            `yaml:"version"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre140 is the gopass config structure before version 1.4.0

func (*Pre140) CheckOverflow

func (c *Pre140) CheckOverflow() error

CheckOverflow implements configer

func (*Pre140) Config

func (c *Pre140) Config() *Config

Config converts the Pre140 config to the current config struct

type Pre182

type Pre182 struct {
	Path    string                        `yaml:"-"`
	Root    *Pre182StoreConfig            `yaml:"root"`
	Mounts  map[string]*Pre182StoreConfig `yaml:"mounts"`
	Version string                        `yaml:"version"`

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre182 is the gopass config structure before version 1.8.2

func (*Pre182) CheckOverflow

func (c *Pre182) CheckOverflow() error

CheckOverflow implements configer

func (*Pre182) Config

func (c *Pre182) Config() *Config

Config converts the Pre182 config to the current config struct

type Pre182StoreConfig

type Pre182StoreConfig struct {
	AskForMore     bool              `yaml:"askformore"` // ask for more data on generate
	AutoClip       bool              `yaml:"autoclip"`   // decide whether passwords are automatically copied or not
	AutoImport     bool              `yaml:"autoimport"` // import missing public keys w/o asking
	AutoSync       bool              `yaml:"autosync"`   // push to git remote after commit, pull before push if necessary
	CheckRecpHash  bool              `yaml:"check_recipient_hash"`
	ClipTimeout    int               `yaml:"cliptimeout"`    // clear clipboard after seconds
	Concurrency    int               `yaml:"concurrency"`    // allow to run multiple thread when batch processing
	EditRecipients bool              `yaml:"editrecipients"` // edit recipients when confirming
	NoColor        bool              `yaml:"nocolor"`        // do not use color when outputing text
	Confirm        bool              `yaml:"noconfirm"`      // do not confirm recipients when encrypting
	NoPager        bool              `yaml:"nopager"`        // do not invoke a pager to display long lists
	Notifications  bool              `yaml:"notifications"`  // enable desktop notifications
	Path           string            `yaml:"path"`           // path to the root store
	RecipientHash  map[string]string `yaml:"recipient_hash"`
	SafeContent    bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	UseSymbols     bool              `yaml:"usesymbols"`  // always use symbols when generating passwords
}

Pre182StoreConfig is a per-store (root or mount) config

type Pre193

type Pre193 struct {
	Path   string `yaml:"-"`
	Root   *Pre193StoreConfig
	Mounts map[string]*Pre193StoreConfig

	// Catches all undefined files and must be empty after parsing
	XXX map[string]interface{} `yaml:",inline"`
}

Pre193 is is pre-1.9.3 config

func (*Pre193) CheckOverflow

func (c *Pre193) CheckOverflow() error

CheckOverflow implements configer

func (*Pre193) Config

func (c *Pre193) Config() *Config

Config converts the Pre193 config to the current config struct

type Pre193StoreConfig

type Pre193StoreConfig struct {
	AutoClip       bool              `yaml:"autoclip"`   // decide whether passwords are automatically copied or not
	AutoImport     bool              `yaml:"autoimport"` // import missing public keys w/o asking
	AutoSync       bool              `yaml:"autosync"`   // push to git remote after commit, pull before push if necessary
	CheckRecpHash  bool              `yaml:"check_recipient_hash"`
	ClipTimeout    int               `yaml:"cliptimeout"`    // clear clipboard after seconds
	Concurrency    int               `yaml:"concurrency"`    // allow to run multiple thread when batch processing
	EditRecipients bool              `yaml:"editrecipients"` // edit recipients when confirming
	ExportKeys     bool              `yaml:"exportkeys"`     // automatically export public keys of all recipients
	NoColor        bool              `yaml:"nocolor"`        // do not use color when outputing text
	Confirm        bool              `yaml:"noconfirm"`      // do not confirm recipients when encrypting
	NoPager        bool              `yaml:"nopager"`        // do not invoke a pager to display long lists
	Notifications  bool              `yaml:"notifications"`  // enable desktop notifications
	Path           string            `yaml:"path"`           // path to the root store
	RecipientHash  map[string]string `yaml:"recipient_hash"`
	SafeContent    bool              `yaml:"safecontent"` // avoid showing passwords in terminal
	UseSymbols     bool              `yaml:"usesymbols"`  // always use symbols when generating passwords
}

Pre193StoreConfig is a pre-1.9.3 store config

Jump to

Keyboard shortcuts

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