kvutils

package
v0.1.10 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeriveKVKeyName added in v0.1.10

func DeriveKVKeyName(namespace string, keyname string, keyjson string) (string, error)

func DeriveKeyName

func DeriveKeyName(namespace string, keyname string, keyjson string) (string, error)

func GetMetadataInfo

func GetMetadataInfo() (string, string, error)

func KvCreateHttpClient

func KvCreateHttpClient() *retryablehttp.Client

func KvDeleteSecret

func KvDeleteSecret(client *vault.Client, kv_engine string, kv_version string, secretPath string) error

func KvGetClient

func KvGetClient(vault_addr string, namespace string, vault_approle_id string, vault_secret_id string) (*vault.Client, error)

func KvGetClientPwd

func KvGetClientPwd(configUrlStr string, configPwdStr string, AEAD_CONFIG cmap.ConcurrentMap) (*vault.Client, error)

Fetches a key-value secret (kv-v2) after authenticating via AppRole.

func KvGetClientWithApprole

func KvGetClientWithApprole(vault_addr string, namespace string, vault_writer_approle_id string, vault_writer_secret_id string, vault_writer_approle_name string, vault_secretgenerator_iam_role_name string) (*vault.Client, error)

Fetches a key-value secret (kv-v2) after authenticating via AppRole.

func KvGetSecret

func KvGetSecret(client *vault.Client, kv_engine string, kv_version string, secretPath string) (*vault.KVSecret, error)

func KvGetSecretPaths

func KvGetSecretPaths(client *vault.Client, kv_engine string, kv_version string, rootpath string) ([]string, error)

func KvGoDoHttp

func KvGoDoHttp(inputData map[string]interface{}, url string, method string, bodyMap map[string]interface{}, token string) error

func KvPatchSecret

func KvPatchSecret(client *vault.Client, kv_engine string, kv_version string) (*vault.KVSecret, error)

func KvPutSecret

func KvPutSecret(client *vault.Client, kv_engine string, kv_version string, secretPath string, secretMap map[string]interface{}) (*vault.KVSecret, error)

func UnwrapKeyset

func UnwrapKeyset(client *VaultClientWrapper, encryptedKVKey EncryptedKVKey, kvTransitKey string, kvTransitEngine string) (string, error)

func WrapKeyset

func WrapKeyset(client *VaultClientWrapper, rawKeyset string, kvTransitKey string, kvTransitEngine string) (string, error)

Types

type DecryptedKVKey

type DecryptedKVKey struct {
	Plaintext string `json:"plaintext"`
}

func KVTransitDecrypt

func KVTransitDecrypt(c *VaultClientWrapper, encrypted EncryptedKVKey, kvTransitKey string, kvTransitEngine string) (DecryptedKVKey, error)

type EncryptedKVKey

type EncryptedKVKey struct {
	Ciphertext string `json:"ciphertext"`
}

func KVTransitEncrypt

func KVTransitEncrypt(c *VaultClientWrapper, rawKeyset string, kvTransitKey string, kvTransitEngine string) (EncryptedKVKey, error)

type KVConnection added in v0.1.10

type KVConnection struct {
	Client         *vault.Client
	Engine         string
	Version        string `default:"v1"`
	Url            string
	Approle_id     string
	Secret_id      string
	Namespace      string
	Path           string `default:""`
	Kek            string
	Transit_engine string
}

type KVOptions

type KVOptions struct {
	Vault_kv_url               string
	Vault_kv_active            string
	Vault_kv_approle_id        string
	Vault_kv_secret_id         string
	Vault_kv_engine            string
	Vault_kv_version           string
	Vault_transit_active       string
	Vault_transit_url          string
	Vault_transit_approle_id   string
	Vault_transit_secret_id    string
	Vault_transit_kv_engine    string
	Vault_transit_kv_version   string
	Vault_transit_kv_push_path string
	Vault_transit_kv_pull_path string
	Vault_transit_namespace    string
	Vault_transit_engine       string
	// Vault_transit_tokenname        string
	Vault_transit_kek              string
	Vault_kv_writer_role           string
	Vault_secretgenerator_iam_role string
}

type VaultClientWrapper

type VaultClientWrapper interface {
	Write(path string, data map[string]interface{}) (*vault.Secret, error)
	GetClient() *vault.Client
}

type VaultClientWrapperImpl

type VaultClientWrapperImpl struct {
	Client *vault.Client
}

func (VaultClientWrapperImpl) GetClient

func (w VaultClientWrapperImpl) GetClient() *vault.Client

func (VaultClientWrapperImpl) Write

func (w VaultClientWrapperImpl) Write(path string, data map[string]interface{}) (*vault.Secret, error)

Jump to

Keyboard shortcuts

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