Documentation ¶
Index ¶
- type ChartForm
- type ChartTemplateForm
- type ConfigMapForm
- type CreateAWSIntegrationForm
- type CreateBasicAuthIntegrationForm
- type CreateClusterCandidatesForm
- type CreateClusterForm
- type CreateDOCRInfra
- type CreateDOKSInfra
- type CreateDomainForm
- type CreateECRInfra
- type CreateEKSInfra
- type CreateGCPIntegrationForm
- type CreateGCRInfra
- type CreateGKEInfra
- type CreateGitAction
- type CreateGitActionOptional
- type CreateHelmRepo
- type CreateInvite
- type CreateProjectForm
- type CreateRegistry
- type CreateRepository
- type CreateTestInfra
- type CreateUserForm
- type DeleteUserForm
- type DestroyDOCRInfra
- type DestroyDOKSInfra
- type DestroyECRInfra
- type DestroyEKSInfra
- type DestroyGKEInfra
- type FinalizeResetUserPasswordForm
- type FinalizeVerifyEmailForm
- type GetReleaseForm
- type InitiateResetUserPasswordForm
- type InstallChartTemplateForm
- type K8sForm
- type ListReleaseForm
- type ListReleaseHistoryForm
- type LoginUserForm
- type MetricsQueryForm
- type NamespaceForm
- type OverwriteAWSIntegrationForm
- type ReleaseForm
- type RenameConfigMapForm
- type ResolveClusterForm
- type RollbackReleaseForm
- type UpdateClusterForm
- type UpdateImageForm
- type UpdateProjectRoleForm
- type UpdateRegistryForm
- type UpgradeReleaseForm
- type VerifyResetUserPasswordForm
- type WriteProjectForm
- type WriteUserForm
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChartTemplateForm ¶
type ChartTemplateForm struct { TemplateName string `json:"templateName" form:"required"` ImageURL string `json:"imageURL" form:"required"` FormValues map[string]interface{} `json:"formValues"` Name string `json:"name"` }
ChartTemplateForm represents the accepted values for installing a new chart from a template.
type ConfigMapForm ¶
type CreateAWSIntegrationForm ¶
type CreateAWSIntegrationForm struct { UserID uint `json:"user_id" form:"required"` ProjectID uint `json:"project_id" form:"required"` AWSRegion string `json:"aws_region"` AWSClusterID string `json:"aws_cluster_id"` AWSAccessKeyID string `json:"aws_access_key_id"` AWSSecretAccessKey string `json:"aws_secret_access_key"` }
CreateAWSIntegrationForm represents the accepted values for creating an AWS Integration
func (*CreateAWSIntegrationForm) ToAWSIntegration ¶
func (caf *CreateAWSIntegrationForm) ToAWSIntegration() (*ints.AWSIntegration, error)
ToAWSIntegration converts the project to a gorm project model
type CreateBasicAuthIntegrationForm ¶
type CreateBasicAuthIntegrationForm struct { UserID uint `json:"user_id" form:"required"` ProjectID uint `json:"project_id" form:"required"` Username string `json:"username"` Password string `json:"password"` }
CreateBasicAuthIntegrationForm represents the accepted values for creating a basic auth integration
func (*CreateBasicAuthIntegrationForm) ToBasicIntegration ¶
func (cbf *CreateBasicAuthIntegrationForm) ToBasicIntegration() (*ints.BasicIntegration, error)
ToBasicIntegration converts the project to a gorm project model
type CreateClusterCandidatesForm ¶
type CreateClusterCandidatesForm struct { ProjectID uint `json:"project_id"` Kubeconfig string `json:"kubeconfig"` // Represents whether the auth mechanism should be designated as // "local": if so, the auth mechanism uses local plugins/mechanisms purely from the // kubeconfig. IsLocal bool `json:"is_local"` }
CreateClusterCandidatesForm represents the accepted values for creating a list of ClusterCandidates from a kubeconfig
func (*CreateClusterCandidatesForm) ToClusterCandidates ¶
func (csa *CreateClusterCandidatesForm) ToClusterCandidates( isServerLocal bool, ) ([]*models.ClusterCandidate, error)
ToClusterCandidates creates a ClusterCandidate from the kubeconfig and project id
type CreateClusterForm ¶
type CreateClusterForm struct { Name string `json:"name" form:"required"` ProjectID uint `json:"project_id" form:"required"` Server string `json:"server" form:"required"` GCPIntegrationID uint `json:"gcp_integration_id"` AWSIntegrationID uint `json:"aws_integration_id"` CertificateAuthorityData string `json:"certificate_authority_data,omitempty"` }
CreateClusterForm represents the accepted values for creating a cluster through manual configuration (not through a kubeconfig)
type CreateDOCRInfra ¶
type CreateDOCRInfra struct { DOCRName string `json:"docr_name" form:"required"` DOCRSubscriptionTier string `json:"docr_subscription_tier" form:"required"` ProjectID uint `json:"project_id" form:"required"` DOIntegrationID uint `json:"do_integration_id" form:"required"` }
CreateDOCRInfra represents the accepted values for creating an DOCR infra via the provisioning container
type CreateDOKSInfra ¶
type CreateDOKSInfra struct { DORegion string `json:"do_region" form:"required"` DOKSName string `json:"doks_name" form:"required"` ProjectID uint `json:"project_id" form:"required"` DOIntegrationID uint `json:"do_integration_id" form:"required"` }
CreateDOKSInfra represents the accepted values for creating a DOKS infra via the provisioning container
type CreateDomainForm ¶
CreateDomainForm represents the accepted values for creating a DNS record
type CreateECRInfra ¶
type CreateECRInfra struct { ECRName string `json:"ecr_name" form:"required"` ProjectID uint `json:"project_id" form:"required"` AWSIntegrationID uint `json:"aws_integration_id" form:"required"` }
CreateECRInfra represents the accepted values for creating an ECR infra via the provisioning container
type CreateEKSInfra ¶
type CreateEKSInfra struct { EKSName string `json:"eks_name" form:"required"` MachineType string `json:"machine_type"` ProjectID uint `json:"project_id" form:"required"` AWSIntegrationID uint `json:"aws_integration_id" form:"required"` }
CreateEKSInfra represents the accepted values for creating an EKS infra via the provisioning container
type CreateGCPIntegrationForm ¶
type CreateGCPIntegrationForm struct { UserID uint `json:"user_id" form:"required"` ProjectID uint `json:"project_id" form:"required"` GCPKeyData string `json:"gcp_key_data" form:"required"` GCPProjectID string `json:"gcp_project_id"` GCPRegion string `json:"gcp_region"` }
CreateGCPIntegrationForm represents the accepted values for creating a GCP Integration
func (*CreateGCPIntegrationForm) ToGCPIntegration ¶
func (cgf *CreateGCPIntegrationForm) ToGCPIntegration() (*ints.GCPIntegration, error)
ToGCPIntegration converts the project to a gorm project model
type CreateGCRInfra ¶
type CreateGCRInfra struct { ProjectID uint `json:"project_id" form:"required"` GCPIntegrationID uint `json:"gcp_integration_id" form:"required"` }
CreateGCRInfra represents the accepted values for creating an GCR infra via the provisioning container
type CreateGKEInfra ¶
type CreateGKEInfra struct { GKEName string `json:"gke_name" form:"required"` ProjectID uint `json:"project_id" form:"required"` GCPIntegrationID uint `json:"gcp_integration_id" form:"required"` }
CreateGKEInfra represents the accepted values for creating a GKE infra via the provisioning container
type CreateGitAction ¶
type CreateGitAction struct { ReleaseID uint `json:"release_id" form:"required"` GitRepo string `json:"git_repo" form:"required"` GitBranch string `json:"git_branch"` ImageRepoURI string `json:"image_repo_uri" form:"required"` DockerfilePath string `json:"dockerfile_path"` FolderPath string `json:"folder_path"` GitRepoID uint `json:"git_repo_id" form:"required"` BuildEnv map[string]string `json:"env"` RegistryID uint `json:"registry_id"` }
CreateGitAction represents the accepted values for creating a github action integration
func (*CreateGitAction) ToGitActionConfig ¶
func (ca *CreateGitAction) ToGitActionConfig() (*models.GitActionConfig, error)
ToGitActionConfig converts the form to a gorm git action config model
type CreateGitActionOptional ¶
type CreateGitActionOptional struct { GitRepo string `json:"git_repo"` GitBranch string `json:"git_branch"` ImageRepoURI string `json:"image_repo_uri"` DockerfilePath string `json:"dockerfile_path"` FolderPath string `json:"folder_path"` GitRepoID uint `json:"git_repo_id"` BuildEnv map[string]string `json:"env"` RegistryID uint `json:"registry_id"` }
type CreateHelmRepo ¶
type CreateHelmRepo struct { Name string `json:"name" form:"required"` RepoURL string `json:"repo_url" form:"required"` ProjectID uint `json:"project_id" form:"required"` BasicIntegrationID uint `json:"basic_integration_id"` GCPIntegrationID uint `json:"gcp_integration_id"` AWSIntegrationID uint `json:"aws_integration_id"` }
CreateHelmRepo represents the accepted values for creating a helm repo
func (*CreateHelmRepo) ToHelmRepo ¶
func (ch *CreateHelmRepo) ToHelmRepo() (*models.HelmRepo, error)
ToHelmRepo converts the form to a gorm helm repo model
type CreateInvite ¶
type CreateInvite struct { Email string `json:"email" form:"required"` Kind string `json:"kind" form:"required"` ProjectID uint `form:"required"` }
CreateInvite represents the accepted values for creating an invite to a project
type CreateProjectForm ¶
type CreateProjectForm struct { WriteProjectForm Name string `json:"name" form:"required"` }
CreateProjectForm represents the accepted values for creating a project
func (*CreateProjectForm) ToProject ¶
func (cpf *CreateProjectForm) ToProject(_ repository.ProjectRepository) (*models.Project, error)
ToProject converts the project to a gorm project model
type CreateRegistry ¶
type CreateRegistry struct { Name string `json:"name" form:"required"` ProjectID uint `json:"project_id" form:"required"` URL string `json:"url"` GCPIntegrationID uint `json:"gcp_integration_id"` AWSIntegrationID uint `json:"aws_integration_id"` DOIntegrationID uint `json:"do_integration_id"` BasicIntegrationID uint `json:"basic_integration_id"` }
CreateRegistry represents the accepted values for creating a registry
func (*CreateRegistry) ToRegistry ¶
func (cr *CreateRegistry) ToRegistry(repo repository.Repository) (*models.Registry, error)
ToRegistry converts the form to a gorm registry model
type CreateRepository ¶ added in v0.4.0
type CreateRepository struct {
ImageRepoURI string `json:"image_repo_uri" form:"required"`
}
CreateRepository represents the accepted values for creating an image repository within a registry
type CreateTestInfra ¶
type CreateTestInfra struct {
ProjectID uint `json:"project_id" form:"required"`
}
CreateTestInfra represents the accepted values for creating test infra via the provisioning container
type CreateUserForm ¶
type CreateUserForm struct { WriteUserForm Email string `json:"email" form:"required,max=255,email"` Password string `json:"password" form:"required,max=255"` // ignore this field from the json EmailVerified bool `json:"-"` }
CreateUserForm represents the accepted values for creating a user
func (*CreateUserForm) ToUser ¶
func (cuf *CreateUserForm) ToUser(_ repository.UserRepository) (*models.User, error)
ToUser converts a CreateUserForm to models.User
type DeleteUserForm ¶
type DeleteUserForm struct { WriteUserForm ID uint `form:"required"` Password string `json:"password" form:"required,max=255"` }
DeleteUserForm represents the accepted values for deleting a user
func (*DeleteUserForm) ToUser ¶
func (uuf *DeleteUserForm) ToUser(_ repository.UserRepository) (*models.User, error)
ToUser converts a DeleteUserForm to models.User using the user ID
type DestroyDOCRInfra ¶
type DestroyDOCRInfra struct {
DOCRName string `json:"docr_name" form:"required"`
}
DestroyDOCRInfra represents the accepted values for destroying an DOCR infra via the provisioning container
type DestroyDOKSInfra ¶
type DestroyDOKSInfra struct {
DOKSName string `json:"doks_name" form:"required"`
}
DestroyDOKSInfra represents the accepted values for destroying an DOKS infra via the provisioning container
type DestroyECRInfra ¶
type DestroyECRInfra struct {
ECRName string `json:"ecr_name" form:"required"`
}
DestroyECRInfra represents the accepted values for destroying an ECR infra via the provisioning container
type DestroyEKSInfra ¶
type DestroyEKSInfra struct {
EKSName string `json:"eks_name" form:"required"`
}
DestroyEKSInfra represents the accepted values for destroying an EKS infra via the provisioning container
type DestroyGKEInfra ¶
type DestroyGKEInfra struct {
GKEName string `json:"gke_name" form:"required"`
}
DestroyGKEInfra represents the accepted values for destroying an GKE infra via the provisioning container
type FinalizeVerifyEmailForm ¶
type GetReleaseForm ¶
type GetReleaseForm struct { *ReleaseForm Name string `json:"name" form:"required"` Revision int `json:"revision"` }
GetReleaseForm represents the accepted values for getting a single Helm release
type InitiateResetUserPasswordForm ¶
type InitiateResetUserPasswordForm struct {
Email string `json:"email" form:"required"`
}
InitiateResetUserPasswordForm represents the accepted values for resetting a user's password
func (*InitiateResetUserPasswordForm) ToPWResetToken ¶
func (ruf *InitiateResetUserPasswordForm) ToPWResetToken() (*models.PWResetToken, string, error)
type InstallChartTemplateForm ¶
type InstallChartTemplateForm struct { *ReleaseForm *ChartTemplateForm // optional git action config GithubActionConfig *CreateGitActionOptional `json:"github_action,omitempty"` }
InstallChartTemplateForm represents the accepted values for installing a new chart from a template.
type K8sForm ¶
type K8sForm struct {
*kubernetes.OutOfClusterConfig
}
K8sForm is the generic base type for CRUD operations on k8s objects
func (*K8sForm) PopulateK8sOptionsFromQueryParams ¶
func (kf *K8sForm) PopulateK8sOptionsFromQueryParams( vals url.Values, repo repository.ClusterRepository, ) error
PopulateK8sOptionsFromQueryParams populates fields in the ReleaseForm using the passed url.Values (the parsed query params)
type ListReleaseForm ¶
type ListReleaseForm struct { *ReleaseForm *helm.ListFilter }
ListReleaseForm represents the accepted values for listing Helm releases
func (*ListReleaseForm) PopulateListFromQueryParams ¶
func (lrf *ListReleaseForm) PopulateListFromQueryParams( vals url.Values, _ repository.ClusterRepository, ) error
PopulateListFromQueryParams populates fields in the ListReleaseForm using the passed url.Values (the parsed query params)
type ListReleaseHistoryForm ¶
type ListReleaseHistoryForm struct { *ReleaseForm Name string `json:"name" form:"required"` }
ListReleaseHistoryForm represents the accepted values for getting a single Helm release
type LoginUserForm ¶
type LoginUserForm struct { WriteUserForm ID uint `form:"required"` Email string `json:"email" form:"required,max=255,email"` Password string `json:"password" form:"required,max=255"` }
LoginUserForm represents the accepted values for logging a user in
func (*LoginUserForm) ToUser ¶
func (luf *LoginUserForm) ToUser(_ repository.UserRepository) (*models.User, error)
ToUser converts a LoginUserForm to models.User
type MetricsQueryForm ¶
type MetricsQueryForm struct { *K8sForm *prometheus.QueryOpts }
MetricsQueryForm is the form for querying pod usage metrics (cpu, memory)
type NamespaceForm ¶ added in v0.3.2
type NamespaceForm struct {
Name string `json:"name" form:"required"`
}
type OverwriteAWSIntegrationForm ¶ added in v0.4.0
type OverwriteAWSIntegrationForm struct { UserID uint `json:"user_id" form:"required"` ProjectID uint `json:"project_id" form:"required"` AWSAccessKeyID string `json:"aws_access_key_id"` AWSSecretAccessKey string `json:"aws_secret_access_key"` }
OverwriteAWSIntegrationForm represents the accepted values for overwriting an AWS Integration
type ReleaseForm ¶
ReleaseForm is the generic base type for CRUD operations on releases
func (*ReleaseForm) PopulateHelmOptionsFromQueryParams ¶
func (rf *ReleaseForm) PopulateHelmOptionsFromQueryParams( vals url.Values, repo repository.ClusterRepository, ) error
PopulateHelmOptionsFromQueryParams populates fields in the ReleaseForm using the passed url.Values (the parsed query params)
type RenameConfigMapForm ¶ added in v0.7.2
type ResolveClusterForm ¶
type ResolveClusterForm struct { Resolver *models.ClusterResolverAll `form:"required"` ClusterCandidateID uint `json:"cluster_candidate_id" form:"required"` ProjectID uint `json:"project_id" form:"required"` UserID uint `json:"user_id" form:"required"` // populated during the ResolveIntegration step IntegrationID uint ClusterCandidate *models.ClusterCandidate RawConf *api.Config }
ResolveClusterForm will resolve a cluster candidate and create a new cluster
func (*ResolveClusterForm) ResolveCluster ¶
func (rcf *ResolveClusterForm) ResolveCluster( repo repository.Repository, ) (*models.Cluster, error)
ResolveCluster writes a new cluster to the DB -- this must be called after rcf.ResolveIntegration, since it relies on the previously created integration.
func (*ResolveClusterForm) ResolveIntegration ¶
func (rcf *ResolveClusterForm) ResolveIntegration( repo repository.Repository, ) error
ResolveIntegration creates an integration in the DB
type RollbackReleaseForm ¶
type RollbackReleaseForm struct { *ReleaseForm Name string `json:"name" form:"required"` Revision int `json:"revision" form:"required"` }
RollbackReleaseForm represents the accepted values for getting a single Helm release
type UpdateClusterForm ¶
UpdateClusterForm represents the accepted values for updating a cluster (only name for now)
func (*UpdateClusterForm) ToCluster ¶
func (ucf *UpdateClusterForm) ToCluster(repo repository.ClusterRepository) (*models.Cluster, error)
ToCluster converts the form to a cluster
type UpdateImageForm ¶ added in v0.4.0
type UpdateImageForm struct { *ReleaseForm ImageRepoURI string `json:"image_repo_uri" form:"required"` Tag string `json:"tag" form:"required"` }
UpdateImageForm represents the accepted values for updating a Helm release's image
type UpdateProjectRoleForm ¶ added in v0.5.0
type UpdateProjectRoleForm struct {
Kind string `json:"kind"`
}
UpdateProjectRoleForm represents the accepted values for updating a project role
type UpdateRegistryForm ¶
UpdateRegistryForm represents the accepted values for updating a registry (only name for now)
func (*UpdateRegistryForm) ToRegistry ¶
func (urf *UpdateRegistryForm) ToRegistry(repo repository.RegistryRepository) (*models.Registry, error)
ToRegistry converts the form to a cluster
type UpgradeReleaseForm ¶
type UpgradeReleaseForm struct { *ReleaseForm Name string `json:"name" form:"required"` Values string `json:"values" form:"required"` ChartVersion string `json:"version"` }
UpgradeReleaseForm represents the accepted values for updating a Helm release
type WriteProjectForm ¶
type WriteProjectForm interface {
ToProject(repo repository.ProjectRepository) (*models.Project, error)
}
WriteProjectForm is a generic form for write operations to the Project model
type WriteUserForm ¶
type WriteUserForm interface {
ToUser(repo repository.UserRepository) (*models.User, error)
}
WriteUserForm is a generic form for write operations to the User model