streamnative / pulsar-resources-operator

Apache License 2.0
34 stars 15 forks source link

feat: support ns offload policy #250

Closed ericsyh closed 2 months ago

ericsyh commented 2 months ago

(If this PR fixes a github issue, please add Fixes #<xyz>.)

Fixes #235

(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)

Master Issue: #

Motivation

Explain here the context, and why you're making that change. What is the problem you're trying to solve.

Modifications

Describe the modifications you've done.

Verifying this change

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

Documentation

Check the box below.

Need to update docs?

ericsyh commented 2 months ago

Test record

apiVersion: resource.streamnative.io/v1alpha1
kind: PulsarNamespace
metadata:
  name: test-ns
  namespace: resource
spec:
  name: test-tenant/testns
  connectionRef:
    name: pulsar-connection
  retentionTime: 20h
  retentionSize: 2Gi
  offloadThresholdTime: 10h
  offloadThresholdSize: 5Gi
pulsar-admin namespaces get-offload-policies test-tenant/testns
{
  "offloadersDirectory" : "./offloaders",
  "managedLedgerOffloadMaxThreads" : 2,
  "managedLedgerOffloadPrefetchRounds" : 1,
  "managedLedgerOffloadThresholdInSeconds" : 36000,
  "managedLedgerOffloadThresholdInBytes" : 5368709120,
  "managedLedgerOffloadedReadPriority" : "TIERED_STORAGE_FIRST",
  "managedLedgerExtraConfigurations" : { },
  "s3ManagedLedgerOffloadMaxBlockSizeInBytes" : 67108864,
  "s3ManagedLedgerOffloadReadBufferSizeInBytes" : 1048576,
  "s3ManagedLedgerOffloadRoleSessionName" : "pulsar-s3-offload",
  "gcsManagedLedgerOffloadMaxBlockSizeInBytes" : 67108864,
  "gcsManagedLedgerOffloadReadBufferSizeInBytes" : 1048576,
  "s3Driver" : false,
  "gcsDriver" : false,
  "fileSystemDriver" : false
}