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
- Variables
- type Application
- type ApplicationGitRepository
- type ApplicationList
- type ApplicationSpec
- type ApplicationStatus
- type Builder
- type Component
- type ComponentDetectionDescription
- type ComponentDetectionMap
- type ComponentDetectionQuery
- type ComponentDetectionQueryList
- type ComponentDetectionQuerySpec
- type ComponentDetectionQueryStatus
- type ComponentList
- type ComponentSource
- type ComponentSourceUnion
- type ComponentSpec
- type ComponentSrcType
- type ComponentStatus
- type GitOpsStatus
- type GitSource
- type Snapshot
- type SnapshotArtifacts
- type SnapshotComponent
- type SnapshotList
- type SnapshotSpec
- type SnapshotStatus
Constants ¶
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 ¶
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 ¶
func (in *ApplicationGitRepository) DeepCopy() *ApplicationGitRepository
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 ¶
AddToScheme adds all registered types to s.
func (*Builder) Register ¶
Register adds one or more objects to the SchemeBuilder so they can be added to a Scheme. Register mutates bld.
func (*Builder) RegisterAll ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Component) DeepCopyObject ¶
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 ¶
func (in *ComponentDetectionDescription) DeepCopy() *ComponentDetectionDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDetectionDescription.
func (*ComponentDetectionDescription) DeepCopyInto ¶
func (in *ComponentDetectionDescription) DeepCopyInto(out *ComponentDetectionDescription)
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 ¶
func (in ComponentDetectionMap) DeepCopy() ComponentDetectionMap
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 ¶
func (in *ComponentDetectionQuery) DeepCopy() *ComponentDetectionQuery
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 ¶
func (in *ComponentDetectionQueryList) DeepCopy() *ComponentDetectionQueryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDetectionQueryList.
func (*ComponentDetectionQueryList) DeepCopyInto ¶
func (in *ComponentDetectionQueryList) DeepCopyInto(out *ComponentDetectionQueryList)
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 ¶
func (in *ComponentDetectionQuerySpec) DeepCopy() *ComponentDetectionQuerySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDetectionQuerySpec.
func (*ComponentDetectionQuerySpec) DeepCopyInto ¶
func (in *ComponentDetectionQuerySpec) DeepCopyInto(out *ComponentDetectionQuerySpec)
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 ¶
func (in *ComponentDetectionQueryStatus) DeepCopy() *ComponentDetectionQueryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDetectionQueryStatus.
func (*ComponentDetectionQueryStatus) DeepCopyInto ¶
func (in *ComponentDetectionQueryStatus) DeepCopyInto(out *ComponentDetectionQueryStatus)
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 ¶
func (in *ComponentSourceUnion) DeepCopy() *ComponentSourceUnion
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 last digest image component promoted with. // Example: quay.io/someorg/somerepository@sha256:5ca85b7f7b9da18a9c4101e81ee1d9bac35ac2b0b0221908ff7389204660a262. LastPromotedImage string `json:"lastPromotedImage,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSource.
func (*GitSource) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.
func (*Snapshot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Snapshot) DeepCopyObject ¶
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.