v1alpha1

package
v0.0.0-...-a659037 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: MIT Imports: 4 Imported by: 0

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

View Source
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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerList.

func (*PREphemeralEnvControllerList) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerSpec.

func (*PREphemeralEnvControllerSpec) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PREphemeralEnvControllerStatus.

func (*PREphemeralEnvControllerStatus) DeepCopyInto

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

func (in *SecretRef) DeepCopy() *SecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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