-
Notifications
You must be signed in to change notification settings - Fork 202
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
add "feature flags", and API to expose #74
Comments
Rather... or as well as, we already have the v2 semantic as a legacy issue. What do you think about plain ole name value pairs as is done by feature gates in kube? https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ |
I'm thinking more simply like GET /v2/features Add get back a response like: ["OEP-1", "OEP-4"] like "OCI Extension Proposals", where we have markdown docs describing the feature (similar to https://www.python.org/dev/peps/ or https://github.com/kubernetes/enhancements/tree/master/keps) |
ok so no false positives... just a set of distribution extension proposals (DEPs) for the "certain optional" extension points. |
DEP is fine. Sounds like an abbreviation for "dependency" and I wondered if there would be a proposal that spans specs. But regardless. |
spec spanning ... never happen :) xEPs is fine pronunciation zeps or eh'ps? |
I like the extension proposal idea, I think that is a good way to separate the core of the spec from additional features in the future. As I have stated before, I think the specification needs to stay focused on the distribution of images (push and pull) rather than on registry operation. Just as we wouldn't expect the git protocol to continuously be added to with Github API features, we wouldn't expect this protocol to expand for all the needs of operating a registry. However, there are many different registry operators and agreeing on common APIs is good, I am fine with defining those here. As for the Lastly, I think we need to consider that the extensions may need to define some configuration. Adding new endpoints via extensions may be easy, but that may end up putting a burden on the operators as well as the extension authors when it comes to defining the path. From an operational perspective, the service which implements the extension may be (and in some cases should be) different from the service handling the core specification API. For example today the authorization server and "distribution" server (such as a |
Fair, I think these are strictly related. Also, the registry is a CAS storage, so when much of these mechanics are already here, it makes sense to leverage it.
good point! {
"extensions": {
"OEP-1": {
"version": "0.1",
"url.base": "https://example.com/v1/"
},
"OEP-4": {
"version": "0.1",
"url.prefix": "/sig"
}
}
} which is easy enough to walk through the keys of the |
Let's not reinvent the wheel anywhere. |
The We still need to figure out the extension approach and formatting either way, but I am all for following a pattern that has proven successful in other projects. Any standard isn't going to help us with the formatting for defining the extensions though. |
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
First draft Mostly a conversation piece here, but I've sat on this for too long. Fixes opencontainers#74 Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
Rather than incrementing the distribution spec version as certain optional features are added, this API and mapped values of "feature flags" will be used by registries to indicate whether new features are implemented. (Like PEP or similar extensions)
The text was updated successfully, but these errors were encountered: