Prepare infrastructure

This page walks you through creating the resources needed for a Union data plane on Crusoe Managed Kubernetes (CMK) with Crusoe Cloud Storage. If you already have these resources, skip to Deploy the dataplane.

CMK cluster

You need a CMK cluster running one of the most recent three minor Kubernetes versions, with kubectl access configured. See Cluster Recommendations for networking and node pool guidance.

For instructions on creating a cluster, see Create a CMK cluster .

Tip

Crusoe’s GPU node pools (H100, H200, A100, L40S) map directly to Union task resource requests via standard Kubernetes node selectors and tolerations. We recommend a separate CPU node pool for the Union operator and system pods.

Crusoe Cloud Storage

Union uses S3-compatible object storage to store workflow data and artifacts. Crusoe Cloud Storage is supported and is S3-compatible.

Create a bucket

Create a bucket in the Crusoe Cloud Console. Navigate to Storage > Object Storage and create a bucket in your desired region (e.g., us-northcentral1-a) .

For detailed instructions, see Create a bucket .

Generate access credentials

In the Crusoe Cloud Console, navigate to Identity & Access > Access Keys and create an access key pair. Record the Access Key ID and Secret Access Key for use during deployment.

You need this key pair so the Helm values and workload environment variables can authenticate to your bucket.

Create an IAM / access policy

Create a policy that grants your access key permissions on the bucket. Replace <BUCKET_NAME> with the name of your bucket.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUnionS3Access",
      "Effect": "Allow",
      "Action": ["s3:*"],
      "Resource": [
        "arn:aws:s3:::<BUCKET_NAME>",
        "arn:aws:s3:::<BUCKET_NAME>/*"
      ]
    }
  ]
}

Without an access policy, API operations return 403 Forbidden errors even with valid access keys.