Created
April 30, 2024 12:35
-
-
Save tkellen/6926db90dfa1365cf90aa3e7f5d7e76a to your computer and use it in GitHub Desktop.
fetch secret from oci vault
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"context" | |
"encoding/base64" | |
"log" | |
"os" | |
"github.com/oracle/oci-go-sdk/v65/common" | |
"github.com/oracle/oci-go-sdk/v65/secrets" | |
) | |
func main() { | |
vaultId := os.Getenv("OCI_VAULT_ID") | |
if vaultId == "" { | |
log.Fatal("env OCI_VAULT_ID must be specified.") | |
} | |
secretName := os.Getenv("OCI_SECRET_NAME") | |
if secretName == "" { | |
log.Fatal("env OCI_SECRET_NAME must be specified.") | |
} | |
client, err := secrets.NewSecretsClientWithConfigurationProvider( | |
common.DefaultConfigProvider(), | |
) | |
if err != nil { | |
log.Fatalf("Unable to auth to OCI: %v", err) | |
} | |
resp, err := client.GetSecretBundleByName(context.Background(), secrets.GetSecretBundleByNameRequest{ | |
SecretName: common.String(secretName), | |
VaultId: common.String(vaultId), | |
}) | |
if err != nil { | |
log.Fatalf("Failed to get secret: %v", err) | |
} | |
secret, ok := resp.SecretBundleContent.(secrets.Base64SecretBundleContentDetails) | |
if !ok { | |
log.Fatalf("Failed to unpack secret: %v", err) | |
} | |
value, err := base64.StdEncoding.DecodeString(*secret.Content) | |
if err != nil { | |
log.Fatal("error:", err) | |
} | |
log.Printf("%s=%s", secretName, value) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment