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

OCI Compliance ? Thoughts? #285

Open
lmcdasm opened this issue Mar 8, 2020 · 6 comments
Open

OCI Compliance ? Thoughts? #285

lmcdasm opened this issue Mar 8, 2020 · 6 comments

Comments

@lmcdasm
Copy link

lmcdasm commented Mar 8, 2020

Hello.

Have you looked at the OCI compliance / would you say that SRegisry is OCI compliant? (_ i think so since its based off docker v2 which is, but wanted to get your thoughts on it, directions you might be going_

Cheers,
Daniel

@lmcdasm lmcdasm changed the title OCI Compliance OCI Compliance ? Thoughts? Mar 8, 2020
@vsoch
Copy link
Member

vsoch commented Mar 8, 2020

Nope it's definitely not - it's "custom library API endpoint" compliant, as implemented by Sylabs. I'd be hugely in support of going for OCI compliance, as that would (in the long run) be easier to maintain than trying to follow what Sylabs is doing with their personal cloud. I'm definitely familiar with OCI, I was fairly regular a participant back when I was part of (open source) Singularity, and made several videos along with a Python library to wrap the image/digest specs. https://github.com/vsoch/oci-python. What is missing there is the most important part for the issue here - the distribution spec, which more so defines the endpoints that should be used for a registry.

Since the current library is intended for validating configuration files for images, how would you suggest implementing the distribution spec (which largely describes an API format) but for Python, so it could be used with Singularity Registry server? Likely we would need to have endpoints that conform to the OCI specification, and perhaps they could be validated separately by some integration of the distribution spec into opencontainers.

This is a fairly HUGE project, but I'm happy to think about taking it on for some point in the future, because OCI >>> pretty much everything we have implemented here.

@vsoch
Copy link
Member

vsoch commented Mar 9, 2020

The order that I'd approach these things is:

  • fix issue here with your upload
  • add distribution spec to opencontainers so minimally we can test endpoint returned values
  • THEN django module for OCI distribution spec (this would be so hugely valuable to the community!)
  • THEN add the django module here (and likely I'll use sregistry to help drive it's development, and then separate into a module).

Almost dinner, chat later this week!

@vsoch
Copy link
Member

vsoch commented Mar 24, 2020

hey @lmcdasm I am going to make some time to start looking into this! I think the first logical step (as I mentioned above) would be to integrate some representation (even if only functions to check some endpoint) with opencontainers python and then see if that is fittable into a Django module.

@lmcdasm
Copy link
Author

lmcdasm commented Mar 25, 2020 via email

@vsoch
Copy link
Member

vsoch commented Apr 8, 2020

hey @lmcdasm I'm implementing the django-oci module for this, and (outside of sregistry) wanted to get your feedback on what would be the most likely storage implementations in the wild. I just added Minio here #298 (uses S3 multipart upload API) but there are other choices with signed urls of course! If you have a chance, I opened an issue here to have some conversation. I'm generally looking for "What would someone creating a django app want for their storage" and then "how can I easily do that with a module without assuming a Minio container, for example). If you have any time in the coming weeks, please give feedback there! It's one of my projects I'll definitely be putting more time into soon, although there are some other stuffs that come before it.

@vsoch
Copy link
Member

vsoch commented Oct 12, 2020

hey @lmcdasm another update for you - the initial (conformance testing passing) version of django-oci (a plugin to implement oci in a registry) is ready! https://vsoch.github.io/django-oci/ There are many things to add (interface views for an example app, authentication, different storage backends), but if you want to take a look and express what is important to you / otherwise give feedback it would be appreciated!

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

No branches or pull requests

2 participants