-
Notifications
You must be signed in to change notification settings - Fork 0
Home
VibeData Studio is a workspace where an AI agent helps a data team build, test, and run data pipelines against a connected data platform, with changes tracked through a connected GitHub repository. This guide takes a reader with no access to any private Accelerate Data repository from an empty machine to a first domain: created, connected to a data platform, wired to GitHub, and validated.
Two choices shape everything that follows. Pick one deployment style and one data platform.
| Axis | Choices |
|---|---|
| Deployment style | Local Docker · Kubernetes on Azure |
| Data platform | DuckDB · MotherDuck · Microsoft Fabric |
Studio implements both deployment styles and registers all three data platforms as backends. All six combinations below are documented to equal depth. None is recommended over another.
| Deployment style | Data platform |
|---|---|
| Local Docker | DuckDB |
| Local Docker | MotherDuck |
| Local Docker | Microsoft Fabric |
| Kubernetes on Azure | DuckDB |
| Kubernetes on Azure | MotherDuck |
| Kubernetes on Azure | Microsoft Fabric |
Local Docker runs Studio as containers on one machine, using the vibedata CLI's
install compose command. It has no SSO — the single operator signs in as the host's own
GitHub identity.
Kubernetes on Azure runs Studio on an existing AKS cluster, using the vibedata CLI's
install kubernetes command. It supports multiple users signing in through Microsoft Entra
SSO.
Studio has one operator and five admin pages: Entra, Fabric, GitHub, Azure infrastructure, and MotherDuck. Each page is addressed to one role and is written to be forwarded as a single request.
One page does not mean one person. 01b-prereqs-fabric-admin alone asks for three separate
Fabric rights — tenant, capacity, and workspace administration — and tags every ask with the
right it needs so each can be routed separately. The recurring task in 01a-prereqs-entra-admin
needs a right the rest of that page does not. Kubernetes on Azure with Microsoft Fabric can need
up to eight distinct right-holders across four pages. Plan the handoff from the roles the pages
name, not from the number of pages.
Forwarding a page does not always unblock it. Four of the five pages need a value from somewhere else before their reader can start, and two asks reopen after the install. The wave table in the reading path below says which asks can go out immediately, and each page entry below lists what it consumes and what it produces.
No combination needs all five pages.
| Combination | Admin pages |
|---|---|
| Local Docker + DuckDB |
01d-prereqs-azure-infra (Foundry only) |
| Local Docker + MotherDuck |
01d-prereqs-azure-infra (Foundry only) · 01e-prereqs-motherduck-admin
|
| Local Docker + Microsoft Fabric |
01a-prereqs-entra-admin (Fabric only) · 01b-prereqs-fabric-admin · 01d-prereqs-azure-infra (Foundry only) |
| Kubernetes on Azure + DuckDB |
01a-prereqs-entra-admin (SSO only) · 01c-prereqs-github-org-owner · 01d-prereqs-azure-infra
|
| Kubernetes on Azure + MotherDuck |
01a-prereqs-entra-admin (SSO only) · 01c-prereqs-github-org-owner · 01d-prereqs-azure-infra · 01e-prereqs-motherduck-admin
|
| Kubernetes on Azure + Microsoft Fabric |
01a-prereqs-entra-admin · 01b-prereqs-fabric-admin · 01c-prereqs-github-org-owner · 01d-prereqs-azure-infra
|
What each admin page is for. Consumes is what the page needs before its reader can start; produces is what comes back. Each page states the same thing in full; this list is here so you can plan the handoff without reading all five.
-
01a-prereqs-entra-admin — Entra admin. The page has a Fabric
section (applies when your data platform is Microsoft Fabric) and a Studio-SSO section
(applies when your deployment style is Kubernetes on Azure). The
(SSO only)marker in the table above means only the SSO section applies to that row, and(Fabric only)means only the Fabric section applies — neither marker means skip the page. If your data platform is Microsoft Fabric, read the Fabric section regardless of deployment style.-
Consumes:
STUDIO_DOMAINfrom01dstep 4, for the SSO redirect URI (Kubernetes on Azure) and, on Microsoft Fabric, for the M2M app's redirect URI as well · your decision on whether to keep the U2M and M2M identities separate, which the Entra admin is told to ask you for (Microsoft Fabric on Kubernetes on Azure) · each new domain's GitHub repository,{org}/{repo}, from step 5 of the reading path, for the recurring federated credential (Microsoft Fabric). -
Produces:
TENANT_ID·M2M_CLIENT_IDandM2M_CLIENT_SECRET(Microsoft Fabric) ·U2M_CLIENT_IDandU2M_CLIENT_SECRET(only if you keep U2M separate from M2M) ·ENTRA_SSO_CLIENT_IDandENTRA_SSO_CLIENT_SECRET(Kubernetes on Azure) · one federated credential per domain repository, created again for every new domain.
-
Consumes:
-
01b-prereqs-fabric-admin — Fabric admin. Applies only when
your data platform is Microsoft Fabric. Its six asks route to three different rights: tenant,
capacity, and workspace administration.
-
Consumes: the service principal from
01a, which must exist before steps 1, 2, 4 and 5 can be done at all. Two different values:M2M_CLIENT_ID(the application ID) for steps 1, 4 and 5, and the service principal's object ID for step 2 — the client ID is rejected there. Step 3 follows step 2 unless you nominate an existing workspace. Step 6 needs nothing from01a. -
Produces:
FABRIC_CAPACITY_ID·FABRIC_WORKSPACE_ID·FABRIC_LAKEHOUSE_NAMEandFABRIC_LAKEHOUSE_ID— both are needed ·FABRIC_SCHEMA· the tenant setting and the workspace role grants, which are actions rather than values.
-
Consumes: the service principal from
-
01c-prereqs-github-org-owner — GitHub org owner. Applies
only when your deployment style is Kubernetes on Azure. Under Local Docker, Studio uses the
operator's own GitHub sign-in instead, and no organisation owner action is needed.
-
Consumes:
STUDIO_DOMAINfrom01dstep 4 — the callback URL is built from it, and GitHub rejects any sign-in that arrives at an unregistered URL. - Produces: the GitHub App's App ID, client ID, client secret, and private key · the App installed on the account that owns your domain repositories, and the list of repositories it can reach · a visibility setting that lets every Studio user authorize the App. An App registered under a personal account, or an organisation App with users outside that organisation, must be set to Any account or those users cannot connect GitHub at all.
-
Consumes:
-
01d-prereqs-azure-infra — Azure infrastructure owner. This
page has two independent parts. Its infrastructure requests (AKS, storage, Key Vault,
front door, DNS) apply only to Kubernetes on Azure. Its Azure AI Foundry request — the LLM
provider this doc set configures for every combination — applies to all six combinations; that
is what the
(Foundry only)marker means on the three Local Docker rows above.- Consumes: nothing, to start. Its step 4 finishes later: wiring Front Door's origin needs the private ingress address the install returns — see step 7 of the reading path.
-
Produces:
STUDIO_DOMAIN·AKS_KUBECONFIG·AZURE_FILES_SHARE_URL·KEY_VAULT_URL· thebootstrap-keyvault secret (all Kubernetes on Azure) ·FOUNDRY_BASE_URL,FOUNDRY_API_KEY, andFOUNDRY_DEPLOYMENT_NAME(all six combinations).
-
01e-prereqs-motherduck-admin — MotherDuck org admin.
Applies only when your data platform is MotherDuck.
- Consumes: the MotherDuck identities of your operator and of everyone who will work in the domain — the page needs them to grant Share READ and to size seats. Send them with the request; the MotherDuck admin cannot look them up.
-
Produces: the MotherDuck organisation account, a read-write Service PAT, and the
database name. These are entered into Studio's own form rather than set as environment
variables, so
01enames no fixed token for them. A Share, if one is created, is not sent back — it is found by the bound database's own name.
Follow this order. Skip the admin pages your combination does not need, and skip whichever
of 03-deploy-docker/04-deploy-kubernetes-azure does not match your deployment style.
Two parts of this order are not sequential, and both are called out where they arise: one ask in step 1 waits on a later step, and step 7 is work that goes back to your administrators after the install rather than work that follows step 6.
-
The admin pages listed above for your combination — forward each one to the person who holds that role. Forward each page whole; that is how they are written. The waves below tell you when each ask inside a page becomes actionable, so you can say so in the covering note instead of leaving the administrator to find out. Skip any wave whose pages your combination does not need.
Wave Ask can be actioned Blocked until 1 01d(both parts) ·01e·01aFabric section (except the M2M redirect URI) ·01bstep 6Nothing. Send these on day one. On Kubernetes on Azure the M2M redirect URI waits for STUDIO_DOMAIN— see wave 2.2 01aStudio SSO section ·01cSTUDIO_DOMAINcomes back from01dstep 4.3 01bsteps 1, 2, 3, 4, and 5The service principal must exist in Entra first — it cannot be put in a security group, made a capacity administrator, or given a workspace role before it is created. Steps 1, 4 and 5 need M2M_CLIENT_IDfrom01a. Step 2 needs a different value: the service principal's object ID, which01aalso returns. The client ID is rejected there. Step 3 runs after step 2 — in many tenants the service principal has to create the workspace itself, using the capacity-admin rights step 2 grants. Only the "nominate an existing workspace" branch of step 3 is free of that.4 01dstep 4 origin wiring ·01arecurring federated credentialThe install has run. This is step 7 below, not a prerequisite. Ask
01dfor step 4 first. It settlesSTUDIO_DOMAIN, and wave 2 cannot start without it. On Microsoft Fabric,01dstep 4 also lists a further redirect URI built from the same name. The name must not change afterwards.Include your own answers when you forward wave 1. The Entra admin is told to ask you whether you will keep the U2M and M2M identities separate in Studio's Fabric connection form (the default reuses M2M, and then no U2M app registration is needed). The MotherDuck admin needs the MotherDuck identities of everyone who will work in the domain. Neither person can find these out without you.
Wave 4 is not a prerequisite at all. Both of its asks reopen after the install:
01d's Front Door origin needs the private address the install returns, and01a's federated credential is created again for every new domain repository. Tell both administrators when you first forward their page that you will come back to them, so the request is not closed out as finished. -
02-prereqs-operator — what the operator installs and signs into before deploying.
-
03-deploy-docker for Local Docker, or 04-deploy-kubernetes-azure for Kubernetes on Azure.
-
05-configure-org — organisation-level setup: LLM profile, data platform, GitHub App, users.
-
06-first-domain — create and bind the first domain.
-
07-verify — confirm the domain is done.
-
Work that goes back to your administrators after the install. Two asks live on the prerequisite pages but are not prerequisites. Do not close either request when the install finishes.
Ask Goes back to Applies to When Point Front Door's origin at the private ingress address the install returns Azure infrastructure owner — 01d-prereqs-azure-infra step 4 Kubernetes on Azure Right after step 3. The steps are in 04-deploy-kubernetes-azure under "Go live". Add one federated credential to the M2M app registration, for the new domain's repository Whoever owns that app registration — 01a-prereqs-entra-admin, "Recurring task" Microsoft Fabric Every time a domain is created, starting with step 5. Not once. The first one blocks go-live: Front Door has no origin until the install has produced the private ingress address, so your domain does not reach Studio until this is wired. The second one recurs for the life of the deployment — tell the Entra rights-holder to expect it before they close their request, not after the first domain fails its check.
-
08-getting-started-contributor — what a domain contributor needs to know before doing data work in a domain.
-
09-worked-example-salesforce — one worked example: a Salesforce source to Bronze, then a mart that answers one question.
If something goes wrong along the way, check 90-troubleshooting.
Once Studio is running, the Operate section covers the actions an operator takes against a live installation:
- Update Studio — move a Local Docker deployment to a new release.
- Roll back a release — pull a previous release when one goes wrong.
- Cloud installer — build the cloud estate and run Studio in Azure.
The version, studio commit, and release notes for the release these docs were published with are on the GitHub Releases page.
This guide stops once a contributor has landed data into a domain and built a mart from it, as shown in 08-getting-started-contributor and 09-worked-example-salesforce. Scheduling, automation jobs, semantic models, and deploying a merged pipeline are out of scope. For those, continue with the Studio user guide: https://accelerate-data.github.io/studio/.
Backup and restore are not covered in this pass. They are planned for this same doc set later.
- Overview
- 01a · Microsoft Entra admin
- 01b · Microsoft Fabric admin
- 01c · GitHub organisation owner
- 01d · Azure infrastructure owner
- 01e · MotherDuck organisation admin
- 02 · Operator setup
- 03 · Deploy: Local Docker
- 04 · Deploy: Kubernetes on Azure
- 05 · Configure the organisation
- 06 · Create your first domain
- 07 · Confirm you are done
- 08 · Domain contributor
- 09 · Worked example
- 90 · Troubleshooting