Client-For-OpenBao/.history/main_20241128143954.go
2024-12-02 10:51:23 +01:00

59 lines
1.2 KiB
Go

package main
import (
"context"
"fmt"
"log"
openbao "github.com/openbao/openbao/api/v2"
)
func main() {
// fmt.Println("hello there")
main2()
}
func main2(){
fmt.Println("Connecting...")
config := openbao.DefaultConfig()
config.Address = "http://localhost:8200"
client, err := openbao.NewClient(config)
if err != nil {
log.Fatalf("unable to initialize OpenBao client: %v", err)
}
client.SetToken("s.javThgMSxCxyJbpS8sSNOPhO")
// Writing a secret
secretData := map[string]interface{}{
"password": "OpenBao123",
}
_, err = client.KVv2("secret").Put(context.Background(), "my-secret-password", secretData)
if err != nil {
log.Fatalf("unable to write secret: %v", err)
}
fmt.Println("Secret written successfully.")
// Retrieving a secret
secret, err := client.KVv2("secret").Get(context.Background(), "my-secret-password")
if err != nil {
log.Fatalf("unable to read secret: %v", err)
}
value, ok := secret.Data["password"].(string)
if !ok {
log.Fatalf("value type assertion failed: %T %#v", secret.Data["password"], secret.Data["password"])
}
if value != "OpenBao123" {
log.Fatalf("unexpected password value %q retrieved from openbao", value)
}
fmt.Println("Access granted!")
fmt.Println(value)
}