aliyun-secretsmanager-client-go

module
v1.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2023 License: Apache-2.0

README

Aliyun Secrets Manager Client for Go

The Aliyun Secrets Manager Client for Go enables Go developers to easily work with Aliyun KMS Secrets.

Read this in other languages: English, 简体中文

License

Apache License 2.0

Features

  • Provide quick integration capability to gain secret information
  • Provide Alibaba secrets cache ( memory cache or encryption file cache )
  • Provide tolerated disaster by the secrets with the same secret name and secret data in different regions
  • Provide default backoff strategy and user-defined backoff strategy

Requirements

  • You must use Go 1.10.x or later.

Installation

Use go get to install SDK:

$ go get -u github.com/aliyun/aliyun-secretsmanager-client-go

Sample Code

Ordinary User Sample Code
package main

import "github.com/aliyun/aliyun-secretsmanager-client-go/sdk"

func main() {
	client, err := sdk.NewClient()
	if err != nil {
		// Handle exceptions
		panic(err)
	}
	secretInfo, err := client.GetSecretInfo("#secretName#")
	if err != nil {
		// Handle exceptions
		panic(err)
	}
}
    
  • Build Secrets Manager Client by the given parameters(accessKey, accessSecret, regionId, etc)
package main

import (
	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk/service"
	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
	"os"
)

func main() {
	client, err := sdk.NewSecretCacheClientBuilder(service.NewDefaultSecretManagerClientBuilder().Standard().WithAccessKey(os.Getenv("#accessKeyId#"), os.Getenv("#accessKeySecret#")).WithRegion("#regionId#").Build()).Build()
	if err != nil {
		// Handle exceptions
		panic(err)
	}
	secretInfo, err := client.GetSecretInfo("#secretName#")
	if err != nil {
		// Handle exceptions
		panic(err)
	}
}
Particular User Sample Code
  • Use custom parameters or customized implementation
package main

import (
	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk/service"
	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
    "github.com/aliyun/aliyun-secretsmanager-client-go/sdk/cache"
	"os"
)

func main() {
	client, err := sdk.NewSecretCacheClientBuilder(
        		service.NewDefaultSecretManagerClientBuilder().Standard().WithAccessKey(os.Getenv("#accessKeyId#"), os.Getenv("#accessKeySecret#")).WithRegion("#regionId#").WithBackoffStrategy(&service.FullJitterBackoffStrategy{RetryMaxAttempts: 3, RetryInitialIntervalMills: 2000, Capacity: 10000}).Build()).WithCacheSecretStrategy(cache.NewFileCacheSecretStoreStrategy("#cacheSecretPath#", true, "#salt#")).WithRefreshSecretStrategy(service.NewDefaultRefreshSecretStrategy("#jsonTTLPropertyName#")).WithCacheStage("ACSCurrent").WithSecretTTL("#secretName#", 1*60*1000).Build()
	if err != nil {
		// Handle exceptions
		panic(err)
	}
	secretInfo, err := client.GetSecretInfo("#secretName#")
	if err != nil {
		// Handle exceptions
		panic(err)
	}
}

Directories

Path Synopsis
sdk

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL