Skip to content

Managed YAML Repositories #1445

@shangyian

Description

@shangyian

At the moment, we support using YAML to do semantic modelling, and these YAML files can be tracked in a repository and synced with the DJ server via command line or the python client. We should turn this setup into a properly governed, declarative source of truth, with clear ownership and change control.

What we need to make it better:

  • Ability to register a YAML repository, which serves as a source of truth for a subset of DJ nodes. This would store metadata like the repo URL, owner, type (Git, S3, etc.), and sync method.
  • Prevent unauthorized adhoc changes to nodes and namespaces if it is associated with a YAML repo
  • Keep the system synced with repo changes, perhaps with the reflection service

New Table + Registration API

The table to track yaml repositories:

Repository {
  id
  name
  repo_url
  repo_type (git, s3, etc)
  sync_strategy (manual / periodic / webhook)
  owner_team
  reserved_namespaces: [namespace1, namespace2]
}

POST /repositories/{repo_id}/webhook

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions