Part of the "Large-account scale, async importers, and UC domain sync" epic. PRD: docs/prds/prd-large-account-scale-and-uc-sync.md.
Problem statement
UC has a first-class domains concept (flat — no parent), but Ontos neither imports UC domains nor exports Ontos domains to UC. Ontos domains support parent/child nesting (parent_id). The customer wants to seed Ontos domains from UC domains and publish Ontos domains back to UC.
Proposed Solution
- Import: read the flat UC domain list; place them as direct children (one level only) under an operator-chosen root Ontos domain (existing or new); match by name on re-run to stay idempotent; provide a preview/dry-run mirroring the Schema Importer.
- Export: publish Ontos domains to UC following a configurable level-to-UC mapping (e.g. levels 1–2 → UC domains, level 3 → subdomains via the tag convention where UC lacks native nesting). Extend the existing
DomainExportAdapter (data_domain/data_domain_N tag convention) and uc_tag_sync.reconcile_tags rather than reinventing.
- Execution: synchronous UI path for small sets; Databricks Job for large sets, reusing the async model from the async-importer issue.
- Confirm the Databricks SDK UC-domain surface (list/create); fall back to the tag convention where native nesting is unavailable.
Additional Context
Reuses the async importer's execution model — build that first. Prior art: DomainExportAdapter, uc_tag_sync, data_domains model (parent_id). Tests: import places UC domains as one level under the chosen root and is idempotent; export honors the configured mapping; preview creates nothing.
Part of the "Large-account scale, async importers, and UC domain sync" epic. PRD:
docs/prds/prd-large-account-scale-and-uc-sync.md.Problem statement
UC has a first-class domains concept (flat — no parent), but Ontos neither imports UC domains nor exports Ontos domains to UC. Ontos domains support parent/child nesting (
parent_id). The customer wants to seed Ontos domains from UC domains and publish Ontos domains back to UC.Proposed Solution
DomainExportAdapter(data_domain/data_domain_Ntag convention) anduc_tag_sync.reconcile_tagsrather than reinventing.Additional Context
Reuses the async importer's execution model — build that first. Prior art:
DomainExportAdapter,uc_tag_sync,data_domainsmodel (parent_id). Tests: import places UC domains as one level under the chosen root and is idempotent; export honors the configured mapping; preview creates nothing.