db

package
v3.2.4 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2026 License: Apache-2.0 Imports: 38 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RepoURLToSecretName

func RepoURLToSecretName(prefix string, repo string, project string) string

RepoURLToSecretName hashes repo URL to a secret name using a formula. This is used when repositories are _imperatively_ created and need its credentials to be stored in a secret. NOTE: this formula should not be considered stable and may change in future releases. Do NOT rely on this formula as a means of secret lookup, only secret creation.

func SecretToCluster

func SecretToCluster(s *corev1.Secret) (*appv1.Cluster, error)

SecretToCluster converts a secret into a Cluster object

func URIToSecretName

func URIToSecretName(uriType, uri string) (string, error)

URIToSecretName hashes an uri address to the secret name using a formula. Part of the uri address is incorporated for debugging purposes

Types

type ArgoDB

type ArgoDB interface {
	// ListClusters lists configured clusters
	ListClusters(ctx context.Context) (*appv1.ClusterList, error)
	// CreateCluster creates a cluster
	CreateCluster(ctx context.Context, c *appv1.Cluster) (*appv1.Cluster, error)
	// WatchClusters allow watching for cluster informer
	WatchClusters(ctx context.Context,
		handleAddEvent func(cluster *appv1.Cluster),
		handleModEvent func(oldCluster *appv1.Cluster, newCluster *appv1.Cluster),
		handleDeleteEvent func(clusterServer string)) error
	// GetCluster returns a cluster by given server url
	GetCluster(ctx context.Context, server string) (*appv1.Cluster, error)
	// GetClusterServersByName returns a cluster server urls by given cluster name
	GetClusterServersByName(ctx context.Context, name string) ([]string, error)
	// GetProjectClusters return project scoped clusters by given project name
	GetProjectClusters(ctx context.Context, project string) ([]*appv1.Cluster, error)
	// UpdateCluster updates a cluster
	UpdateCluster(ctx context.Context, c *appv1.Cluster) (*appv1.Cluster, error)
	// DeleteCluster deletes a cluster by name
	DeleteCluster(ctx context.Context, server string) error

	// ListRepositories lists repositories
	ListRepositories(ctx context.Context) ([]*appv1.Repository, error)
	// ListWriteRepositories lists repositories from write credentials
	ListWriteRepositories(ctx context.Context) ([]*appv1.Repository, error)

	// CreateRepository creates a repository
	CreateRepository(ctx context.Context, r *appv1.Repository) (*appv1.Repository, error)
	// GetRepository returns a repository by URL
	GetRepository(ctx context.Context, url, project string) (*appv1.Repository, error)
	// GetProjectRepositories returns project scoped repositories by given project name
	GetProjectRepositories(project string) ([]*appv1.Repository, error)
	// RepositoryExists returns whether a repository is configured for the given URL
	RepositoryExists(ctx context.Context, repoURL, project string) (bool, error)
	// UpdateRepository updates a repository
	UpdateRepository(ctx context.Context, r *appv1.Repository) (*appv1.Repository, error)
	// DeleteRepository deletes a repository from config
	DeleteRepository(ctx context.Context, name, project string) error

	// CreateWriteRepository creates a repository with write credentials
	CreateWriteRepository(ctx context.Context, r *appv1.Repository) (*appv1.Repository, error)
	// GetWriteRepository returns a repository by URL with write credentials
	GetWriteRepository(ctx context.Context, url, project string) (*appv1.Repository, error)
	// GetProjectWriteRepositories returns project scoped repositories from write credentials by given project name
	GetProjectWriteRepositories(project string) ([]*appv1.Repository, error)
	// WriteRepositoryExists returns whether a repository is configured for the given URL with write credentials
	WriteRepositoryExists(ctx context.Context, repoURL, project string) (bool, error)
	// UpdateWriteRepository updates a repository with write credentials
	UpdateWriteRepository(ctx context.Context, r *appv1.Repository) (*appv1.Repository, error)
	// DeleteWriteRepository deletes a repository from config with write credentials
	DeleteWriteRepository(ctx context.Context, name, project string) error

	// ListRepositoryCredentials list all repo credential sets URL patterns
	ListRepositoryCredentials(ctx context.Context) ([]string, error)
	// GetRepositoryCredentials gets repo credentials for given URL
	GetRepositoryCredentials(ctx context.Context, name string) (*appv1.RepoCreds, error)
	// CreateRepositoryCredentials creates a repository credential set
	CreateRepositoryCredentials(ctx context.Context, r *appv1.RepoCreds) (*appv1.RepoCreds, error)
	// UpdateRepositoryCredentials updates a repository credential set
	UpdateRepositoryCredentials(ctx context.Context, r *appv1.RepoCreds) (*appv1.RepoCreds, error)
	// DeleteRepositoryCredentials deletes a repository credential set from config
	DeleteRepositoryCredentials(ctx context.Context, name string) error

	// ListWriteRepositoryCredentials list all repo write credential sets URL patterns
	ListWriteRepositoryCredentials(ctx context.Context) ([]string, error)
	// GetWriteRepositoryCredentials gets repo write credentials for given URL
	GetWriteRepositoryCredentials(ctx context.Context, name string) (*appv1.RepoCreds, error)
	// CreateWriteRepositoryCredentials creates a repository write credential set
	CreateWriteRepositoryCredentials(ctx context.Context, r *appv1.RepoCreds) (*appv1.RepoCreds, error)
	// UpdateWriteRepositoryCredentials updates a repository write credential set
	UpdateWriteRepositoryCredentials(ctx context.Context, r *appv1.RepoCreds) (*appv1.RepoCreds, error)
	// DeleteWriteRepositoryCredentials deletes a repository write credential set from config
	DeleteWriteRepositoryCredentials(ctx context.Context, name string) error

	// ListRepoCertificates lists all configured certificates
	ListRepoCertificates(ctx context.Context, selector *CertificateListSelector) (*appv1.RepositoryCertificateList, error)
	// CreateRepoCertificate creates a new certificate entry
	CreateRepoCertificate(ctx context.Context, certificate *appv1.RepositoryCertificateList, upsert bool) (*appv1.RepositoryCertificateList, error)
	// RemoveRepoCertificates removes certificates based upon a selector
	RemoveRepoCertificates(ctx context.Context, selector *CertificateListSelector) (*appv1.RepositoryCertificateList, error)
	// GetAllHelmRepositoryCredentials gets all repo credentials
	GetAllHelmRepositoryCredentials(ctx context.Context) ([]*appv1.RepoCreds, error)
	// GetAllOCIRepositoryCredentials gets all repo credentials
	GetAllOCIRepositoryCredentials(ctx context.Context) ([]*appv1.RepoCreds, error)

	// ListHelmRepositories lists repositories
	ListHelmRepositories(ctx context.Context) ([]*appv1.Repository, error)

	// ListOCIRepositories lists repositories
	ListOCIRepositories(ctx context.Context) ([]*appv1.Repository, error)

	// ListConfiguredGPGPublicKeys returns all GPG public key IDs that are configured
	ListConfiguredGPGPublicKeys(ctx context.Context) (map[string]*appv1.GnuPGPublicKey, error)
	// AddGPGPublicKey adds one or more GPG public keys to the configuration
	AddGPGPublicKey(ctx context.Context, keyData string) (map[string]*appv1.GnuPGPublicKey, []string, error)
	// DeleteGPGPublicKey removes a GPG public key from the configuration
	DeleteGPGPublicKey(ctx context.Context, keyID string) error

	// GetApplicationControllerReplicas gets the replicas of application controller
	GetApplicationControllerReplicas() int
}

func NewDB

func NewDB(namespace string, settingsMgr *settings.SettingsManager, kubeclientset kubernetes.Interface) ArgoDB

NewDB returns a new instance of the argo database

type CertificateListSelector

type CertificateListSelector struct {
	// Pattern to match the hostname with
	HostNamePattern string
	// Type of certificate to match
	CertType string
	// Subtype of certificate to match
	CertSubType string
}

Helper struct for certificate selection

type ClusterEvent

type ClusterEvent struct {
	Type    watch.EventType
	Cluster *appv1.Cluster
}

ClusterEvent contains information about cluster event

type RepoCredsDB

type RepoCredsDB interface {
	GetRepoCredsBySecretName(_ context.Context, secretName string) (*appsv1.RepoCreds, error)
}

type SSHKnownHostsEntry

type SSHKnownHostsEntry struct {
	// Hostname the key is for
	Host string
	// The type of the key
	SubType string
	// The data of the key, including the type
	Data string
	// The SHA256 fingerprint of the key
	Fingerprint string
}

A struct representing an entry in the list of SSH known hosts.

type SecretMaperValidation

type SecretMaperValidation struct {
	Dest      *string
	Transform func(string) string
}

SecretMaperValidation determine whether the secret should be transformed(i.e. trailing CRLF characters trimmed)

type TLSCertificate

type TLSCertificate struct {
	// Subject of the certificate
	Subject string
	// Issuer of the certificate
	Issuer string
	// Certificate data
	Data string
}

A representation of a TLS certificate

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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