Skip to content

Auto-role creation#1630

Open
shangyian wants to merge 3285 commits intoDataJunction:mainfrom
shangyian:namespace-role
Open

Auto-role creation#1630
shangyian wants to merge 3285 commits intoDataJunction:mainfrom
shangyian:namespace-role

Conversation

@shangyian
Copy link
Copy Markdown
Collaborator

@shangyian shangyian commented Jan 1, 2026

Summary

This implements the first phase of the RBAC migration strategy from issue #1575. When namespaces are created, we now automatically create owner roles and assign them to the creator.

This prepares the codebase for RBAC without changing current behavior. Since default_access_policy = "permissive", existing access patterns remain unchanged - everyone can still access everything. The roles are simply "staged" in the database for when RBAC enforcement is enabled.

Test Plan

Deployment Plan

shangyian and others added 30 commits February 11, 2025 18:47
Fix Pydantic model definition for valid OpenAPI schema
…ataJunction#1284)

* Endpoints and data model for saving user notification subscriptions

* linters on alembic version

* Update tests given new index

* ruff

* Remove renamed notification.py

* Remove pylint comment, no longer needed

* add filter to notification test

* ruff

* ruff ruff

* Fix node name in test
…ataJunction#1313)

* Add support for exposing additional complex dim link foreign keys

* Fix linters

* Fix tests
* Add support for extensions in the add/edit node page UI

* Fix lint

* Run linters

* Remove logging

* Add ability to configure label style
Co-authored-by: GitHub Actions Bot <>
…on#1209)

* Added cache interface and cachelib + noop implementations

* Tests for caching

* tweak docs a bit

* ruff
* Update java client

* Remove redundant @JsonProperty
* Fix bug with displaying primary key when creating nodes

* Fail build if UI linters fail

* Fix various warnings from UI

* Fix manifest error

* Fix warnings for same key

* Additional fixes

* Additional fixes

* Fix

* Fix snapshot

* Fix lint
* Add better metric metadata to materializations

* Fix tests

* Add display name to cube
Co-authored-by: GitHub Actions Bot <>
…#1326)

* Add measures handling for ANY_VALUE function

* Add test for decompose of ANY_VALUE
Co-authored-by: GitHub Actions Bot <>
Co-authored-by: GitHub Actions Bot <>
* Normalize all column names to be lowercase

* Fix pdm setup

* Fix normalize case

* Fix
Co-authored-by: GitHub Actions Bot <>
shangyian and others added 14 commits December 14, 2025 21:53
* Upgrade node version, unpin package resolutions

* Fix
* Add docs on metric decomposition

* Provide a cleaner example

* Remove best practices since those don't generalize well
)

* Refactor complex metric to simple aggregation decomposition and add support for approx_count_distinct decomposition

* Fix tests

* Add materialization docs
…into Aggregable Measures (DataJunction#1617)

* Add support for variance

* Add support for covariance decompositions

* Add docs on supported decompositions
…h may need cube elements to be loaded if the downstreams contain cubes (DataJunction#1618)
Co-authored-by: GitHub Actions Bot <>
Co-authored-by: GitHub Actions Bot <>
Add SQL generation for measures and metrics SQL (v3)
* Add and improve filters tab

* Support filters resolution in graphql

* Fix filtering

* Clean up UI and graphql APIs

* Fix error

* Fix typing issue for pydantic v2

* Fix all tests with long/bigint distinction

* Fix types issue
* Set up authorization service, with an AuthContext for verifying role assignments and a separate authorize func to replace validate_access_requests

* Fix all endpoints and tests to use new setup with AccessChecker

* Refactor authorization logic into multiple modules + fix authorization tests

* Fix
@netlify
Copy link
Copy Markdown

netlify bot commented Jan 1, 2026

Deploy Preview for thriving-cassata-78ae72 canceled.

Name Link
🔨 Latest commit 8d27b7d
🔍 Latest deploy log https://app.netlify.com/projects/thriving-cassata-78ae72/deploys/69589fcdfa3f7100089500e5

Speed up unit tests by:
- Switching to a single postgres container that is shared, with separate databases in that container for isolation
- Creating a template postgres db with all examples loaded rather than reloading them with API calls
@shangyian shangyian force-pushed the namespace-role branch 2 times, most recently from 4900aef to e4c0d4b Compare January 2, 2026 04:27
@shangyian shangyian marked this pull request as ready for review January 3, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants