Platform integration
Because the registry is part of the platform, a published version isn't a file on a shelf — it's a signal. CI gates open on it, events carry it, and the models behind your recommendations ship through it.
CI requirement gates
A CI job can require an artifact — a Maven coordinate at an exact version — and it won't dispatch until the registry has it.
setup-registry step points the job's build tools at a registry repository, so publishing from CI is an ordinary gradle publish.jobs: build-and-publish: runner: linux requires: - type: maven namespace: bosca-maven coordinate: "io.bosca:core:${{ version }}" timeout: 60m steps: - uses: setup-registry with: repository: bosca-maven
Publish events
Every publish is announced on the platform's pub/sub — the same signal the CI requirement gate listens for, available to any service that subscribes.
bosca.artifacts.version.published with the namespace, repository, type, and version.latest is a publish.{
"namespace": "library",
"repository": "api",
"type": "docker",
"version": "sha256:9f86d081…"
}Models & management
The registry isn't only for code you deploy — it's where the platform keeps the ML models it serves, and it's managed with the same tools as everything else.
ml repository — published after training, pulled for serving, from the same registry as your images and jars.model/… for servingml-service principal · push + pull tokenscreateRepository(namespaceId, …)Keep exploring
Six registry formats behind one namespace and permission model.
Docker, Helm, Maven, npm, ML models, and raw files — native protocols.
Content-addressed blobs, digest verification, reference-counted cleanup.
Public or private namespaces, group grants, and scoped registry tokens.