From 3148bdddff40272c6bae44494686bdfdde43be18 Mon Sep 17 00:00:00 2001 From: Nico Schieder Date: Tue, 3 Jun 2025 11:26:31 +0200 Subject: [PATCH 1/2] Update API docs --- .../api_reference/package-operator-api.md | 539 +++++++++++------- import-pko-apidocs.sh | 4 +- 2 files changed, 349 insertions(+), 194 deletions(-) diff --git a/content/en/docs/api_reference/package-operator-api.md b/content/en/docs/api_reference/package-operator-api.md index ee194e6..5bd6c58 100644 --- a/content/en/docs/api_reference/package-operator-api.md +++ b/content/en/docs/api_reference/package-operator-api.md @@ -1,5 +1,5 @@ --- -title: "Package Operator API" +title: "API Reference" draft: false images: [] weight: 700 @@ -33,7 +33,6 @@ _Taken from the [Kubernetes API versioning documentation](https://kubernetes.io/ {{< /details >}} ### Group versions - - [package-operator.run/v1alpha1](#package-operatorrunv1alpha1)\ - [manifests.package-operator.run/v1alpha1](#manifestspackage-operatorrunv1alpha1) @@ -42,23 +41,25 @@ _Taken from the [Kubernetes API versioning documentation](https://kubernetes.io/ Package v1alpha1 contains API Schema definitions for the v1alpha1 version of the core Package Operator API group, containing basic building blocks that other auxiliary APIs can build on top of. -- [ClusterObjectDeployment](#clusterobjectdeployment) -- [ClusterObjectSet](#clusterobjectset) -- [ClusterObjectSetPhase](#clusterobjectsetphase) -- [ClusterObjectSlice](#clusterobjectslice) -- [ClusterObjectTemplate](#clusterobjecttemplate) -- [ClusterPackage](#clusterpackage) -- [ObjectDeployment](#objectdeployment) -- [ObjectSet](#objectset) -- [ObjectSetPhase](#objectsetphase) -- [ObjectSlice](#objectslice) -- [ObjectTemplate](#objecttemplate) -- [Package](#package) +* [ClusterObjectDeployment](#clusterobjectdeployment) +* [ClusterObjectSet](#clusterobjectset) +* [ClusterObjectSetPhase](#clusterobjectsetphase) +* [ClusterObjectSlice](#clusterobjectslice) +* [ClusterObjectTemplate](#clusterobjecttemplate) +* [ClusterPackage](#clusterpackage) +* [ObjectDeployment](#objectdeployment) +* [ObjectSet](#objectset) +* [ObjectSetPhase](#objectsetphase) +* [ObjectSlice](#objectslice) +* [ObjectTemplate](#objecttemplate) +* [Package](#package) + ### ClusterObjectDeployment ClusterObjectDeployment is the Schema for the ClusterObjectDeployments API + **Example** ```yaml @@ -67,6 +68,7 @@ kind: ClusterObjectDeployment metadata: name: example spec: + paused: "true" revisionHistoryLimit: 10 selector: metav1.LabelSelector template: @@ -107,16 +109,27 @@ spec: - amet successDelaySeconds: 42 status: - phase:Pending: null + collisionCount: 42 + conditions: + - metav1.Condition + controllerOf: + - group: elitr + kind: sadipscing + name: sed + namespace: diam + revision: 42 + templateHash: consetetur ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ClusterObjectDeploymentSpec | ClusterObjectDeploymentSpec defines the desired state of a ClusterObjectDeployment. | | `status`
ClusterObjectDeploymentStatus | ClusterObjectDeploymentStatus defines the observed state of a ClusterObjectDeployment. | + ### ClusterObjectSet ClusterObjectSet reconciles a collection of objects through ordered phases and aggregates their status. @@ -129,6 +142,7 @@ Archived ClusterObjectSets may stay on the cluster, to store information about p A Namespace-scoped version of this API is available as ObjectSet. + **Example** ```yaml @@ -157,40 +171,53 @@ spec: app.kubernetes.io/name: example-operator lifecycleState: Active phases: - - class: sadipscing - name: consetetur + - class: eirmod + name: nonumy objects: - collisionProtection: Prevent conditionMappings: - - destinationType: sed - sourceType: elitr + - destinationType: lorem + sourceType: tempor object: apiVersion: apps/v1 kind: Deployment metadata: name: example-deployment slices: - - diam + - ipsum previous: - name: previous-revision successDelaySeconds: 42 status: - phase: Pending + conditions: + - metav1.Condition + controllerOf: + - group: amet + kind: sit + name: consetetur + namespace: sadipscing + remotePhases: + - name: dolor + uid: types.UID + revision: 42 ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ClusterObjectSetSpec | ClusterObjectSetSpec defines the desired state of a ClusterObjectSet. | | `status`
ClusterObjectSetStatus | ClusterObjectSetStatus defines the observed state of a ClusterObjectSet. | + ### ClusterObjectSetPhase ClusterObjectSetPhase is an internal API, allowing a ClusterObjectSet to delegate a single phase to another custom controller. ClusterObjectSets will create subordinate ClusterObjectSetPhases when `.class` is set within the phase specification. + **Example** ```yaml @@ -220,8 +247,8 @@ spec: objects: - collisionProtection: Prevent conditionMappings: - - destinationType: eirmod - sourceType: nonumy + - destinationType: sed + sourceType: elitr object: apiVersion: apps/v1 kind: Deployment @@ -236,25 +263,28 @@ status: - status: "True" type: Available controllerOf: - - group: lorem - kind: tempor - name: ipsum - namespace: dolor + - group: nonumy + kind: diam + name: eirmod + namespace: tempor ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ClusterObjectSetPhaseSpec | ClusterObjectSetPhaseSpec defines the desired state of a ClusterObjectSetPhase. | | `status`
ClusterObjectSetPhaseStatus | ClusterObjectSetPhaseStatus defines the observed state of a ClusterObjectSetPhase. | + ### ClusterObjectSlice ClusterObjectSlice is referenced by ObjectSets or ObjectDeployments and contain objects to limit the size of ObjectSet and ObjectDeployments when big packages are installed. This is necessary to work around the etcd object size limit of ~1.5MiB and to reduce load on the kube-apiserver. + **Example** ```yaml @@ -265,8 +295,8 @@ metadata: objects: - collisionProtection: Prevent conditionMappings: - - destinationType: amet - sourceType: sit + - destinationType: ipsum + sourceType: lorem object: apiVersion: apps/v1 kind: Deployment @@ -275,17 +305,20 @@ objects: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `objects` required
[]ObjectSetObject | | + ### ClusterObjectTemplate ClusterObjectTemplate contain a go template of a Kubernetes manifest. The manifest is then templated with the sources provided in the .Spec.Sources. The sources can come from objects from any namespace or cluster scoped objects. + **Example** ```yaml @@ -295,37 +328,39 @@ metadata: name: example spec: sources: - - apiVersion: sadipscing + - apiVersion: sit items: - - destination: eirmod - key: nonumy - kind: elitr - name: diam - namespace: sed + - destination: sed + key: elitr + kind: amet + name: sadipscing + namespace: consetetur optional: "true" - template: consetetur + template: dolor status: conditions: - metav1.Condition controllerOf: - group: lorem - kind: tempor - name: ipsum - namespace: dolor - phase: ObjectTemplateStatusPhase + group: nonumy + kind: diam + name: eirmod + namespace: tempor ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ObjectTemplateSpec | ObjectTemplateSpec specification. | | `status`
ObjectTemplateStatus | ObjectTemplateStatus defines the observed state of a ObjectTemplate ie the status of the templated object. | + ### ClusterPackage ClusterPackage defines a cluster scoped package installation. + **Example** ```yaml @@ -334,24 +369,31 @@ kind: ClusterPackage metadata: name: example spec: - component: amet + component: ipsum config: runtime.RawExtension - image: sit + image: lorem + paused: "true" status: - phase: Pending + conditions: + - metav1.Condition + revision: 42 + unpackedHash: dolor ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
PackageSpec | PackageSpec specifies a package. | | `status`
PackageStatus | PackageStatus defines the observed state of a Package. | + ### ObjectDeployment ObjectDeployment is the Schema for the ObjectDeployments API + **Example** ```yaml @@ -361,6 +403,7 @@ metadata: name: example namespace: default spec: + paused: "true" revisionHistoryLimit: 10 selector: metav1.LabelSelector template: @@ -385,32 +428,43 @@ spec: matchLabels: app.kubernetes.io/name: example-operator phases: - - class: sadipscing - name: consetetur + - class: amet + name: sit objects: - collisionProtection: Prevent conditionMappings: - - destinationType: sed - sourceType: elitr + - destinationType: sadipscing + sourceType: consetetur object: apiVersion: apps/v1 kind: Deployment metadata: name: example-deployment slices: - - diam + - elitr successDelaySeconds: 42 status: - phase:Pending: null + collisionCount: 42 + conditions: + - metav1.Condition + controllerOf: + - group: nonumy + kind: diam + name: eirmod + namespace: tempor + revision: 42 + templateHash: sed ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ObjectDeploymentSpec | ObjectDeploymentSpec defines the desired state of an ObjectDeployment. | | `status`
ObjectDeploymentStatus | ObjectDeploymentStatus defines the observed state of an ObjectDeployment. | + ### ObjectSet ObjectSet reconciles a collection of objects through ordered phases and aggregates their status. @@ -423,6 +477,7 @@ Archived ObjectSets may stay on the cluster, to store information about previous A Cluster-scoped version of this API is available as ClusterObjectSet. + **Example** ```yaml @@ -452,39 +507,52 @@ spec: app.kubernetes.io/name: example-operator lifecycleState: Active phases: - - class: eirmod - name: nonumy + - class: ipsum + name: lorem objects: - collisionProtection: Prevent conditionMappings: - - destinationType: lorem - sourceType: tempor + - destinationType: sit + sourceType: dolor object: apiVersion: apps/v1 kind: Deployment metadata: name: example-deployment slices: - - ipsum + - amet previous: - name: previous-revision successDelaySeconds: 42 status: - phase: Pending + conditions: + - metav1.Condition + controllerOf: + - group: elitr + kind: sadipscing + name: sed + namespace: diam + remotePhases: + - name: consetetur + uid: types.UID + revision: 42 ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ObjectSetSpec | ObjectSetSpec defines the desired state of a ObjectSet. | | `status`
ObjectSetStatus | ObjectSetStatus defines the observed state of a ObjectSet. | + ### ObjectSetPhase ObjectSetPhase is an internal API, allowing an ObjectSet to delegate a single phase to another custom controller. ObjectSets will create subordinate ObjectSetPhases when `.class` within the phase specification is set. + **Example** ```yaml @@ -515,8 +583,8 @@ spec: objects: - collisionProtection: Prevent conditionMappings: - - destinationType: sit - sourceType: dolor + - destinationType: eirmod + sourceType: nonumy object: apiVersion: apps/v1 kind: Deployment @@ -531,25 +599,28 @@ status: - status: "True" type: Available controllerOf: - - group: consetetur - kind: amet - name: sadipscing - namespace: elitr + - group: lorem + kind: tempor + name: ipsum + namespace: dolor ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ObjectSetPhaseSpec | ObjectSetPhaseSpec defines the desired state of a ObjectSetPhase. | | `status`
ObjectSetPhaseStatus | ObjectSetPhaseStatus defines the observed state of a ObjectSetPhase. | + ### ObjectSlice ObjectSlice is referenced by ObjectSets or ObjectDeployments and contain objects to limit the size of ObjectSets and ObjectDeployments when big packages are installed. This is necessary to work around the etcd object size limit of ~1.5MiB and to reduce load on the kube-apiserver. + **Example** ```yaml @@ -561,8 +632,8 @@ metadata: objects: - collisionProtection: Prevent conditionMappings: - - destinationType: diam - sourceType: sed + - destinationType: amet + sourceType: sit object: apiVersion: apps/v1 kind: Deployment @@ -571,17 +642,20 @@ objects: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `objects` required
[]ObjectSetObject | | + ### ObjectTemplate ObjectTemplate contain a go template of a Kubernetes manifest. This manifest is then templated with the sources provided in the .Spec.Sources. The sources can only come from objects within the same nampespace as the ObjectTemplate. + **Example** ```yaml @@ -592,37 +666,39 @@ metadata: namespace: default spec: sources: - - apiVersion: eirmod + - apiVersion: sadipscing items: - - destination: sit - key: dolor - kind: tempor - name: ipsum - namespace: lorem + - destination: eirmod + key: nonumy + kind: elitr + name: diam + namespace: sed optional: "true" - template: nonumy + template: consetetur status: conditions: - metav1.Condition controllerOf: - group: consetetur - kind: amet - name: sadipscing - namespace: elitr - phase: ObjectTemplateStatusPhase + group: lorem + kind: tempor + name: ipsum + namespace: dolor ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
ObjectTemplateSpec | ObjectTemplateSpec specification. | | `status`
ObjectTemplateStatus | ObjectTemplateStatus defines the observed state of a ObjectTemplate ie the status of the templated object. | + ### Package Package defines a namespaced package installationn. + **Example** ```yaml @@ -632,20 +708,28 @@ metadata: name: example namespace: default spec: - component: diam + component: amet config: runtime.RawExtension - image: sed + image: sit + paused: "true" status: - phase: Pending + conditions: + - metav1.Condition + revision: 42 + unpackedHash: consetetur ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
PackageSpec | PackageSpec specifies a package. | | `status`
PackageStatus | PackageStatus defines the observed state of a Package. | + + + --- ### ClusterObjectDeploymentSpec @@ -657,10 +741,12 @@ ClusterObjectDeploymentSpec defines the desired state of a ClusterObjectDeployme | `revisionHistoryLimit`
int32 | Number of old revisions in the form of archived ObjectSets to keep. | | `selector` required
metav1.LabelSelector | Selector targets ObjectSets managed by this Deployment. | | `template` required
ObjectSetTemplate | Template to create new ObjectSets from. | +| `paused`
bool | If Paused is true, the object and its children will not be reconciled. | + Used in: +* [ClusterObjectDeployment](#clusterobjectdeployment) -- [ClusterObjectDeployment](#clusterobjectdeployment) ### ClusterObjectDeploymentStatus @@ -669,15 +755,15 @@ ClusterObjectDeploymentStatus defines the observed state of a ClusterObjectDeplo | Field | Description | | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | -| `phase`
ObjectDeploymentPhase | This field is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | | `collisionCount`
int32 | Count of hash collisions of the ClusterObjectDeployment. | | `templateHash`
string | Computed TemplateHash. | | `revision`
int64 | Deployment revision. | | `controllerOf`
[]ControlledObjectReference | ControllerOf references the owned ClusterObjectSet revisions. | + Used in: +* [ClusterObjectDeployment](#clusterobjectdeployment) -- [ClusterObjectDeployment](#clusterobjectdeployment) ### ClusterObjectSetPhaseSpec @@ -691,9 +777,10 @@ ClusterObjectSetPhaseSpec defines the desired state of a ClusterObjectSetPhase. | `availabilityProbes`
[]ObjectSetProbe | Availability Probes check objects that are part of the package.
All probes need to succeed for a package to be considered Available.
Failing probes will prevent the reconciliation of objects in later phases. | | `objects` required
[]ObjectSetObject | Objects belonging to this phase. | + Used in: +* [ClusterObjectSetPhase](#clusterobjectsetphase) -- [ClusterObjectSetPhase](#clusterobjectsetphase) ### ClusterObjectSetPhaseStatus @@ -704,9 +791,10 @@ ClusterObjectSetPhaseStatus defines the observed state of a ClusterObjectSetPhas | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | | `controllerOf`
[]ControlledObjectReference | References all objects controlled by this instance. | + Used in: +* [ClusterObjectSetPhase](#clusterobjectsetphase) -- [ClusterObjectSetPhase](#clusterobjectsetphase) ### ClusterObjectSetSpec @@ -720,9 +808,10 @@ ClusterObjectSetSpec defines the desired state of a ClusterObjectSet. | `availabilityProbes`
[]ObjectSetProbe | Availability Probes check objects that are part of the package.
All probes need to succeed for a package to be considered Available.
Failing probes will prevent the reconciliation of objects in later phases. | | `successDelaySeconds`
int32 | Success Delay Seconds applies a wait period from the time an
Object Set is available to the time it is marked as successful.
This can be used to prevent false reporting of success when
the underlying objects may initially satisfy the availability
probes, but are ultimately unstable. | + Used in: +* [ClusterObjectSet](#clusterobjectset) -- [ClusterObjectSet](#clusterobjectset) ### ClusterObjectSetStatus @@ -731,14 +820,14 @@ ClusterObjectSetStatus defines the observed state of a ClusterObjectSet. | Field | Description | | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | -| `phase`
ObjectSetStatusPhase | Phase is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | | `revision`
int64 | Computed revision number, monotonically increasing. | | `remotePhases`
[]RemotePhaseReference | Remote phases aka ClusterObjectSetPhase objects. | | `controllerOf`
[]ControlledObjectReference | References all objects controlled by this instance. | + Used in: +* [ClusterObjectSet](#clusterobjectset) -- [ClusterObjectSet](#clusterobjectset) ### ConditionMapping @@ -749,9 +838,10 @@ ConditionMapping maps one condition type to another. | `sourceType` required
string | Source condition type. | | `destinationType` required
string | Destination condition type to report into Package Operator APIs. | + Used in: +* [ObjectSetObject](#objectsetobject) -- [ObjectSetObject](#objectsetobject) ### ControlledObjectReference @@ -764,15 +854,16 @@ ControlledObjectReference an object controlled by this object. | `name` required
string | Object Name. | | `namespace`
string | Object Namespace. | + Used in: +* [ClusterObjectDeploymentStatus](#clusterobjectdeploymentstatus) +* [ClusterObjectSetPhaseStatus](#clusterobjectsetphasestatus) +* [ClusterObjectSetStatus](#clusterobjectsetstatus) +* [ObjectDeploymentStatus](#objectdeploymentstatus) +* [ObjectSetPhaseStatus](#objectsetphasestatus) +* [ObjectSetStatus](#objectsetstatus) +* [ObjectTemplateStatus](#objecttemplatestatus) -- [ClusterObjectDeploymentStatus](#clusterobjectdeploymentstatus) -- [ClusterObjectSetPhaseStatus](#clusterobjectsetphasestatus) -- [ClusterObjectSetStatus](#clusterobjectsetstatus) -- [ObjectDeploymentStatus](#objectdeploymentstatus) -- [ObjectSetPhaseStatus](#objectsetphasestatus) -- [ObjectSetStatus](#objectsetstatus) -- [ObjectTemplateStatus](#objecttemplatestatus) ### ObjectDeploymentSpec @@ -783,10 +874,12 @@ ObjectDeploymentSpec defines the desired state of an ObjectDeployment. | `revisionHistoryLimit`
int32 | Number of old revisions in the form of archived ObjectSets to keep. | | `selector` required
metav1.LabelSelector | Selector targets ObjectSets managed by this Deployment. | | `template` required
ObjectSetTemplate | Template to create new ObjectSets from. | +| `paused`
bool | If Paused is true, the object and its children will not be reconciled. | + Used in: +* [ObjectDeployment](#objectdeployment) -- [ObjectDeployment](#objectdeployment) ### ObjectDeploymentStatus @@ -795,15 +888,15 @@ ObjectDeploymentStatus defines the observed state of an ObjectDeployment. | Field | Description | | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | -| `phase`
ObjectDeploymentPhase | This field is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | | `collisionCount`
int32 | Count of hash collisions of the ObjectDeployment. | | `templateHash`
string | Computed TemplateHash. | | `revision`
int64 | Deployment revision. | | `controllerOf`
[]ControlledObjectReference | ControllerOf references the owned ObjectSet revisions. | + Used in: +* [ObjectDeployment](#objectdeployment) -- [ObjectDeployment](#objectdeployment) ### ObjectSetObject @@ -815,13 +908,14 @@ ObjectSetObject is an object that is part of the phase of an ObjectSet. | `collisionProtection`
CollisionProtection | Collision protection prevents Package Operator from working on objects already under
management by a different operator. | | `conditionMappings`
[]ConditionMapping | Maps conditions from this object into the Package Operator APIs. | + Used in: +* [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) +* [ObjectSetPhaseSpec](#objectsetphasespec) +* [ObjectSetTemplatePhase](#objectsettemplatephase) +* [ClusterObjectSlice](#clusterobjectslice) +* [ObjectSlice](#objectslice) -- [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) -- [ObjectSetPhaseSpec](#objectsetphasespec) -- [ObjectSetTemplatePhase](#objectsettemplatephase) -- [ClusterObjectSlice](#clusterobjectslice) -- [ObjectSlice](#objectslice) ### ObjectSetPhaseSpec @@ -835,9 +929,10 @@ ObjectSetPhaseSpec defines the desired state of a ObjectSetPhase. | `availabilityProbes`
[]ObjectSetProbe | Availability Probes check objects that are part of the package.
All probes need to succeed for a package to be considered Available.
Failing probes will prevent the reconciliation of objects in later phases. | | `objects` required
[]ObjectSetObject | Objects belonging to this phase. | + Used in: +* [ObjectSetPhase](#objectsetphase) -- [ObjectSetPhase](#objectsetphase) ### ObjectSetPhaseStatus @@ -848,9 +943,10 @@ ObjectSetPhaseStatus defines the observed state of a ObjectSetPhase. | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | | `controllerOf`
[]ControlledObjectReference | References all objects controlled by this instance. | + Used in: +* [ObjectSetPhase](#objectsetphase) -- [ObjectSetPhase](#objectsetphase) ### ObjectSetProbe @@ -861,13 +957,14 @@ ObjectSetProbe define how ObjectSets check their children for their status. | `probes` required
[]Probe | Probe configuration parameters. | | `selector` required
ProbeSelector | Selector specifies which objects this probe should target. | + Used in: +* [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) +* [ClusterObjectSetSpec](#clusterobjectsetspec) +* [ObjectSetPhaseSpec](#objectsetphasespec) +* [ObjectSetSpec](#objectsetspec) +* [ObjectSetTemplateSpec](#objectsettemplatespec) -- [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) -- [ClusterObjectSetSpec](#clusterobjectsetspec) -- [ObjectSetPhaseSpec](#objectsetphasespec) -- [ObjectSetSpec](#objectsetspec) -- [ObjectSetTemplateSpec](#objectsettemplatespec) ### ObjectSetSpec @@ -881,9 +978,10 @@ ObjectSetSpec defines the desired state of a ObjectSet. | `availabilityProbes`
[]ObjectSetProbe | Availability Probes check objects that are part of the package.
All probes need to succeed for a package to be considered Available.
Failing probes will prevent the reconciliation of objects in later phases. | | `successDelaySeconds`
int32 | Success Delay Seconds applies a wait period from the time an
Object Set is available to the time it is marked as successful.
This can be used to prevent false reporting of success when
the underlying objects may initially satisfy the availability
probes, but are ultimately unstable. | + Used in: +* [ObjectSet](#objectset) -- [ObjectSet](#objectset) ### ObjectSetStatus @@ -892,14 +990,14 @@ ObjectSetStatus defines the observed state of a ObjectSet. | Field | Description | | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | -| `phase`
ObjectSetStatusPhase | Phase is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | | `revision`
int64 | Computed revision number, monotonically increasing. | | `remotePhases`
[]RemotePhaseReference | Remote phases aka ObjectSetPhase objects. | | `controllerOf`
[]ControlledObjectReference | References all objects controlled by this instance. | + Used in: +* [ObjectSet](#objectset) -- [ObjectSet](#objectset) ### ObjectSetTemplate @@ -910,10 +1008,11 @@ ObjectSetTemplate describes the template to create new ObjectSets from. | `metadata` required
metav1.ObjectMeta | Common Object Metadata. | | `spec` required
ObjectSetTemplateSpec | ObjectSet specification. | + Used in: +* [ClusterObjectDeploymentSpec](#clusterobjectdeploymentspec) +* [ObjectDeploymentSpec](#objectdeploymentspec) -- [ClusterObjectDeploymentSpec](#clusterobjectdeploymentspec) -- [ObjectDeploymentSpec](#objectdeploymentspec) ### ObjectSetTemplatePhase @@ -926,11 +1025,12 @@ ObjectSetTemplatePhase configures the reconcile phase of ObjectSets. | `objects`
[]ObjectSetObject | Objects belonging to this phase. | | `slices`
[]string | References to ObjectSlices containing objects for this phase. | + Used in: +* [ClusterObjectSetSpec](#clusterobjectsetspec) +* [ObjectSetSpec](#objectsetspec) +* [ObjectSetTemplateSpec](#objectsettemplatespec) -- [ClusterObjectSetSpec](#clusterobjectsetspec) -- [ObjectSetSpec](#objectsetspec) -- [ObjectSetTemplateSpec](#objectsettemplatespec) ### ObjectSetTemplateSpec @@ -944,9 +1044,10 @@ also update validation rules in (Cluster)ObjectSetSpec. | `availabilityProbes`
[]ObjectSetProbe | Availability Probes check objects that are part of the package.
All probes need to succeed for a package to be considered Available.
Failing probes will prevent the reconciliation of objects in later phases. | | `successDelaySeconds`
int32 | Success Delay Seconds applies a wait period from the time an
Object Set is available to the time it is marked as successful.
This can be used to prevent false reporting of success when
the underlying objects may initially satisfy the availability
probes, but are ultimately unstable. | + Used in: +* [ObjectSetTemplate](#objectsettemplate) -- [ObjectSetTemplate](#objectsettemplate) ### ObjectTemplateSource @@ -961,9 +1062,10 @@ ObjectTemplateSource defines a source for a template. | `items` required
[]ObjectTemplateSourceItem | | | `optional`
bool | Marks this source as optional.
The templated object will still be applied if optional sources are not found.
If the source object is created later on, it will be eventually picked up. | + Used in: +* [ObjectTemplateSpec](#objecttemplatespec) -- [ObjectTemplateSpec](#objecttemplatespec) ### ObjectTemplateSourceItem @@ -974,9 +1076,10 @@ ObjectTemplateSourceItem defines a source item for an object template. | `key` required
string | JSONPath to value in source object. | | `destination` required
string | JSONPath to destination in which to store copy of the source value. | + Used in: +* [ObjectTemplateSource](#objecttemplatesource) -- [ObjectTemplateSource](#objecttemplatesource) ### ObjectTemplateSpec @@ -987,10 +1090,11 @@ ObjectTemplateSpec specification. | `template` required
string | Go template of a Kubernetes manifest | | `sources` required
[]ObjectTemplateSource | Objects in which configuration parameters are fetched | + Used in: +* [ClusterObjectTemplate](#clusterobjecttemplate) +* [ObjectTemplate](#objecttemplate) -- [ClusterObjectTemplate](#clusterobjecttemplate) -- [ObjectTemplate](#objecttemplate) ### ObjectTemplateStatus @@ -1000,12 +1104,12 @@ ObjectTemplateStatus defines the observed state of a ObjectTemplate ie the statu | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions the templated object is in. | | `controllerOf`
ControlledObjectReference | ControllerOf references the templated object. | -| `phase`
ObjectTemplateStatusPhase | This field is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | + Used in: +* [ClusterObjectTemplate](#clusterobjecttemplate) +* [ObjectTemplate](#objecttemplate) -- [ClusterObjectTemplate](#clusterobjecttemplate) -- [ObjectTemplate](#objecttemplate) ### PackageProbeKindSpec @@ -1017,9 +1121,10 @@ selects objects based on Kind and API Group. | `group` required
string | Object Group to apply a probe to. | | `kind` required
string | Object Kind to apply a probe to. | + Used in: +* [ProbeSelector](#probeselector) -- [ProbeSelector](#probeselector) ### PackageSpec @@ -1030,11 +1135,13 @@ PackageSpec specifies a package. | `image` required
string | the image containing the contents of the package
this image will be unpacked by the package-loader to render
the ObjectDeployment for propagating the installation of the package. | | `config`
runtime.RawExtension | Package configuration parameters. | | `component`
string | Desired component to deploy from multi-component packages. | +| `paused`
bool | If Paused is true, the package and its children will not be reconciled. | + Used in: +* [ClusterPackage](#clusterpackage) +* [Package](#package) -- [ClusterPackage](#clusterpackage) -- [Package](#package) ### PackageStatus @@ -1043,14 +1150,14 @@ PackageStatus defines the observed state of a Package. | Field | Description | | ----- | ----------- | | `conditions`
[]metav1.Condition | Conditions is a list of status conditions ths object is in. | -| `phase`
PackageStatusPhase | This field is not part of any API contract
it will go away as soon as kubectl can print conditions!
When evaluating object state in code, use .Conditions instead. | | `unpackedHash`
string | Hash of image + config that was successfully unpacked. | | `revision`
int64 | Package revision as reported by the ObjectDeployment. | + Used in: +* [ClusterPackage](#clusterpackage) +* [Package](#package) -- [ClusterPackage](#clusterpackage) -- [Package](#package) ### PreviousRevisionReference @@ -1060,12 +1167,13 @@ PreviousRevisionReference references a previous revision of an ObjectSet or Clus | ----- | ----------- | | `name` required
string | Name of a previous revision. | + Used in: +* [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) +* [ClusterObjectSetSpec](#clusterobjectsetspec) +* [ObjectSetPhaseSpec](#objectsetphasespec) +* [ObjectSetSpec](#objectsetspec) -- [ClusterObjectSetPhaseSpec](#clusterobjectsetphasespec) -- [ClusterObjectSetSpec](#clusterobjectsetspec) -- [ObjectSetPhaseSpec](#objectsetphasespec) -- [ObjectSetSpec](#objectsetspec) ### Probe @@ -1075,28 +1183,30 @@ Probe defines probe parameters. Only one can be filled. | ----- | ----------- | | `condition`
ProbeConditionSpec | ProbeConditionSpec checks whether or not the object reports a condition with given type and status. | | `fieldsEqual`
ProbeFieldsEqualSpec | ProbeFieldsEqualSpec compares two fields specified by JSON Paths. | -| `cel`
ProbeCELSpec | ProbeCELSpec uses Common Expression Language (CEL) to probe an object.
CEL rules have to evaluate to a boolean to be valid.
See:

| +| `cel`
ProbeCELSpec | ProbeCELSpec uses Common Expression Language (CEL) to probe an object.
CEL rules have to evaluate to a boolean to be valid.
See:
https://kubernetes.io/docs/reference/using-api/cel
https://github.com/google/cel-go | + Used in: +* [ObjectSetProbe](#objectsetprobe) -- [ObjectSetProbe](#objectsetprobe) ### ProbeCELSpec ProbeCELSpec uses Common Expression Language (CEL) to probe an object. CEL rules have to evaluate to a boolean to be valid. See: - - +https://kubernetes.io/docs/reference/using-api/cel +https://github.com/google/cel-go | Field | Description | | ----- | ----------- | | `rule` required
string | CEL rule to evaluate. | | `message` required
string | Error message to output if rule evaluates to false. | + Used in: +* [Probe](#probe) -- [Probe](#probe) ### ProbeConditionSpec @@ -1107,9 +1217,10 @@ ProbeConditionSpec checks whether or not the object reports a condition with giv | `type` required
string | Condition type to probe for. | | `status` required
string | Condition status to probe for. | + Used in: +* [Probe](#probe) -- [Probe](#probe) ### ProbeFieldsEqualSpec @@ -1120,9 +1231,10 @@ ProbeFieldsEqualSpec compares two fields specified by JSON Paths. | `fieldA` required
string | First field for comparison. | | `fieldB` required
string | Second field for comparison. | + Used in: +* [Probe](#probe) -- [Probe](#probe) ### ProbeSelector @@ -1134,9 +1246,10 @@ e.g. ensures that probes defined for apps/Deployments are not checked against Co | `kind` required
PackageProbeKindSpec | Kind and API Group of the object to probe. | | `selector`
metav1.LabelSelector | Further sub-selects objects based on a Label Selector. | + Used in: +* [ObjectSetProbe](#objectsetprobe) -- [ObjectSetProbe](#objectsetprobe) ### RemotePhaseReference @@ -1147,25 +1260,26 @@ RemotePhaseReference remote phases aka ObjectSetPhase/ClusterObjectSetPhase obje | `name` required
string | | | `uid` required
types.UID | | -Used in: - -- [ClusterObjectSetStatus](#clusterobjectsetstatus) -- [ObjectSetStatus](#objectsetstatus) +Used in: +* [ClusterObjectSetStatus](#clusterobjectsetstatus) +* [ObjectSetStatus](#objectsetstatus) ## manifests.package-operator.run/v1alpha1 Package v1alpha1 contains API Schema definitions for the v1alpha1 version of the manifests API group, containing file-based manifests for the packaging infrastructure. -- [PackageManifest](#packagemanifest) -- [PackageManifestLock](#packagemanifestlock) -- [Repository](#repository) -- [RepositoryEntry](#repositoryentry) +* [PackageManifest](#packagemanifest) +* [PackageManifestLock](#packagemanifestlock) +* [Repository](#repository) +* [RepositoryEntry](#repositoryentry) + ### PackageManifest PackageManifest defines the manifest of a package. + **Example** ```yaml @@ -1249,16 +1363,19 @@ test: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
PackageManifestSpec | PackageManifestSpec represents the spec of the packagemanifest containing the
details about phases and availability probes. | | `test`
PackageManifestTest | PackageManifestTest configures test cases. | + ### PackageManifestLock PackageManifestLock allows locking packages to specific versions. + **Example** ```yaml @@ -1280,15 +1397,18 @@ spec: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `spec`
PackageManifestLockSpec | PackageManifestLockSpec defines a set of packages that are locked to a specific version. | + ### Repository Repository is the k8s resource that represents a package repository. + **Example** ```yaml @@ -1300,14 +1420,17 @@ metadata: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | + ### RepositoryEntry RepositoryEntry contains metadata on one image belonging to the repository. + **Example** ```yaml @@ -1332,11 +1455,15 @@ metadata: ``` + | Field | Description | | ----- | ----------- | | `metadata`
metav1.ObjectMeta | | | `data` required
RepositoryEntryData | RepositoryEntryData is the part of RepositoryEntry containing the actual data. | + + + --- ### PackageEnvironment @@ -1347,41 +1474,44 @@ PackageEnvironment information. | ----- | ----------- | | `kubernetes` required
PackageEnvironmentKubernetes | Kubernetes environment information. This section is always set. | | `openShift`
PackageEnvironmentOpenShift | OpenShift environment information. This section is only set when OpenShift is detected. | -| `proxy`
PackageEnvironmentProxy | Proxy configuration. Only available on OpenShift when the cluster-wide Proxy is enabled.
| -| `hyperShift`
PackageEnvironmentHyperShift | HyperShift specific information. Only available when installed alongside HyperShift.
| +| `proxy`
PackageEnvironmentProxy | Proxy configuration. Only available on OpenShift when the cluster-wide Proxy is enabled.
https://docs.openshift.com/container-platform/latest/networking/enable-cluster-wide-proxy.html | +| `hyperShift`
PackageEnvironmentHyperShift | HyperShift specific information. Only available when installed alongside HyperShift.
https://github.com/openshift/hypershift | + Used in: +* [TemplateContext](#templatecontext) -- [TemplateContext](#templatecontext) ### PackageEnvironmentHyperShift PackageEnvironmentHyperShift contains HyperShift specific information. Only available when installed alongside HyperShift. - +https://github.com/openshift/hypershift | Field | Description | | ----- | ----------- | -| `hostedCluster` required
PackageEnvironmentHyperShiftHostedCluster | Contains HyperShift HostedCluster specific information.
This information is only available when installed alongside HyperShift within a HostedCluster Namespace.
| +| `hostedCluster` required
PackageEnvironmentHyperShiftHostedCluster | Contains HyperShift HostedCluster specific information.
This information is only available when installed alongside HyperShift within a HostedCluster Namespace.
https://github.com/openshift/hypershift | + Used in: +* [PackageEnvironment](#packageenvironment) -- [PackageEnvironment](#packageenvironment) ### PackageEnvironmentHyperShiftHostedCluster PackageEnvironmentHyperShiftHostedCluster contains HyperShift HostedCluster specific information. This information is only available when installed alongside HyperShift within a HostedCluster Namespace. - +https://github.com/openshift/hypershift | Field | Description | | ----- | ----------- | | `metadata` required
TemplateContextObjectMeta | TemplateContextObjectMeta represents a simplified version of metav1.ObjectMeta for use in templates. | | `hostedClusterNamespace` required
string | Namespace of HostedCluster components belonging to this HostedCluster object. | + Used in: +* [PackageEnvironmentHyperShift](#packageenvironmenthypershift) -- [PackageEnvironmentHyperShift](#packageenvironmenthypershift) ### PackageEnvironmentKubernetes @@ -1391,9 +1521,10 @@ PackageEnvironmentKubernetes configures kubernetes environments. | ----- | ----------- | | `version` required
string | Kubernetes server version. | + Used in: +* [PackageEnvironment](#packageenvironment) -- [PackageEnvironment](#packageenvironment) ### PackageEnvironmentManagedOpenShift @@ -1403,9 +1534,10 @@ PackageEnvironmentManagedOpenShift describes managed OpenShift environments. | ----- | ----------- | | `data` required
map[string]string | Data key-value pairs describing details of the Managed OpenShift environment. | + Used in: +* [PackageEnvironmentOpenShift](#packageenvironmentopenshift) -- [PackageEnvironmentOpenShift](#packageenvironmentopenshift) ### PackageEnvironmentOpenShift @@ -1416,15 +1548,16 @@ PackageEnvironmentOpenShift configures openshift environments. | `version` required
string | OpenShift server version. | | `managed`
PackageEnvironmentManagedOpenShift | ManagedOpenShift environment information. This section is only set when a managed OpenShift cluster is detected.
This includes Red Hat OpenShift Dedicated, Red Hat OpenShift Service on AWS (ROSA) and
Azure Red Hat OpenShift (ARO) and their Hosted Control Plane variants. | + Used in: +* [PackageEnvironment](#packageenvironment) -- [PackageEnvironment](#packageenvironment) ### PackageEnvironmentProxy PackageEnvironmentProxy configures proxy environments. On OpenShift, this config is taken from the cluster Proxy object. - +https://docs.openshift.com/container-platform/4.13/networking/enable-cluster-wide-proxy.html | Field | Description | | ----- | ----------- | @@ -1432,9 +1565,10 @@ On OpenShift, this config is taken from the cluster Proxy object. | `httpsProxy`
string | HTTPS_PROXY | | `noProxy`
string | NO_PROXY | + Used in: +* [PackageEnvironment](#packageenvironment) -- [PackageEnvironment](#packageenvironment) ### PackageManifestConstraint @@ -1446,10 +1580,11 @@ PackageManifestConstraint configures environment constraints to block package in | `platform`
[]PlatformName | Valid platforms that support this package. | | `uniqueInScope`
PackageManifestUniqueInScopeConstraint | Constraints this package to be only installed once in the Cluster or once in the same Namespace. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) +* [RepositoryEntryData](#repositoryentrydata) -- [PackageManifestSpec](#packagemanifestspec) -- [RepositoryEntryData](#repositoryentrydata) ### PackageManifestDependency @@ -1459,9 +1594,10 @@ PackageManifestDependency uses a solver to find the latest version package image | ----- | ----------- | | `image`
PackageManifestDependencyImage | Resolves the dependency as a image url and digest and commits it to the PackageManifestLock. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestDependencyImage @@ -1473,9 +1609,10 @@ PackageManifestDependencyImage represents a dependency image found by the solver | `package` required
string | Package FQDN . | | `range` required
string | Semantic Versioning 2.0.0 version range. | + Used in: +* [PackageManifestDependency](#packagemanifestdependency) -- [PackageManifestDependency](#packagemanifestdependency) ### PackageManifestFilter @@ -1486,9 +1623,10 @@ PackageManifestFilter is used to conditionally render objects based on CEL expre | `conditions`
[]PackageManifestNamedCondition | Reusable CEL expressions. Can be used in 'package-operator.run/condition' annotations.
They are evaluated once per package. | | `paths`
[]PackageManifestPath | Adds CEL conditions to file system paths matching a glob pattern.
If a single condition matching a file system object's path evaluates to false,
the object is ignored. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestImage @@ -1499,9 +1637,10 @@ PackageManifestImage specifies an image tag to be resolved. | `name` required
string | Image name to be use to reference it in the templates | | `image` required
string | Image identifier (REPOSITORY[:TAG]) | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestLockDependency @@ -1514,9 +1653,10 @@ PackageManifestLockDependency defines a dependency of this package. | `digest` required
string | Image digest | | `version` required
string | Version of the dependency that has been chosen. | + Used in: +* [PackageManifestLockSpec](#packagemanifestlockspec) -- [PackageManifestLockSpec](#packagemanifestlockspec) ### PackageManifestLockImage @@ -1528,9 +1668,10 @@ PackageManifestLockImage contains information about a resolved image. | `image` required
string | Image identifier (REPOSITORY[:TAG]) | | `digest` required
string | Image digest | + Used in: +* [PackageManifestLockSpec](#packagemanifestlockspec) -- [PackageManifestLockSpec](#packagemanifestlockspec) ### PackageManifestLockSpec @@ -1541,9 +1682,10 @@ PackageManifestLockSpec defines a set of packages that are locked to a specific | `images` required
[]PackageManifestLockImage | List of resolved images | | `dependencies`
[]PackageManifestLockDependency | List of resolved dependency images. | + Used in: +* [PackageManifestLock](#packagemanifestlock) -- [PackageManifestLock](#packagemanifestlock) ### PackageManifestNamedCondition @@ -1556,9 +1698,10 @@ and its value is set to the result of Expression ("true"/"false"). | `name` required
string | A unique name. Must match the CEL identifier pattern: [_a-zA-Z][_a-zA-Z0-9]* | | `expression` required
string | A CEL expression with a boolean output type.
Has access to the full template context. | + Used in: +* [PackageManifestFilter](#packagemanifestfilter) -- [PackageManifestFilter](#packagemanifestfilter) ### PackageManifestPath @@ -1567,12 +1710,13 @@ render package objects based on their path. | Field | Description | | ----- | ----------- | -| `glob` required
string | A file system path glob pattern.
Syntax: | +| `glob` required
string | A file system path glob pattern.
Syntax: https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.3.4#Match | | `expression` required
string | A CEL expression with a boolean output type.
Has access to the full template context and named conditions. | + Used in: +* [PackageManifestFilter](#packagemanifestfilter) -- [PackageManifestFilter](#packagemanifestfilter) ### PackageManifestPhase @@ -1583,9 +1727,10 @@ PackageManifestPhase defines a package phase. | `name` required
string | Name of the reconcile phase. Must be unique within a PackageManifest | | `class`
string | If non empty, phase reconciliation is delegated to another controller.
If set to the string "default" the built-in controller reconciling the object.
If set to any other string, an out-of-tree controller needs to be present to handle ObjectSetPhase objects. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestPlatformVersionConstraint @@ -1599,9 +1744,10 @@ Use the Platform constraint to enforce running on a specific platform. | `name` required
PlatformName | Name of the platform this constraint should apply to. | | `range` required
string | Semantic Versioning 2.0.0 version range. | + Used in: +* [PackageManifestConstraint](#packagemanifestconstraint) -- [PackageManifestConstraint](#packagemanifestconstraint) ### PackageManifestRepository @@ -1613,9 +1759,10 @@ which could be loaded either from a local file or from a container image. | `file`
string | References a file in the filesystem to load. | | `image`
string | References an image in a container image registry. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestSpec @@ -1635,9 +1782,10 @@ details about phases and availability probes. | `repositories`
[]PackageManifestRepository | Repository references that are used to validate constraints and resolve dependencies. | | `dependencies`
[]PackageManifestDependency | Dependency references to resolve and use within this package. | + Used in: +* [PackageManifest](#packagemanifest) -- [PackageManifest](#packagemanifest) ### PackageManifestSpecConfig @@ -1647,9 +1795,10 @@ PackageManifestSpecConfig configutes a package manifest. | ----- | ----------- | | `openAPIV3Schema`
apiextensionsv1.JSONSchemaProps | OpenAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning. | + Used in: +* [PackageManifestSpec](#packagemanifestspec) -- [PackageManifestSpec](#packagemanifestspec) ### PackageManifestTest @@ -1660,9 +1809,10 @@ PackageManifestTest configures test cases. | `template`
[]PackageManifestTestCaseTemplate | Template testing configuration. | | `kubeconform`
PackageManifestTestKubeconform | PackageManifestTestKubeconform configures kubeconform testing. | + Used in: +* [PackageManifest](#packagemanifest) -- [PackageManifest](#packagemanifest) ### PackageManifestTestCaseTemplate @@ -1673,9 +1823,10 @@ PackageManifestTestCaseTemplate template testing configuration. | `name` required
string | Name describing the test case. | | `context`
TemplateContext | Template data to use in the test case. | + Used in: +* [PackageManifestTest](#packagemanifesttest) -- [PackageManifestTest](#packagemanifesttest) ### PackageManifestTestKubeconform @@ -1684,11 +1835,12 @@ PackageManifestTestKubeconform configures kubeconform testing. | Field | Description | | ----- | ----------- | | `kubernetesVersion` required
string | Kubernetes version to use schemas from. | -| `schemaLocations`
[]string | OpenAPI schema locations for kubeconform
defaults to:
- {{ .NormalizedKubernetesVersion }}-standalone{{ .StrictSuffix }}/{{ .ResourceKind }}{{ .KindSuffix }}.json
- | +| `schemaLocations`
[]string | OpenAPI schema locations for kubeconform
defaults to:
- https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/{{ .NormalizedKubernetesVersion }}-standalone{{ .StrictSuffix }}/{{ .ResourceKind }}{{ .KindSuffix }}.json
- https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json | + Used in: +* [PackageManifestTest](#packagemanifesttest) -- [PackageManifestTest](#packagemanifesttest) ### RepositoryEntryData @@ -1702,9 +1854,10 @@ RepositoryEntryData is the part of RepositoryEntry containing the actual data. | `constraints`
[]PackageManifestConstraint | Constraints of the package. | | `name`
string | Name of the package. | + Used in: +* [RepositoryEntry](#repositoryentry) -- [RepositoryEntry](#repositoryentry) ### TemplateContext @@ -1716,9 +1869,10 @@ TemplateContext is available within the package templating process. | `config`
runtime.RawExtension | Configuration as presented via the (Cluster)Package API after admission. | | `environment` required
PackageEnvironment | Environment specific information. | + Used in: +* [PackageManifestTestCaseTemplate](#packagemanifesttestcasetemplate) -- [PackageManifestTestCaseTemplate](#packagemanifesttestcasetemplate) ### TemplateContextObjectMeta @@ -1731,10 +1885,11 @@ TemplateContextObjectMeta represents a simplified version of metav1.ObjectMeta f | `labels` required
map[string]string | | | `annotations` required
map[string]string | | + Used in: +* [PackageEnvironmentHyperShiftHostedCluster](#packageenvironmenthypershifthostedcluster) +* [TemplateContextPackage](#templatecontextpackage) -- [PackageEnvironmentHyperShiftHostedCluster](#packageenvironmenthypershifthostedcluster) -- [TemplateContextPackage](#templatecontextpackage) ### TemplateContextPackage @@ -1745,6 +1900,6 @@ TemplateContextPackage represents the (Cluster)Package object requesting this pa | `metadata` required
TemplateContextObjectMeta | TemplateContextObjectMeta represents a simplified version of metav1.ObjectMeta for use in templates. | | `image` required
string | Image as presented via the (Cluster)Package API after admission. | -Used in: -- [TemplateContext](#templatecontext) +Used in: +* [TemplateContext](#templatecontext) diff --git a/import-pko-apidocs.sh b/import-pko-apidocs.sh index a612a47..8728e7c 100755 --- a/import-pko-apidocs.sh +++ b/import-pko-apidocs.sh @@ -4,7 +4,7 @@ set -euo pipefail -cat << 'EOF' > ./content/en/docs/getting_started/api-reference.md +cat << 'EOF' > ./content/en/docs/api_reference/package-operator-api.md --- title: "API Reference" draft: false @@ -45,4 +45,4 @@ _Taken from the [Kubernetes API versioning documentation](https://kubernetes.io/ EOF -cat $1 >> ./content/en/docs/getting_started/api-reference.md +cat $1 >> ./content/en/docs/api_reference/package-operator-api.md From bc9616c480b7adc8c3f6ff78cb36cad31f7327ef Mon Sep 17 00:00:00 2001 From: Nico Schieder Date: Tue, 3 Jun 2025 12:53:54 +0200 Subject: [PATCH 2/2] Fix linter for monitoring.md --- content/en/docs/concepts/monitoring.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/en/docs/concepts/monitoring.md b/content/en/docs/concepts/monitoring.md index 521010e..f084b4a 100644 --- a/content/en/docs/concepts/monitoring.md +++ b/content/en/docs/concepts/monitoring.md @@ -9,7 +9,7 @@ Package Operator exports metrics on the `/metrics` endpoint which can be used to monitor PKO and packages. These are exported by the `package-operator-manager` pod. In order to monitor PKO a monitoring stack including Prometheus is required. -This example will assume you have [Prometheus Operator]() installed. +This example will assume you have [Prometheus Operator][1] installed. ## RBAC @@ -129,3 +129,5 @@ spec: - port: metrics path: /metrics ``` + +[1]: ()