Documentation
¶
Index ¶
- func Decrypt(ciphertext []byte, key *[32]byte) (plaintext []byte, err error)
- func Encrypt(plaintext []byte, key *[32]byte) (ciphertext []byte, err error)
- func NewEncryptionKey() *[32]byte
- type AWSInfraRepository
- type AWSIntegrationRepository
- type BasicIntegrationRepository
- type ClusterRepository
- type GCPIntegrationRepository
- type GitRepoRepository
- type HelmRepoRepository
- type KubeIntegrationRepository
- type OAuthIntegrationRepository
- type OIDCIntegrationRepository
- type ProjectRepository
- type RegistryRepository
- type ReleaseRepository
- type Repository
- type SessionRepository
- type UserRepository
- type WriteProject
- type WriteRelease
- type WriteUser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Decrypt ¶
Decrypt decrypts data using 256-bit AES-GCM. This both hides the content of the data and provides a check that it hasn't been altered. Expects input form nonce|ciphertext|tag where '|' indicates concatenation.
func Encrypt ¶
Encrypt encrypts data using 256-bit AES-GCM. This both hides the content of the data and provides a check that it hasn't been altered. Output takes the form nonce|ciphertext|tag where '|' indicates concatenation.
func NewEncryptionKey ¶
func NewEncryptionKey() *[32]byte
NewEncryptionKey generates a random 256-bit key for Encrypt() and Decrypt(). It panics if the source of randomness fails.
Types ¶
type AWSInfraRepository ¶
type AWSInfraRepository interface { CreateAWSInfra(repo *models.AWSInfra) (*models.AWSInfra, error) ReadAWSInfra(id uint) (*models.AWSInfra, error) ListAWSInfrasByProjectID(projectID uint) ([]*models.AWSInfra, error) UpdateAWSInfra(repo *models.AWSInfra) (*models.AWSInfra, error) }
AWSInfraRepository represents the set of queries on the AWSInfra model
type AWSIntegrationRepository ¶
type AWSIntegrationRepository interface { CreateAWSIntegration(am *ints.AWSIntegration) (*ints.AWSIntegration, error) ReadAWSIntegration(id uint) (*ints.AWSIntegration, error) ListAWSIntegrationsByProjectID(projectID uint) ([]*ints.AWSIntegration, error) }
AWSIntegrationRepository represents the set of queries on the AWS auth mechanism
type BasicIntegrationRepository ¶
type BasicIntegrationRepository interface { CreateBasicIntegration(am *ints.BasicIntegration) (*ints.BasicIntegration, error) ReadBasicIntegration(id uint) (*ints.BasicIntegration, error) ListBasicIntegrationsByProjectID(projectID uint) ([]*ints.BasicIntegration, error) }
BasicIntegrationRepository represents the set of queries on the "basic" auth mechanism
type ClusterRepository ¶
type ClusterRepository interface { CreateClusterCandidate(cc *models.ClusterCandidate) (*models.ClusterCandidate, error) ReadClusterCandidate(id uint) (*models.ClusterCandidate, error) ListClusterCandidatesByProjectID(projectID uint) ([]*models.ClusterCandidate, error) UpdateClusterCandidateCreatedClusterID(id uint, createdClusterID uint) (*models.ClusterCandidate, error) CreateCluster(cluster *models.Cluster) (*models.Cluster, error) ReadCluster(id uint) (*models.Cluster, error) ListClustersByProjectID(projectID uint) ([]*models.Cluster, error) UpdateCluster(cluster *models.Cluster) (*models.Cluster, error) UpdateClusterTokenCache(tokenCache *ints.ClusterTokenCache) (*models.Cluster, error) DeleteCluster(cluster *models.Cluster) error }
ClusterRepository represents the set of queries on the Cluster model
type GCPIntegrationRepository ¶
type GCPIntegrationRepository interface { CreateGCPIntegration(am *ints.GCPIntegration) (*ints.GCPIntegration, error) ReadGCPIntegration(id uint) (*ints.GCPIntegration, error) ListGCPIntegrationsByProjectID(projectID uint) ([]*ints.GCPIntegration, error) }
GCPIntegrationRepository represents the set of queries on the GCP auth mechanism
type GitRepoRepository ¶
type GitRepoRepository interface { CreateGitRepo(gr *models.GitRepo) (*models.GitRepo, error) ReadGitRepo(id uint) (*models.GitRepo, error) ListGitReposByProjectID(projectID uint) ([]*models.GitRepo, error) UpdateGitRepo(gr *models.GitRepo) (*models.GitRepo, error) DeleteGitRepo(gr *models.GitRepo) error }
GitRepoRepository represents the set of queries on the GitRepo model
type HelmRepoRepository ¶
type HelmRepoRepository interface { CreateHelmRepo(repo *models.HelmRepo) (*models.HelmRepo, error) ReadHelmRepo(id uint) (*models.HelmRepo, error) ListHelmReposByProjectID(projectID uint) ([]*models.HelmRepo, error) UpdateHelmRepo(repo *models.HelmRepo) (*models.HelmRepo, error) UpdateHelmRepoTokenCache(tokenCache *ints.HelmRepoTokenCache) (*models.HelmRepo, error) DeleteHelmRepo(repo *models.HelmRepo) error }
HelmRepoRepository represents the set of queries on the HelmRepo model
type KubeIntegrationRepository ¶
type KubeIntegrationRepository interface { CreateKubeIntegration(am *ints.KubeIntegration) (*ints.KubeIntegration, error) ReadKubeIntegration(id uint) (*ints.KubeIntegration, error) ListKubeIntegrationsByProjectID(projectID uint) ([]*ints.KubeIntegration, error) }
KubeIntegrationRepository represents the set of queries on the OIDC auth mechanism
type OAuthIntegrationRepository ¶
type OAuthIntegrationRepository interface { CreateOAuthIntegration(am *ints.OAuthIntegration) (*ints.OAuthIntegration, error) ReadOAuthIntegration(id uint) (*ints.OAuthIntegration, error) ListOAuthIntegrationsByProjectID(projectID uint) ([]*ints.OAuthIntegration, error) }
OAuthIntegrationRepository represents the set of queries on the oauth mechanism
type OIDCIntegrationRepository ¶
type OIDCIntegrationRepository interface { CreateOIDCIntegration(am *ints.OIDCIntegration) (*ints.OIDCIntegration, error) ReadOIDCIntegration(id uint) (*ints.OIDCIntegration, error) ListOIDCIntegrationsByProjectID(projectID uint) ([]*ints.OIDCIntegration, error) }
OIDCIntegrationRepository represents the set of queries on the OIDC auth mechanism
type ProjectRepository ¶
type ProjectRepository interface { CreateProject(project *models.Project) (*models.Project, error) CreateProjectRole(project *models.Project, role *models.Role) (*models.Role, error) ReadProject(id uint) (*models.Project, error) ListProjectsByUserID(userID uint) ([]*models.Project, error) DeleteProject(project *models.Project) (*models.Project, error) }
ProjectRepository represents the set of queries on the Project model
type RegistryRepository ¶
type RegistryRepository interface { CreateRegistry(reg *models.Registry) (*models.Registry, error) ReadRegistry(id uint) (*models.Registry, error) ListRegistriesByProjectID(projectID uint) ([]*models.Registry, error) UpdateRegistry(reg *models.Registry) (*models.Registry, error) UpdateRegistryTokenCache(tokenCache *ints.RegTokenCache) (*models.Registry, error) DeleteRegistry(reg *models.Registry) error }
RegistryRepository represents the set of queries on the Registry model
type ReleaseRepository ¶
type ReleaseRepository interface { CreateRelease(release *models.Release) (*models.Release, error) ReadRelease(name string, namespace string) (*models.Release, error) ReadReleaseByWebhookToken(token string) (*models.Release, error) UpdateRelease(release *models.Release) (*models.Release, error) DeleteRelease(release *models.Release) (*models.Release, error) }
ReleaseRepository represents the set of queries on the Release model
type Repository ¶
type Repository struct { User UserRepository Project ProjectRepository Release ReleaseRepository Session SessionRepository GitRepo GitRepoRepository Cluster ClusterRepository HelmRepo HelmRepoRepository Registry RegistryRepository AWSInfra AWSInfraRepository KubeIntegration KubeIntegrationRepository BasicIntegration BasicIntegrationRepository OIDCIntegration OIDCIntegrationRepository OAuthIntegration OAuthIntegrationRepository GCPIntegration GCPIntegrationRepository AWSIntegration AWSIntegrationRepository }
Repository collects the repositories for each model
type SessionRepository ¶
type SessionRepository interface { CreateSession(session *models.Session) (*models.Session, error) UpdateSession(session *models.Session) (*models.Session, error) DeleteSession(session *models.Session) (*models.Session, error) SelectSession(session *models.Session) (*models.Session, error) }
SessionRepository represents the set of queries on the Session model
type UserRepository ¶
type UserRepository interface { CreateUser(user *models.User) (*models.User, error) CheckPassword(id int, pwd string) (bool, error) ReadUser(id uint) (*models.User, error) ReadUserByEmail(email string) (*models.User, error) UpdateUser(user *models.User) (*models.User, error) DeleteUser(user *models.User) (*models.User, error) }
UserRepository represents the set of queries on the User model
type WriteProject ¶
WriteProject is the function type for all Project write operations
type WriteRelease ¶
WriteRelease is the function type for all Release write operations