v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the addonmgr v1alpha1 API group +kubebuilder:object:generate=true +groupName=addonmgr.keikoproj.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "addonmgr.keikoproj.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Addon

type Addon struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AddonSpec   `json:"spec,omitempty"`
	Status AddonStatus `json:"status,omitempty"`
}

Addon is the Schema for the addons API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=addons +kubebuilder:printcolumn:name="PACKAGE",type="string",JSONPath=".spec.pkgName" +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".spec.pkgVersion" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.lifecycle.installed" +kubebuilder:printcolumn:name="REASON",type="string",JSONPath=".status.reason" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"

func (*Addon) CalculateChecksum

func (a *Addon) CalculateChecksum() string

CalculateChecksum converts the AddonSpec into a hash string (using Alder32 algo)

func (*Addon) DeepCopy

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto

func (in *Addon) DeepCopyInto(out *Addon)

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

func (*Addon) DeepCopyObject

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

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

func (*Addon) GetAllAddonParameters

func (a *Addon) GetAllAddonParameters() map[string]string

GetAllAddonParameters returns an object copying the params submitted as part of the addon spec

func (*Addon) GetFormattedWorkflowName

func (a *Addon) GetFormattedWorkflowName(lifecycleStep LifecycleStep) string

GetFormattedWorkflowName used the addon name, workflow prefix, addon checksum, and lifecycle step to compose the workflow name

func (*Addon) GetInstallStatus

func (a *Addon) GetInstallStatus() ApplicationAssemblyPhase

GetInstallStatus returns the install phase for addon

func (*Addon) GetPackageSpec

func (a *Addon) GetPackageSpec() PackageSpec

GetPackageSpec returns the addon package details from addon spec

func (*Addon) GetWorkflowType added in v0.1.0

func (a *Addon) GetWorkflowType(step LifecycleStep) (*WorkflowType, error)

GetWorkflowType returns the WorkflowType under the addon lifecycle spec

type AddonList

type AddonList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Addon `json:"items"`
}

AddonList contains a list of Addon

func (*AddonList) DeepCopy

func (in *AddonList) DeepCopy() *AddonList

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

func (*AddonList) DeepCopyInto

func (in *AddonList) DeepCopyInto(out *AddonList)

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

func (*AddonList) DeepCopyObject

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

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

type AddonOverridesSpec

type AddonOverridesSpec struct {
	// Kustomize specs
	// +optional
	Kustomize KustomizeSpec `json:"kustomize,omitempty"`
	// Template specs
	// +optional
	Template map[string]string `json:"template,omitempty" protobuf:"bytes,2,rep,name=template"`
}

AddonOverridesSpec represents a template of the resources that can be deployed or patched alongside the main deployment

func (*AddonOverridesSpec) DeepCopy

func (in *AddonOverridesSpec) DeepCopy() *AddonOverridesSpec

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

func (*AddonOverridesSpec) DeepCopyInto

func (in *AddonOverridesSpec) DeepCopyInto(out *AddonOverridesSpec)

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

type AddonParams

type AddonParams struct {
	// +kubebuilder:validation:MinLength=1
	Namespace string `json:"namespace,omitempty"`
	// Context values passed directly to the addon
	// +optional
	Context ClusterContext `json:"context,omitempty"`
	// Data values that will be parameters injected into workflows
	// +optional
	Data map[string]FlexString `json:"data,omitempty"`
}

AddonParams are the parameters which will be available to the template workflows

func (*AddonParams) DeepCopy

func (in *AddonParams) DeepCopy() *AddonParams

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

func (*AddonParams) DeepCopyInto

func (in *AddonParams) DeepCopyInto(out *AddonParams)

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

type AddonSpec

type AddonSpec struct {
	PackageSpec `json:",inline"`

	// Parameters that will be injected into the workflows for addon
	// +optional
	Params AddonParams `json:"params,omitempty"`
	// Selector that is used to filter the resource watching
	// +optional
	Selector metav1.LabelSelector `json:"selector,omitempty"`
	// Overrides are kustomize patches that can be applied to templates
	// +optional
	Overrides AddonOverridesSpec `json:"overrides,omitempty"`
	// Secrets is a list of secret names expected to exist in the target namespace
	// +optional
	Secrets []SecretCmdSpec `json:"secrets,omitempty"`

	// +optional
	Lifecycle LifecycleWorkflowSpec `json:"lifecycle,omitempty"`
}

AddonSpec defines the desired state of Addon

func (*AddonSpec) DeepCopy

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto

func (in *AddonSpec) DeepCopyInto(out *AddonSpec)

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

type AddonStatus

type AddonStatus struct {
	Checksum  string               `json:"checksum"`
	Lifecycle AddonStatusLifecycle `json:"lifecycle"`
	Resources []ObjectStatus       `json:"resources"`
	Reason    string               `json:"reason"`
	StartTime int64                `json:"starttime,omitempty"`
}

AddonStatus defines the observed state of Addon

func (*AddonStatus) DeepCopy

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

type AddonStatusLifecycle

type AddonStatusLifecycle struct {
	Prereqs   ApplicationAssemblyPhase `json:"prereqs,omitempty"`
	Installed ApplicationAssemblyPhase `json:"installed,omitempty"`
}

AddonStatusLifecycle defines the lifecycle status for steps.

func (*AddonStatusLifecycle) DeepCopy

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

func (*AddonStatusLifecycle) DeepCopyInto

func (in *AddonStatusLifecycle) DeepCopyInto(out *AddonStatusLifecycle)

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

type ApplicationAssemblyPhase

type ApplicationAssemblyPhase string

ApplicationAssemblyPhase tracks the Addon CRD phases: pending, succeeded, failed, deleting, deleteFailed

const (
	// Used to indicate that not all of application's components
	// have been deployed yet.
	Pending ApplicationAssemblyPhase = "Pending"
	// Used to indicate that all of application's components
	// have already been deployed.
	Succeeded ApplicationAssemblyPhase = "Succeeded"
	// Used to indicate that deployment of application's components
	// failed. Some components might be present, but deployment of
	// the remaining ones will not be re-attempted.
	Failed ApplicationAssemblyPhase = "Failed"
	// Used to indicate that all application's components
	// are being deleted.
	Deleting ApplicationAssemblyPhase = "Deleting"
	// Used to indicate that delete failed.
	DeleteFailed ApplicationAssemblyPhase = "Delete Failed"
)

Constants

type ClusterContext

type ClusterContext struct {
	// ClusterName name of the cluster
	// +optional
	ClusterName string `json:"clusterName,omitempty"`
	// ClusterRegion region of the cluster
	// +optional
	ClusterRegion string `json:"clusterRegion,omitempty"`
	// AdditionalConfigs are a map of string values that correspond to additional context data that can be passed along
	// +optional
	AdditionalConfigs map[string]FlexString `json:"additionalConfigs,omitempty" protobuf:"bytes,2,rep,name=data"`
}

ClusterContext represents a minimal context that can be provided to an addon

func (*ClusterContext) DeepCopy

func (in *ClusterContext) DeepCopy() *ClusterContext

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

func (*ClusterContext) DeepCopyInto

func (in *ClusterContext) DeepCopyInto(out *ClusterContext)

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

type CmdType

type CmdType int

CmdType represents a function that can be performed with arguments

type DeploymentPhase

type DeploymentPhase string

DeploymentPhase represents the status of observed resources

const (
	// InProgress deployment phase for resources in addon
	InProgress DeploymentPhase = "InProgress"
	// Ready deployment phase for resources in addon
	Ready DeploymentPhase = "Ready"
	// Unknown deployment phase for resources in addon
	Unknown DeploymentPhase = "Unknown"
)

type FlexString

type FlexString string

FlexString is a ptr to string type that is used to provide additional configs

func (*FlexString) UnmarshalJSON

func (fs *FlexString) UnmarshalJSON(b []byte) error

UnmarshalJSON overrides unmarshaler.UnmarshalJSON in converter

type KustomizeSpec

type KustomizeSpec struct {
	// Common labels as per Kustomize spec
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,1,rep,name=labels"`

	// Common annotations as per Kustomize spec
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,1,rep,name=annotations"`

	// List of resource kinds
	// +optional
	Resources []string `json:"resources,omitempty"`

	// Overlay templates, these are patch objects as per kustomize spec
	// +optional
	Overlay KustomizeTemplate `json:"overlay,omitempty"`
}

KustomizeSpec is used to specify common Kustomize spec features

func (*KustomizeSpec) DeepCopy

func (in *KustomizeSpec) DeepCopy() *KustomizeSpec

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

func (*KustomizeSpec) DeepCopyInto

func (in *KustomizeSpec) DeepCopyInto(out *KustomizeSpec)

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

type KustomizeTemplate

type KustomizeTemplate struct {
	// Template patch yamls as per Kustomize spec
	// +optional
	Template map[string]string `json:"template,omitempty" protobuf:"bytes,2,rep,name=template"`
}

KustomizeTemplate is used to specify override patch templates in Kustomize format

func (*KustomizeTemplate) DeepCopy

func (in *KustomizeTemplate) DeepCopy() *KustomizeTemplate

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

func (*KustomizeTemplate) DeepCopyInto

func (in *KustomizeTemplate) DeepCopyInto(out *KustomizeTemplate)

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

type LifecycleStep

type LifecycleStep string

LifecycleStep is a string representation of the lifecycle steps available in Addon spec: prereqs, install, delete, validate

const (
	// Prereqs constant
	Prereqs LifecycleStep = "prereqs"
	// Install constant
	Install LifecycleStep = "install"
	// Delete constant
	Delete LifecycleStep = "delete"
	// Validate constant
	Validate LifecycleStep = "validate"
)

type LifecycleWorkflowSpec

type LifecycleWorkflowSpec struct {
	Prereqs  WorkflowType `json:"prereqs,omitempty"`
	Install  WorkflowType `json:"install,omitempty"`
	Delete   WorkflowType `json:"delete,omitempty"`
	Validate WorkflowType `json:"validate,omitempty"`
}

LifecycleWorkflowSpec is where all of the lifecycle workflow templates will be specified under

func (*LifecycleWorkflowSpec) DeepCopy

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

func (*LifecycleWorkflowSpec) DeepCopyInto

func (in *LifecycleWorkflowSpec) DeepCopyInto(out *LifecycleWorkflowSpec)

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

type ObjectStatus

type ObjectStatus struct {
	// Link to object
	Link string `json:"link,omitempty"`
	// Name of object
	Name string `json:"name,omitempty"`
	// Kind of object
	Kind string `json:"kind,omitempty"`
	// Object group
	Group string `json:"group,omitempty"`
	// Status. Values: InProgress, Ready, Unknown
	Status string `json:"status,omitempty"`
}

ObjectStatus is a generic status holder for objects +k8s:deepcopy-gen=true

func (*ObjectStatus) DeepCopy

func (in *ObjectStatus) DeepCopy() *ObjectStatus

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

func (*ObjectStatus) DeepCopyInto

func (in *ObjectStatus) DeepCopyInto(out *ObjectStatus)

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

type PackageSpec

type PackageSpec struct {
	PkgChannel     string            `json:"pkgChannel,omitempty"`
	PkgName        string            `json:"pkgName"`
	PkgVersion     string            `json:"pkgVersion"`
	PkgType        PackageType       `json:"pkgType"`
	PkgDescription string            `json:"pkgDescription"`
	PkgDeps        map[string]string `json:"pkgDeps,omitempty"`
}

PackageSpec is the package level details needed by addon

func (*PackageSpec) DeepCopy

func (in *PackageSpec) DeepCopy() *PackageSpec

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

func (*PackageSpec) DeepCopyInto

func (in *PackageSpec) DeepCopyInto(out *PackageSpec)

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

type PackageType

type PackageType string

PackageType is a specific deployer type that will be used for deploying templates

const (
	// HelmPkg is a deployer package type representing Helm package structure
	HelmPkg PackageType = "helm"
	// ShipPkg is a deployer package type representing Ship package structure
	ShipPkg PackageType = "ship"
	// KustomizePkg is a deployer package type representing Kustomize package structure
	KustomizePkg PackageType = "kustomize"
	// CnabPkg is a deployer package type representing CNAB package structure
	CnabPkg PackageType = "cnab"
	// CompositePkg is a package type representing a composite package structure, just yamls
	CompositePkg PackageType = "composite"
)

type SecretCmdSpec

type SecretCmdSpec struct {
	Name string   `json:"name"`
	Cmd  CmdType  `json:"cmd,omitempty"`
	Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`
}

SecretCmdSpec is a secret list and/or generator for secrets using the available commands: random, cert.

func (*SecretCmdSpec) DeepCopy

func (in *SecretCmdSpec) DeepCopy() *SecretCmdSpec

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

func (*SecretCmdSpec) DeepCopyInto

func (in *SecretCmdSpec) DeepCopyInto(out *SecretCmdSpec)

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

type WorkflowType

type WorkflowType struct {
	// NamePrefix is a prefix for the name of workflow
	// +kubebuilder:validation:MaxLength=10
	// +optional
	NamePrefix string `json:"namePrefix,omitempty"`
	// Role used to denote the role annotation that should be used by the deployment resource
	// +optional
	Role string `json:"role,omitempty"`
	// WorkflowRole used to denote the role annotation that should be used by the workflow
	// +optional
	WorkflowRole string `json:"workflowRole,omitempty"`
	// Template is used to provide the workflow spec
	Template string `json:"template"`
}

WorkflowType allows user to specify workflow templates with optional namePrefix, workflowRole or role.

func (*WorkflowType) DeepCopy

func (in *WorkflowType) DeepCopy() *WorkflowType

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

func (*WorkflowType) DeepCopyInto

func (in *WorkflowType) DeepCopyInto(out *WorkflowType)

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

Jump to

Keyboard shortcuts

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