Portworx Object Service Reference
Environment Variables
Various settings are available for setting up the Portworx Object Service controller and further configuring how it operates. This reference page includes all possible configurations.
Portworx Operator
In the StorageCluster Stork spec, the following argument enables the Portworx Object Service:
spec:
...
stork:
enabled: true
args:
px-object-controller: "true"
Portworx Enterprise
Set the following environment variables in the StorageCluster spec.env
to customize the Portworx Object Service credentials:
OBJECT_SERVICE_S3_ACCESS_KEY_ID
: An AWS S3 Access Key ID credential generated in the AWS Portal.OBJECT_SERVICE_S3_SECRET_ACCESS_KEY
: An AWS S3 Secret Access Key credential generated in the AWS Portal.OBJECT_SERVICE_FB_ACCESS_KEY_ID
: A Pure FlashBlade Access Key ID credential provided by the FlashBlade admin.OBJECT_SERVICE_FB_SECRET_ACCESS_KEY
: A Pure FlashBlade Secret Access Key credential provided by the FlashBlade admin.
Stork
Set the following environment variables in the StorageCluster spec.stork.env
to customize the Portworx Object Service controller:
WORKER_THREADS
: The number of worker threads to use in the Portworx Object Service Stork controller. Default is 4.RETRY_INTERVAL_START
: Initial retry interval of failed bucket creation/access or deletion/revoke. It doubles with each failure, up to retry-interval-max. Default is 1 second.RETRY_INTERVAL_MAX
: Maximum retry interval of failed bucket/access creation or deletion/revoke. Default is 5 minutes.
CustomResourceDefinitions
The Portworx Object Service introduces multiple new Kubernetes objects to allow for easy provisioning and access to object backends:
PXBucketClass
The PXBucketClass serves as a template for creating new BucketClaim and BucketAccess objects. It contains the necessary metadata for interacting with different backends.
Example
apiVersion: object.portworx.io/v1alpha1
kind: PXBucketClass
metadata:
name: <name>
region: <region>
deletionPolicy: [ Delete | Retain ]
parameters:
object.portworx.io/backend-type: [ S3Driver | PureFBDriver ]
object.portworx.io/endpoint: <S3-endpoint>
object.portworx.io/clear-bucket: [ true | false ]
Schema
Field | Description | Type | Default |
---|---|---|---|
region | The region to be used for your backend object provider. | string | None |
deletionPolicy | Indicates whether the bucket should be deleted in the backend object provider or not. Available options are only Delete or Retain | string | None |
parameters[object.portworx.io/backend-type] | The backend object provider to use for this PXBucketClass. Supported options are S3Driver or PureFBDriver | string | None |
parameters[object.portworx.io/endpoint] | The endpoint to use for connecting to the backend object provider. | string | Detected based on region |
parameters[object.portworx.io/clear-bucket] | Indicates whether or not to delete all objects when a bucket is being deleted. If objects exist in a bucket and this is set to false, the deletion may fail. | string | "false" |
PXBucketClaim
The PXBucketClaim object represents a new bucket in the backend object system.
Example
apiVersion: object.portworx.io/v1alpha1
kind: PXBucketClaim
metadata:
name: <name>
namespace: <namespace>
spec:
bucketClassName: <bucket-class-name>
Schema
Field | Description | Type | Default |
---|---|---|---|
spec.bucketClassName | The name of the PXBucketClass to use when provisioning a new bucket | string | None |
PXBucketAccess
The PXBucketAccess object controls how access is provisioned to a PXBucketClaim or a pre-existing bucketId in the backend system.
Example
apiVersion: object.portworx.io/v1alpha1
kind: PXBucketAccess
metadata:
name: <name>
namespace: <namespace>
spec:
bucketClassName: <bucket-class-name>
bucketClaimName: <bucket-claim-name>
existingBucketId: <pre-existing-bucket-id>
Schema
Field | Description | Type | Default |
---|---|---|---|
spec.bucketClassName | The name of the PXBucketClass to use when provisioning a new bucket | string | None |
spec.bucketClaimName | The name of the PXBucketClaim to reference when providing access to a new bucket | string | None |
spec.existingBucketId | The optional bucket ID in the backend object provider for providing access to an existing bucket | string | None |