v1alpha1

package
v0.0.0-...-d016759 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the features v1alpha1 API group +kubebuilder:object:generate=true +groupName=features.kaiserpfalz-edv.de

Index

Constants

View Source
const (
	// Seperator is the default
	Separator = '/'
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "features.kaiserpfalz-edv.de", 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 InstalledFeature

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

	Spec   InstalledFeatureSpec   `json:"spec,omitempty"`
	Status InstalledFeatureStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:shortName="ift" +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Group",type=string,JSONPath=`.spec.group` +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Documentation",type=string,JSONPath=`.spec.uri` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.phase` InstalledFeature is the Schema for the installedfeatures API

func (InstalledFeature) String

func (ift InstalledFeature) String() string

type InstalledFeatureGroup

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

	Spec   InstalledFeatureGroupSpec   `json:"spec,omitempty"`
	Status InstalledFeatureGroupStatus `json:"status,omitempty"`
}

InstalledFeatureGroup is the Schema for the installedfeaturegroups API

type InstalledFeatureGroupList

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

InstalledFeatureGroupList contains a list of InstalledFeatureGroup

type InstalledFeatureGroupListedFeature

type InstalledFeatureGroupListedFeature struct {
	// Namespace is the namespace of the feature listed
	Namespace string `json:"namespace,omitempty"`
	// Name is the name of the feature listed
	Name string `json:"name"`
}

InstaledFeatureGroupListedFeature defines subfeatures by namespace and name

type InstalledFeatureGroupSpec

type InstalledFeatureGroupSpec struct {
	// Provider is the organisation providing this feature
	Provider string `json:"provider,omitempty"`
	// Description of this feature
	Description string `json:"description,omitempty"`
	// URI with further information for users of this feature
	Uri string `json:"uri,omitempty"`
}

InstalledFeatureGroupSpec defines the desired state of InstalledFeatureGroup

type InstalledFeatureGroupStatus

type InstalledFeatureGroupStatus struct {
	// +kubebuilder:validation:Enum={"pending","initializing","failed","provisioned"}
	// Phase is the state of this message. May be pending, initializing, failed, provisioned
	Phase string `json:"phase"`
	// Message is a human readable message for this state
	Message string `json:"message,omitempty"`
	// Features contain all features of this feature group
	Features []InstalledFeatureGroupListedFeature `json:"features,omitempty"`
}

InstalledFeatureGroupStatus defines the observed state of InstalledFeatureGroup

type InstalledFeatureList

type InstalledFeatureList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:UniqueItems=true
	Items []InstalledFeature `json:"items"`
}

InstalledFeaturesList contains a list of InstalledFeatures

type InstalledFeatureRef

type InstalledFeatureRef struct {
	// Namespace is the namespace of the feature listed
	Namespace string `json:"namespace,omitempty"`
	// Name is the name of the feature listed
	Name string `json:"name"`
}

InstaledFeatureGroupListedFeature defines subfeatures by namespace and name

func (InstalledFeatureRef) String

func (n InstalledFeatureRef) String() string

type InstalledFeatureSpec

type InstalledFeatureSpec struct {
	// Group is the preferred group of the resource.  Empty implies the group of the containing resource list.
	// For subresources, this may have a different value, for example: Scale".
	Group *InstalledFeatureRef `json:"group,omitempty"`
	// Kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')
	Kind string `json:"kind" protobuf:"bytes,3,opt,name=kind"`
	// Version is the preferred version of the resource.  Empty implies the version of the containing resource list
	// For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)".
	Version string `json:"version" protobuf:"bytes,9,opt,name=version"`
	// Provider is the organisation providing this feature.
	Provider string `json:"provider,omitempty"`
	// Description of this feature
	Description string `json:"description,omitempty"`
	// URI with further information for users of this feature
	Uri string `json:"uri,omitempty"`
	// DependsOn lists all features this feature depends on to function.
	DependsOn []InstalledFeatureRef `json:"depends,omitempty"`
	// Conflicts lists all features that make a cluster incompatible with this feature
	Conflicts []InstalledFeatureRef `json:"conflicts,omitempty"`
}

InstalledFeatureSpec defines the desired state of InstalledFeature

type InstalledFeatureStatus

type InstalledFeatureStatus struct {
	// +kubebuilder:validation:Enum={"pending","initializing","failed","provisioned"}
	// Phase is the state of this message. May be pending, initializing, failed, provisioned
	Phase string `json:"phase"`
	// Message is a human readable message for this state.
	Message string `json:"message,omitempty"`
	// MissingDependencies contains  or the missing-dependency.
	MissingDependencies []InstalledFeatureRef `json:"missing-dependencies,omitempty"`
	// ConflictingFeatures contains the conflicting feature.
	ConflictingFeatures []InstalledFeatureRef `json:"conflicting-features,omitempty"`
	// DependingFeatures contains all features, that depend on this feature
	DependingFeatures []InstalledFeatureRef `json:"depending-features,omitempty"`
}

InstalledFeatureStatus defines the observed state of InstalledFeature

Jump to

Keyboard shortcuts

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