secrets

package
v3.116.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Overview

Package secrets defines the interface common to all secret managers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AreCompatible

func AreCompatible(a, b Manager) bool

AreCompatible returns true if the two Managers are of the same type and have the same state.

Types

type Manager

type Manager interface {
	// Type returns a string that reflects the type of this provider. This is serialized along with the state of
	// the manager into the deployment such that we can re-construct the correct manager when deserializing a
	// deployment into a snapshot.
	Type() string
	// An opaque JSON blob, which can be used later to reconstruct the provider when deserializing the
	// deployment into a snapshot.
	State() json.RawMessage
	// Encrypter returns a `config.Encrypter` that can be used to encrypt values when serializing a snapshot into a
	// deployment, or an error if one can not be constructed.
	Encrypter() (config.Encrypter, error)
	// Decrypter returns a `config.Decrypter` that can be used to decrypt values when deserializing a snapshot from a
	// deployment, or an error if one can not be constructed.
	Decrypter() (config.Decrypter, error)
}

Manager provides the interface for providing stack encryption.

type MockDecrypter added in v3.99.0

type MockDecrypter struct {
	DecryptValueF func() string
	BulkDecryptF  func() map[string]string
}

func (*MockDecrypter) BulkDecrypt added in v3.99.0

func (md *MockDecrypter) BulkDecrypt(ctx context.Context, ciphertexts []string) (map[string]string, error)

func (*MockDecrypter) DecryptValue added in v3.99.0

func (md *MockDecrypter) DecryptValue(ctx context.Context, ciphertext string) (string, error)

type MockEncrypter added in v3.99.0

type MockEncrypter struct {
	EncryptValueF func() string
}

func (*MockEncrypter) EncryptValue added in v3.99.0

func (me *MockEncrypter) EncryptValue(ctx context.Context, plaintext string) (string, error)

type MockProvider added in v3.102.0

type MockProvider struct {
	// contains filtered or unexported fields
}

func (*MockProvider) Add added in v3.102.0

func (mp *MockProvider) Add(ty string, f func(json.RawMessage) (Manager, error)) *MockProvider

Return a new MockProvider with the given type and manager function registered.

func (*MockProvider) OfType added in v3.102.0

func (mp *MockProvider) OfType(ty string, state json.RawMessage) (Manager, error)

type MockSecretsManager added in v3.99.0

type MockSecretsManager struct {
	TypeF      func() string
	StateF     func() json.RawMessage
	EncrypterF func() (config.Encrypter, error)
	DecrypterF func() (config.Decrypter, error)
}

func (*MockSecretsManager) Decrypter added in v3.99.0

func (msm *MockSecretsManager) Decrypter() (config.Decrypter, error)

func (*MockSecretsManager) Encrypter added in v3.99.0

func (msm *MockSecretsManager) Encrypter() (config.Encrypter, error)

func (*MockSecretsManager) State added in v3.99.0

func (msm *MockSecretsManager) State() json.RawMessage

func (*MockSecretsManager) Type added in v3.99.0

func (msm *MockSecretsManager) Type() string

type Provider added in v3.52.0

type Provider interface {
	// OfType returns a secrets manager for the given type, initialized with its previous state.
	OfType(ty string, state json.RawMessage) (Manager, error)
}

Provider allows for the creation of secrets managers based on a well-known type name.

Directories

Path Synopsis
Package b64 implements a base64 secrets manager for testing purposes.
Package b64 implements a base64 secrets manager for testing purposes.
Package cloud implements support for a generic cloud secret manager.
Package cloud implements support for a generic cloud secret manager.
Package passphrase implements support for a local passphrase secret manager.
Package passphrase implements support for a local passphrase secret manager.
Package service implements support for the Pulumi Service secret manager.
Package service implements support for the Pulumi Service secret manager.

Jump to

Keyboard shortcuts

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