-
Notifications
You must be signed in to change notification settings - Fork 101
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
Support decoupling operator and installed software versions #56
Comments
Questions from @houshengbo:
|
I'll work these into the doc by Monday |
Once users directly gain the power of customize yaml with any options, how valuable is the operator API still? |
I add the following content as a comment to the proposal as well. How about using this feature as an easy first step with following configuration options?
Users can consolidate the contents into one yaml, like serving-ALL.yaml.
The package manifestival is able to parse comma-separated yaml links OR
When we firstly get this done, they can add version validation later. To me, this little first step is good enough to call in release 0.15. :-) @evankanderson @markusthoemmes |
I agree with the sentiment, yes. The API surface needs some bikeshedding though. |
Yeah -- I'm not sure that declaring "version" in the custom object when pointing to a manifest is the correct approach, since the manifest might actually be for some other version. Also, if |
For the If we only specify the links of the yamls, how can the operator CR get the version or build number? So far the version is hard-coded here: https://github.com/knative-sandbox/operator/blob/master/version/version.go#L3 This was the reason that user may need to specify the version. |
Do we really need the "sourceUrl:" prefix for every item in the list? Seems redundant. |
@evankanderson @jcrossley3 Do we have a way to retrieve the version number, by parsing the manifest of serving? |
@jcrossley3 |
My thought was that having a list of objects rather than a list of URLs would allow additional fields (such as an expected checksum of the object). I think we have version information as annotations on specific resources. What's the use case for knowing the version for the entire yaml file? (I ask so that we can focus on putting the information in the right place -- maybe in the CR or maybe in the YAML files.) |
(oops, tab-enter did the wrong thing) |
Additional fields, e.g. checksum, makes sense, thanks. I'd still prefer |
@evankanderson The operator's CRs need to fill in the version number. If we specify the yamls by url, where to get this version? |
In my mind, the API looks roughly like this: type KnativeServingSpec struct {
// Specifies which version of KnativeServing will be installed.
version string
// Overrides the loaded manifest.
// +optional
manifest []Manifest
}
type Manifest struct {
// A url to point to the manifest to load. Can also start with file:// to load local files.
url string
// Just an example...
checksum string
} Which then allow for the YAML to look like this: Defaultspec:
version: 0.14.2 Overriddenspec:
version: 0.14.2
manifest:
- url: https://foo.bar/0.14.2/core.yaml
- url: https://foo.bar/0.14.2/extras.yaml Overridden with checksumsspec:
version: 0.14.2
manifest:
- url: https://foo.bar/0.14.2/core.yaml
checksum: abcd
- url: https://foo.bar/0.14.2/extras.yaml
checksum: abcd |
@houshengbo the version always needs to be specified in the spec I think. It should not be inferred from the YAML I think. |
This issue is stale because it has been open for 90 days with no |
Signed-off-by: Matthias Wessendorf <[email protected]>
(copied from knative/serving-operator#301)
Problem
Today, the serving yaml is packaged and read from the
.kodata
file in the serving-operator image. This has several negative consequences:Possibly-related issues: knative/serving-operator#277 knative/serving-operator#276 knative/serving-operator#256
Persona:
Which persona is this feature for?
This is for contributors (who will be able to use the serving operator during development) and for operators.
Exit Criteria
Time Estimate (optional):
Probably 1-2 months for 1-2 engineers.
Additional context (optional)
Proposal:
https://docs.google.com/document/d/1ehd5Yx4aSottuv7FYW4JeplNULJCs7nnDfy29y3NH8k/edit#
The text was updated successfully, but these errors were encountered: