Documentation ¶
Overview ¶
Store is not designed to be used as a database, or some high intensity key/value store, rather a low volume ad-hoc key value store for secrets inside of AWS.
This should work out of the box with pretty much every AWS account. See also the bundled program.
Index ¶
Constants ¶
const SSM_KEY_FORMAT = "%s-%04X" // Should be good up to 256MB ( 16^4 bytes... )
const SSM_MAX_SIZE = 4096 // This is dictated by AWS
Variables ¶
var ( // TrimRegex is used to group the SSM keys inside of the Info struct under // ByKey. This is used so that we can have keys larger than 4KB. // See also SSM_KEY_FORMAT TrimRegex = regexp.MustCompile("-[0-9A-E][0-9A-E][0-9A-E][0-9A-E]$") // KMS_KEY_ID is optional, can be set set to utilize a specific KMS key if // desired. KMS_KEY_ID *string = nil // Tags are also optional, if used with the bundled program you can // simply set an environment variable. Otherwise, set them here // at the package level. Tags = []*ssm.Tag{} )
Functions ¶
func GetParam ¶
GetParam will suck data out of parameter store for a key, automatically collecting all of the individual parameters needed to reconstruct the data and writes it out to the io.Writer
func InsertParam ¶
InsertParam will chuck data from the rdr into the parameter store under key, automatically chunking it into multiple parameters as needed.
Types ¶
type Entry ¶
type Entry struct { Name string Keys []*ssm.ParameterMetadata }
Entry represents an entry in the store, and all of the actual parameters that it spans
type Info ¶
Info contains a few maps with pointers to all of the parameters, setup with different keys for easy lookup. `ByKey` is what you'd expect. `ByFullKey` has a dash and four hex digits appended to it for entries larger than 4K and actually reflects the keys you'll see in the parameter store console.