Skip to Content
QuickstartOverview

Quickstart v26.4+

Run Kubling, Kubling Studio and the official In-memory provider as one disposable Docker Compose project. The complete walkthrough requires no Go, Java, Kubernetes cluster, database server, source credentials or host-installed SQL client.

The runnable project is maintained in the public kubling-samples repository. Compose generates the descriptor bundle, verifies provider health, starts Kubling and waits for aggregate readiness.

The samples repository intentionally follows the current public latest images and validates them continuously in CI. This rolling policy is for supported samples and local exploration. Pin exact Kubling and provider versions in production deployments.

Requirements

  • Git
  • Docker Engine
  • Docker Compose v2

Clone the samples repository

git clone --depth 1 https://github.com/kubling-community/kubling-samples.git cd kubling-samples/quickstart

Start the stack

docker compose up --wait

The command completes when the In-memory provider is reachable through its gRPC Health RPC and Kubling’s aggregate health endpoint reports UP.

The stack exposes only Kubling’s HTTP port on the host. The provider remains on the internal Compose network.

ResourceValue
Studiohttp://localhost:8282/console
Aggregate healthhttp://localhost:8282/observe/health
Virtual DatabaseProviderQuickstartVDB
Data source and schemaprovider
Provider endpointprovider:50051, internal to Compose

Open Kubling Studio

Open http://localhost:8282/console . The local Studio login form requires non-empty values even though this VDB has no authentication delegate. Enter quickstart as both username and password. These values are local placeholders, are not external credentials and are not persisted by the sample repository.

Select ProviderQuickstartVDB and expand the provider schema. Its PROJECT, TASK, AUDIT_EVENT and TYPE_SAMPLE tables are imported from the provider’s GetSchema response; their DDL is not duplicated in the VDB.

Query deterministic data

Open SQL Workspace and run:

SELECT id, name, status, active FROM provider.PROJECT ORDER BY id;

Expected result:

idnamestatusactive
project-1Provider SDKAtrue
project-2Engine IntegrationPtrue

Run and verify a mutation

The provider starts task-2 with completed = false. Run:

UPDATE provider.TASK SET completed = true WHERE id = 'task-2';

The expected update count is 1. Verify the provider-owned change:

SELECT id, title, completed FROM provider.TASK WHERE id = 'task-2';

Expected result:

idtitlecompleted
task-2Build in-memory providertrue

The provider returns to its initial data whenever its container is recreated.

Run the automated verification

With the stack running, execute:

docker compose --profile test run --rm smoke-test

The test checks Studio, verifies both projects, resets task-2, performs the mutation and queries the final provider state. A successful run prints:

Quickstart smoke test passed.

Inspect or stop the stack

Inspect service state or relevant logs with:

docker compose ps docker compose logs kubling provider

Remove the containers, network and generated descriptor volume with:

docker compose down --volumes

What the sample demonstrates

The VDB registers provider as a PROVIDER_GRPC data source and delegates physical schema ownership, queries and mutations to the external provider. Kubling owns the VDB, federation planning and the client-facing Studio workflow.

Continue with Explore with Studio for the rest of the workspace, enable the client gRPC transport to connect an application, or choose a provider when you are ready to connect a real source.

Last updated on