Help us shape the future of Go! Take the 2026 Go Developer Survey

awskms

package
v1.15.5 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: Apache-2.0 Imports: 41 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuiltIn

func BuiltIn() catalog.BuiltIn

Types

type Config

type Config struct {
	AccessKeyID        string            `hcl:"access_key_id" json:"access_key_id"`
	SecretAccessKey    string            `hcl:"secret_access_key" json:"secret_access_key"`
	Region             string            `hcl:"region" json:"region"`
	KeyIdentifierFile  string            `hcl:"key_identifier_file" json:"key_identifier_file"`
	KeyIdentifierValue string            `hcl:"key_identifier_value" json:"key_identifier_value"`
	KeyPolicyFile      string            `hcl:"key_policy_file" json:"key_policy_file"`
	KeyTags            map[string]string `hcl:"key_tags" json:"key_tags"`

	// EnableTagBasedKeyDiscovery enables the use of AWS Resource Groups Tagging API
	// for efficient key discovery instead of the legacy alias-based approach.
	// When enabled, keys are discovered using SPIRE-specific tags (spire-server-td,
	// spire-server-id, spire-active).
	// This eliminates the need for broad ListKeys + DescribeKey permissions and reduces API costs.
	//
	// Default: false (uses legacy alias-based discovery)
	// In a future SPIRE version, this will default to true. The alias-based
	// approach will be deprecated in a future version and removed in a later one.
	//
	// Note: When enabled, the plugin requires the tag:GetResources IAM
	// permission (from the AWS Resource Groups Tagging API).
	EnableTagBasedKeyDiscovery bool `hcl:"enable_tag_based_key_discovery" json:"enable_tag_based_key_discovery"`
}

Config provides configuration context for the plugin

type Plugin

type Plugin struct {
	keymanagerv1.UnsafeKeyManagerServer
	configv1.UnsafeConfigServer
	// contains filtered or unexported fields
}

Plugin is the main representation of this keymanager plugin

func New

func New() *Plugin

New returns an instantiated plugin

func (*Plugin) Configure

Configure sets up the plugin

func (*Plugin) GenerateKey

GenerateKey creates a key in KMS. If a key already exists in the local storage, it is updated.

func (*Plugin) GetPublicKey

GetPublicKey returns the public key for a given key

func (*Plugin) GetPublicKeys

GetPublicKeys return the publicKey for all the keys

func (*Plugin) SetLogger

func (p *Plugin) SetLogger(log hclog.Logger)

SetLogger sets a logger

func (*Plugin) SignData

SignData creates a digital signature for the data to be signed

func (*Plugin) Validate added in v1.11.0

Jump to

Keyboard shortcuts

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