https://github.com/ssbostan/vault-secrets-sdk-go
HCP Vault Secrets SDK for Go programming language
https://github.com/ssbostan/vault-secrets-sdk-go
hashicorp hcp secrets vault
Last synced: 18 days ago
JSON representation
HCP Vault Secrets SDK for Go programming language
- Host: GitHub
- URL: https://github.com/ssbostan/vault-secrets-sdk-go
- Owner: ssbostan
- License: apache-2.0
- Created: 2023-06-14T16:55:11.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-07-24T20:42:25.000Z (almost 2 years ago)
- Last Synced: 2025-03-30T16:03:10.312Z (about 2 months ago)
- Topics: hashicorp, hcp, secrets, vault
- Language: Go
- Homepage:
- Size: 11.7 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vault-secrets-sdk-go
**HCP Vault Secrets** SDK for Go programming language.
HCP Vault Secrets is a simplified KV engine that allows you to store your application's secrets and credentials in a centralized and secure way. By using HCP Vault Secrets, you don't need to deal with the HashiCorp Vault cluster! You need to create an application, a bunch of secrets, go.
Read [more](https://developer.hashicorp.com/vault/tutorials/hcp-vault-secrets-get-started) on HashiCorp Developer Portal.
## Quick start guide:
```go
package mainimport (
"fmt"
"log"
"strings"vaultsecrets "github.com/ssbostan/vault-secrets-sdk-go"
)func main() {
client, err := vaultsecrets.NewClient(
"HCP_ORGANIZATION_ID",
"HCP_PROJECT_ID",
"HCP_APPLICATION_NAME",
"HCP_CLIENT_ID",
"HCP_CLIENT_SECRET",
)
if err != nil {
log.Fatalln(err)
}secret, err := client.Get("MY_APP_SECRET")
if err != nil {
log.Fatalln(err)
}
fmt.Printf("Get method for MY_APP_SECRET: %s\n", secret)secretsList, err := client.List()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("List method for listing secrets: %s\n", strings.Join(secretsList, ", "))secrets, err := client.GetAll()
if err != nil {
log.Fatalln(err)
}
fmt.Println("GetAll method to get all secrets:")
for key, value := range secrets {
fmt.Printf("%s: %s\n", key, value)
}
}
```## Available functions/methods:
- **NewClient(o, p, a, clientID, clientSecret)**: Returns ready to use Client struct.
- **Client.Authenticate()**: Authenticates and gets API Access Token.
- **Client.Get(name)**: Fetches secret value from the specified application.
- **Client.List()**: List all secrets in the specified application.
- **Client.GetAll()**: Get value of all secrets in the specified application.Copyright 2023 Saeid Bostandoust