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
- Variables
- type InstalledFeature
- type InstalledFeatureGroup
- type InstalledFeatureGroupList
- type InstalledFeatureGroupListedFeature
- type InstalledFeatureGroupSpec
- type InstalledFeatureGroupStatus
- type InstalledFeatureList
- type InstalledFeatureRef
- type InstalledFeatureSpec
- type InstalledFeatureStatus
Constants ¶
const (
// Seperator is the default
Separator = '/'
)
Variables ¶
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