Skip to content
ErikBPFPublic

About

Git-backed SQL notebooks with pluggable catalogs, query engines and data contracts

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

Repository files navigation

Aster

Aster logo

Aster is a Git-backed SQL notebook with a web editor and terminal client. It browses catalogs, runs queries through configured engines, records an audit trail, and offers personal AI helpers with private notebook chat.

Current boundary: Trino and Spark Connect execute real queries; StarRocks, Nessie and Unity are stubs. Notebook commits stay in a local Git checkout. Configured catalog/engine bindings now restrict application routing, but per-user backend data policy, Polaris generic Delta reads and GitHub sync remain planned. An opt-in admin-only encrypted shared-model registry exists; group grants and ordinary-user shared use remain planned. See the handbook for the current behavior and accepted drafts.

Start locally

The current ODCS first-test demo uses Authentik, including fresh membership checks and registered catalog teams. See the deployment receipt for access, verified scope and rollback. The Compose Keycloak stack below is the older generic-OIDC evaluation fixture, not the active catalog demo identity.

Enter the declared toolchain, then choose one path:

devenv shell
just ci

# Fast browser/API loop, with mock catalog and engine and local-only dev login:
ASTER_BIND=127.0.0.1:8080 \
ASTER_ENGINES='mock-local;mock;local' \
ASTER_CATALOGS='mock-local;mock;local' \
ASTER_CATALOG_BINDINGS='mock-local;mock-local;mock-local;unprotected' \
just run
# Open http://127.0.0.1:8080/dev-login

just compose-up starts the server, controller, PostgreSQL, Valkey and Keycloak with mock compute. just stack-bootstrap local starts the full minikube stack with Polaris, Trino/Gateway and Spark Connect; its default resource request is 12 CPUs and 64 GiB. See deployment for requirements, configuration, Helm and teardown.

Find your path

The provider matrix lists domain ports and adapters. The documentation plan and feature audit record the remaining test binding and delivery decisions.

Code map

crates/core owns domain types and ports; crates/engines and crates/catalogs implement adapters. crates/server owns HTTP, RPC, identity, notebooks and AI. crates/controller reconciles metadata and retention; crates/tui is the terminal client. proto/aster.proto declares the shared RPC surface. crates/*/features/ holds behavior contracts; features/ covers repository and live-stack behavior.

just ci checks formatting, Clippy, workspace tests, feature-file structure, repository conventions and provider inventory. Real PostgreSQL, browser, Compose, Helm and live compute checks are separate owner recipes; see API and tests. A .feature marked @unautomated is a contract draft, not a passing test.

About

Git-backed SQL notebooks with pluggable catalogs, query engines and data contracts

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages