Skip to content

Maya AI assistant

Maya is the Door AI assistant in the console at https://door.cloud. You manage DKS clusters by chatting in your organization context. Maya uses your Door role: a member can only read; super_admin can change clusters.

Who can do this: any signed-in user who can open the console. Mutations still require super_admin on the organization.

Do not paste API tokens into chat. Maya uses your session.

Maya listing the clusters in the current organization

Open Maya with the sparkle button at the top right. The panel keeps the console page beside the chat. Suggested follow-ups such as Open a cluster and Create a cluster appear under the answer. Maya acts in the organization currently selected in the console.

What you can ask

Natural-language requests Maya can carry out (same public API as the rest of this doc set):

You might say What Maya does
"List my clusters" Lists clusters in the current organization
"Describe payments-prod" / "What phase is cluster …?" Cluster detail, including progress copy
"What Kubernetes versions and machine tiers can I use in abidjan?" Reads GET /v1/catalog
"Create a small cluster named payments-prod in abidjan" Starts create after you confirm (see below)
"Add a node pool named workers on dks.c5.xlarge with 2 nodes" Adds a pool after you confirm
"Scale the workers pool to 3" Changes pool count after you confirm
"Switch the API of payments-prod to private" Changes exposure
"Get the kubeconfig for payments-prod" Fetches kubeconfig when the cluster is ControlPlaneReady or Provisioned
"List Elastic IPs on payments-prod" Lists name, status, address, exposure
"How is provisioning going?" Follows create/delete progress
"Set tags on payments-prod to prod, payments" Updates tags / description

Maya cannot allocate or release Elastic IPs, create firewall rules, change the cluster name, change an existing pool's machine tier, or change network_mode after create. Use the Networking tab and the API for addresses and firewall rules for ingress ports.

Approval before a change

For create, delete, and scale (node-pool size), Maya pauses and the console shows a confirmation card. The card repeats a short description of the proposed change (cluster name, pool, counts). This is the confirmed approval step.

  • Approve — Maya continues and Door accepts the mutation (201 or 202).
  • Cancel / reject — nothing is applied.

If you walk away without approving, the run stays paused. That is expected.

List, describe, catalog, kubeconfig, and Elastic IP list do not use that card. Adding a pool, changing exposure, or updating tags may still pause for confirmation in some console builds — if a card appears, read it before you approve. Maya still cannot exceed your role: a member who asks to create a cluster is refused (403).

How progress is reported

After you approve a create or delete, the console shows a progress card for that cluster. Copy comes from the public cluster progress block (title, message, percent, step label) — the same five steps as the Provisioning page:

  1. Request received
  2. Validating configuration
  3. Creating infrastructure
  4. Control plane ready / Worker nodes ready
  5. Cluster ready

The card updates until the cluster is Provisioned, Failed, or (for delete) Deleted. You can also open the cluster's Provisioning or Overview page. You do not poll the API yourself.

Example conversations

List (read)

You: List the clusters in acme.
Maya: Shows names, zones, phases. No confirmation card.

Create (confirm, then progress)

You: Create a cluster named payments-prod in abidjan, Kubernetes v1.32.4, one pool workers on dks.c5.xlarge, two nodes, private API.
Maya: Shows a confirmation card describing the create.
You: Approve.
Maya: The progress card moves through the five steps until Cluster ready (Provisioned).

Scale (confirm)

You: Scale the workers pool on payments-prod to 4 nodes.
Maya: Confirmation card with the new count.
You: Approve.
Maya: Reports when the pool update has been accepted; nodes appear on the Nodes tab as they join.

Exposure

You: Make the Kubernetes API of payments-prod public.
Maya: Requests the exposure change. Download kubeconfig again from Access when public_exposure_fqdn is set.

Kubeconfig

You: Give me kubeconfig for payments-prod.
Maya: Returns or describes how to save the file once the cluster is ControlPlaneReady or Provisioned. A first request may need a short wait (202 then 200).

Follow provisioning

You: Is payments-prod ready yet?
Maya: Uses the same progress.title / progress.message as the Provisioning page (for example Creating infrastructure / Setting up networking and compute for your cluster.).

List Elastic IPs (read)

You: What Elastic IPs does payments-prod have?
Maya: Lists names, statuses, and addresses. No confirmation card. To allocate or release, use Networking.

Add a pool (confirm)

You: Add a pool named batch on payments-prod, tier dks.c5.large, two nodes.
Maya: Confirmation (when the console shows a card). Then the Nodes tab fills in as workers join.

Member

You (member): Delete payments-prod.
Maya: Cannot; your role is read-only on DKS. Ask a super_admin.

Failed create

You: Why did payments-prod fail?
Maya: Repeats failure_message from the cluster (the same customer copy as Overview). Next step is delete and recreate, or contact support with the cluster id.

Limits

  • Maya uses the current organization in the console (same as X-Door-Organization).
  • Read vs write is your org role, not a separate Maya permission.
  • Long create/delete is followed in the UI; you do not need to keep prompting "is it done?"
  • Do not expect Maya to invent CIDRs, machine tiers, or zones that are absent from GET /v1/catalog.
  • Commercial terms, prepaid 402, and pool exhaustion (503) are the same as the API. Top up credit or contact your Door account team.
  • Maya only uses the customer API (/v1/public/clusters and /v1/catalog). Operator-only routes are out of scope.
  • Treat kubeconfig as a secret. Prefer the Access tab download if you do not want the file in the chat transcript.
  • Maya follows one organization at a time (the org selected in the console). Switch org in the console, then ask again.
  • Do not ask Maya to invent firewall CIDRs or public Elastic IPs on an intranet cluster — the API will refuse (409 / 422).