v1alpha1

package
v0.0.0-...-c647c0b Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 5 Imported by: 69

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the appstudio v1alpha1 API group +kubebuilder:object:generate=true +groupName=appstudio.redhat.com

Package scheme contains utilities for gradually building Schemes, which contain information associating Go types with Kubernetes groups, versions, and kinds.

Each API group should define a utility function called AddToScheme for adding its types to a Scheme:

 // in package myapigroupv1...
var (
	SchemeGroupVersion = schema.GroupVersion{Group: "my.api.group", Version: "v1"}
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
	AddToScheme = SchemeBuilder.AddToScheme
)

func init() {
	SchemeBuilder.Register(&MyType{}, &MyTypeList)
}
var (
	scheme *runtime.Scheme = runtime.NewScheme()
)

This also true of the built-in Kubernetes types. Then, in the entrypoint for your manager, assemble the scheme containing exactly the types you need, panicing if scheme registration failed. For instance, if our controller needs types from the core/v1 API group (e.g. Pod), plus types from my.api.group/v1:

func init() {
	utilruntime.Must(myapigroupv1.AddToScheme(scheme))
	utilruntime.Must(kubernetesscheme.AddToScheme(scheme))
}

func main() {
	mgr := controllers.NewManager(context.Background(), controllers.GetConfigOrDie(), manager.Options{
		Scheme: scheme,
	})
	// ...
}

Copied from https://github.com/kubernetes-sigs/controller-runtime/blob/main/pkg/scheme/scheme.go to remove dependency on controller-runtime

Index

Constants

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"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "appstudio.redhat.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &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 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 Builder

type Builder struct {
	GroupVersion schema.GroupVersion
	runtime.SchemeBuilder
}

Builder builds a new Scheme for mapping go types to Kubernetes GroupVersionKinds.

func (*Builder) AddToScheme

func (bld *Builder) AddToScheme(s *runtime.Scheme) error

AddToScheme adds all registered types to s.

func (*Builder) Build

func (bld *Builder) Build() (*runtime.Scheme, error)

Build returns a new Scheme containing the registered types.

func (*Builder) Register

func (bld *Builder) Register(object ...runtime.Object) *Builder

Register adds one or more objects to the SchemeBuilder so they can be added to a Scheme. Register mutates bld.

func (*Builder) RegisterAll

func (bld *Builder) RegisterAll(b *Builder) *Builder

RegisterAll registers all types from the Builder argument. RegisterAll mutates bld.

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"`

	// The list of components to be nudged by this components build upon a successful result.
	// Optional.
	// +optional
	BuildNudgesRef []string `json:"build-nudges-ref,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"`

	// The list of names of Components whose builds nudge this resource (their spec.build-nudges-ref[] references this component)
	BuildNudgedBy []string `json:"build-nudged-by,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 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 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 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.

Jump to

Keyboard shortcuts

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