Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the packages v1alpha1 API group +kubebuilder:object:generate=true +groupName=packages.glasskube.dev
Index ¶
- Variables
- type Dependency
- type HelmManifest
- type JSON
- type KustomizeManifest
- type ObjectKeyValueSource
- type OwnedResourceRef
- type Package
- type PackageEntrypoint
- type PackageInfo
- type PackageInfoList
- type PackageInfoSpec
- type PackageInfoStatus
- type PackageInfoTemplate
- type PackageList
- type PackageManifest
- type PackageReference
- type PackageSpec
- type PackageStatus
- type PackageValueSource
- type PartialJsonPatch
- type PlainManifest
- type ValueConfiguration
- type ValueDefinition
- type ValueDefinitionConstraints
- type ValueDefinitionMetadata
- type ValueDefinitionTarget
- type ValueReference
- type ValueType
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "packages.glasskube.dev", 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 Dependency ¶ added in v0.0.4
type Dependency struct { Name string `json:"name" jsonschema:"required"` Version string `json:"version,omitempty"` }
func (*Dependency) DeepCopy ¶ added in v0.0.4
func (in *Dependency) DeepCopy() *Dependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependency.
func (*Dependency) DeepCopyInto ¶ added in v0.0.4
func (in *Dependency) DeepCopyInto(out *Dependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmManifest ¶
type HelmManifest struct { // RepositoryUrl is the remote URL of the helm repository. This is the same URL you would use // if you use "helm repo add ...". RepositoryUrl string `json:"repositoryUrl" jsonschema:"required"` // ChartName is the name of the chart that represents this package. ChartName string `json:"chartName" jsonschema:"required"` // ChartVersion of the chart that should be installed. ChartVersion string `json:"chartVersion" jsonschema:"required"` // Values that should be used for the helm release Values *JSON `json:"values,omitempty"` }
func (*HelmManifest) DeepCopy ¶
func (in *HelmManifest) DeepCopy() *HelmManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmManifest.
func (*HelmManifest) DeepCopyInto ¶
func (in *HelmManifest) DeepCopyInto(out *HelmManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JSON ¶
type JSON apiextensionsv1.JSON
func (*JSON) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSON.
func (*JSON) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (JSON) JSONSchema ¶
func (JSON) JSONSchema() *jsonschema.Schema
func (JSON) MarshalJSON ¶
func (*JSON) UnmarshalJSON ¶
type KustomizeManifest ¶
type KustomizeManifest struct { }
func (*KustomizeManifest) DeepCopy ¶
func (in *KustomizeManifest) DeepCopy() *KustomizeManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizeManifest.
func (*KustomizeManifest) DeepCopyInto ¶
func (in *KustomizeManifest) DeepCopyInto(out *KustomizeManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectKeyValueSource ¶ added in v0.2.0
type ObjectKeyValueSource struct { Name string `json:"name"` Namespace string `json:"namespace,omitempty"` Key string `json:"key"` }
func (*ObjectKeyValueSource) DeepCopy ¶ added in v0.2.0
func (in *ObjectKeyValueSource) DeepCopy() *ObjectKeyValueSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectKeyValueSource.
func (*ObjectKeyValueSource) DeepCopyInto ¶ added in v0.2.0
func (in *ObjectKeyValueSource) DeepCopyInto(out *ObjectKeyValueSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OwnedResourceRef ¶
type OwnedResourceRef struct { metav1.GroupVersionKind `json:",inline"` Name string `json:"name"` Namespace string `json:"namespace,omitempty"` MarkedForDeletion bool `json:"markedForDeletion,omitempty"` }
func (*OwnedResourceRef) DeepCopy ¶
func (in *OwnedResourceRef) DeepCopy() *OwnedResourceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnedResourceRef.
func (*OwnedResourceRef) DeepCopyInto ¶
func (in *OwnedResourceRef) DeepCopyInto(out *OwnedResourceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OwnedResourceRef) String ¶
func (orr OwnedResourceRef) String() string
type Package ¶
type Package struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PackageSpec `json:"spec,omitempty"` Status PackageStatus `json:"status,omitempty"` }
Package is the Schema for the packages API
func (*Package) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Package.
func (*Package) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Package) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageEntrypoint ¶
type PackageEntrypoint struct { // Name of this entrypoint. Used for "glasskube open [package-name] [entrypoint-name]" if more // than one entrypoint exists. Optional if the package only has one entrypoint. Name string `json:"name,omitempty"` // ServiceName is the name of a service that is part of ServiceName string `json:"serviceName" jsonschema:"required"` // Port of the service to bind to Port int32 `json:"port" jsonschema:"required"` // LocalPort to use for port mapping LocalPort int32 `json:"localPort,omitempty"` Scheme string `json:"scheme,omitempty"` }
PackageEntrypoint defines a service port a user may use to access the package
func (*PackageEntrypoint) DeepCopy ¶
func (in *PackageEntrypoint) DeepCopy() *PackageEntrypoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEntrypoint.
func (*PackageEntrypoint) DeepCopyInto ¶
func (in *PackageEntrypoint) DeepCopyInto(out *PackageEntrypoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageInfo ¶
type PackageInfo struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PackageInfoSpec `json:"spec,omitempty"` Status PackageInfoStatus `json:"status,omitempty"` }
PackageInfo is the Schema for the packageinfos API
func (*PackageInfo) DeepCopy ¶
func (in *PackageInfo) DeepCopy() *PackageInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageInfo.
func (*PackageInfo) DeepCopyInto ¶
func (in *PackageInfo) DeepCopyInto(out *PackageInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageInfo) DeepCopyObject ¶
func (in *PackageInfo) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageInfoList ¶
type PackageInfoList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PackageInfo `json:"items"` }
PackageInfoList contains a list of PackageInfo
func (*PackageInfoList) DeepCopy ¶
func (in *PackageInfoList) DeepCopy() *PackageInfoList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageInfoList.
func (*PackageInfoList) DeepCopyInto ¶
func (in *PackageInfoList) DeepCopyInto(out *PackageInfoList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageInfoList) DeepCopyObject ¶
func (in *PackageInfoList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageInfoSpec ¶
type PackageInfoSpec struct { // +kubebuilder:validation:Required Name string `json:"name"` Version string `json:"version,omitempty"` RepositoryUrl string `json:"repositoryUrl,omitempty"` }
PackageInfoSpec defines the desired state of PackageInfo
func (*PackageInfoSpec) DeepCopy ¶
func (in *PackageInfoSpec) DeepCopy() *PackageInfoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageInfoSpec.
func (*PackageInfoSpec) DeepCopyInto ¶
func (in *PackageInfoSpec) DeepCopyInto(out *PackageInfoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageInfoStatus ¶
type PackageInfoStatus struct { Manifest *PackageManifest `json:"manifest,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` LastUpdateTimestamp *metav1.Time `json:"lastUpdateTimestamp,omitempty"` Version string `json:"version,omitempty"` }
PackageInfoStatus defines the observed state of PackageInfo
func (*PackageInfoStatus) DeepCopy ¶
func (in *PackageInfoStatus) DeepCopy() *PackageInfoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageInfoStatus.
func (*PackageInfoStatus) DeepCopyInto ¶
func (in *PackageInfoStatus) DeepCopyInto(out *PackageInfoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageInfoTemplate ¶
type PackageInfoTemplate struct { // Name of the package to install Name string `json:"name"` // Version of the package to install Version string `json:"version"` // Optional URL of the repository to pull the package from RepositoryUrl string `json:"repositoryUrl,omitempty"` }
func (*PackageInfoTemplate) DeepCopy ¶
func (in *PackageInfoTemplate) DeepCopy() *PackageInfoTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageInfoTemplate.
func (*PackageInfoTemplate) DeepCopyInto ¶
func (in *PackageInfoTemplate) DeepCopyInto(out *PackageInfoTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageList ¶
type PackageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Package `json:"items"` }
PackageList contains a list of Package
func (*PackageList) DeepCopy ¶
func (in *PackageList) DeepCopy() *PackageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageList.
func (*PackageList) DeepCopyInto ¶
func (in *PackageList) DeepCopyInto(out *PackageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageList) DeepCopyObject ¶
func (in *PackageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageManifest ¶
type PackageManifest struct { Name string `json:"name" jsonschema:"required"` ShortDescription string `json:"shortDescription,omitempty"` LongDescription string `json:"longDescription,omitempty"` References []PackageReference `json:"references,omitempty"` IconUrl string `json:"iconUrl,omitempty" jsonschema:"format=uri"` // Helm instructs the controller to create a helm release when installing this package. Helm *HelmManifest `json:"helm,omitempty"` // Kustomize instructs the controller to apply a kustomization when installing this package [PLACEHOLDER]. Kustomize *KustomizeManifest `json:"kustomize,omitempty"` Manifests []PlainManifest `json:"manifests,omitempty"` ValueDefinitions map[string]ValueDefinition `json:"valueDefinitions,omitempty"` // DefaultNamespace to install the package. May be overridden. DefaultNamespace string `json:"defaultNamespace,omitempty" jsonschema:"required"` Entrypoints []PackageEntrypoint `json:"entrypoints,omitempty"` Dependencies []Dependency `json:"dependencies,omitempty"` }
func (*PackageManifest) DeepCopy ¶
func (in *PackageManifest) DeepCopy() *PackageManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifest.
func (*PackageManifest) DeepCopyInto ¶
func (in *PackageManifest) DeepCopyInto(out *PackageManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageReference ¶ added in v0.0.3
type PackageReference struct { Label string `json:"label" jsonschema:"required"` Url string `json:"url" jsonschema:"required"` }
func (*PackageReference) DeepCopy ¶ added in v0.0.3
func (in *PackageReference) DeepCopy() *PackageReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageReference.
func (*PackageReference) DeepCopyInto ¶ added in v0.0.3
func (in *PackageReference) DeepCopyInto(out *PackageReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageSpec ¶
type PackageSpec struct { PackageInfo PackageInfoTemplate `json:"packageInfo"` Values map[string]ValueConfiguration `json:"values,omitempty"` }
PackageSpec defines the desired state of Package
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 PackageStatus ¶
type PackageStatus struct { Version string `json:"version,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` OwnedResources []OwnedResourceRef `json:"ownedResources,omitempty"` OwnedPackageInfos []OwnedResourceRef `json:"ownedPackageInfos,omitempty"` OwnedPackages []OwnedResourceRef `json:"ownedPackages,omitempty"` }
PackageStatus defines the observed state of Package
func (*PackageStatus) DeepCopy ¶
func (in *PackageStatus) DeepCopy() *PackageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageStatus.
func (*PackageStatus) DeepCopyInto ¶
func (in *PackageStatus) DeepCopyInto(out *PackageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageValueSource ¶ added in v0.2.0
func (*PackageValueSource) DeepCopy ¶ added in v0.2.0
func (in *PackageValueSource) DeepCopy() *PackageValueSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageValueSource.
func (*PackageValueSource) DeepCopyInto ¶ added in v0.2.0
func (in *PackageValueSource) DeepCopyInto(out *PackageValueSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PartialJsonPatch ¶ added in v0.2.0
type PartialJsonPatch struct { Op string `json:"op" jsonschema:"required"` Path string `json:"path" jsonschema:"required"` }
func (*PartialJsonPatch) DeepCopy ¶ added in v0.2.0
func (in *PartialJsonPatch) DeepCopy() *PartialJsonPatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartialJsonPatch.
func (*PartialJsonPatch) DeepCopyInto ¶ added in v0.2.0
func (in *PartialJsonPatch) DeepCopyInto(out *PartialJsonPatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlainManifest ¶
type PlainManifest struct { Url string `json:"url" jsonschema:"required"` // DefaultNamespace, if set to a non-empty string, is used for resources that are of a namespaced // kind and do not have a namespace set. // If at least one such a resource exists, the namespace is created implicitly. DefaultNamespace string `json:"defaultNamespace,omitempty"` }
func (*PlainManifest) DeepCopy ¶
func (in *PlainManifest) DeepCopy() *PlainManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlainManifest.
func (*PlainManifest) DeepCopyInto ¶
func (in *PlainManifest) DeepCopyInto(out *PlainManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueConfiguration ¶ added in v0.2.0
type ValueConfiguration struct { Value *string `json:"value,omitempty"` ValueFrom *ValueReference `json:"valueFrom,omitempty"` }
+kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*ValueConfiguration) DeepCopy ¶ added in v0.2.0
func (in *ValueConfiguration) DeepCopy() *ValueConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueConfiguration.
func (*ValueConfiguration) DeepCopyInto ¶ added in v0.2.0
func (in *ValueConfiguration) DeepCopyInto(out *ValueConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueDefinition ¶ added in v0.2.0
type ValueDefinition struct { Type ValueType `json:"type" jsonschema:"required"` Metadata ValueDefinitionMetadata `json:"metadata,omitempty"` DefaultValue string `json:"defaultValue,omitempty"` Options []string `json:"options,omitempty"` Constraints ValueDefinitionConstraints `json:"constraints,omitempty"` Targets []ValueDefinitionTarget `json:"targets" jsonschema:"required"` }
func (*ValueDefinition) DeepCopy ¶ added in v0.2.0
func (in *ValueDefinition) DeepCopy() *ValueDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueDefinition.
func (*ValueDefinition) DeepCopyInto ¶ added in v0.2.0
func (in *ValueDefinition) DeepCopyInto(out *ValueDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueDefinitionConstraints ¶ added in v0.2.0
type ValueDefinitionConstraints struct { Required bool `json:"required,omitempty"` Min *int `json:"min,omitempty"` Max *int `json:"max,omitempty"` MinLength *int `json:"minLength,omitempty"` MaxLength *int `json:"maxLength,omitempty"` Pattern *string `json:"pattern,omitempty"` }
func (*ValueDefinitionConstraints) DeepCopy ¶ added in v0.2.0
func (in *ValueDefinitionConstraints) DeepCopy() *ValueDefinitionConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueDefinitionConstraints.
func (*ValueDefinitionConstraints) DeepCopyInto ¶ added in v0.2.0
func (in *ValueDefinitionConstraints) DeepCopyInto(out *ValueDefinitionConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueDefinitionMetadata ¶ added in v0.2.0
type ValueDefinitionMetadata struct { Label string `json:"label,omitempty"` Description string `json:"description,omitempty"` Hints []string `json:"hints,omitempty"` }
func (*ValueDefinitionMetadata) DeepCopy ¶ added in v0.2.0
func (in *ValueDefinitionMetadata) DeepCopy() *ValueDefinitionMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueDefinitionMetadata.
func (*ValueDefinitionMetadata) DeepCopyInto ¶ added in v0.2.0
func (in *ValueDefinitionMetadata) DeepCopyInto(out *ValueDefinitionMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueDefinitionTarget ¶ added in v0.2.0
type ValueDefinitionTarget struct { Resource *corev1.TypedObjectReference `json:"resource,omitempty" jsonschema:"oneof_required=WithResource"` ChartName *string `json:"chartName,omitempty" jsonschema:"oneof_required=WithChartName"` Patch PartialJsonPatch `json:"patch" jsonschema:"required"` ValueTemplate string `json:"valueTemplate,omitempty"` }
+kubebuilder:validation:XValidation:message="ValueDefinitionTarget must have either resource or chartName but not both",rule="has(self.resource) != has(self.chartName)"
func (*ValueDefinitionTarget) DeepCopy ¶ added in v0.2.0
func (in *ValueDefinitionTarget) DeepCopy() *ValueDefinitionTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueDefinitionTarget.
func (*ValueDefinitionTarget) DeepCopyInto ¶ added in v0.2.0
func (in *ValueDefinitionTarget) DeepCopyInto(out *ValueDefinitionTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueReference ¶ added in v0.2.0
type ValueReference struct { ConfigMapRef *ObjectKeyValueSource `json:"configMapRef,omitempty"` SecretRef *ObjectKeyValueSource `json:"secretRef,omitempty"` PackageRef *PackageValueSource `json:"packageRef,omitempty"` }
+kubebuilder:validation:MinProperties:=1 +kubebuilder:validation:MaxProperties:=1
func (*ValueReference) DeepCopy ¶ added in v0.2.0
func (in *ValueReference) DeepCopy() *ValueReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueReference.
func (*ValueReference) DeepCopyInto ¶ added in v0.2.0
func (in *ValueReference) DeepCopyInto(out *ValueReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueType ¶ added in v0.2.0
type ValueType string
+kubebuilder:validation:Enum=boolean;text;number;options
func (ValueType) JSONSchema ¶ added in v0.2.0
func (ValueType) JSONSchema() *jsonschema.Schema