Prerequisites
- A Kubernetes cluster with cluster-admin (or equivalent) access
kubectlandhelminstalled (Helm 3+)awscliinstalled and the AWS access key/secret we provide- Permission to create Kubernetes secrets and install Helm releases
- (Optional) Istio or your preferred Ingress/Gateway if you plan to expose the service externally
1) Configure AWS credentials (for ECR)
Use the credentials we share with you to set up a dedicated profile (example:6sense-ecr-pull):
2) Retrieve the ECR password
Get a short-lived registry token (you’ll paste this as the Docker password in the next step):3) Create the Kubernetes image-pull secret
Create a pull secret in the namespace where you’ll install the chart (use-n <namespace> if needed):
Tip: If you’re deploying into a non-default namespace, create the secret in that same namespace or mark it as imagePullSecrets in your ServiceAccount.
4) Install the Adopt API Service Helm chart
Install from our OCI registry:Verify:
helm list and kubectl get pods,svc in your target namespace to confirm resources are running.5) Configure environment variables (values.yaml)
Set your runtime configuration via the chart’svalues.yaml (or --set flags). At minimum:
6) Upgrading to a new image version
When we provide a new image tag, you can roll forward without changing other values:<NEW_IMAGE_TAG> with the version we share.
7) Networking & routing (example with Istio)
The chart deploys the Adopt API Service inside your cluster. Exposing it externally (DNS, TLS, routing) is your responsibility. If you use Istio, here’s a minimalVirtualService pattern you can adapt:
Note: Names (Gateway, host, service) may differ in your cluster. Adjust accordingly.
8) Common checks & troubleshooting
- Image pull errors (
ImagePullBackOff)- Ensure the imagePullSecret (
adoptai-image-pull-secret) exists in the same namespace as the workload. - Re-run Step 2 to refresh the ECR password and recreate the secret if needed.
- Ensure the imagePullSecret (
- Can’t reach service externally
- Verify your Ingress/Gateway/VirtualService or equivalent and DNS records.
- Confirm the service
type, ports, and the targetport: 8000(example above).
- Helm release issues
helm status adopt-api-serviceandkubectl describe pod/<name>for events and logs.
- Database / env config
- Double-check
SINGLESTORE_*variables and network policies/firewalls to your DB host.
- Double-check
9) Rollback & uninstall (optional)
-
Rollback to previous revision:
-
Uninstall:
Support
If you get stuck, share:helm status adopt-api-servicekubectl get pods -o wideandkubectl logsfor failing pods- Your sanitized
values.yaml(without secrets)