1- # Copyright 2025 StreamNative
1+ # Copyright 2026 StreamNative
22#
33# Licensed under the Apache License, Version 2.0 (the "License");
44# you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@ apiVersion: apiextensions.k8s.io/v1
1717kind : CustomResourceDefinition
1818metadata :
1919 annotations :
20- controller-gen.kubebuilder.io/version : v0.15 .0
20+ controller-gen.kubebuilder.io/version : v0.17 .0
2121 name : pulsarnamespaces.resource.streamnative.io
2222spec :
2323 group : resource.streamnative.io
@@ -147,9 +147,7 @@ spec:
147147 This field is effectively required, but due to backwards compatibility is
148148 allowed to be empty. Instances of this type with an empty value here are
149149 almost certainly wrong.
150- TODO: Add other useful fields. apiVersion, kind, uid?
151150 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
152- TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
153151 type : string
154152 type : object
155153 x-kubernetes-map-type : atomic
@@ -206,9 +204,7 @@ spec:
206204 This field is effectively required, but due to backwards compatibility is
207205 allowed to be empty. Instances of this type with an empty value here are
208206 almost certainly wrong.
209- TODO: Add other useful fields. apiVersion, kind, uid?
210207 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
211- TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
212208 type : string
213209 type : object
214210 x-kubernetes-map-type : atomic
@@ -274,6 +270,86 @@ spec:
274270 description : Name is the fully qualified namespace name in the format
275271 " tenant/namespace" .
276272 type : string
273+ offloadPolicies :
274+ description : |-
275+ OffloadPolicies defines the namespace-level offload policies.
276+ Use this to configure tiered storage driver, bucket, region, endpoint, and thresholds.
277+ properties :
278+ fileSystemProfilePath :
279+ type : string
280+ fileSystemURI :
281+ type : string
282+ gcsManagedLedgerOffloadBucket :
283+ type : string
284+ gcsManagedLedgerOffloadMaxBlockSizeInBytes :
285+ type : integer
286+ gcsManagedLedgerOffloadReadBufferSizeInBytes :
287+ type : integer
288+ gcsManagedLedgerOffloadRegion :
289+ type : string
290+ gcsManagedLedgerOffloadServiceAccountKeyFile :
291+ type : string
292+ managedLedgerExtraConfigurations :
293+ additionalProperties :
294+ type : string
295+ type : object
296+ managedLedgerOffloadAutoTriggerSizeThresholdBytes :
297+ format : int64
298+ type : integer
299+ managedLedgerOffloadBucket :
300+ type : string
301+ managedLedgerOffloadDeletionLagInMillis :
302+ format : int64
303+ type : integer
304+ managedLedgerOffloadDriver :
305+ type : string
306+ managedLedgerOffloadDriverMetadata :
307+ additionalProperties :
308+ type : string
309+ type : object
310+ managedLedgerOffloadMaxBlockSizeInBytes :
311+ type : integer
312+ managedLedgerOffloadMaxThreads :
313+ type : integer
314+ managedLedgerOffloadPrefetchRounds :
315+ type : integer
316+ managedLedgerOffloadReadBufferSizeInBytes :
317+ type : integer
318+ managedLedgerOffloadReadThreads :
319+ type : integer
320+ managedLedgerOffloadRegion :
321+ type : string
322+ managedLedgerOffloadServiceEndpoint :
323+ type : string
324+ managedLedgerOffloadThresholdInBytes :
325+ format : int64
326+ type : integer
327+ managedLedgerOffloadThresholdInSeconds :
328+ format : int64
329+ type : integer
330+ managedLedgerOffloadedReadPriority :
331+ type : string
332+ offloadersDirectory :
333+ type : string
334+ s3ManagedLedgerOffloadBucket :
335+ type : string
336+ s3ManagedLedgerOffloadCredentialId :
337+ type : string
338+ s3ManagedLedgerOffloadCredentialSecret :
339+ type : string
340+ s3ManagedLedgerOffloadMaxBlockSizeInBytes :
341+ type : integer
342+ s3ManagedLedgerOffloadReadBufferSizeInBytes :
343+ type : integer
344+ s3ManagedLedgerOffloadRegion :
345+ type : string
346+ s3ManagedLedgerOffloadRole :
347+ type : string
348+ s3ManagedLedgerOffloadRoleSessionName :
349+ type : string
350+ s3ManagedLedgerOffloadServiceEndpoint :
351+ type : string
352+ type : object
277353 offloadThresholdSize :
278354 anyOf :
279355 - type : integer
@@ -528,16 +604,8 @@ spec:
528604 It follows the Kubernetes conventions for condition types and status.
529605 The "Ready" condition type is typically used to indicate the overall status of the namespace.
530606 items :
531- description : " Condition contains details for one aspect of the current
532- state of this API Resource.\n ---\n This struct is intended for
533- direct use as an array at the field path .status.conditions. For
534- example,\n\n\n\t type FooStatus struct{\n\t // Represents the
535- observations of a foo's current state.\n\t // Known .status.conditions.type
536- are: \" Available\" , \" Progressing\" , and \" Degraded\"\n\t //
537- +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
538- \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\" conditions,omitempty\"
539- patchStrategy:\" merge\" patchMergeKey:\" type\" protobuf:\" bytes,1,rep,name=conditions\" `\n\n\n\t
540- \ // other fields\n\t }"
607+ description : Condition contains details for one aspect of the current
608+ state of this API Resource.
541609 properties :
542610 lastTransitionTime :
543611 description : |-
@@ -578,12 +646,7 @@ spec:
578646 - Unknown
579647 type : string
580648 type :
581- description : |-
582- type of condition in CamelCase or in foo.example.com/CamelCase.
583- ---
584- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
585- useful (see .node.status.conditions), the ability to deconflict is important.
586- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
649+ description : type of condition in CamelCase or in foo.example.com/CamelCase.
587650 maxLength : 316
588651 pattern : ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
589652 type : string
0 commit comments