jerryshao opened a new issue, #13864:
URL: https://github.com/apache/gravitino/issues/13864
### Describe the proposal
Gravitino organizes assets by where they are stored
(`catalog.schema.table`), not by how the business uses them. This epic adds
**Domain**: a metalake-level object that groups assets from any catalog under a
business area such as "Finance", for discovery, browsing and agent retrieval.
- **Membership is tags.** Each domain has one backing tag, and an asset is a
member when it carries it. By default, creating a domain creates a dedicated
tag named after its path (`Finance`, `Finance/Tax`); a tag owner can bind an
existing tag or tag value instead. An asset can belong to several domains.
- **Inheritance.** Tagging a catalog or schema makes the objects under it
members, through the existing tag inheritance.
- **Sub-domains.** One level deep, one parent each; a sub-domain can be
moved.
- **Status.** `DRAFT` or `PUBLISHED`. A draft is visible only to its owner
and managers.
- **Privileges.** `MANAGE_DOMAIN` and `USE_DOMAIN` govern the domain; adding
members uses the existing tag privileges. Membership grants no access to data.
- **APIs.** REST endpoints under `/api/metalakes/{metalake}/domains`, Java
and Python clients, and read-only MCP tools (`list_domains`,
`list_metadata_by_domain`, ...).
Design doc: see the first task below.
### Task list
- [ ] Raise the design doc
- [ ] Domain API and `MetadataObject.Type.DOMAIN` (taggable)
- [ ] Storage and manager: `Domain` and `DomainRel` tables, sub-domain
constraints, status
- [ ] Default backing tag and backing-tag rules on the tag association API
- [ ] Member listing and domains-of-an-object lookup, with inheritance
- [ ] Authorization: `MANAGE_DOMAIN`, `USE_DOMAIN`, and domain-aware tag
association checks
- [ ] REST API and OpenAPI spec
- [ ] Java client
- [ ] Python client
- [ ] MCP tools
- [ ] Events and audit
- [ ] Integration tests
- [ ] User documentation
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]