config

package
v3.9.1 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2024 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package config provides a way to find and load SOPS configuration files

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindConfigFile

func FindConfigFile(start string) (string, error)

FindConfigFile looks for a sops config file in the current working directory and on parent directories, up to the limit defined by the maxDepth constant.

Types

type Config

type Config struct {
	KeyGroups         []sops.KeyGroup
	ShamirThreshold   int
	UnencryptedSuffix string
	EncryptedSuffix   string
	UnencryptedRegex  string
	EncryptedRegex    string
	MACOnlyEncrypted  bool
	Destination       publish.Destination
	OmitExtensions    bool
}

Config is the configuration for a given SOPS file

func LoadCreationRuleForFile

func LoadCreationRuleForFile(confPath string, filePath string, kmsEncryptionContext map[string]*string) (*Config, error)

LoadCreationRuleForFile load the configuration for a given SOPS file from the config file at confPath. A kmsEncryptionContext should be provided for configurations that do not contain key groups, as there's no way to specify context inside a SOPS config file outside of key groups.

func LoadDestinationRuleForFile

func LoadDestinationRuleForFile(confPath string, filePath string, kmsEncryptionContext map[string]*string) (*Config, error)

LoadDestinationRuleForFile works the same as LoadCreationRuleForFile, but gets the "creation_rule" from the matching destination_rule's "recreation_rule".

type DotenvStoreConfig

type DotenvStoreConfig struct{}

type INIStoreConfig

type INIStoreConfig struct{}

type JSONBinaryStoreConfig

type JSONBinaryStoreConfig struct {
	Indent int `yaml:"indent"`
}

type JSONStoreConfig

type JSONStoreConfig struct {
	Indent int `yaml:"indent"`
}

type StoresConfig

type StoresConfig struct {
	Dotenv     DotenvStoreConfig     `yaml:"dotenv"`
	INI        INIStoreConfig        `yaml:"ini"`
	JSONBinary JSONBinaryStoreConfig `yaml:"json_binary"`
	JSON       JSONStoreConfig       `yaml:"json"`
	YAML       YAMLStoreConfig       `yaml:"yaml"`
}

func LoadStoresConfig

func LoadStoresConfig(confPath string) (*StoresConfig, error)

func NewStoresConfig

func NewStoresConfig() *StoresConfig

type YAMLStoreConfig

type YAMLStoreConfig struct {
	Indent int `yaml:"indent"`
}

Jump to

Keyboard shortcuts

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