diff --git a/docs/src/topics/cluster-object-store.md b/docs/src/topics/cluster-object-store.md new file mode 100644 index 00000000..8f433281 --- /dev/null +++ b/docs/src/topics/cluster-object-store.md @@ -0,0 +1,52 @@ +# Cluster Object Store + +The Cluster Object Store is an optional setting in the `LinodeCluster` resource definition that references an object +storage bucket used for internal cluster operations. Currently, the Cluster Object Store feature enables the following capabilities: + +- Bypassing bootstrap data limits during Linode provisioning + +A [Linode Object Storage](https://www.linode.com/docs/guides/platform/object-storage/) bucket and access key are +provisioned as the Cluster Object Store for each `LinodeCluster` resource with any of the `*-full` flavors. BYOB (Bring +Your Own Bucket) may be used instead, by modifying a `LinodeCluster` definition: + +```yaml +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2 +kind: LinodeCluster +metadata: +name: ${CLUSTER_NAME} +spec: + objectStore: + credentialsRef: + name: ${CLUSTER_NAME}-object-store-credentials +``` + +to reference any Secret containing a object storage bucket's credentials in the following format: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: ${CLUSTER_NAME}-object-store-credentials +data: + bucket_name: ${BUCKET_NAME} + # Service endpoint + # See: https://docs.aws.amazon.com/general/latest/gr/s3.html + s3_endpoint: ${S3_ENDPOINT} + access_key: ${ACCESS_KEY} + secret_key: ${SECRET_KEY} +``` + +## Capabilities + +### Bootstrap Data Limits During Linode Provisioning + +Currently, during `LinodeMachine` bootstrapping, CAPL delivers the bootstrap data generated by a [bootstrap +provider](https://cluster-api.sigs.k8s.io/developer/providers/bootstrap) to it's infrastructure Linode via one of the +following services: + +| Service | Bootstrap Data Limit | +| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | +| [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) | [65535 bytes](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) | +| [Stackscripts](https://www.linode.com/products/stackscripts/) | [65,535 characters](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) | + +These data limits are bypassed when the Cluster Object Store feature is enabled.