credentials

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Credentials

type Credentials struct {
	// Username identifies a principal, which combined with the value of the
	// Password field, can be used for access to some repository.
	Username string
	// Password, when combined with the principal identified by the Username
	// field, can be used for access to some repository.
	Password string
	// SSHPrivateKey is a private key that can be used for access to some remote
	// repository. This is primarily applicable for Git repositories.
	SSHPrivateKey string
}

Credentials generically represents any type of repository credential.

type Database

type Database interface {
	Get(
		ctx context.Context,
		namespace string,
		credType Type,
		repo string,
	) (Credentials, bool, error)
}

Database is an interface for a Credentials store.

func NewKubernetesDatabase

func NewKubernetesDatabase(
	kargoClient client.Client,
	opts ...KubernetesDatabaseOption,
) Database

NewKubernetesDatabase initializes and returns an implementation of the Database interface that utilizes a Kubernetes controller runtime client to index and retrieve Credentials stored in Kubernetes Secrets. This function carries out the important task of indexing Credentials stored in Kubernetes Secrets by repository type + URL.

type FakeDB

type FakeDB struct {
	GetFn func(
		ctx context.Context,
		namespace string,
		credType Type,
		repo string,
	) (Credentials, bool, error)
}

FakeDB is a mock implementation of the Database interface that is used to facilitate unit testing.

func (*FakeDB) Get

func (f *FakeDB) Get(
	ctx context.Context,
	namespace string,
	credType Type,
	repo string,
) (Credentials, bool, error)

type KubernetesDatabaseOption added in v0.3.0

type KubernetesDatabaseOption func(*kubernetesDatabaseConfig)

KubernetesDatabaseOption is a functional option for configuring a kubernetesDatabase. Options defined in credentials_options.go.

func WithArgoCDNamespace added in v0.3.0

func WithArgoCDNamespace(namespace string) KubernetesDatabaseOption

func WithArgoClient added in v0.3.0

func WithArgoClient(argoClient client.Client) KubernetesDatabaseOption

func WithGlobalCredentialsNamespaces added in v0.3.0

func WithGlobalCredentialsNamespaces(namespaces []string) KubernetesDatabaseOption

type Type

type Type string

Type is a string type used to represent a type of Credentials.

const (
	// TypeGit represents credentials for a Git repository.
	TypeGit Type = "git"
	// TypeHelm represents credentials for a Helm chart repository.
	TypeHelm Type = "helm"
	// TypeImage represents credentials for an image repository.
	TypeImage Type = "image"
)

Jump to

Keyboard shortcuts

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