diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index fe13d997..6d904aa3 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -30,6 +30,7 @@ - [VPC](./topics/vpc.md) - [Firewalling](./topics/firewalling.md) - [Placement Groups](./topics/placement-groups.md) + - [Cluster Object Store](./topics/cluster-object-store.md) - [Development](./developers/development.md) - [Releasing](./developers/releasing.md) - [Testing](./developers/testing.md) diff --git a/docs/src/topics/cluster-object-store.md b/docs/src/topics/cluster-object-store.md index cd9ef36b..91ad96f3 100644 --- a/docs/src/topics/cluster-object-store.md +++ b/docs/src/topics/cluster-object-store.md @@ -37,6 +37,61 @@ data: secret_key: ${SECRET_KEY} ``` +Alternatively, the `LinodeObjectStorageBucket` and `LinodeObjectStorageKey` resources can be used: + +```yaml +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 +kind: LinodeCluster +metadata: +name: ${CLUSTER_NAME} +spec: + objectStore: + credentialsRef: + name: ${CLUSTER_NAME}-object-store-obj-key +--- +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 +kind: LinodeObjectStorageBucket +metadata: + labels: + app.kubernetes.io/name: linodeobjectstoragebucket + app.kubernetes.io/instance: ${CLUSTER_NAME}-object-store + app.kubernetes.io/part-of: cluster-api-provider-linode + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/created-by: cluster-api-provider-linode + cluster.x-k8s.io/cluster-name: ${CLUSTER_NAME} + name: ${CLUSTER_NAME}-object-store +spec: + credentialsRef: + name: ${CLUSTER_NAME}-credentials + region: ${OBJ_BUCKET_REGION:=${LINODE_REGION}} +--- +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 +kind: LinodeObjectStorageKey +metadata: + labels: + app.kubernetes.io/name: linodeobjectstoragekey + app.kubernetes.io/instance: ${CLUSTER_NAME}-object-store + app.kubernetes.io/part-of: cluster-api-provider-linode + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/created-by: cluster-api-provider-linode + cluster.x-k8s.io/cluster-name: ${CLUSTER_NAME} + name: ${CLUSTER_NAME}-object-store +spec: + credentialsRef: + name: ${CLUSTER_NAME}-credentials + bucketAccess: + - bucketName: ${CLUSTER_NAME}-object-store + permissions: read_write + region: ${OBJ_BUCKET_REGION:=${LINODE_REGION}} + generatedSecret: + type: Opaque + format: + bucket_name: '{{ .BucketName }}' + s3_endpoint: '{{ .S3Endpoint }}' + access_key: '{{ .AccessKey }}' + secret_key: '{{ .SecretKey }}' +``` + ## Capabilities ### Bootstrap Data Limits During Linode Provisioning