Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the marketplace v1alpha2 API group +kubebuilder:object:generate=true +groupName=marketplace.criticalstack.com
Index ¶
- Variables
- type Application
- type ApplicationList
- type Chart
- type ChartDependency
- type ChartMaintainer
- type ChartVersion
- type Dependency
- type File
- type Hook
- type HookDeletePolicy
- type HookEvent
- type HookExecution
- type HookPhase
- type Info
- type Lock
- type Maintainer
- type Metadata
- type Release
- type ReleaseList
- type ReleaseSpec
- type Source
- type SourceList
- type SourceSpec
- type SourceStatus
- type SourceSyncState
- type Status
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "marketplace.criticalstack.com", Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // The actual application name AppName string `json:"appName"` // +kubebuilder:validation:MinItems=1 Versions []ChartVersion `json:"versions"` }
Application is the Schema for the applications API
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 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 Chart ¶
type Chart struct { // Metadata is the contents of the Chartfile. Metadata *Metadata `json:"metadata"` // Lock is the contents of Chart.lock. Lock *Lock `json:"lock,omitempty"` // Templates for this chart. Templates []*File `json:"templates,omitempty"` // Schema is an optional JSON schema for imposing structure on Values Schema []byte `json:"schema,omitempty"` }
Chart is a helm package that contains metadata, a default config, zero or more optionally parameterizable templates, and zero or more charts (dependencies).
func (*Chart) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (*Chart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartDependency ¶
type ChartDependency struct { // Name is the name of the dependency. // // This must mach the name in the dependency's Chart.yaml. Name string `json:"name"` // Version is the version (range) of this chart. // // A lock file will always produce a single version, while a dependency // may contain a semantic version range. Version string `json:"version,omitempty"` // The URL to the repository. // // Appending `index.yaml` to this string should result in a URL that can be // used to fetch the repository index. Repository string `json:"repository"` // A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled ) Condition string `json:"condition,omitempty"` // Tags can be used to group charts for enabling/disabling together Tags []string `json:"tags,omitempty"` // Enabled bool determines if chart should be loaded Enabled bool `json:"enabled,omitempty"` // ImportValues holds the mapping of source values to parent key to be imported. Each item can be a // string or pair of child/parent sublist items. ImportValues []byte `json:"import-values,omitempty"` // Alias usable alias to be used for the chart Alias string `json:"alias,omitempty"` }
Dependency describes a chart upon which another chart depends.
Dependencies can be used to express developer intent, or to capture the state of a chart.
func (*ChartDependency) DeepCopy ¶
func (in *ChartDependency) DeepCopy() *ChartDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartDependency.
func (*ChartDependency) DeepCopyInto ¶
func (in *ChartDependency) DeepCopyInto(out *ChartDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartMaintainer ¶
type ChartMaintainer struct { // Name is a user name or organization name Name string `json:"name,omitempty"` // Email is an optional email address to contact the named maintainer Email string `json:"email,omitempty"` // URL is an optional URL to an address for the named maintainer URL string `json:"url,omitempty"` }
Maintainer describes a Chart maintainer.
func (*ChartMaintainer) DeepCopy ¶
func (in *ChartMaintainer) DeepCopy() *ChartMaintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMaintainer.
func (*ChartMaintainer) DeepCopyInto ¶
func (in *ChartMaintainer) DeepCopyInto(out *ChartMaintainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartVersion ¶
type ChartVersion struct { // The URL to a relevant project page, git repo, or contact person // +optional Home string `json:"home,omitempty"` // Source is the URL to the source code of this chart // +optional Sources []string `json:"sources,omitempty"` // A SemVer 2 conformant version string of the chart Version string `json:"version,omitempty"` // A one-sentence description of the chart Description string `json:"description,omitempty"` // A list of string keywords Keywords []string `json:"keywords,omitempty"` // A list of name and URL/email address combinations for the maintainer(s) Maintainers []*Maintainer `json:"maintainers,omitempty"` // The URL to an icon file. Icon string `json:"icon,omitempty"` // The API Version of this chart. APIVersion string `json:"apiVersion,omitempty"` // The version of the application enclosed inside of this chart. AppVersion string `json:"appVersion,omitempty"` // Whether or not this chart is deprecated // +optional Deprecated bool `json:"deprecated,omitempty"` // Annotations are additional mappings uninterpreted by Helm, // made available for inspection by other applications. // +optional Annotations map[string]string `json:"annotations,omitempty"` // KubeVersion is a SemVer constraint specifying the version of Kubernetes required. // +optional KubeVersion string `json:"kubeVersion,omitempty"` // Dependencies are a list of dependencies for a chart. // +optional Dependencies []*Dependency `json:"dependencies,omitempty"` // Specifies the chart type: application or library // +kubebuilder:validation:Enum=application;library Type string `json:"type,omitempty"` // +kubebuilder:validation:MinItems=1 URLs []string `json:"urls"` // +optional Created metav1.Time `json:"created,omitempty"` // +optional Removed *bool `json:"removed,omitempty"` // +optional Digest string `json:"digest,omitempty"` // Override chart values schema // +optional Schema []byte `json:"schema,omitempty"` // Extra application documents for display in the marketplace. Map of title to string content. // +optional Documents map[string]string `json:"documents,omitempty"` }
+kubebuilder:object:generate=true
func (*ChartVersion) DeepCopy ¶
func (in *ChartVersion) DeepCopy() *ChartVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartVersion.
func (*ChartVersion) DeepCopyInto ¶
func (in *ChartVersion) DeepCopyInto(out *ChartVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dependency ¶
type Dependency struct { // Name is the name of the dependency. Name string `json:"name"` // Version is the version (range) of this chart. Version string `json:"version,omitempty"` // The URL to the repository. Repository string `json:"repository"` // A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled ) Condition string `json:"condition,omitempty"` // Tags can be used to group charts for enabling/disabling together Tags []string `json:"tags,omitempty"` // Enabled bool determines if chart should be loaded Enabled bool `json:"enabled,omitempty"` // ImportValues holds the mapping of source values to parent key to be imported ImportValues []string `json:"import-values,omitempty"` // Alias usable alias to be used for the chart Alias string `json:"alias,omitempty"` }
Dependency describes a chart upon which another chart depends.
Dependencies can be used to express developer intent, or to capture the state of a chart.
func (*Dependency) DeepCopy ¶
func (in *Dependency) DeepCopy() *Dependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependency.
func (*Dependency) DeepCopyInto ¶
func (in *Dependency) DeepCopyInto(out *Dependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type File ¶
type File struct { // Name is the path-like name of the template. Name string `json:"name"` // Data is the template as byte data. Data []byte `json:"data"` }
func (*File) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new File.
func (*File) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hook ¶
type Hook struct { Name string `json:"name,omitempty"` // Kind is the Kubernetes kind. Kind string `json:"kind,omitempty"` // Path is the chart-relative path to the template. Path string `json:"path,omitempty"` // Manifest is the manifest contents. Manifest string `json:"manifest,omitempty"` // Events are the events that this hook fires on. Events []HookEvent `json:"events,omitempty"` // LastRun indicates the date/time this was last run. LastRun HookExecution `json:"last_run,omitempty"` // Weight indicates the sort order for execution among similar Hook type Weight int `json:"weight,omitempty"` // DeletePolicies are the policies that indicate when to delete the hook DeletePolicies []HookDeletePolicy `json:"delete_policies,omitempty"` }
Hook defines a hook object.
func (*Hook) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hook.
func (*Hook) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookDeletePolicy ¶
type HookDeletePolicy string
HookDeletePolicy specifies the hook delete policy
const ( HookSucceeded HookDeletePolicy = "hook-succeeded" HookFailed HookDeletePolicy = "hook-failed" HookBeforeHookCreation HookDeletePolicy = "before-hook-creation" )
Hook delete policy types
type HookEvent ¶
type HookEvent string
HookEvent specifies the hook event
const ( HookPreInstall HookEvent = "pre-install" HookPostInstall HookEvent = "post-install" HookPreDelete HookEvent = "pre-delete" HookPostDelete HookEvent = "post-delete" HookPreUpgrade HookEvent = "pre-upgrade" HookPostUpgrade HookEvent = "post-upgrade" HookPreRollback HookEvent = "pre-rollback" HookPostRollback HookEvent = "post-rollback" HookTest HookEvent = "test" )
Hook event types
type HookExecution ¶
type HookExecution struct { // StartedAt indicates the date/time this hook was started StartedAt string `json:"started_at,omitempty"` // CompletedAt indicates the date/time this hook was completed. CompletedAt string `json:"completed_at,omitempty"` // Phase indicates whether the hook completed successfully Phase HookPhase `json:"phase"` }
A HookExecution records the result for the last execution of a hook for a given release.
func (*HookExecution) DeepCopy ¶
func (in *HookExecution) DeepCopy() *HookExecution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HookExecution.
func (*HookExecution) DeepCopyInto ¶
func (in *HookExecution) DeepCopyInto(out *HookExecution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookPhase ¶
type HookPhase string
A HookPhase indicates the state of a hook execution
const ( // HookPhaseUnknown indicates that a hook is in an unknown state HookPhaseUnknown HookPhase = "Unknown" // HookPhaseRunning indicates that a hook is currently executing HookPhaseRunning HookPhase = "Running" // HookPhaseSucceeded indicates that hook execution succeeded HookPhaseSucceeded HookPhase = "Succeeded" // HookPhaseFailed indicates that hook execution failed HookPhaseFailed HookPhase = "Failed" )
type Info ¶
type Info struct { // FirstDeployed is when the release was first deployed. FirstDeployed string `json:"first_deployed,omitempty"` // LastDeployed is when the release was last deployed. LastDeployed string `json:"last_deployed,omitempty"` // Deleted tracks when this object was deleted. Deleted string `json:"deleted,omitempty"` // Description is human-friendly "log entry" about this release. Description string `json:"description,omitempty"` // Status is the current state of the release Status Status `json:"status,omitempty"` // Contains the rendered templates/NOTES.txt if available Notes string `json:"notes,omitempty"` }
Info describes release information.
func (*Info) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Info.
func (*Info) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Lock ¶
type Lock struct { // Generated is the date the lock file was last generated. Generated string `json:"generated,omitempty"` // Digest is a hash of the dependencies in Chart.yaml. Digest string `json:"digest"` // Dependencies is the list of dependencies that this lock file has locked. Dependencies []*ChartDependency `json:"dependencies"` }
Lock is a lock file for dependencies.
It represents the state that the dependencies should be in.
func (*Lock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lock.
func (*Lock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Maintainer ¶
type Maintainer struct { // Name is a user name or organization name Name string `json:"name,omitempty"` // Email is an optional email address to contact the named maintainer Email string `json:"email,omitempty"` // URL is an optional URL to an address for the named maintainer // +optional URL string `json:"url,omitempty"` }
Maintainer describes a Chart maintainer.
func (*Maintainer) DeepCopy ¶
func (in *Maintainer) DeepCopy() *Maintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintainer.
func (*Maintainer) DeepCopyInto ¶
func (in *Maintainer) DeepCopyInto(out *Maintainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { // The name of the chart Name string `json:"name,omitempty"` // The URL to a relevant project page, git repo, or contact person Home string `json:"home,omitempty"` // Source is the URL to the source code of this chart Sources []string `json:"sources,omitempty"` // A SemVer 2 conformant version string of the chart Version string `json:"version,omitempty"` // A one-sentence description of the chart Description string `json:"description,omitempty"` // A list of string keywords Keywords []string `json:"keywords,omitempty"` // A list of name and URL/email address combinations for the maintainer(s) Maintainers []*ChartMaintainer `json:"maintainers,omitempty"` // The URL to an icon file. Icon string `json:"icon,omitempty"` // The API Version of this chart. APIVersion string `json:"apiVersion,omitempty"` // The condition to check to enable chart Condition string `json:"condition,omitempty"` // The tags to check to enable chart Tags string `json:"tags,omitempty"` // The version of the application enclosed inside of this chart. AppVersion string `json:"appVersion,omitempty"` // Whether or not this chart is deprecated Deprecated bool `json:"deprecated,omitempty"` // Annotations are additional mappings uninterpreted by Helm, // made available for inspection by other applications. Annotations map[string]string `json:"annotations,omitempty"` // KubeVersion is a SemVer constraint specifying the version of Kubernetes required. KubeVersion string `json:"kubeVersion,omitempty"` // Dependencies are a list of dependencies for a chart. Dependencies []*ChartDependency `json:"dependencies,omitempty"` // Specifies the chart type: application or library Type string `json:"type,omitempty"` }
Metadata for a Chart file. This models the structure of a Chart.yaml file.
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Release ¶
type Release struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ReleaseSpec `json:"spec,omitempty"` }
Release is the Schema for the releases API
func (*Release) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Release) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReleaseList ¶
type ReleaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Release `json:"items"` }
ReleaseList contains a list of Release
func (*ReleaseList) DeepCopy ¶
func (in *ReleaseList) DeepCopy() *ReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseList.
func (*ReleaseList) DeepCopyInto ¶
func (in *ReleaseList) DeepCopyInto(out *ReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseList) DeepCopyObject ¶
func (in *ReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReleaseSpec ¶
type ReleaseSpec struct { // Name is the name of the release Name string `json:"name"` // Info provides information about a release Info *Info `json:"info,omitempty"` // Chart is the chart that was released. Chart *Chart `json:"chart,omitempty"` // Config is the set of extra Values added to the chart. // These values override the default values inside of the chart. Config *runtime.RawExtension `json:"config,omitempty"` // Manifest is the string representation of the rendered template. Manifest string `json:"manifest,omitempty"` // Hooks are all of the hooks declared for this release. Hooks []*Hook `json:"hooks,omitempty"` // Version is an int which represents the version of the release. Version int `json:"version"` // Namespace is the kubernetes namespace of the release. Namespace string `json:"namespace"` }
ReleaseSpec defines the desired state of Release
func (*ReleaseSpec) DeepCopy ¶
func (in *ReleaseSpec) DeepCopy() *ReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpec.
func (*ReleaseSpec) DeepCopyInto ¶
func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Source ¶
type Source struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SourceSpec `json:"spec,omitempty"` Status SourceStatus `json:"status,omitempty"` }
Source is the Schema for the sources API
func (*Source) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Source.
func (*Source) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Source) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SourceList ¶
type SourceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Source `json:"items"` }
SourceList contains a list of Source
func (*SourceList) DeepCopy ¶
func (in *SourceList) DeepCopy() *SourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceList.
func (*SourceList) DeepCopyInto ¶
func (in *SourceList) DeepCopyInto(out *SourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SourceList) DeepCopyObject ¶
func (in *SourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SourceSpec ¶
type SourceSpec struct { URL string `json:"url"` // +optional SkipSync bool `json:"skipSync"` // TODO make this pull from a secret // +optional Username string `json:"username"` // +optional Password string `json:"password"` // TODO make this pull from a secret // +optional CertFile string `json:"certFile"` // +optional KeyFile string `json:"keyFile"` // +optional CAFile string `json:"caFile"` // Duration to sleep after updating before running again. This is a naive frequency, it doesn't make any guarantees // about the time between updates. UpdateFrequency string `json:"updateFrequency,omitempty"` }
SourceSpec defines the desired state of Source
func (*SourceSpec) DeepCopy ¶
func (in *SourceSpec) DeepCopy() *SourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSpec.
func (*SourceSpec) DeepCopyInto ¶
func (in *SourceSpec) DeepCopyInto(out *SourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceStatus ¶
type SourceStatus struct { State SourceSyncState `json:"state"` // +optional Reason string `json:"reason"` LastUpdate metav1.Time `json:"lastUpdate,omitempty"` // +optional AppCount int `json:"appCount"` }
SourceStatus defines the observed state of Source
func (*SourceStatus) DeepCopy ¶
func (in *SourceStatus) DeepCopy() *SourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStatus.
func (*SourceStatus) DeepCopyInto ¶
func (in *SourceStatus) DeepCopyInto(out *SourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceSyncState ¶
type SourceSyncState string
const ( SyncStateSuccess SourceSyncState = "success" SyncStateError SourceSyncState = "error" SyncStateUnknown SourceSyncState = "unknown" SyncStateUpdating SourceSyncState = "updating" )
type Status ¶
type Status string
Status is the status of a release
const ( // StatusUnknown indicates that a release is in an uncertain state. StatusUnknown Status = "unknown" // StatusDeployed indicates that the release has been pushed to Kubernetes. StatusDeployed Status = "deployed" // StatusUninstalled indicates that a release has been uninstalled from Kubernetes. StatusUninstalled Status = "uninstalled" // StatusSuperseded indicates that this release object is outdated and a newer one exists. StatusSuperseded Status = "superseded" // StatusFailed indicates that the release was not successfully deployed. StatusFailed Status = "failed" // StatusUninstalling indicates that a uninstall operation is underway. StatusUninstalling Status = "uninstalling" // StatusPendingInstall indicates that an install operation is underway. StatusPendingInstall Status = "pending-install" // StatusPendingUpgrade indicates that an upgrade operation is underway. StatusPendingUpgrade Status = "pending-upgrade" // StatusPendingRollback indicates that an rollback operation is underway. StatusPendingRollback Status = "pending-rollback" )
Describe the status of a release NOTE: Make sure to update cmd/helm/status.go when adding or modifying any of these statuses.