Skip to content
This repository has been archived by the owner on Sep 4, 2020. It is now read-only.

Backwards Compatibility for Config Schemas #521

Open
wdfox opened this issue Jan 24, 2020 · 2 comments
Open

Backwards Compatibility for Config Schemas #521

wdfox opened this issue Jan 24, 2020 · 2 comments

Comments

@wdfox
Copy link

wdfox commented Jan 24, 2020

It would be convenient if changes to the schema for reading application config files did not break the config files written against an older version of Rudr (or an outdated schema).

Recently, there was an update to the Rudr repository which changed the way the ingress trait was defined. This change made the BikeSharing360 example in the Rudr samples repo un-usable. The issue was discovered by @sowsan and is documented in #519.

The current fix is to manually update the component and app config files each time there is a change to the schema. While the schema will almost certainly become stable over time (and with general release), it would be nice to handle these changes with backwards compatibility.

Our first thought for a fix is to add 'schema version' (or range of versions) to the metadata in each relevant config file, so that the Rudr runtime can understand how to build the app. This would have to be enforced on the Rudr side, but could ensure that even older application configurations could be understood by the current version of Rudr.

Note: This feature request is follow up to #519, and we understand this isn't on the immediate roadmap. All the same, it would be useful in our opinion.

@wonderflow
Copy link
Member

Yeah, I agree we should consider compatibility. But recently the oam-spec is also unstable, we currently shouldn't have this burden to maintain these history version.

On the other side, we could add the sample repo to our e2e test, so we won't fail on demo.

@wdfox
Copy link
Author

wdfox commented Feb 28, 2020

Sorry for the delayed response. I completely understand and agree that compatibility doesn't make sense right now, but may be useful in the future. If you think adding the samples to testing would help, I agree that it would be nice to know which ones are (or are not) working. If there is anything I can do on my end to help, please let me know.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants