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

Introduce version in the trigger spec #613

Open
tomkerkhove opened this issue Feb 6, 2020 · 7 comments
Open

Introduce version in the trigger spec #613

tomkerkhove opened this issue Feb 6, 2020 · 7 comments
Labels
feature All issues for new features that have been committed to needs-discussion stale-bot-ignore All issues that should not be automatically closed by our stale bot

Comments

@tomkerkhove
Copy link
Member

Introduce version in the trigger spec so that we can release new versions of the trigger specification without breaking customers.

This allows us to introduce new ways of describing things without having messy documentation and is easier to troubleshoot.

Use-Case

When a scaler decides to change things around by renaming fields, moving them around or introduce breaking changes there is no easy way to see the difference as a customer.

With clear versioning it would be more straight forward and the documentation can be built around it.

Current

triggers:
  - type: kafka
    metadata:
      brokerList: kafka.svc:9092
      consumerGroup: my-group
      topic: test-topic
      lagThreshold: '5'

Proposal

We could add a version to the trigger spec:

triggers:
  - type: kafka
    version: v1
    metadata:
      brokerList: kafka.svc:9092
      consumerGroup: my-group
      topic: test-topic
      lagThreshold: '5'

Impact

The impact should be fairly minimal

  • Configuration parsing should be able to coop with this
    • When no version is specified v1 should be assumed
  • Documentation should be updated
  • Releases should note if new versions are released
@tomkerkhove tomkerkhove added needs-discussion feature-request All issues for new features that have not been committed to labels Feb 6, 2020
@tomkerkhove
Copy link
Member Author

We should also look at versioning scalers independently from the core, but that might be another issue.

@tomkerkhove tomkerkhove added feature All issues for new features that have been committed to and removed feature-request All issues for new features that have not been committed to labels Feb 27, 2020
@stale
Copy link

stale bot commented Oct 13, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale All issues that are marked as stale due to inactivity label Oct 13, 2021
@stale
Copy link

stale bot commented Oct 20, 2021

This issue has been automatically closed due to inactivity.

@tomkerkhove
Copy link
Member Author

Re-opening as I think it's time to do this.

@tomkerkhove tomkerkhove reopened this Aug 24, 2022
@stale
Copy link

stale bot commented Aug 31, 2022

This issue has been automatically closed due to inactivity.

@stale stale bot closed this as completed Aug 31, 2022
@tomkerkhove tomkerkhove reopened this Aug 31, 2022
@tomkerkhove tomkerkhove added stale-bot-ignore All issues that should not be automatically closed by our stale bot and removed needs-discussion stale All issues that are marked as stale due to inactivity labels Aug 31, 2022
@JorTurFer
Copy link
Member

I think this could be a huge headache because we'd have potentially twice or 3 times more code to maintain. I'm not saying no to this, but before starting with this, I'd like to have the versioning lifecycle defined and what users can expect from each version.
Are we going to apply backports with fixes or we only actively maintain latest versions? What about e2e tests? How long are we going to support old versions? Is our documentation page ready to offering this feature?
I see the potential of this feature, and it could be a nice improvement, but maybe we should define the surrounding things before. WDYT?

@tomkerkhove
Copy link
Member Author

Oh yes, I'm not saying that we should already implement this straight away but I think we have to do it. It's either this way, or we cannot make breaking changes to triggers unless we bump the API version for our whole CRD.

Before I went in to detail, I wanted to see if we all agree this is something we should do. In terms of duplication, I'd say that this is just something we can isolate from the configuration parsing and share the logic (unless big things are being removed), but I think it's mainly for the way we configure things.

With regards to end-to-end tests, I'd say we support current + current-1, but that's just a proposal

@tomkerkhove tomkerkhove moved this from Proposed to To Triage in Roadmap - KEDA Core Feb 16, 2023
@JorTurFer JorTurFer moved this from To Triage to To Do in Roadmap - KEDA Core Mar 13, 2023
SpiritZhou pushed a commit to SpiritZhou/keda that referenced this issue Jul 18, 2023
Signed-off-by: Jinli Liang <paul.liang@rokt.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature All issues for new features that have been committed to needs-discussion stale-bot-ignore All issues that should not be automatically closed by our stale bot
Projects
Status: To Do
Development

No branches or pull requests

2 participants