Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(artifact): add tag create / list endpoints #286

Merged
merged 10 commits into from
Mar 26, 2024

Conversation

jvallesm
Copy link
Collaborator

@jvallesm jvallesm commented Mar 21, 2024

Because

  • We want to list the versions of a model.
  • Registry has a tags endpoint but it doesn't expose any timestamp.

CleanShot 2024-03-19 at 20 24 14

This commit

  • Adds and documents a private API for the repository tags in artifact.
    • Only api-gateway (when it detects the end of the image push operation) should communicate the creation of a tag.
    • The tags won't be exposed directly to the client. model-backend will request this information to expose the model versions in the same family as the rest of the model endpoints.

🗒️ Notes

As an initial addition to the Artifact domain, I made some naming choices. Please review and provide feedback about them.

⏭️ Next steps

  • artifact-backend will implement a first version of this endpoint that will fetch the tag list from the registry instance. This endpoint only returns the tag list so the digest and update time will be empty.
  • In order to record the update time, api-gateway will call the creation endpoint when we intercept a PUT manifest request. We'll store the digest and update time in the artifact database and we'll aggregate that info to the registry tag list (the registry should remain the source of truth).

@jvallesm jvallesm self-assigned this Mar 21, 2024
Copy link

linear bot commented Mar 21, 2024

@jvallesm jvallesm force-pushed the jvalles/ins-3958-implement-registry-tag-list branch from a8706a5 to 3dca4de Compare March 21, 2024 10:36
@jvallesm jvallesm marked this pull request as ready for review March 21, 2024 10:48
jvallesm and others added 6 commits March 21, 2024 12:41
Only backend services will interact with repositories, so the tag list
endpoint can remain private and gRPC-only.

Some naming improvements are introduced.
@jvallesm jvallesm force-pushed the jvalles/ins-3958-implement-registry-tag-list branch from 03fb2d0 to ab738c8 Compare March 25, 2024 15:44
@jvallesm jvallesm changed the title feat(artifact): add image tag list feat(artifact): add tag create / list endpoints Mar 25, 2024
jvallesm added a commit to instill-ai/artifact-backend that referenced this pull request Mar 26, 2024
Because

- In order to expose the tag list of an image in `repository`, we need
to deploy `artifact-backend` and serve its API.

This commit

- Modifies the existing configuration and initialisation so
`artifact-backend` can be built and run locally (`make build` / `make
dev`)

## ⏭️ Next steps

- [ ] `artifact-backend` will implement the endpoints added in
instill-ai/protobufs#286
- [ ] `artifact-backend` should be built along with the other Instill
services at [`instill-core`](https://github.com/instill-ai/instill-core)
  - The cloud versions of these repos should be updated, too.
@jvallesm jvallesm merged commit 6678571 into main Mar 26, 2024
2 checks passed
@jvallesm jvallesm deleted the jvalles/ins-3958-implement-registry-tag-list branch March 26, 2024 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: 👋 Done
Development

Successfully merging this pull request may close these issues.

2 participants