Documentation
¶
Index ¶
- func RepoURLToSecretName(prefix string, repo string, project string) string
- func SecretToCluster(s *corev1.Secret) (*appv1.Cluster, error)
- func StripCRLFCharacter(input string) string
- func URIToSecretName(uriType, uri string) (string, error)
- type ArgoDB
- type CertificateListSelector
- type ClusterEvent
- type RepoCredsDB
- type SSHKnownHostsEntry
- type SecretMaperValidation
- type TLSCertificate
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 StripCRLFCharacter ¶
func StripCRLFCharacter(input string) string
StripCRLFCharacter strips the trailing CRLF characters
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)
// ListHelmRepositories lists repositories
ListHelmRepositories(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
}
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