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 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 workload 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 workload 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 {
// +kubebuilder:validation:Optional
// +kubebuilder:default=default
// Catalog specifies the name of the app catalog that this app belongs to.
Catalog string `json:"catalog,omitempty"`
// 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 {
// +kubebuilder:validation:Optional
// Ready indicates if all components of the release have been deployed.
Ready bool `json:"ready"`
// +kubebuilder:validation:Optional
// 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.