v1alpha1

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2020 License: Apache-2.0 Imports: 6 Imported by: 27

Documentation

Overview

+groupName=release.giantswarm.io

Index

Constants

This section is empty.

Variables

View Source
var (

	// AddToScheme is used by the generated client.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   group,
	Version: version,
}

SchemeGroupVersion is group version used to register these objects

Functions

func NewReleaseCRD

func NewReleaseCRD() *v1beta1.CustomResourceDefinition

func NewReleaseCycleCRD

func NewReleaseCycleCRD() *v1beta1.CustomResourceDefinition

func NewReleaseCycleTypeMeta

func NewReleaseCycleTypeMeta() metav1.TypeMeta

func NewReleaseTypeMeta

func NewReleaseTypeMeta() metav1.TypeMeta

Types

type DeepCopyDate

type DeepCopyDate struct {
	metav1.Time `json:",inline"`
}

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

Release is a Kubernetes resource (CR) which is based on the Release CRD defined above.

An example Release resource can be viewed here https://github.com/giantswarm/apiextensions/blob/master/docs/cr/release.giantswarm.io_v1alpha1_release.yaml

func NewReleaseCR

func NewReleaseCR() *Release

func (*Release) DeepCopy

func (in *Release) DeepCopy() *Release

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.

func (*Release) DeepCopyInto

func (in *Release) DeepCopyInto(out *Release)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Release) DeepCopyObject

func (in *Release) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCycle

type ReleaseCycle struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ReleaseCycleSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	Status ReleaseCycleStatus `json:"status,omitempty"`
}

func (*ReleaseCycle) DeepCopy

func (in *ReleaseCycle) DeepCopy() *ReleaseCycle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycle.

func (*ReleaseCycle) DeepCopyInto

func (in *ReleaseCycle) DeepCopyInto(out *ReleaseCycle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseCycle) DeepCopyObject

func (in *ReleaseCycle) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCycleList

type ReleaseCycleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ReleaseCycle `json:"items"`
}

func (*ReleaseCycleList) DeepCopy

func (in *ReleaseCycleList) DeepCopy() *ReleaseCycleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleList.

func (*ReleaseCycleList) DeepCopyInto

func (in *ReleaseCycleList) DeepCopyInto(out *ReleaseCycleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseCycleList) DeepCopyObject

func (in *ReleaseCycleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCyclePhase

type ReleaseCyclePhase string
const (
	CyclePhaseUpcoming ReleaseCyclePhase = "upcoming"
	CyclePhaseEnabled  ReleaseCyclePhase = "enabled"
	CyclePhaseDisabled ReleaseCyclePhase = "disabled"
	CyclePhaseEOL      ReleaseCyclePhase = "eol"
)

func (ReleaseCyclePhase) String

func (r ReleaseCyclePhase) String() string

type ReleaseCycleSpec

type ReleaseCycleSpec struct {
	// DisabledDate is the date of the cycle phase being changed to "disabled".
	DisabledDate DeepCopyDate `json:"disabledDate,omitempty"`
	// EnabledDate is the date of the cycle phase being changed to "enabled".
	EnabledDate DeepCopyDate `json:"enabledDate,omitempty"`
	// Phase is the release phase. It can be one of: "upcoming", "enabled",
	// "disabled", "eol".
	Phase ReleaseCyclePhase `json:"phase"`
}

func (*ReleaseCycleSpec) DeepCopy

func (in *ReleaseCycleSpec) DeepCopy() *ReleaseCycleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleSpec.

func (*ReleaseCycleSpec) DeepCopyInto

func (in *ReleaseCycleSpec) DeepCopyInto(out *ReleaseCycleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseCycleStatus

type ReleaseCycleStatus struct {
}

func (*ReleaseCycleStatus) DeepCopy

func (in *ReleaseCycleStatus) DeepCopy() *ReleaseCycleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleStatus.

func (*ReleaseCycleStatus) DeepCopyInto

func (in *ReleaseCycleStatus) DeepCopyInto(out *ReleaseCycleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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:Type=string
	// +kubebuilder:validation:Pattern=`^(active|deprecated|wip)$`
	// State indicates the availability of the release: deprecated, active, or wip.
	State ReleaseState `json:"state"`
}

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

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 {
	// Name of the component.
	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 component.
	Version string `json:"version"`
}

func (*ReleaseSpecComponent) DeepCopy

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

func (ReleaseState) String added in v0.3.0

func (r ReleaseState) String() string

Jump to

Keyboard shortcuts

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