Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the prcontroller v1alpha1 API group +kubebuilder:object:generate=true +groupName=prcontroller.controllers.ephemeralenv.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "prcontroller.controllers.ephemeralenv.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type EnvCreationHelmRepo ¶
type EnvCreationHelmRepo struct { // Name of the Flux Source Repository containing the Helm Chart // +required FluxSourceRepoName string `json:"fluxSourceRepoName"` // The folder name in the Helm Repository containing the manifest templates // +required HelmChartPath string `json:"helmChartPath"` // The Chart version in semver format // +required // +kubebuilder:default="0.1.0" // +kubeubuilder:validation:Pattern="^v?([0-9]+)(\.[0-9]+)?(\.[0-9]+)?(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$" ChartVersion string `json:"chartVersion"` // The Kubernetes Namespace where the manifests will be deployed // +required // +kubebuilder:default="pr-helm-releases" DestinationNamespace string `json:"destinationNamespace"` }
EnvHelmRepo defines the Helm Repository for Infrastructure manifests
func (*EnvCreationHelmRepo) DeepCopy ¶
func (in *EnvCreationHelmRepo) DeepCopy() *EnvCreationHelmRepo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvCreationHelmRepo.
func (*EnvCreationHelmRepo) DeepCopyInto ¶
func (in *EnvCreationHelmRepo) DeepCopyInto(out *EnvCreationHelmRepo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GithubPRRepository ¶
type GithubPRRepository struct { // User is the GitHub user name // +required User string `json:"user"` // Repo specifies the name of the githuh repository. // +required Repo string `json:"repo,omitempty"` // SecretRef specifies the Token Secret containing authentication credentials for // the Github Repository. // +required TokenSecretRef *SecretRef `json:"tokenSecretRef,omitempty"` }
The Github Repository, PRs against which will trigger the creation of the ephemeral environment
func (*GithubPRRepository) DeepCopy ¶
func (in *GithubPRRepository) DeepCopy() *GithubPRRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubPRRepository.
func (*GithubPRRepository) DeepCopyInto ¶
func (in *GithubPRRepository) DeepCopyInto(out *GithubPRRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PREphemeralEnvController ¶
type PREphemeralEnvController struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PREphemeralEnvControllerSpec `json:"spec,omitempty"` Status PREphemeralEnvControllerStatus `json:"status,omitempty"` }
+kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.message",description="The status of the resource" PREphemeralEnvController is the Schema for the prephemeralenvcontrollers API
func (*PREphemeralEnvController) DeepCopy ¶
func (in *PREphemeralEnvController) DeepCopy() *PREphemeralEnvController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvController.
func (*PREphemeralEnvController) DeepCopyInto ¶
func (in *PREphemeralEnvController) DeepCopyInto(out *PREphemeralEnvController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PREphemeralEnvController) DeepCopyObject ¶
func (in *PREphemeralEnvController) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PREphemeralEnvControllerList ¶
type PREphemeralEnvControllerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PREphemeralEnvController `json:"items"` }
PREphemeralEnvControllerList contains a list of PREphemeralEnvController
func (*PREphemeralEnvControllerList) DeepCopy ¶
func (in *PREphemeralEnvControllerList) DeepCopy() *PREphemeralEnvControllerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerList.
func (*PREphemeralEnvControllerList) DeepCopyInto ¶
func (in *PREphemeralEnvControllerList) DeepCopyInto(out *PREphemeralEnvControllerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PREphemeralEnvControllerList) DeepCopyObject ¶
func (in *PREphemeralEnvControllerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PREphemeralEnvControllerSpec ¶
type PREphemeralEnvControllerSpec struct { // The Github Repository, PRs against which will trigger the creation of the ephemeral environment // +required GithubPRRepository *GithubPRRepository `json:"githubPRRepository,omitempty"` // Helm Repository for Infrastructure manifests // +required EnvCreationHelmRepo *EnvCreationHelmRepo `json:"envCreationHelmRepo,omitempty"` // Interval at which to check the GitRepository for PR updates. // +kubebuilder:default="60s" Interval metav1.Duration `json:"interval"` // Ephemeral Environment Health Check URL Template to be used to check the health of the ephemeral environment. If specified, the controller will check the health of the ephemeral environment and Update the Github PR status when environment is ready. // <<PR_NUMBER>> will be replaced with the PR number // <<PR_HEAD_SHA>> will be replaced with the PR head SHA EnvHealthCheckURLTemplate string `json:"envHealthCheckURLTemplate,omitempty"` }
PREphemeralEnvControllerSpec defines the desired state of PREphemeralEnvController
func (*PREphemeralEnvControllerSpec) DeepCopy ¶
func (in *PREphemeralEnvControllerSpec) DeepCopy() *PREphemeralEnvControllerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerSpec.
func (*PREphemeralEnvControllerSpec) DeepCopyInto ¶
func (in *PREphemeralEnvControllerSpec) DeepCopyInto(out *PREphemeralEnvControllerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PREphemeralEnvControllerStatus ¶
type PREphemeralEnvControllerStatus struct { // Conditions holds the conditions for the GitRepository. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` Message string `json:"message,omitempty"` }
PREphemeralEnvControllerStatus defines the observed state of PREphemeralEnvController
func (*PREphemeralEnvControllerStatus) DeepCopy ¶
func (in *PREphemeralEnvControllerStatus) DeepCopy() *PREphemeralEnvControllerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerStatus.
func (*PREphemeralEnvControllerStatus) DeepCopyInto ¶
func (in *PREphemeralEnvControllerStatus) DeepCopyInto(out *PREphemeralEnvControllerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretRef ¶
type SecretRef struct { // Name of the referent. // +required Name string `json:"name"` Namespace string `json:"namespace"` Key string `json:"key"` }
The Github Token Secret
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.