https://github.com/winebarrel/secretlamb
Golang library for using AWS Parameters and Secrets Lambda Extension.
https://github.com/winebarrel/secretlamb
golang lambda parameterstore secretsmanager
Last synced: about 1 year ago
JSON representation
Golang library for using AWS Parameters and Secrets Lambda Extension.
- Host: GitHub
- URL: https://github.com/winebarrel/secretlamb
- Owner: winebarrel
- License: mit
- Created: 2024-02-05T13:29:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-25T05:22:55.000Z (over 1 year ago)
- Last Synced: 2024-12-02T10:00:03.321Z (over 1 year ago)
- Topics: golang, lambda, parameterstore, secretsmanager
- Language: Go
- Homepage:
- Size: 51.8 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# secretlamb
[](https://github.com/winebarrel/secretlamb/actions/workflows/ci.yml)
[](https://pkg.go.dev/github.com/winebarrel/secretlamb)
[](https://github.com/winebarrel/secretlamb/tags)
[](https://goreportcard.com/report/github.com/winebarrel/secretlamb)
Golang library for using AWS Parameters and Secrets Lambda Extension.
- [Using Parameter Store parameters in AWS Lambda functions - AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html)
- [Use AWS Secrets Manager secrets in AWS Lambda functions - AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_lambda.html)
## Installation
```sh
go get github.com/winebarrel/secretlamb
```
## Usage
### Parameter Store
```go
package main
import (
"context"
"fmt"
"github.com/aws/aws-lambda-go/lambda"
"github.com/winebarrel/secretlamb"
)
func HandleRequest(ctx context.Context, event any) (*string, error) {
client := secretlamb.MustNewParameters() // .WithRetry(3)
v, err := client.Get("foo")
//v, err := client.GetWithDecryption("foo")
if err != nil {
return nil, err
}
fmt.Println(v.Parameter.Value)
return nil, nil
}
func main() {
lambda.Start(HandleRequest)
}
```
### Secrets Manager
```go
package main
import (
"context"
"fmt"
"github.com/aws/aws-lambda-go/lambda"
"github.com/winebarrel/secretlamb"
)
func HandleRequest(ctx context.Context, event any) (*string, error) {
client := secretlamb.MustNewSecrets() // .WithRetry(3)
v, err := client.Get("foo")
if err != nil {
return nil, err
}
fmt.Println(v.SecretString)
return nil, nil
}
func main() {
lambda.Start(HandleRequest)
}
```