Documentation Index
Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Before you start
- Complete Download and extract the distribution. You will work from the extracted folder that contains
arize.sh,arize-operator-chart.tgz, and (after you create it)values.yaml. - Align your cluster with GKE cluster and resources (existing cluster) or provision with Terraform.
- Contact Arize for
clusterSizing. It must match your cluster capacity (for examplesmall1bormedium2b). - Keep the example
values.yaml(quick start) open as a template to compare against when you finish the steps below. - Secrets: Treat
values.yamlas sensitive. Store generated passwords and keys in your secret manager / vault, not in git history. Rotate anything that was ever pasted into a ticket or chat.
values.yaml, use (replace placeholders with your own values—do not reuse literals from documentation):
openssl rand -base64 32 (or your security team’s standard)—always match what values.schema.json says about encoding and length for each field.
1. Verify cluster access and clusterName
Configurekubectl for your GKE cluster (use the command from the Cloud Console Connect flow if needed):
clusterName in values.yaml as:
gke_my-project_us-central1_my-cluster.
In values.yaml, the field looks like this (replace every segment with your real project, region, and cluster name—see Before you start about not reusing doc placeholders):
2. Seed hubJwt (license JWT)
You need the JWT string Arize provided for downloads. Store it base64-encoded underhubJwt.
You can append the first line to a new values.yaml:
values.yaml manually and set hubJwt to the output of the echo -n ... | base64 command.
3. Set cloud and gcpProject
Add:4. Point to GCS buckets (gazetteBucket, druidBucket)
List buckets and copy the names you created for Gazette and Druid (see the cluster guide):5. Set postgresPassword and cipherKey
Choose a strong Postgres password and a cipher key material (Arize documents the cipher length expectations in the bundled chart docs). Store both base64-encoded invalues.yaml as postgresPassword and cipherKey.
Example for a random 32-character cipher source then base64 (adjust to your security process):
echo -n '<your-password>' | base64 | tr -d '\n' for postgresPassword if you pick the password yourself.
Add the encoded values to values.yaml (generate your own secrets—do not paste example strings from documentation; see Before you start):
values.schema.json in arize-operator-chart.tgz if your security team has extra constraints.
6. Set organizationName and clusterSizing
clusterSizing must match what Arize approved for this environment.
7. Service account email (gcpServiceAccountName)
Use the GCP service account email that can access GCS and other resources the platform needs (see cluster requirements). SetgcpServiceAccountName to the plain email address (do not base64-encode it):
8. Workload Identity vs JSON key
Default (recommended): Workload Identity is enabled on the cluster and IAM bindings are in place.gcpServiceAccountJsonKey or leave it unset when using Workload Identity.
Fallback: If Workload Identity cannot be used, download a JSON key for the service account from IAM & Admin → Service Accounts → Keys, then base64-encode the entire JSON file contents and set:
9. Set appBaseUrl
Set the URL users will use for the Arize UI after ingress and DNS exist. You can refine it later.10. Optional — private registry (pushRegistry, pullRegistry)
If the cluster must pull images from your registry, setpushRegistry and pullRegistry to the same hostname. Helm and the operator use pullRegistry for workload image references; arize.sh uses pushRegistry as the destination when pushing mirrored images—both should point at the registry your cluster will use (for example us-central1-docker.pkg.dev/<project>/<repository> or gcr.io/<project-id>). See Connected — If you use a private registry, Deployment type — Air-gapped, or Semi-restricted for when mirroring applies.
Authenticate Docker on the machine that will push images, for example:
11. Optional — mirror images before install
If step 10 applies, run the image workflow before install (from the same directory asarize.sh and values.yaml). Typical connected-bastion flow:
12. Install with arize.sh or Helm
Usingarize.sh (recommended default): the script reads values.yaml in the current directory (or pass -f /path/to/values.yaml). Non-interactive automation can use -y.
values.yaml.
Why use arize.sh?
- Image workflows:
load-remote-images,pull-images/push-images, and related commands wrap Docker and registry auth the way Arize tests them. - Local smoke tests:
open-portsreproduces the port-forward set the team expects after install. - Less typing: one entrypoint for help text and flags (
./arize.sh help).
13. Post-install: optional port-forward (before ingress)
Use port-forwarding only for early checks—not for production traffic. Configure ingress for real users (step 14 and the links at the end of that section).14. Local access with port forwarding
Use arize.sh open-ports (easiest)
- After
./arize.sh install, the script starts the same forwards as./arize.sh open-portsand prints local URLs. - To start them again later, run
./arize.sh open-portsfrom the distribution directory withkubectlpointed at the right cluster.
Port-forward internalendpoints-app
internalendpoints-app is the main in-cluster entry point for user-facing Arize traffic—the same service ingress targets on 443 in a normal setup. You will usually open the web UI here, but the service handles more than the UI (for example APIs and other app paths routed behind it).
For a quick local check without TLS, forward local 4040 to service port 80 (plain HTTP, not https:// on 443):
namespaceArize if it is not the default arize. Then open http://localhost:4040.
Other services from open-ports
These match the bundled script (operator HTTP runs in the operator namespace; the rest use your Arize workload namespace unless you changednamespaceArize):
| Local URL | Service |
|---|---|
http://localhost:4040 | internalendpoints-app (main app entry; UI and other routed traffic) |
http://localhost:3001 | operator-http (operator namespace) |
http://localhost:50050 | receiver |
http://localhost:3000 | grafana |
http://localhost:9090 | prometheus |
http://localhost:8888 | druid-router |
http://localhost:9093 | alertmanager |
http://localhost:9001 | minio (only when cloud is minio) |
./arize.sh help for the open-ports operation description.
Production next steps
15. Compare your file to the template
When finished, yourvalues.yaml should match the shape of the example in the quick start. Use the quick start Minimum fields to verify table as a final checklist.
16. Full parameter set and long-form narrative
- Every supported key is described in
values.schema.jsoninsidearize-operator-chart.tgz(unpack or inspect the chart). - For multi-cloud variants, storage class defaults, node selectors, tolerations, and extended ordering, use Advanced → Helm in the offline HTML documentation under
docs/in the tarball (opendocs/index.htmllocally).