db

package
v1.8.9 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RepoURLToSecretName added in v1.8.8

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 added in v0.5.0

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

SecretToCluster converts a secret into a Cluster object

func URIToSecretName added in v1.8.8

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 CertificateListSelector added in v1.2.0

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
}

CertificateListSelector is a helper struct for certificate selection.

type ClusterEvent

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

ClusterEvent contains information about cluster event

type DB added in v1.8.8

type DB 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) DB

NewDB returns a new instance of the database

type RepoCredsDB added in v1.8.8

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

type SSHKnownHostsEntry added in v1.2.0

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
}

SSHKnownHostsEntry represents an entry in the list of SSH known hosts.

type SecretMaperValidation added in v1.8.8

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 added in v1.2.0

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

TLSCertificate represents a TLS certificate.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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