Skip to content

Conversation

@pinglin
Copy link
Member

@pinglin pinglin commented Oct 29, 2025

Because

  • Repository tag management for Docker registry operations belongs in model-backend rather than artifact-backend, as it's specifically for model versioning and deployment workflows
  • The api-gateway registry plugin needs to record tag metadata (digest, timestamps) after successful Docker image pushes to enable proper model version tracking
  • The Docker Registry V2 API doesn't persist tag metadata, requiring separate storage in the model service database

This commit

  • Adds RepositoryTag message to model/model/v1alpha/model.proto with fields: name (resource name), id (tag identifier), digest (manifest identifier), and update_time
  • Adds request/response message pairs for all tag operations:
    • ListRepositoryTagsRequest/ListRepositoryTagsResponse - paginated tag listing with filters
    • GetRepositoryTagRequest/GetRepositoryTagResponse - retrieve single tag details
    • CreateRepositoryTagRequest/CreateRepositoryTagResponse - create/upsert tag with digest
    • DeleteRepositoryTagRequest/DeleteRepositoryTagResponse - remove tag from database and registry
  • Adds four RPC methods to ModelPrivateService in model/model/v1alpha/model_private_service.proto:
    • ListRepositoryTags - list tags for a repository
    • GetRepositoryTag - get specific tag details
    • CreateRepositoryTag - create/update tag (called by api-gateway after manifest push)
    • DeleteRepositoryTag - delete tag from both database and Docker registry
  • Provides private service endpoints enabling api-gateway registry plugin integration with model-backend

@pinglin pinglin merged commit 4858889 into main Oct 29, 2025
6 checks passed
@pinglin pinglin deleted the pinglin/refactor-registry-add-repository-tag-management branch October 29, 2025 20:03
pinglin added a commit to instill-ai/instill-core that referenced this pull request Oct 30, 2025
Because
- The version of the model-backend service is not updated in the
instill-core repository.

This commit
- updates the `MODEL_BACKEND_VERSION` in the `.env` file to `4858889`.
- updates the `modelBackend.image.tag` in the helm chart values.yaml
file to `4858889`.

## Changes in model-backend
- refactor(model): move repository tag management APIs for Docker
registry (instill-ai/model-backend#779)

Co-authored-by: pinglin <[email protected]>
pinglin added a commit that referenced this pull request Oct 30, 2025
…try (#779)

**Because**

- Repository tag management for Docker registry operations belongs in
model-backend rather than artifact-backend, as it's specifically for
model versioning and deployment workflows
- The api-gateway registry plugin needs to record tag metadata (digest,
timestamps) after successful Docker image pushes to enable proper model
version tracking
- The Docker Registry V2 API doesn't persist tag metadata, requiring
separate storage in the model service database

**This commit**

- Adds `RepositoryTag` message to `model/model/v1alpha/model.proto` with
fields: name (resource name), id (tag identifier), digest (manifest
identifier), and update_time
- Adds request/response message pairs for all tag operations:
- `ListRepositoryTagsRequest`/`ListRepositoryTagsResponse` - paginated
tag listing with filters
- `GetRepositoryTagRequest`/`GetRepositoryTagResponse` - retrieve single
tag details
- `CreateRepositoryTagRequest`/`CreateRepositoryTagResponse` -
create/upsert tag with digest
- `DeleteRepositoryTagRequest`/`DeleteRepositoryTagResponse` - remove
tag from database and registry
- Adds four RPC methods to `ModelPrivateService` in
`model/model/v1alpha/model_private_service.proto`:
  - `ListRepositoryTags` - list tags for a repository
  - `GetRepositoryTag` - get specific tag details
- `CreateRepositoryTag` - create/update tag (called by api-gateway after
manifest push)
- `DeleteRepositoryTag` - delete tag from both database and Docker
registry
- Provides private service endpoints enabling api-gateway registry
plugin integration with model-backend
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.

2 participants