Skip to main content

Before you start

For every field that must be stored base64-encoded in values.yaml, use (replace placeholders with your own values—do not reuse literals from documentation):
Prefer printf over echo so passwords and keys are not corrupted by trailing newlines.

1. Verify cluster access and clusterName

Configure kubectl for your IKS cluster:
Set clusterName in values.yaml to the output of:

2. Seed hubJwt (license JWT)

Use the JWT string Arize AI provided for downloads. Store it base64-encoded under hubJwt.

3. Set cloud and IBM COS

Create two buckets and HMAC credentials as described in IKS cluster and resources. Set bucket names and regional endpoint (region must match your buckets):

4. Storage classes

List storage classes on your IKS cluster:
VPC Gen2 clusters commonly use ibmc-vpc-block-metro-retain-10iops-tier. Set both:

5. PostgreSQL

In-cluster

Generate a Postgres password and base64-encode it:
Use echo -n '<your-password>' | base64 | tr -d '\n' for postgresPassword if you pick the password yourself. Do not set postgresHostEndpoint when using the in-cluster StatefulSet.

External (IBM Cloud Databases or other managed Postgres)

See External PostgreSQL requirements. Typical IBM Cloud Databases settings:

6. Organization, cipher key, and sizing

Generate cipher key material (Arize AI documents the cipher length expectations in the bundled chart docs). Example for a random 32-character cipher source then base64 (adjust to your security process):
Then set:
Optional pool layout:

7. Ingress mode and URLs

Set the URL users will use for the Arize AX UI after ingress and DNS exist:
You can set appBaseUrl / expBaseUrl after ingress is live and re-run Helm.

8. Optional private registry

If you mirror images to a private registry:

9. Install with Helm or arize.sh

From the directory that contains arize-operator-chart.tgz and values.yaml:
Or:

Next steps