Go client for SecretHub
SecretHub is a developer tool to help you keep database passwords, API tokens, and other secrets out of IT automation scripts.
secrethub-go provides a client for various SecretHub APIs.
Install secrethub-go with:
go get -u github.com/secrethub/secrethub-go
Or install a specific version with:
go get -u github.com/secrethub/secrethub-go@vX.Y.Z
Then, import it using:
import ( "github.com/secrethub/secrethub-go/pkg/secrethub" )
For details on all functionality of this library, see the GoDoc documentation.
Below are a few simple examples:
import ( "github.com/secrethub/secrethub-go/pkg/randchar" "github.com/secrethub/secrethub-go/pkg/secrethub" ) // Setup credential, err := secrethub.NewCredential("<your credential>", "<passphrase>") client := secrethub.NewClient(credential, nil) // Write secret, err := client.Secrets().Write("path/to/secret", byte("password123")) // Read secret, err = client.Secrets().Versions().GetWithData("path/to/secret:latest") fmt.Println(secret.Data) // prints password123 // Generate a slice of 32 alphanumeric characters. data, err := randchar.NewGenerator(false).Generate(32) secret, err = client.Secrets().Write("path/to/secret", data)
Note that only packages inside the
/pkg directory should be considered library code that you can use in your projects. All other code is not guaranteed to be backwards compatible and may change in the future.
Pull requests from the community are welcome. If you'd like to contribute, please checkout the contributing guidelines.
Run all tests:
Run tests for one package:
go test ./pkg/secrethub
Run a single test:
go test ./pkg/secrethub -run TestSignup