go-aws-ssm alternatives and similar packages
Based on the "Configuration" category.
Alternatively, view go-aws-ssm alternatives based on common mentions on social networks and blogs.
-
koanf
Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. -
konfig
Composable, observable and performant config handling for Go for the distributed processing era -
gookit/config
📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 -
gcfg
read INI-style configuration files into Go structs; supports user-defined types and subsections -
goConfig
DISCONTINUED. goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. -
joshbetz/config
🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. -
configuro
An opinionated configuration loading framework for Containerized and Cloud-Native applications. -
hocon
go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config -
configure
Configure is a Go package that gives you easy configuration of your project through redundancy -
Genv
Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables to be loaded from the .env file. -
swap
Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of go-aws-ssm or a related project?
Popular Comparisons
README
go-aws-ssm
Go package that interfaces with AWS System Manager.
Why to use go-aws-ssm and not the aws-sdk-go?
This package is wrapping the aws-sdk-go and hides the complexity dealing with the not so Go friendly AWS SDK. Perfect use case for this package is when secure parameters for an application are stored to AWS Parameter Store using a path hierarchy. During application startup you can use this package to fetch them and use them in your application.
Install
go get github.com/PaddleHQ/go-aws-ssm
Examples
Basic Usage
//Assuming you have the parameters in the following format:
//my-service/dev/param-1 -> with value `a`
//my-service/dev/param-2 -> with value `b`
pmstore, err := awsssm.NewParameterStore()
if err != nil {
return err
}
//Requesting the base path
params, err := pmstore.GetAllParametersByPath("/my-service/dev/", true)
if err!=nil{
return err
}
//And getting a specific value
value:=params.GetValueByName("param-1")
//value should be `a`
Integrates easily with viper
//Assuming you have the parameters in the following format:
//my-service/dev/param-1 -> with value `a`
//my-service/dev/param-2 -> with value `b`
pmstore, err := awsssm.NewParameterStore()
if err != nil {
return err
}
//Requesting the base path
params, err := pmstore.GetAllParametersByPath("/my-service/dev/", true)
if err!=nil{
return err
}
//Configure viper to handle it as json document, nothing special here!
v := viper.New()
v.SetConfigType(`json`)
//params object implements the io.Reader interface that is required
err = v.ReadConfig(params)
if err != nil {
return err
}
value := v.Get(`param-1`)
//value should be `a`