backend

package
v0.0.0-...-1155021 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const EnvClient = "env.client"

Variables

View Source
var (
	SupportProvider map[string]CreateProvider
)

Functions

func NewProviderClientByENV

func NewProviderClientByENV(ctx context.Context, region string) error

func RegisterProvider

func RegisterProvider(providerName string, provider Provider)

Types

type ClientManager

type ClientManager interface {
	Register(clientKey string, secretClient SecretClient)
	GetClient(clientKey string) (SecretClient, error)
	Delete(clientKey string)
}

type CreateProvider

type CreateProvider func(region string)

type Provider

type Provider interface {
	ClientManager
	// NewClient constructs secrets client by secret store
	NewClient(ctx context.Context, store *v1alpha1.SecretStore, kube client.Client) (SecretClient, error)
	// NewClientByENV constructs secrets client by environment variable
	NewClientByENV(ctx context.Context, region string) (SecretClient, error)
	GetName() string
	GetRegion() string
}

func GetProviderByName

func GetProviderByName(providerName string) Provider

type SecretClient

type SecretClient interface {
	GetName() string
	// GetSecret gets secret via externalSecret
	GetExternalSecret(ctx context.Context, data *v1alpha1.DataSource, kube client.Client) (map[string][]byte, error)
	GetExternalSecretWithExtract(ctx context.Context, data *v1alpha1.DataProcess, kube client.Client) (map[string][]byte, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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