v1alpha1

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2020 License: Apache-2.0 Imports: 7 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

NewReleaseCRD returns a new custom resource definition for Release.

func NewReleaseCycleTypeMeta

func NewReleaseCycleTypeMeta() metav1.TypeMeta

func NewReleaseTypeMeta

func NewReleaseTypeMeta() metav1.TypeMeta

Types

type DeepCopyDate

type DeepCopyDate struct {
	time.Time
}

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 (d *DeepCopyDate) DeepCopyInto(out *DeepCopyDate)

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 DeepCopyTime

type DeepCopyTime struct {
	time.Time
}

DeepCopyTime implements the deep copy logic for time.Time which the k8s codegen is not able to generate out of the box.

func (*DeepCopyTime) DeepCopy

func (in *DeepCopyTime) DeepCopy() *DeepCopyTime

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

func (*DeepCopyTime) DeepCopyInto

func (in *DeepCopyTime) DeepCopyInto(out *DeepCopyTime)

type Release

type Release struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
	Spec              ReleaseSpec `json:"spec" yaml:"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" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
	Spec              ReleaseCycleSpec   `json:"spec" yaml:"spec"`
	Status            ReleaseCycleStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

ReleaseCycle CRs might look something like the following.

apiVersion: "release.giantswarm.io/v1alpha1"
kind: "ReleaseCycle"
metadata:
  name: "aws.v6.1.0"
  labels:
    giantswarm.io/managed-by: "opsctl"
    giantswarm.io/provider: "aws"
spec:
  disabledDate: 2019-01-12
  enabledDate: 2019-01-08
  phase: "enabled"

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" yaml:",inline"`
	metav1.ListMeta `json:"metadata" yaml:"metadata"`
	Items           []ReleaseCycle `json:"items" yaml:"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" yaml:"disabledDate,omitempty"`
	// EnabledDate is the date of the cycle phase being changed to "enabled".
	EnabledDate DeepCopyDate `json:"enabledDate,omitempty" yaml:"enabledDate,omitempty"`
	// Phase is the release phase. It can be one of: "upcoming", "enabled",
	// "disabled", "eol".
	Phase ReleaseCyclePhase `json:"phase" yaml:"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" yaml:",inline"`
	metav1.ListMeta `json:"metadata" yaml:"metadata"`
	Items           []Release `json:"items" yaml:"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" yaml:"apps"`
	// Components describes components used in this release.
	Components []ReleaseSpecComponent `json:"components" yaml:"components"`
	// Date that the release became active.
	Date *DeepCopyTime `json:"date" yaml:"date"`
	// State indicates the availability of the release: deprecated, active, or wip.
	State ReleaseState `json:"state" yaml:"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" yaml:"componentVersion,omitempty"`
	// Name of the app.
	Name string `json:"name" yaml:"name"`
	// Version of the app.
	Version string `json:"version" yaml:"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" yaml:"name"`
	// Version of the component.
	Version string `json:"version" yaml:"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

Jump to

Keyboard shortcuts

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