v1alpha1

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Annotation to indicate that the binding controller completed the binding process.
	AnnBindCompleted string = "dt.appstudio.redhat.com/bind-complete"

	// Annotation to indicate that the binding controller bind the DTC to a DT.
	// In practice it means that the controller set the DTC.spec.Target to the value of DT.Name
	AnnBoundByController string = "dt.appstudio.redhat.com/bound-by-controller"

	// Annotation to indicate that a DT should be dynamically provisioned for the
	// DTC by the provisioner whose name appear in the value.
	AnnTargetProvisioner string = "provisioner.appstudio.redhat.com/dt-provisioner"

	// Annotation to indicate the name of the provisioner that provisioned the DT.
	AnnDynamicallyProvisioned string = "provisioner.appstudio.redhat.com/provisioned-by"

	// Finalizer added by the binding controller to handle the deletion of DeploymentTargetClaim.
	FinalizerBinder string = "binder.appstudio.redhat.com/finalizer"

	// AnnBinderValueTrue is a true value to annotations bind-complete and bound-by-controller.
	AnnBinderValueTrue string = "true"
)
View Source
const (
	InvalidDNS1035Name = "" /* 200-byte string literal not displayed */

	InvalidDNS1123Subdomain = "" /* 163-byte string literal not displayed */

	InvalidSchemeGitSourceURL = ": gitsource URL must be an absolute URL starting with an 'https/http' scheme "
	InvalidGithubVendorURL    = "gitsource URL %s must come from a supported vendor: %s"
	InvalidAPIURL             = ": API URL must be an absolute URL starting with an 'https' scheme "

	MissingIngressDomain = "ingress domain cannot be empty if cluster is of type Kubernetes"

	MissingGitOrImageSource = "a git source or an image source must be specified when creating a component"

	ComponentNameUpdateError   = "component name cannot be updated to %s"
	ApplicationNameUpdateError = "application name cannot be updated to %s"
	GitSourceUpdateError       = "git source cannot be updated to %+v"
	InvalidComponentError      = "runtime object is not of type Component"
)
View Source
const (
	ComponentDeploymentConditionAllComponentsDeployed = "AllComponentsDeployed"
	ComponentDeploymentConditionCommitsSynced         = "CommitsSynced"
	ComponentDeploymentConditionCommitsUnsynced       = "CommitsUnsynced"
	ComponentDeploymentConditionErrorOccurred         = "ErrorOccurred"
)

Constants used with SnapshotEnvironmentBindingStatus's ComponentDeploymentConditions field

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ApplicationSpec   `json:"spec"`
	Status ApplicationStatus `json:"status,omitempty"`
}

Application is the Schema for the applications API. For a detailed description with examples, refer to <a href="https://github.com/redhat-appstudio/book/blob/main/book/HAS/hybrid-application-service-api.md"> Hybrid Application Service Kube API </a> +kubebuilder:resource:path=applications,shortName=hasapp;ha;app +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[-1].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[-1].reason"

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto

func (in *Application) DeepCopyInto(out *Application)

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

func (*Application) DeepCopyObject

func (in *Application) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApplicationGitRepository

type ApplicationGitRepository struct {
	// URL refers to the repository URL that should be used. If not specified, a GitOps repository under the
	// $GITHUB_ORG (defaults to redhat-appstudio-appdata) organization on GitHub will be generated by HAS.
	// Example: https://github.com/devfile-test/myrepo.
	// Required.
	// +required
	URL string `json:"url"`

	// Branch corresponds to the branch in the repository that should be used
	// Example: devel.
	// Optional.
	// +optional
	Branch string `json:"branch,omitempty"`

	// Context corresponds to the context within the repository that should be used
	// Example: folderA/folderB/gitops.
	// Optional.
	// +optional
	Context string `json:"context,omitempty"`
}

ApplicationGitRepository defines a git repository for a given Application resource (either appmodel or gitops)

func (*ApplicationGitRepository) DeepCopy

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

func (*ApplicationGitRepository) DeepCopyInto

func (in *ApplicationGitRepository) DeepCopyInto(out *ApplicationGitRepository)

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

type ApplicationList

type ApplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Application `json:"items"`
}

ApplicationList contains a list of Application

func (*ApplicationList) DeepCopy

func (in *ApplicationList) DeepCopy() *ApplicationList

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

func (*ApplicationList) DeepCopyInto

func (in *ApplicationList) DeepCopyInto(out *ApplicationList)

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

func (*ApplicationList) DeepCopyObject

func (in *ApplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApplicationSpec

type ApplicationSpec struct {
	// DisplayName refers to the name that an application will be deployed with in App Studio.
	// Required.
	// +required
	DisplayName string `json:"displayName"`

	// AppModelRepository refers to the git repository that will store the application model (a devfile)
	// Can be the same as GitOps repository.
	// A repository will be generated if this field is left blank.
	// Optional.
	// +optional
	AppModelRepository ApplicationGitRepository `json:"appModelRepository,omitempty"`

	// GitOpsRepository refers to the git repository that will store the gitops resources.
	// Can be the same as App Model Repository.
	// A repository will be generated if this field is left blank.
	// Optional.
	// +optional
	GitOpsRepository ApplicationGitRepository `json:"gitOpsRepository,omitempty"`

	// Description refers to a brief description of the application.
	// Optional.
	// +optional
	Description string `json:"description,omitempty"`
}

ApplicationSpec defines the desired state of Application

func (*ApplicationSpec) DeepCopy

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

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

func (*ApplicationSpec) DeepCopyInto

func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)

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

type ApplicationStatus

type ApplicationStatus struct {
	// Conditions is an array of the Application's status conditions
	Conditions []metav1.Condition `json:"conditions"`

	// Devfile corresponds to the devfile representation of the Application resource
	Devfile string `json:"devfile,omitempty"`
}

ApplicationStatus defines the observed state of Application

func (*ApplicationStatus) DeepCopy

func (in *ApplicationStatus) DeepCopy() *ApplicationStatus

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

func (*ApplicationStatus) DeepCopyInto

func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)

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

type AutomatedPromotionConfiguration

type AutomatedPromotionConfiguration struct {
	// InitialEnvironment: start iterating through the digraph, beginning with the value specified in 'initialEnvironment'
	InitialEnvironment string `json:"initialEnvironment"`
}

AutomatedPromotionConfiguration defines promotion parameters specific to automated promotion: the initial environment (in the promotion graph) to begin promoting on.

func (*AutomatedPromotionConfiguration) DeepCopy

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

func (*AutomatedPromotionConfiguration) DeepCopyInto

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

type BindingComponent

type BindingComponent struct {

	// Name is the name of the component.
	Name string `json:"name"`

	// Configuration describes GitOps repository customizations that are specific to the
	// the component-application-environment combination.
	// - Values defined in this struct will overwrite values from Application/Environment/Component.
	// Optional
	// +optional
	Configuration BindingComponentConfiguration `json:"configuration,omitempty"`
}

BindingComponent contains individual component data

func (*BindingComponent) DeepCopy

func (in *BindingComponent) DeepCopy() *BindingComponent

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

func (*BindingComponent) DeepCopyInto

func (in *BindingComponent) DeepCopyInto(out *BindingComponent)

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

type BindingComponentConfiguration

type BindingComponentConfiguration struct {

	// Replicas defines the number of replicas to use for the component
	// Optional
	// +optional
	Replicas *int `json:"replicas,omitempty"`

	// Resources defines the Compute Resources required by the component.
	// Optional.
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Env describes environment variables to use for the component.
	// Optional.
	// +optional
	Env []EnvVarPair `json:"env,omitempty"`
}

BindingComponentConfiguration describes GitOps repository customizations that are specific to the the component-application-environment combination.

func (*BindingComponentConfiguration) DeepCopy

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

func (*BindingComponentConfiguration) DeepCopyInto

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

type BindingComponentGitOpsRepository

type BindingComponentGitOpsRepository struct {

	// URL is the Git repository URL
	// e.g. The Git repository that contains the K8s resources to deployment for the component of the application.
	URL string `json:"url"`

	// Branch is the branch to use when accessing the GitOps repository
	Branch string `json:"branch"`

	// Path is a pointer to a folder in the GitOps repo, containing a kustomization.yaml
	// NOTE: Each component-env combination must have it's own separate path
	Path string `json:"path"`

	// GeneratedResources contains the list of GitOps repository resources generated by the application service controller
	// in the overlays/<environment> dir, for example, 'deployment-patch.yaml'. This is stored to differentiate between
	// application-service controller generated resources vs resources added by a user
	GeneratedResources []string `json:"generatedResources"`

	// CommitID contains the most recent commit ID for which the Kubernetes resources of the Component were modified.
	CommitID string `json:"commitID"`
}

BindingComponentGitOpsRepository is a reference to a GitOps repository, including path/branch where the application/component/environment resources can be found (usually via a kustomize overlay).

func (*BindingComponentGitOpsRepository) DeepCopy

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

func (*BindingComponentGitOpsRepository) DeepCopyInto

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

type BindingComponentStatus

type BindingComponentStatus struct {

	// Name is the name of the component.
	Name string `json:"name"`

	// GeneratedRouteName is the name of the route that was generated for the Component, if a Route was generated.
	GeneratedRouteName string `json:"generatedRouteName,omitempty"`

	// GitOpsRepository contains the Git URL, path, branch, and most recent commit id for the component
	GitOpsRepository BindingComponentGitOpsRepository `json:"gitopsRepository"`
}

BindingComponentStatus contains the status of the components

func (*BindingComponentStatus) DeepCopy

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

func (*BindingComponentStatus) DeepCopyInto

func (in *BindingComponentStatus) DeepCopyInto(out *BindingComponentStatus)

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

type BindingStatusGitOpsDeployment

type BindingStatusGitOpsDeployment struct {

	// ComponentName is the name of the component in the (component, gitopsdeployment) pair
	ComponentName string `json:"componentName"`

	// GitOpsDeployment is a reference to the name of a GitOpsDeployment resource which is used to deploy the binding.
	// The Health/sync status for the binding can thus be read from the references GitOpsDeployment
	GitOpsDeployment string `json:"gitopsDeployment,omitempty"`

	// GitOpsDeploymentSyncStatus is the sync status of the deployment owned by the binding
	GitOpsDeploymentSyncStatus string `json:"syncStatus,omitempty"`

	// GitOpsDeploymentHealthStatus is the health status of the deployment owned by the binding
	GitOpsDeploymentHealthStatus string `json:"health,omitempty"`

	// GitOpsDeploymentCommitID is the commit ID of the GitOpsDeployment
	GitOpsDeploymentCommitID string `json:"commitID,omitempty"`
}

BindingStatusGitOpsDeployment describes an individual reference to a GitOpsDeployment resources that is used to deploy this binding.

To determine the health/sync status of a binding, you can look at the GitOpsDeployments decribed here.

func (*BindingStatusGitOpsDeployment) DeepCopy

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

func (*BindingStatusGitOpsDeployment) DeepCopyInto

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

type Component

type Component struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ComponentSpec   `json:"spec"`
	Status ComponentStatus `json:"status,omitempty"`
}

Component is the Schema for the components API. For a detailed description with examples, refer to <a href="https://github.com/redhat-appstudio/book/blob/main/book/HAS/hybrid-application-service-api.md"> Hybrid Application Service Kube API </a> +kubebuilder:resource:path=components,shortName=hascmp;hc;comp +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[-1].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[-1].reason" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".status.conditions[-1].type"

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

func (*Component) DeepCopyObject

func (in *Component) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentDetectionDescription

type ComponentDetectionDescription struct {

	// DevfileFound tells if a devfile is found in the component
	DevfileFound bool `json:"devfileFound,omitempty"`

	// Language specifies the language of the component detected
	// Example: JavaScript
	Language string `json:"language,omitempty"`

	// ProjectType specifies the type of project for the component detected
	// Example Node.JS
	ProjectType string `json:"projectType,omitempty"`

	// ComponentStub is a stub of the component detected with all the info gathered from the devfile or service detection
	ComponentStub ComponentSpec `json:"componentStub,omitempty"`
}

ComponentDetectionDescription holds all the information about the component being detected

func (*ComponentDetectionDescription) DeepCopy

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

func (*ComponentDetectionDescription) DeepCopyInto

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

type ComponentDetectionMap

type ComponentDetectionMap map[string]ComponentDetectionDescription

ComponentDetectionMap is a map containing all the components and their detected information

func (ComponentDetectionMap) DeepCopy

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

func (ComponentDetectionMap) DeepCopyInto

func (in ComponentDetectionMap) DeepCopyInto(out *ComponentDetectionMap)

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

type ComponentDetectionQuery

type ComponentDetectionQuery struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ComponentDetectionQuerySpec   `json:"spec"`
	Status ComponentDetectionQueryStatus `json:"status,omitempty"`
}

ComponentDetectionQuery is the Schema for the componentdetectionqueries API. For a detailed description with examples, refer to <a href="https://github.com/redhat-appstudio/book/blob/main/book/HAS/hybrid-application-service-api.md"> Hybrid Application Service Kube API </a> +kubebuilder:resource:path=componentdetectionqueries,shortName=hcdq;compdetection +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[-1].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[-1].reason" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".status.conditions[-1].type"

func (*ComponentDetectionQuery) DeepCopy

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

func (*ComponentDetectionQuery) DeepCopyInto

func (in *ComponentDetectionQuery) DeepCopyInto(out *ComponentDetectionQuery)

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

func (*ComponentDetectionQuery) DeepCopyObject

func (in *ComponentDetectionQuery) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentDetectionQueryList

type ComponentDetectionQueryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ComponentDetectionQuery `json:"items"`
}

ComponentDetectionQueryList contains a list of ComponentDetectionQuery

func (*ComponentDetectionQueryList) DeepCopy

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

func (*ComponentDetectionQueryList) DeepCopyInto

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

func (*ComponentDetectionQueryList) DeepCopyObject

func (in *ComponentDetectionQueryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentDetectionQuerySpec

type ComponentDetectionQuerySpec struct {

	// Git Source for a Component.
	// Required.
	// +required
	GitSource GitSource `json:"git"`

	// Secret describes the name of an optional Kubernetes secret containing a Personal Access Token to access the git repostiory.
	// Optional.
	// +optional
	Secret string `json:"secret,omitempty"`

	// It defines if should generate random characters at the end of the component name instead of a predicted default value
	// The default value is false.
	// If the value is set to true, component name will always have random characters appended
	// Optional.
	// +optional
	GenerateComponentName bool `json:"generateComponentName,omitempty"`
}

ComponentDetectionQuerySpec defines the desired state of ComponentDetectionQuery

func (*ComponentDetectionQuerySpec) DeepCopy

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

func (*ComponentDetectionQuerySpec) DeepCopyInto

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

type ComponentDetectionQueryStatus

type ComponentDetectionQueryStatus struct {

	// Conditions is an array of the ComponentDetectionQuery's status conditions
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ComponentDetected gives a list of components and the info from detection
	ComponentDetected ComponentDetectionMap `json:"componentDetected,omitempty"`
}

ComponentDetectionQueryStatus defines the observed state of ComponentDetectionQuery

func (*ComponentDetectionQueryStatus) DeepCopy

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

func (*ComponentDetectionQueryStatus) DeepCopyInto

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

type ComponentList

type ComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Component `json:"items"`
}

ComponentList contains a list of Component

func (*ComponentList) DeepCopy

func (in *ComponentList) DeepCopy() *ComponentList

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

func (*ComponentList) DeepCopyInto

func (in *ComponentList) DeepCopyInto(out *ComponentList)

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

func (*ComponentList) DeepCopyObject

func (in *ComponentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentSource

type ComponentSource struct {
	ComponentSourceUnion `json:",inline"`
}

ComponentSource describes the Component source

func (*ComponentSource) DeepCopy

func (in *ComponentSource) DeepCopy() *ComponentSource

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

func (*ComponentSource) DeepCopyInto

func (in *ComponentSource) DeepCopyInto(out *ComponentSource)

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

type ComponentSourceUnion

type ComponentSourceUnion struct {
	// Git Source for a Component.
	// Optional.
	GitSource *GitSource `json:"git,omitempty"`
}

+union

func (*ComponentSourceUnion) DeepCopy

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

func (*ComponentSourceUnion) DeepCopyInto

func (in *ComponentSourceUnion) DeepCopyInto(out *ComponentSourceUnion)

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

type ComponentSpec

type ComponentSpec struct {

	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	// +kubebuilder:validation:MaxLength=63
	// ComponentName is name of the component to be added to the Application. The name must adhere to DNS-1123 validation.
	// Required.
	// +required
	ComponentName string `json:"componentName"`

	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	// Application is the name of the application resource that the component belongs to.
	// Required.
	// +required
	Application string `json:"application"`

	// Secret describes the name of a Kubernetes secret containing either:
	// 1. A Personal Access Token to access the Component's git repostiory (if using a Git-source component) or
	// 2. An Image Pull Secret to access the Component's container image (if using an Image-source component).
	// Optional.
	// +optional
	Secret string `json:"secret,omitempty"`

	// Source describes the Component source.
	// Optional.
	// +optional
	Source ComponentSource `json:"source,omitempty"`

	// Compute Resources required by this component.
	// Optional.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// The number of replicas to deploy the component with.
	// Optional.
	// +optional
	Replicas *int `json:"replicas,omitempty"`

	// The port to expose the component over.
	// Optional.
	// +optional
	TargetPort int `json:"targetPort,omitempty"`

	// The route to expose the component with.
	// Optional.
	// +optional
	Route string `json:"route,omitempty"`

	// An array of environment variables to add to the component (ValueFrom not currently supported)
	// Optional
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// The container image to build or create the component from
	// Example: quay.io/someorg/somerepository:latest.
	// Optional.
	// +optional
	ContainerImage string `json:"containerImage,omitempty"`

	// Whether or not to bypass the generation of GitOps resources for the Component. Defaults to false.
	// Optional.
	// +optional
	SkipGitOpsResourceGeneration bool `json:"skipGitOpsResourceGeneration,omitempty"`
}

ComponentSpec defines the desired state of Component

func (*ComponentSpec) DeepCopy

func (in *ComponentSpec) DeepCopy() *ComponentSpec

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

func (*ComponentSpec) DeepCopyInto

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

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

type ComponentSrcType

type ComponentSrcType string

ComponentSrcType describes the type of the src for the Component. Only one of the following location type may be specified. +kubebuilder:validation:Enum=Git;Image

const (
	GitComponentSrcType   ComponentSrcType = "Git"
	ImageComponentSrcType ComponentSrcType = "Image"
)

type ComponentStatus

type ComponentStatus struct {

	// Conditions is an array of the Component's status conditions
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Webhook URL generated by Builds
	Webhook string `json:"webhook,omitempty"`

	// ContainerImage stores the associated built container image for the component
	ContainerImage string `json:"containerImage,omitempty"`

	// The devfile model for the Component CR
	Devfile string `json:"devfile,omitempty"`

	// GitOps specific status for the Component CR
	GitOps GitOpsStatus `json:"gitops,omitempty"`

	// The last built commit id (SHA-1 checksum) from the latest component build.
	// Example: 41fbdb124775323f58fd5ce93c70bb7d79c20650.
	LastBuiltCommit string `json:"lastBuiltCommit,omitempty"`
}

ComponentStatus defines the observed state of Component

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ConfigurationClusterType

type ConfigurationClusterType string
const (
	// ConfigurationClusterType_Kubernetes indicates the target environment is generic Kubernetes
	ConfigurationClusterType_Kubernetes ConfigurationClusterType = "Kubernetes"

	// ConfigurationClusterType_OpenShift indicates the target environment is OpenShift
	ConfigurationClusterType_OpenShift ConfigurationClusterType = "OpenShift"
)

type DeploymentStrategyType

type DeploymentStrategyType string

DeploymentStrategyType defines the available promotion/deployment strategies for an Environment See Environment API doc for details.

const (
	// DeploymentStrategy_Manual: Promotions to an Environment with this strategy will occur due to explicit user intent
	DeploymentStrategy_Manual DeploymentStrategyType = "Manual"

	// DeploymentStrategy_AppStudioAutomated: Promotions to an Environment with this strategy will occur if a previous ("parent")
	// environment in the environment graph was successfully promoted to.
	// See Environment API doc for details.
	DeploymentStrategy_AppStudioAutomated DeploymentStrategyType = "AppStudioAutomated"
)

type DeploymentTarget

type DeploymentTarget struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DeploymentTargetSpec   `json:"spec,omitempty"`
	Status DeploymentTargetStatus `json:"status,omitempty"`
}

DeploymentTarget is the Schema for the deploymenttargets API. A deployment target, usually a K8s api endpoint. The credentials for connecting to the target will be stored in a secret which will be referenced in the clusterCredentialsSecret field

func (*DeploymentTarget) DeepCopy

func (in *DeploymentTarget) DeepCopy() *DeploymentTarget

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

func (*DeploymentTarget) DeepCopyInto

func (in *DeploymentTarget) DeepCopyInto(out *DeploymentTarget)

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

func (*DeploymentTarget) DeepCopyObject

func (in *DeploymentTarget) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetClaim

type DeploymentTargetClaim struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DeploymentTargetClaimSpec   `json:"spec,omitempty"`
	Status DeploymentTargetClaimStatus `json:"status,omitempty"`
}

DeploymentTargetClaim is the Schema for the deploymenttargetclaims API. It represents a request for a DeploymentTarget.

func (*DeploymentTargetClaim) DeepCopy

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

func (*DeploymentTargetClaim) DeepCopyInto

func (in *DeploymentTargetClaim) DeepCopyInto(out *DeploymentTargetClaim)

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

func (*DeploymentTargetClaim) DeepCopyObject

func (in *DeploymentTargetClaim) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetClaimConfig

type DeploymentTargetClaimConfig struct {
	ClaimName string `json:"claimName"`
}

DeploymentTargetClaimConfig specifies the DeploymentTargetClaim details for a given Environment.

func (*DeploymentTargetClaimConfig) DeepCopy

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

func (*DeploymentTargetClaimConfig) DeepCopyInto

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

type DeploymentTargetClaimList

type DeploymentTargetClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DeploymentTargetClaim `json:"items"`
}

DeploymentTargetClaimList contains a list of DeploymentTargetClaim

func (*DeploymentTargetClaimList) DeepCopy

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

func (*DeploymentTargetClaimList) DeepCopyInto

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

func (*DeploymentTargetClaimList) DeepCopyObject

func (in *DeploymentTargetClaimList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetClaimPhase

type DeploymentTargetClaimPhase string
const (
	// DTC wait for the binding controller or user to bind it with a DT that satisfies it.
	DeploymentTargetClaimPhase_Pending DeploymentTargetClaimPhase = "Pending"

	// The DTC was bounded to a DT that satisfies it by the binding controller.
	DeploymentTargetClaimPhase_Bound DeploymentTargetClaimPhase = "Bound"

	// The DTC lost its bounded DT. The DT doesn’t exist anymore because it got deleted.
	DeploymentTargetClaimPhase_Lost DeploymentTargetClaimPhase = "Lost"
)

type DeploymentTargetClaimSpec

type DeploymentTargetClaimSpec struct {
	DeploymentTargetClassName DeploymentTargetClassName `json:"deploymentTargetClassName"`
	TargetName                string                    `json:"targetName,omitempty"`
}

DeploymentTargetClaimSpec defines the desired state of DeploymentTargetClaim

func (*DeploymentTargetClaimSpec) DeepCopy

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

func (*DeploymentTargetClaimSpec) DeepCopyInto

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

type DeploymentTargetClaimStatus

type DeploymentTargetClaimStatus struct {
	Phase DeploymentTargetClaimPhase `json:"phase,omitempty"`
}

DeploymentTargetClaimStatus defines the observed state of DeploymentTargetClaim

func (*DeploymentTargetClaimStatus) DeepCopy

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

func (*DeploymentTargetClaimStatus) DeepCopyInto

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

type DeploymentTargetClass

type DeploymentTargetClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DeploymentTargetClassSpec   `json:"spec,omitempty"`
	Status DeploymentTargetClassStatus `json:"status,omitempty"`
}

DeploymentTargetClass is the Schema for the deploymenttargetclasses API. Defines DeploymentTarget properties that should be abstracted from the controller/user that creates a DTC and wants a DT to be provisioned automatically for it.

func (*DeploymentTargetClass) DeepCopy

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

func (*DeploymentTargetClass) DeepCopyInto

func (in *DeploymentTargetClass) DeepCopyInto(out *DeploymentTargetClass)

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

func (*DeploymentTargetClass) DeepCopyObject

func (in *DeploymentTargetClass) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetClassList

type DeploymentTargetClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DeploymentTargetClass `json:"items"`
}

DeploymentTargetClassList contains a list of DeploymentTargetClass

func (*DeploymentTargetClassList) DeepCopy

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

func (*DeploymentTargetClassList) DeepCopyInto

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

func (*DeploymentTargetClassList) DeepCopyObject

func (in *DeploymentTargetClassList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetClassName

type DeploymentTargetClassName string

type DeploymentTargetClassSpec

type DeploymentTargetClassSpec struct {
	Provisioner Provisioner `json:"provisioner"`

	// Parameters are used to forward additional information to the provisioner.
	Parameters DeploymentTargetParameters `json:"parameters,omitempty"`

	// The reclaimPolicy field will tell the provisioner what to do with the DT
	// once its corresponding DTC is deleted, the values can be Retain or Delete.
	ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy"`
}

DeploymentTargetClassSpec defines the desired state of DeploymentTargetClass

func (*DeploymentTargetClassSpec) DeepCopy

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

func (*DeploymentTargetClassSpec) DeepCopyInto

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

type DeploymentTargetClassStatus

type DeploymentTargetClassStatus struct {
}

DeploymentTargetClassStatus defines the observed state of DeploymentTargetClass

func (*DeploymentTargetClassStatus) DeepCopy

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

func (*DeploymentTargetClassStatus) DeepCopyInto

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

type DeploymentTargetKubernetesClusterCredentials

type DeploymentTargetKubernetesClusterCredentials struct {
	DefaultNamespace string `json:"defaultNamespace"`

	// APIURL is a reference to a cluster API url.
	APIURL string `json:"apiURL"`

	// ClusterCredentialsSecret is a reference to the name of k8s Secret that contains a kubeconfig.
	ClusterCredentialsSecret string `json:"clusterCredentialsSecret"`

	// Indicates that a Service should not check the TLS certificate when connecting to this target.
	AllowInsecureSkipTLSVerify bool `json:"allowInsecureSkipTLSVerify"`
}

DeploymentTargetKubernetesClusterCredentials defines the K8s cluster credentials for the DeploymentTarget.

func (*DeploymentTargetKubernetesClusterCredentials) DeepCopy

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

func (*DeploymentTargetKubernetesClusterCredentials) DeepCopyInto

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

type DeploymentTargetList

type DeploymentTargetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DeploymentTarget `json:"items"`
}

DeploymentTargetList contains a list of DeploymentTarget

func (*DeploymentTargetList) DeepCopy

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

func (*DeploymentTargetList) DeepCopyInto

func (in *DeploymentTargetList) DeepCopyInto(out *DeploymentTargetList)

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

func (*DeploymentTargetList) DeepCopyObject

func (in *DeploymentTargetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeploymentTargetParameters

type DeploymentTargetParameters struct {
}

Parameters are used to forward additional information to the provisioner.

func (*DeploymentTargetParameters) DeepCopy

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

func (*DeploymentTargetParameters) DeepCopyInto

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

type DeploymentTargetPhase

type DeploymentTargetPhase string
const (
	// DT is not yet available for binding.
	DeploymentTargetPhase_Pending DeploymentTargetPhase = "Pending"

	// DT waits for a Claim to be bound to.
	DeploymentTargetPhase_Available DeploymentTargetPhase = "Available"

	// The DT was bounded to a DTC.
	DeploymentTargetPhase_Bound DeploymentTargetPhase = "Bound"

	// The DT was previously bound to a DTC which got deleted. external resources were not freed.
	DeploymentTargetPhase_Released DeploymentTargetPhase = "Released"

	// DT was released from its claim, but there was a failure during the release of external resources.
	DeploymentTargetPhase_Failed DeploymentTargetPhase = "Failed"
)

type DeploymentTargetSpec

type DeploymentTargetSpec struct {
	DeploymentTargetClassName DeploymentTargetClassName `json:"deploymentTargetClassName"`

	KubernetesClusterCredentials DeploymentTargetKubernetesClusterCredentials `json:"kubernetesCredentials"`

	ClaimRef string `json:"claimRef,omitempty"`
}

DeploymentTargetSpec defines the desired state of DeploymentTarget

func (*DeploymentTargetSpec) DeepCopy

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

func (*DeploymentTargetSpec) DeepCopyInto

func (in *DeploymentTargetSpec) DeepCopyInto(out *DeploymentTargetSpec)

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

type DeploymentTargetStatus

type DeploymentTargetStatus struct {
	Phase DeploymentTargetPhase `json:"phase,omitempty"`
}

DeploymentTargetStatus defines the observed state of DeploymentTarget

func (*DeploymentTargetStatus) DeepCopy

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

func (*DeploymentTargetStatus) DeepCopyInto

func (in *DeploymentTargetStatus) DeepCopyInto(out *DeploymentTargetStatus)

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

type EnvVarPair

type EnvVarPair struct {

	// Name is the environment variable name
	Name string `json:"name"`

	// Value is the environment variable value
	Value string `json:"value"`
}

EnvVarPair describes environment variables to use for the component

func (*EnvVarPair) DeepCopy

func (in *EnvVarPair) DeepCopy() *EnvVarPair

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

func (*EnvVarPair) DeepCopyInto

func (in *EnvVarPair) DeepCopyInto(out *EnvVarPair)

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

type Environment

type Environment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   EnvironmentSpec   `json:"spec,omitempty"`
	Status EnvironmentStatus `json:"status,omitempty"`
}

Environment is the Schema for the environments API +kubebuilder:resource:path=environments,shortName=env

func (*Environment) DeepCopy

func (in *Environment) DeepCopy() *Environment

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

func (*Environment) DeepCopyInto

func (in *Environment) DeepCopyInto(out *Environment)

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

func (*Environment) DeepCopyObject

func (in *Environment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Environment) GetDeploymentTargetClaimName

func (e *Environment) GetDeploymentTargetClaimName() string

GetDeploymentTargetClaimName returns the name of the DeploymentTargetClaim associated with this Environment

type EnvironmentConfiguration

type EnvironmentConfiguration struct {
	// Env is an array of standard environment vairables
	Env []EnvVarPair `json:"env"`

	// Target is used to reference a DeploymentTargetClaim for a target Environment.
	// The Environment controller uses the referenced DeploymentTargetClaim to access its bounded
	// DeploymentTarget with cluster credential secret.
	Target EnvironmentTarget `json:"target,omitempty"`
}

EnvironmentConfiguration contains Environment-specific configurations details, to be used when generating Component/Application GitOps repository resources.

func (*EnvironmentConfiguration) DeepCopy

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

func (*EnvironmentConfiguration) DeepCopyInto

func (in *EnvironmentConfiguration) DeepCopyInto(out *EnvironmentConfiguration)

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

type EnvironmentList

type EnvironmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Environment `json:"items"`
}

EnvironmentList contains a list of Environment

func (*EnvironmentList) DeepCopy

func (in *EnvironmentList) DeepCopy() *EnvironmentList

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

func (*EnvironmentList) DeepCopyInto

func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)

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

func (*EnvironmentList) DeepCopyObject

func (in *EnvironmentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EnvironmentSpec

type EnvironmentSpec struct {

	// DEPRECATED: Type is whether the Environment is a POC or non-POC environment
	// - This field is deprecated, and should not be used.
	Type EnvironmentType `json:"type,omitempty"`

	// DisplayName is the user-visible, user-definable name for the environment (but not used for functional requirements)
	DisplayName string `json:"displayName"`

	// DeploymentStrategy is the promotion strategy for the Environment
	// See Environment API doc for details.
	DeploymentStrategy DeploymentStrategyType `json:"deploymentStrategy"`

	// ParentEnvironment references another Environment defined in the namespace: when automated promotion is enabled,
	// promotions to the parent environment will cause this environment to be promoted to.
	// See Environment API doc for details.
	ParentEnvironment string `json:"parentEnvironment,omitempty"`

	// Tags are a user-visisble, user-definable set of tags that can be applied to the environment
	Tags []string `json:"tags,omitempty"`

	// Configuration contains environment-specific details for Applications/Components that are deployed to
	// the Environment.
	Configuration EnvironmentConfiguration `json:"configuration,omitempty"`

	// UnstableConfigurationFields are experimental/prototype: the API has not been finalized here, and is subject to breaking changes.
	// See comment on UnstableEnvironmentConfiguration for details.
	UnstableConfigurationFields *UnstableEnvironmentConfiguration `json:"unstableConfigurationFields,omitempty"`
}

EnvironmentSpec defines the desired state of Environment

func (*EnvironmentSpec) DeepCopy

func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec

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

func (*EnvironmentSpec) DeepCopyInto

func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)

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

type EnvironmentStatus

type EnvironmentStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

EnvironmentStatus defines the observed state of Environment

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

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

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

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

type EnvironmentTarget

type EnvironmentTarget struct {
	DeploymentTargetClaim DeploymentTargetClaimConfig `json:"deploymentTargetClaim"`
}

EnvironmentTarget provides the configuration for a deployment target.

func (*EnvironmentTarget) DeepCopy

func (in *EnvironmentTarget) DeepCopy() *EnvironmentTarget

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

func (*EnvironmentTarget) DeepCopyInto

func (in *EnvironmentTarget) DeepCopyInto(out *EnvironmentTarget)

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

type EnvironmentType

type EnvironmentType string

DEPRECATED: EnvironmentType should no longer be used, and has no replacement. - It's original purpose was to indicate whether an environment is POC/Non-POC, but these data were ultimately not required.

const (
	// DEPRECATED: EnvironmentType_POC should no longer be used, and has no replacement.
	EnvironmentType_POC EnvironmentType = "POC"

	// DEPRECATED: EnvironmentType_NonPOC should no longer be used, and has no replacement.
	EnvironmentType_NonPOC EnvironmentType = "Non-POC"
)

type GitOpsStatus

type GitOpsStatus struct {
	// RepositoryURL is the gitops repository URL for the component
	RepositoryURL string `json:"repositoryURL,omitempty"`

	// Branch is the git branch used for the gitops repository
	Branch string `json:"branch,omitempty"`

	// Context is the path within the gitops repository used for the gitops resources
	Context string `json:"context,omitempty"`

	// ResourceGenerationSkipped is whether or not GitOps resource generation was skipped for the component
	ResourceGenerationSkipped bool `json:"resourceGenerationSkipped,omitempty"`

	// CommitID is the most recent commit ID in the GitOps repository for this component
	CommitID string `json:"commitID,omitempty"`
}

GitOpsStatus contains GitOps repository-specific status for the component

func (*GitOpsStatus) DeepCopy

func (in *GitOpsStatus) DeepCopy() *GitOpsStatus

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

func (*GitOpsStatus) DeepCopyInto

func (in *GitOpsStatus) DeepCopyInto(out *GitOpsStatus)

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

type GitSource

type GitSource struct {
	// An HTTPS URL representing the git repository to create the component from.
	URL string `json:"url"`

	// Specify a branch/tag/commit id. If not specified, default is `main`/`master`.
	// Example: devel.
	// Optional.
	Revision string `json:"revision,omitempty"`

	// A relative path inside the git repo containing the component
	// Example: folderA/folderB/gitops.
	// Optional.
	Context string `json:"context,omitempty"`

	// If specified, the devfile at the URI will be used for the component. Can be a local path inside the repository, or an external URL.
	// Example: https://raw.githubusercontent.com/devfile-samples/devfile-sample-java-springboot-basic/main/devfile.yaml.
	// Optional.
	DevfileURL string `json:"devfileUrl,omitempty"`

	// If specified, the dockerfile at the URI will be used for the component. Can be a local path inside the repository, or an external URL.
	// Optional.
	DockerfileURL string `json:"dockerfileUrl,omitempty"`
}

func (*GitSource) DeepCopy

func (in *GitSource) DeepCopy() *GitSource

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

func (*GitSource) DeepCopyInto

func (in *GitSource) DeepCopyInto(out *GitSource)

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

type IntegrationTestScenario

type IntegrationTestScenario struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IntegrationTestScenarioSpec   `json:"spec,omitempty"`
	Status IntegrationTestScenarioStatus `json:"status,omitempty"`
}

IntegrationTestScenario is the Schema for the integrationtestscenarios API

func (*IntegrationTestScenario) DeepCopy

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

func (*IntegrationTestScenario) DeepCopyInto

func (in *IntegrationTestScenario) DeepCopyInto(out *IntegrationTestScenario)

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

func (*IntegrationTestScenario) DeepCopyObject

func (in *IntegrationTestScenario) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IntegrationTestScenarioList

type IntegrationTestScenarioList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IntegrationTestScenario `json:"items"`
}

IntegrationTestScenarioList contains a list of IntegrationTestScenario

func (*IntegrationTestScenarioList) DeepCopy

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

func (*IntegrationTestScenarioList) DeepCopyInto

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

func (*IntegrationTestScenarioList) DeepCopyObject

func (in *IntegrationTestScenarioList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IntegrationTestScenarioSpec

type IntegrationTestScenarioSpec struct {
	// Application that's associated with the IntegrationTestScenario
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	// +required
	Application string `json:"application"`
	// Tekton Resolver where to store the Tekton resolverRef trigger Tekton pipeline used to refer to a Pipeline or Task in a remote location like a git repo.
	// +required
	ResolverRef ResolverRef `json:"resolverRef"`
	// Params to pass to the pipeline
	Params []PipelineParameter `json:"params,omitempty"`
	// Environment that will be utilized by the test pipeline
	Environment TestEnvironment `json:"environment,omitempty"`
	// Contexts where this IntegrationTestScenario can be applied
	Contexts []TestContext `json:"contexts,omitempty"`
}

IntegrationTestScenarioSpec defines the desired state of IntegrationScenario

func (*IntegrationTestScenarioSpec) DeepCopy

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

func (*IntegrationTestScenarioSpec) DeepCopyInto

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

type IntegrationTestScenarioStatus

type IntegrationTestScenarioStatus struct {
	Conditions []metav1.Condition `json:"conditions"`
}

IntegrationTestScenarioStatus defines the observed state of IntegrationTestScenario

func (*IntegrationTestScenarioStatus) DeepCopy

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

func (*IntegrationTestScenarioStatus) DeepCopyInto

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

type KubernetesClusterCredentials

type KubernetesClusterCredentials struct {

	// TargetNamespace is the default destination target on the cluster for deployments. This Namespace will be used
	// for any GitOps repository K8s resources where the `.metadata.Namespace` field is not specified.
	TargetNamespace string `json:"targetNamespace"`

	// APIURL is a reference to a cluster API url defined within the kube config file of the cluster credentials secret.
	APIURL string `json:"apiURL"`

	// IngressDomain is the cluster's ingress domain.
	// For example, in minikube it would be $(minikube ip).nip.io and in OCP it would look like apps.xyz.rhcloud.com.
	// If clusterType == "Kubernetes", ingressDomain is mandatory and is enforced by the webhook validation
	IngressDomain string `json:"ingressDomain,omitempty"`

	// ClusterCredentialsSecret is a reference to the name of k8s Secret, defined within the same namespace as the Environment resource,
	// that contains a kubeconfig.
	// The Secret must be of type 'managed-gitops.redhat.com/managed-environment'
	//
	// See this temporary URL for details:
	// https://github.com/redhat-appstudio/managed-gitops/tree/main/examples/m6-demo#gitopsdeploymentmanagedenvironment-resource
	ClusterCredentialsSecret string `json:"clusterCredentialsSecret"`

	// Indicates that ArgoCD/GitOps Service should not check the TLS certificate.
	AllowInsecureSkipTLSVerify bool `json:"allowInsecureSkipTLSVerify"`

	// Namespaces allows one to indicate which Namespaces the Secret's ServiceAccount has access to.
	//
	// Optional, defaults to empty. If empty, it is assumed that the ServiceAccount has access to all Namespaces.
	//
	// The ServiceAccount that GitOps Service/Argo CD uses to deploy may not have access to all of the Namespaces on a cluster.
	// If not specified, it is assumed that the Argo CD ServiceAccount has read/write at cluster-scope.
	// - If you are familiar with Argo CD: this field is equivalent to the field of the same name in the Argo CD Cluster Secret.
	Namespaces []string `json:"namespaces,omitempty"`

	// ClusterResources is used in conjuction with the Namespace field.
	// If the Namespaces field is non-empty, this field will be used to determine whether Argo CD should
	// attempt to manage cluster-scoped resources.
	// - If Namespaces field is empty, this field is not used.
	// - If you are familiar with Argo CD: this field is equivalent to the field of the same name in the Argo CD Cluster Secret.
	//
	// Optional, default to false.
	ClusterResources bool `json:"clusterResources,omitempty"`
}

KubernetesClusterCredentials contains cluster credentials for a target Kubernetes/OpenShift cluster.

See this temporary URL for details on what values to provide for the APIURL and Secret: https://github.com/redhat-appstudio/managed-gitops/tree/main/examples/m6-demo#gitopsdeploymentmanagedenvironment-resource

func (*KubernetesClusterCredentials) DeepCopy

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

func (*KubernetesClusterCredentials) DeepCopyInto

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

type ManualPromotionConfiguration

type ManualPromotionConfiguration struct {
	// TargetEnvironment is the environment to promote to
	TargetEnvironment string `json:"targetEnvironment"`
}

ManualPromotionConfiguration defines promotion parameters specific to manual promotion: the target environment to promote to.

func (*ManualPromotionConfiguration) DeepCopy

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

func (*ManualPromotionConfiguration) DeepCopyInto

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

type PipelineParameter

type PipelineParameter struct {
	Name   string   `json:"name"`
	Value  string   `json:"value,omitempty"`
	Values []string `json:"values,omitempty"`
}

PipelineParameter contains the name and values of a Tekton Pipeline parameter

func (*PipelineParameter) DeepCopy

func (in *PipelineParameter) DeepCopy() *PipelineParameter

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

func (*PipelineParameter) DeepCopyInto

func (in *PipelineParameter) DeepCopyInto(out *PipelineParameter)

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

type PromotionRun

type PromotionRun struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PromotionRunSpec   `json:"spec,omitempty"`
	Status PromotionRunStatus `json:"status,omitempty"`
}

PromotionRun is the Schema for the promotionruns API +kubebuilder:resource:path=promotionruns,shortName=apr;promotion

func (*PromotionRun) DeepCopy

func (in *PromotionRun) DeepCopy() *PromotionRun

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

func (*PromotionRun) DeepCopyInto

func (in *PromotionRun) DeepCopyInto(out *PromotionRun)

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

func (*PromotionRun) DeepCopyObject

func (in *PromotionRun) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PromotionRunCompleteResult

type PromotionRunCompleteResult string

PromotionRunCompleteResult defines the success/failure states if the PromotionRunState is 'Complete'.

const (
	PromotionRunCompleteResult_Success PromotionRunCompleteResult = "Success"
	PromotionRunCompleteResult_Failure PromotionRunCompleteResult = "Failure"
)

type PromotionRunCondition

type PromotionRunCondition struct {
	// Type is a PromotionRun condition type
	Type PromotionRunConditionType `json:"type"`

	// Message contains human-readable message indicating details about the last condition.
	// +optional
	Message string `json:"message"`

	// LastProbeTime is the last time the condition was observed.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`

	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`

	// Status is the status of the condition.
	Status PromotionRunConditionStatus `json:"status"`

	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason PromotionRunReasonType `json:"reason"`
}

PromotionRunCondition contains details about an PromotionRun condition, which is usually an error or warning

func (*PromotionRunCondition) DeepCopy

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

func (*PromotionRunCondition) DeepCopyInto

func (in *PromotionRunCondition) DeepCopyInto(out *PromotionRunCondition)

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

type PromotionRunConditionStatus

type PromotionRunConditionStatus string

PromotionRunConditionStatus is a type which represents possible comparison results

const (
	// PromotionRunConditionStatusTrue indicates that a condition type is true
	PromotionRunConditionStatusTrue PromotionRunConditionStatus = "True"
	// PromotionRunConditionStatusFalse indicates that a condition type is false
	PromotionRunConditionStatusFalse PromotionRunConditionStatus = "False"
	// PromotionRunConditionStatusUnknown indicates that the condition status could not be reliably determined
	PromotionRunConditionStatusUnknown PromotionRunConditionStatus = "Unknown"
)

PromotionRun Condition Status

type PromotionRunConditionType

type PromotionRunConditionType string

PromotionRunConditionType represents type of GitOpsDeployment condition.

const (
	PromotionRunConditionErrorOccurred PromotionRunConditionType = "ErrorOccurred"
)

type PromotionRunEnvironmentStatus

type PromotionRunEnvironmentStatus struct {

	// Step is the sequential number of the step in the array, starting with 1
	Step int `json:"step"`

	// EnvironmentName is the name of the environment that was promoted to in this step
	EnvironmentName string `json:"environmentName"`

	// Status is/was the result of promoting to that environment.
	Status PromotionRunEnvironmentStatusField `json:"status"`

	// DisplayStatus is human-readible description of the current state/status.
	DisplayStatus string `json:"displayStatus"`
}

PromotionRunEnvironmentStatus represents the set of steps taken during the current promotion: - manual promotions will only have a single step. - automated promotions may have one or more steps, depending on how many environments have been promoted to.

func (*PromotionRunEnvironmentStatus) DeepCopy

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

func (*PromotionRunEnvironmentStatus) DeepCopyInto

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

type PromotionRunEnvironmentStatusField

type PromotionRunEnvironmentStatusField string

PromotionRunEnvironmentStatusField are the state values for promotion to individual enviroments, as used by the Status field of PromotionRunEnvironmentStatus

const (
	PromotionRunEnvironmentStatus_Success    PromotionRunEnvironmentStatusField = "Success"
	PromotionRunEnvironmentStatus_InProgress PromotionRunEnvironmentStatusField = "In Progress"
	PromotionRunEnvironmentStatus_Failed     PromotionRunEnvironmentStatusField = "Failed"
)

type PromotionRunList

type PromotionRunList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PromotionRun `json:"items"`
}

PromotionRunList contains a list of PromotionRun

func (*PromotionRunList) DeepCopy

func (in *PromotionRunList) DeepCopy() *PromotionRunList

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

func (*PromotionRunList) DeepCopyInto

func (in *PromotionRunList) DeepCopyInto(out *PromotionRunList)

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

func (*PromotionRunList) DeepCopyObject

func (in *PromotionRunList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PromotionRunReasonType

type PromotionRunReasonType string
const (
	PromotionRunReasonErrorOccurred PromotionRunReasonType = "ErrorOccurred"
)

type PromotionRunSpec

type PromotionRunSpec struct {

	// Snapshot refers to the name of a Snapshot resource defined within the namespace, used to promote container images between Environments.
	Snapshot string `json:"snapshot"`

	// Application is the name of an Application resource defined within the namespaced, and which is the target of the promotion
	Application string `json:"application"`

	// ManualPromotion is for fields specific to manual promotion.
	// Only one field should be defined: either 'manualPromotion' or 'automatedPromotion', but not both.
	ManualPromotion ManualPromotionConfiguration `json:"manualPromotion,omitempty"`

	// AutomatedPromotion is for fields specific to automated promotion
	// Only one field should be defined: either 'manualPromotion' or 'automatedPromotion', but not both.
	AutomatedPromotion AutomatedPromotionConfiguration `json:"automatedPromotion,omitempty"`
}

PromotionRunSpec defines the desired state of PromotionRun

func (*PromotionRunSpec) DeepCopy

func (in *PromotionRunSpec) DeepCopy() *PromotionRunSpec

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

func (*PromotionRunSpec) DeepCopyInto

func (in *PromotionRunSpec) DeepCopyInto(out *PromotionRunSpec)

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

type PromotionRunState

type PromotionRunState string

PromotionRunState defines the 3 states of an Promotion resource.

const (
	PromotionRunState_Active   PromotionRunState = "Active"
	PromotionRunState_Waiting  PromotionRunState = "Waiting"
	PromotionRunState_Complete PromotionRunState = "Complete"
)

type PromotionRunStatus

type PromotionRunStatus struct {

	// State indicates whether or not the overall promotion (either manual or automated is complete)
	State PromotionRunState `json:"state"`

	// CompletionResult indicates success/failure once the promotion has completed all work.
	// CompletionResult will only have a value if State field is 'Complete'.
	CompletionResult PromotionRunCompleteResult `json:"completionResult,omitempty"`

	// EnvironmentStatus represents the set of steps taken during the  current promotion
	EnvironmentStatus []PromotionRunEnvironmentStatus `json:"environmentStatus,omitempty"`

	// ActiveBindings is the list of active bindings currently being promoted to:
	// - For an automated promotion, there can be multiple active bindings at a time (one for each env at a particular tree depth)
	// - For a manual promotion, there will be only one.
	ActiveBindings []string `json:"activeBindings,omitempty"`

	// PromotionStartTime is set to the value when the PromotionRun Reconciler first started the promotion.
	PromotionStartTime metav1.Time `json:"promotionStartTime,omitempty"`

	Conditions []PromotionRunCondition `json:"conditions,omitempty"`
}

PromotionRunStatus defines the observed state of PromotionRun

func (*PromotionRunStatus) DeepCopy

func (in *PromotionRunStatus) DeepCopy() *PromotionRunStatus

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

func (*PromotionRunStatus) DeepCopyInto

func (in *PromotionRunStatus) DeepCopyInto(out *PromotionRunStatus)

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

type Provisioner

type Provisioner string
const (
	Provisioner_Devsandbox Provisioner = "appstudio.redhat.com/devsandbox"
)

type ReclaimPolicy

type ReclaimPolicy string
const (
	ReclaimPolicy_Delete ReclaimPolicy = "Delete"
	ReclaimPolicy_Retain ReclaimPolicy = "Retain"
)

type ResolverParameter

type ResolverParameter struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

ResolverParameter contains the name and values used to identify the referenced Tekton resource

func (*ResolverParameter) DeepCopy

func (in *ResolverParameter) DeepCopy() *ResolverParameter

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

func (*ResolverParameter) DeepCopyInto

func (in *ResolverParameter) DeepCopyInto(out *ResolverParameter)

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

type ResolverRef

type ResolverRef struct {
	// Resolver is the name of the resolver that should perform resolution of the referenced Tekton resource, such as "git" or "bundle"..
	// +required
	Resolver string `json:"resolver"`
	// Params contains the parameters used to identify the
	// referenced Tekton resource. Example entries might include
	// "repo" or "path" but the set of params ultimately depends on
	// the chosen resolver.
	// +required
	Params []ResolverParameter `json:"params"`
}

Tekton Resolver where to store the Tekton resolverRef trigger Tekton pipeline used to refer to a Pipeline or Task in a remote location like a git repo. +required

func (*ResolverRef) DeepCopy

func (in *ResolverRef) DeepCopy() *ResolverRef

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

func (*ResolverRef) DeepCopyInto

func (in *ResolverRef) DeepCopyInto(out *ResolverRef)

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

type Snapshot

type Snapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SnapshotSpec   `json:"spec,omitempty"`
	Status SnapshotStatus `json:"status,omitempty"`
}

Snapshot is the Schema for the snapshots API +kubebuilder:resource:path=snapshots,shortName=as;snapshot

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

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

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

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

func (*Snapshot) DeepCopyObject

func (in *Snapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnapshotArtifacts

type SnapshotArtifacts struct {

	// NOTE: This field (and struct) are placeholders.
	// - Until this API is stabilized, consumers of the API may store any unstructured JSON/YAML data here,
	//   but no backwards compatibility will be preserved.
	UnstableFields *apiextensionsv1.JSON `json:"unstableFields,omitempty"`
}

SnapshotArtifacts is a placeholder section for 'artifact links' we want to maintain to other AppStudio resources.

For example: here I'm imagining we might want to keep track of container image <=> (source code repo, commit sha) links, Which might be useful to present to the user within the UI.

func (*SnapshotArtifacts) DeepCopy

func (in *SnapshotArtifacts) DeepCopy() *SnapshotArtifacts

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

func (*SnapshotArtifacts) DeepCopyInto

func (in *SnapshotArtifacts) DeepCopyInto(out *SnapshotArtifacts)

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

type SnapshotComponent

type SnapshotComponent struct {

	// Name is the name of the component
	Name string `json:"name"`

	// ContainerImage is the container image to use when deploying the component, as part of a Snapshot
	ContainerImage string `json:"containerImage"`

	// Source describes the Component source.
	// Optional.
	// +optional
	Source ComponentSource `json:"source,omitempty"`
}

SnapshotComponent

func (*SnapshotComponent) DeepCopy

func (in *SnapshotComponent) DeepCopy() *SnapshotComponent

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

func (*SnapshotComponent) DeepCopyInto

func (in *SnapshotComponent) DeepCopyInto(out *SnapshotComponent)

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

type SnapshotEnvironmentBinding

type SnapshotEnvironmentBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SnapshotEnvironmentBindingSpec   `json:"spec"`
	Status SnapshotEnvironmentBindingStatus `json:"status,omitempty"`
}

The `SnapshotEnvironmentBinding` resource specifies the deployment relationship between (a single application, a single environment, and a single snapshot) combination.

It can be thought of as a 3-tuple that defines what Application should be deployed to what Environment, and which Snapshot should be deployed (Snapshot being the specific component container image versions of that Aplication that should be deployed to that Environment).

**Note**: There should not exist multiple SnapshotEnvironmentBinding CRs in a Namespace that share the same Application and Environment value. For example: - Good:

  • SnapshotEnvironmentBinding A: (application=appA, environment=dev, snapshot=my-snapshot)
  • SnapshotEnvironmentBinding B: (application=appA, environment=staging, snapshot=my-snapshot)

- Bad:

  • SnapshotEnvironmentBinding A: (application=*appA*, environment=*staging*, snapshot=my-snapshot)
  • SnapshotEnvironmentBinding B: (application=*appA*, environment=*staging*, snapshot=second-snapshot)

+kubebuilder:resource:path=snapshotenvironmentbindings,shortName=aseb;binding

func (*SnapshotEnvironmentBinding) DeepCopy

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

func (*SnapshotEnvironmentBinding) DeepCopyInto

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

func (*SnapshotEnvironmentBinding) DeepCopyObject

func (in *SnapshotEnvironmentBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnapshotEnvironmentBindingList

type SnapshotEnvironmentBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SnapshotEnvironmentBinding `json:"items"`
}

SnapshotEnvironmentBindingList contains a list of SnapshotEnvironmentBinding

func (*SnapshotEnvironmentBindingList) DeepCopy

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

func (*SnapshotEnvironmentBindingList) DeepCopyInto

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

func (*SnapshotEnvironmentBindingList) DeepCopyObject

func (in *SnapshotEnvironmentBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnapshotEnvironmentBindingSpec

type SnapshotEnvironmentBindingSpec struct {

	// Application is a reference to the Application resource (defined in the same namespace) that we are deploying as part of this SnapshotEnvironmentBinding.
	// Required
	// +required
	Application string `json:"application"`

	// Environment is the environment resource (defined in the namespace) that the binding will deploy to.
	// Required
	// +required
	Environment string `json:"environment"`

	// Snapshot is the Snapshot resource (defined in the namespace) that contains the container image versions
	// for the components of the Application.
	// Required
	// +required
	Snapshot string `json:"snapshot"`

	// Component-specific configuration information, used when generating GitOps repository resources.
	// Required.
	// +required
	Components []BindingComponent `json:"components"`
}

See 'SnapshotEnvironmentBinding' resource for details of this resource. SnapshotEnvironmentBindingSpec defines the desired state of SnapshotEnvironmentBinding.

func (*SnapshotEnvironmentBindingSpec) DeepCopy

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

func (*SnapshotEnvironmentBindingSpec) DeepCopyInto

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

type SnapshotEnvironmentBindingStatus

type SnapshotEnvironmentBindingStatus struct {

	// GitOpsDeployments describes the set of GitOpsDeployment resources that are owned by the SnapshotEnvironmentBinding, and are
	// deploying the Components of the Application to the target Environment.
	// To determine the health/sync status of a binding, you can look at the GitOpsDeployments decribed here.
	GitOpsDeployments []BindingStatusGitOpsDeployment `json:"gitopsDeployments,omitempty"`

	// Components describes a component's GitOps repository information.
	// This status is updated by the Application Service controller.
	Components []BindingComponentStatus `json:"components,omitempty"`

	// Condition describes operations on the GitOps repository, for example, if there were issues with generating/processing the repository.
	// This status is updated by the Application Service controller.
	GitOpsRepoConditions []metav1.Condition `json:"gitopsRepoConditions,omitempty"`

	// BindingConditions will contain user-oriented error messages from the SnapshotEnvironmentBinding reconciler.
	BindingConditions []metav1.Condition `json:"bindingConditions,omitempty"`

	// ComponentDeploymentConditions describes the deployment status of all of the Components of the Application.
	// This status is updated by the Gitops Service's SnapshotEnvironmentBinding controller
	ComponentDeploymentConditions []metav1.Condition `json:"componentDeploymentConditions,omitempty"`
}

SnapshotEnvironmentBindingStatus defines the observed state of SnapshotEnvironmentBinding

func (*SnapshotEnvironmentBindingStatus) DeepCopy

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

func (*SnapshotEnvironmentBindingStatus) DeepCopyInto

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

type SnapshotList

type SnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Snapshot `json:"items"`
}

SnapshotList contains a list of Snapshot

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

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

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

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

func (*SnapshotList) DeepCopyObject

func (in *SnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnapshotSpec

type SnapshotSpec struct {

	// Application is a reference to the name of an Application resource within the same namespace, which defines the target application for the Snapshot (when used with a Binding).
	Application string `json:"application"`

	// DisplayName is a user-visible, user-definable name for the resource (and is not used for any functional behaviour)
	DisplayName string `json:"displayName,omitempty"`

	// DisplayDescription is a user-visible, user definable description for the resource (and is not used for any functional behaviour)
	DisplayDescription string `json:"displayDescription,omitempty"`

	// Components field contains the sets of components to deploy as part of this snapshot.
	Components []SnapshotComponent `json:"components,omitempty"`

	// Artifacts is a placeholder section for 'artifact links' we want to maintain to other AppStudio resources.
	// See Environment API doc for details.
	Artifacts SnapshotArtifacts `json:"artifacts,omitempty"`
}

SnapshotSpec defines the desired state of Snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

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

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

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

type SnapshotStatus

type SnapshotStatus struct {
	// Conditions represent the latest available observations for the Snapshot
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
}

SnapshotStatus defines the observed state of Snapshot

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

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

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

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

type TestContext

type TestContext struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

TestContext contains the name and values of a Test context

func (*TestContext) DeepCopy

func (in *TestContext) DeepCopy() *TestContext

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

func (*TestContext) DeepCopyInto

func (in *TestContext) DeepCopyInto(out *TestContext)

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

type TestEnvironment

type TestEnvironment struct {
	Name          string                    `json:"name"`
	Type          EnvironmentType           `json:"type"`
	Configuration *EnvironmentConfiguration `json:"configuration,omitempty"`
}

TestEnvironment contains the name and values of a Test environment

func (*TestEnvironment) DeepCopy

func (in *TestEnvironment) DeepCopy() *TestEnvironment

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

func (*TestEnvironment) DeepCopyInto

func (in *TestEnvironment) DeepCopyInto(out *TestEnvironment)

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

type UnstableEnvironmentConfiguration

type UnstableEnvironmentConfiguration struct {
	// ClusterType indicates whether the target environment is Kubernetes or OpenShift
	ClusterType ConfigurationClusterType `json:"clusterType,omitempty"`

	// KubernetesClusterCredentials contains cluster credentials for a target Kubernetes/OpenShift cluster.
	KubernetesClusterCredentials `json:"kubernetesCredentials,omitempty"`
}

UnstableEnvironmentConfiguration contains fields that are related to configuration of the target environment: - credentials for connecting to the cluster

Note: as of this writing (Jul 2022), I expect the contents of this struct to undergo major changes, and the API should not be considered complete, or even a reflection of final desired state.

func (*UnstableEnvironmentConfiguration) DeepCopy

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

func (*UnstableEnvironmentConfiguration) DeepCopyInto

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