Deploy the dataplane
If you have not yet set up the required resources (Kubernetes cluster, object storage, container registry, credentials), see Prepare infrastructure first.
Assumptions
- You have a Union.ai organization, and you know the control plane URL for your organization (e.g.
https://your-org-name.us-east-2.unionai.cloud). - You have a cluster name provided by or coordinated with Union.
- You have a Kubernetes cluster, running one of the most recent three minor Kubernetes versions. Learn more.
- Object storage provided by a vendor or an S3-compatible platform (such as MinIO), with CORS configured as described in Prepare infrastructure.
- A container registry accessible from your cluster.
Prerequisites
Deploy the Union.ai operator
-
Add the Union.ai Helm repo:
helm repo add unionai https://unionai.github.io/helm-charts/ helm repo update -
Use the
uctl selfserve provision-dataplane-resourcescommand to generate a new client and client secret for communicating with your Union control plane, provision authorization permissions for the app to operate on the Union cluster name you have selected, generate values file to install dataplane in your Kubernetes cluster and provide follow-up instructions:uctl config init --host=<YOUR_UNION_CONTROL_PLANE_URL> uctl selfserve provision-dataplane-resources --clusterName <YOUR_SELECTED_CLUSTERNAME> --provider metal-
The command will output the ID, name, and a secret that will be used by the Union services to communicate with your control plane. It will also generate a YAML file specific to the provider that you specify, in this case
metal(bare metal / generic). -
Save the secret that is displayed. Union does not store the credentials; rerunning the same command can be used to retrieve the secret later.
-
-
Update the generated values file with your infrastructure details:
- Set
storage.endpointto your S3-compatible storage endpoint (e.g. your MinIO URL). - Set
storage.accessKeyandstorage.secretKeyto your storage credentials. - Set
storage.bucketNameandstorage.fastRegistrationBucketNameto your bucket name(s). - Set
storage.regionto the region of your storage provider. - The same credentials are also needed in
fluentbit.envfor log shipping.
- Set
-
Install the data plane Helm chart:
helm upgrade --install union unionai/dataplane \ -f <GENERATED_VALUES_FILE> \ --namespace union \ --create-namespace \ --force-conflicts -
Create an API key for your organization. This is required for v2 workflow executions on the data plane. If you have already created one, rerun the same command to propagate the key to the new cluster:
uctl create apikey --keyName EAGER_API_KEY --org <YOUR_ORG_NAME> -
Once deployed you can check to see if the cluster has been successfully registered to the control plane:
uctl get cluster ----------- ------- --------------- ----------- | NAME | ORG | STATE | HEALTH | ----------- ------- --------------- ----------- | <cluster> | <org> | STATE_ENABLED | HEALTHY | ----------- ------- --------------- ----------- 1 rows -
Follow the Quickstart to run your first workflow and verify your cluster is working correctly.