apiextensions: github.com/giantswarm/apiextensions/pkg/apis/release/v1alpha1 Index | Files

package v1alpha1

import "github.com/giantswarm/apiextensions/pkg/apis/release/v1alpha1"

+groupName=release.giantswarm.io

Index

Package Files

deep_copy.go doc.go register.go release_cycle_types.go release_types.go zz_generated.deepcopy.go

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

func NewReleaseCRD Uses

func NewReleaseCRD() *apiextensionsv1beta1.CustomResourceDefinition

func NewReleaseCycleCRD Uses

func NewReleaseCycleCRD() *apiextensionsv1beta1.CustomResourceDefinition

func NewReleaseCycleTypeMeta Uses

func NewReleaseCycleTypeMeta() metav1.TypeMeta

func NewReleaseTypeMeta Uses

func NewReleaseTypeMeta() metav1.TypeMeta

type DeepCopyDate Uses

type DeepCopyDate struct {
    time.Time
}

DeepCopyDate is a date type designed to be validated with json-schema date type.

func (*DeepCopyDate) DeepCopy Uses

func (in *DeepCopyDate) DeepCopy() *DeepCopyDate

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

func (*DeepCopyDate) DeepCopyInto Uses

func (d *DeepCopyDate) DeepCopyInto(out *DeepCopyDate)

func (DeepCopyDate) MarshalJSON Uses

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 Uses

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 Uses

type Release struct {
    metav1.TypeMeta   `json:",inline" yaml:",inline"`
    metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
    Spec              ReleaseSpec   `json:"spec" yaml:"spec"`
    Status            ReleaseStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Release CRs might look something like the following.

apiVersion: "release.giantswarm.io/v1alpha1"
kind: "Release"
metadata:
  name: "aws.v6.1.0"
  labels:
    giantswarm.io/managed-by: "app-operator"
    giantswarm.io/provider: "aws"
spec:
  changelog:
    - component: "cloudconfig"
      description: "Replace cloudinit with ignition."
      kind: "changed"
  components:
    - name: "aws-operator"
      version: "4.6.0"
    - name: "cert-operator"
      version: "0.1.0"
    - name: "chart-operator"
      version: "0.5.0"
    - name: "cluster-operator"
      version: "0.10.0"
  parentVersion: "6.0.1"
  version: "6.1.0"
status:
  cycle:
    phase: "eol"
    enabledDate: 2019-01-08
    disabledDate: 2019-01-12

func (*Release) DeepCopy Uses

func (in *Release) DeepCopy() *Release

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

func (*Release) DeepCopyInto Uses

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 Uses

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

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

type ReleaseChangelogKind Uses

type ReleaseChangelogKind string
const (
    ChangelogKindAdded      ReleaseChangelogKind = "added"
    ChangelogKindChanged    ReleaseChangelogKind = "changed"
    ChangelogKindDeprecated ReleaseChangelogKind = "deprecated"
    ChangelogKindFixed      ReleaseChangelogKind = "fixed"
    ChangelogKindRemoved    ReleaseChangelogKind = "removed"
    ChangelogKindSecurity   ReleaseChangelogKind = "security"
)

type ReleaseCycle Uses

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 Uses

func (in *ReleaseCycle) DeepCopy() *ReleaseCycle

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

func (*ReleaseCycle) DeepCopyInto Uses

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 Uses

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

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

type ReleaseCycleList Uses

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

func (*ReleaseCycleList) DeepCopy Uses

func (in *ReleaseCycleList) DeepCopy() *ReleaseCycleList

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

func (*ReleaseCycleList) DeepCopyInto Uses

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 Uses

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

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

type ReleaseCyclePhase Uses

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

func (ReleaseCyclePhase) String Uses

func (r ReleaseCyclePhase) String() string

type ReleaseCycleSpec Uses

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 Uses

func (in *ReleaseCycleSpec) DeepCopy() *ReleaseCycleSpec

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

func (*ReleaseCycleSpec) DeepCopyInto Uses

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 Uses

type ReleaseCycleStatus struct {
}

func (*ReleaseCycleStatus) DeepCopy Uses

func (in *ReleaseCycleStatus) DeepCopy() *ReleaseCycleStatus

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

func (*ReleaseCycleStatus) DeepCopyInto Uses

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 Uses

type ReleaseList struct {
    metav1.TypeMeta `json:",inline" yaml:",inline"`
    metav1.ListMeta `json:"metadata" yaml:"metadata"`
    Items           []Release `json:"items" yaml:"items"`
}

func (*ReleaseList) DeepCopy Uses

func (in *ReleaseList) DeepCopy() *ReleaseList

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

func (*ReleaseList) DeepCopyInto Uses

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 Uses

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

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

type ReleaseSpec Uses

type ReleaseSpec struct {
    // Changelog is the changelog since ParentVersion.
    Changelog []ReleaseSpecChangelogEntry `json:"changelog" yaml:"changelog"`
    // Components describes components managing this release.
    Components []ReleaseSpecComponent `json:"components" yaml:"components"`
    // ParentVersion is a version from which the changes in changelog are
    // described. We need that because we may introduce bug fixes after
    // next major release and then taking previous semver version may not
    // render correct changelog. This should always be in the semver format
    // without the "v" prefix.
    ParentVersion string `json:"parentVersion" yaml:"parentVersion"`
    // Version is the version of the release. Releases with semver version
    // (without the "v" prefix) are taken from control-plane AppCatalog.
    // All other releases are taken from control-plane-test AppCatalog.
    Version string `json:"version" yaml:"version"`
}

func (*ReleaseSpec) DeepCopy Uses

func (in *ReleaseSpec) DeepCopy() *ReleaseSpec

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

func (*ReleaseSpec) DeepCopyInto Uses

func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)

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

type ReleaseSpecChangelogEntry Uses

type ReleaseSpecChangelogEntry struct {
    // Component name.
    Component string `json:"component" yaml:"component"`
    // Description of the component changes expressed in full sentence.
    Description string `json:"description" yaml:"description"`
    // Kind of the component changes. It can be one of: "added", "changed",
    // "deprecated", "fixed", "removed", "security".
    Kind ReleaseChangelogKind `json:"kind" yaml:"kind"`
}

func (*ReleaseSpecChangelogEntry) DeepCopy Uses

func (in *ReleaseSpecChangelogEntry) DeepCopy() *ReleaseSpecChangelogEntry

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

func (*ReleaseSpecChangelogEntry) DeepCopyInto Uses

func (in *ReleaseSpecChangelogEntry) DeepCopyInto(out *ReleaseSpecChangelogEntry)

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

type ReleaseSpecChangelogEntryKind Uses

type ReleaseSpecChangelogEntryKind string

type ReleaseSpecComponent Uses

type ReleaseSpecComponent struct {
    // Name of the release component.
    Name string `json:"name" yaml:"name"`
    // Version of the release component.
    Version string `json:"version" yaml:"version"`
}

func (*ReleaseSpecComponent) DeepCopy Uses

func (in *ReleaseSpecComponent) DeepCopy() *ReleaseSpecComponent

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

func (*ReleaseSpecComponent) DeepCopyInto Uses

func (in *ReleaseSpecComponent) DeepCopyInto(out *ReleaseSpecComponent)

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

type ReleaseStatus Uses

type ReleaseStatus struct {
    // Cycle is the most recent observed copy of the specification of the
    // ReleaseCycle CR referencing this Release CR.
    Cycle ReleaseCycleSpec `json:"cycle,omitempty" yaml:"cycle,omitempty"`
}

func (*ReleaseStatus) DeepCopy Uses

func (in *ReleaseStatus) DeepCopy() *ReleaseStatus

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

func (*ReleaseStatus) DeepCopyInto Uses

func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)

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

Package v1alpha1 imports 6 packages (graph) and is imported by 4 packages. Updated 2019-11-20. Refresh now. Tools for package owners.