Documentation ¶
Overview ¶
+groupName=release.giantswarm.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// AddToScheme is used by the generated client.
AddToScheme = schemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{
Group: group,
Version: version,
}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func NewReleaseCRD ¶
func NewReleaseCRD() *v1.CustomResourceDefinition
func NewReleaseTypeMeta ¶
Types ¶
type DeepCopyDate ¶
+kubebuilder:validation:Type=string DeepCopyDate is a date type designed to be validated with json-schema date type.
func (*DeepCopyDate) DeepCopy ¶
func (in *DeepCopyDate) DeepCopy() *DeepCopyDate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeepCopyDate.
func (*DeepCopyDate) DeepCopyInto ¶
func (in *DeepCopyDate) DeepCopyInto(out *DeepCopyDate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeepCopyDate) MarshalJSON ¶
func (d DeepCopyDate) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface. The time is expected to be a quoted string in yyyy-mm-dd format.
NOTE: This method has a value (not pointer) receiver. Otherwise marshalling will stop working for values. When this is a value receiver it works for both.
func (*DeepCopyDate) UnmarshalJSON ¶
func (d *DeepCopyDate) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. The time is expected to be a quoted string in yyyy-mm-dd format.
type Release ¶
type Release struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ReleaseSpec `json:"spec"` // +kubebuilder:validation:Optional Status ReleaseStatus `json:"status"` }
Release is a Kubernetes resource (CR) representing a Giant Swarm tenant cluster release.
func NewReleaseCR ¶
func NewReleaseCR() *Release
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"` Items []Release `json:"items"` }
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 { // Apps describes apps used in this release. Apps []ReleaseSpecApp `json:"apps"` // +kubebuilder:validation:MinItems=1 // Components describes components used in this release. Components []ReleaseSpecComponent `json:"components"` // Date that the release became active. Date *metav1.Time `json:"date"` // +kubebuilder:validation:Optional // +nullable // EndOfLifeDate is the date and time when support for a tenant cluster using // this release ends. This may not be set at the time of release creation // and can be specififed later. EndOfLifeDate *metav1.Time `json:"endOfLifeDate,omitempty"` // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern=`^(active|deprecated|wip)$` // State indicates the availability of the release: deprecated, active, or wip. State ReleaseState `json:"state"` }
+k8s:openapi-gen=true
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 ReleaseSpecApp ¶
type ReleaseSpecApp struct { // Version of the upstream component used in the app. ComponentVersion string `json:"componentVersion,omitempty"` // Name of the app. Name string `json:"name"` // +kubebuilder:validation:Pattern=`^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` // Version of the app. Version string `json:"version"` }
+k8s:openapi-gen=true
func (*ReleaseSpecApp) DeepCopy ¶
func (in *ReleaseSpecApp) DeepCopy() *ReleaseSpecApp
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpecApp.
func (*ReleaseSpecApp) DeepCopyInto ¶
func (in *ReleaseSpecApp) DeepCopyInto(out *ReleaseSpecApp)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseSpecComponent ¶
type ReleaseSpecComponent struct { // +kubebuilder:default=control-plane-catalog // Catalog specifies the name of the app catalog that this component belongs to. Catalog string `json:"catalog,omitempty"` // Name of the component. Name string `json:"name"` // +kubebuilder:validation:Optional // Reference is the component's version in the catalog (e.g. 1.2.3 or 1.2.3-abc8675309). Reference string `json:"reference,omitempty"` // +kubebuilder:validation:Optional // ReleaseOperatorDeploy informs the release-operator that it should deploy the component. ReleaseOperatorDeploy bool `json:"releaseOperatorDeploy,omitempty"` // +kubebuilder:validation:Pattern=`^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` // Version of the component. Version string `json:"version"` }
+k8s:openapi-gen=true
func (*ReleaseSpecComponent) DeepCopy ¶
func (in *ReleaseSpecComponent) DeepCopy() *ReleaseSpecComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpecComponent.
func (*ReleaseSpecComponent) DeepCopyInto ¶
func (in *ReleaseSpecComponent) DeepCopyInto(out *ReleaseSpecComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseState ¶
type ReleaseState string
var ( StateActive ReleaseState = "active" StateDeprecated ReleaseState = "deprecated" StateWIP ReleaseState = "wip" )
func (ReleaseState) String ¶
func (r ReleaseState) String() string
type ReleaseStatus ¶
type ReleaseStatus struct { // Ready indicates if all components of the release have been deployed. Ready bool `json:"ready"` // InUse indicates whether a release is actually used by a cluster. InUse bool `json:"inUse"` }
+k8s:openapi-gen=true
func (*ReleaseStatus) DeepCopy ¶
func (in *ReleaseStatus) DeepCopy() *ReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseStatus.
func (*ReleaseStatus) DeepCopyInto ¶
func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.