Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Introduce apiVersion for Remediation file #1919

Closed
1 of 4 tasks
agrimmer opened this issue Jun 17, 2020 · 2 comments · Fixed by #1966
Closed
1 of 4 tasks

Introduce apiVersion for Remediation file #1919

agrimmer opened this issue Jun 17, 2020 · 2 comments · Fixed by #1966
Assignees
Milestone

Comments

@agrimmer
Copy link
Member

agrimmer commented Jun 17, 2020

Currently, we define the "version" info of the remdiation.yaml with "0.2.0".
I propose to use "apiVersion" and "remediation.keptn.sh/v1alpha2" as value because this would be more k8s-native.
For an example, look here

Definition of Done:

  • Spec is updated
  • Implementation (go-utils, remediation-service) is updated
  • Docs are updated
  • Blog post is updated
@agrimmer agrimmer changed the title Remediation Spec Introduce apiVersion for Remediation file Jun 17, 2020
@christian-kreuzberger-dtx
Copy link
Member

I like the idea, though why does it need to be a Kubernetes-like version? It's not a custom resource, nor is stored in Kubernetes.

IMHO we should re-use spec_version (we already have that for SLO and SLI), but change it such that it directly points to our spec repo (github.com/keptn/spec, or even spec.keptn.sh if we introduce a redirect rule), e.g.:

spec_version: spec.keptn.sh/0.1.3

Accessing https://spec.keptn.sh/0.1.3 should then redirect the user to github.com/keptn/spec/tree/0.1.3

edit: depending on the desired result, maybe we should also add /remediation or something to the string, e.g.:

spec_version: spec.keptn.sh/0.1.3/remediation

This would also be something we should consider for cloud-events (our cloud-events only point to a cloud-event spec, not the Keptn spec).

@johannes-b
Copy link
Member

I would propose to combine both ideas into: apiVersion:spec.keptn.sh/0.1.3

Reasoning: Regardless of K8s-native or not, the term apiVersion is semantically stronger than spec_version. I like to have API in there because it declares that this is the application programming interface for customizing various settings using this file. The value should then reference the actual version, released on GitHub.

@christian-kreuzberger-dtx christian-kreuzberger-dtx added this to the 0.7.0 milestone Jun 18, 2020
@johannes-b johannes-b added the next-sprint Items that should be discussed and implemented in the next sprint label Jun 18, 2020
@johannes-b johannes-b added this to Backlog in Working items via automation Jun 18, 2020
@johannes-b johannes-b moved this from Backlog to Assigned and committed in Working items Jun 18, 2020
@agrimmer agrimmer moved this from Assigned and committed to In progress in Working items Jun 26, 2020
agrimmer added a commit that referenced this issue Jun 26, 2020
@agrimmer agrimmer moved this from In progress to Ready for review in Working items Jun 29, 2020
agrimmer added a commit that referenced this issue Jun 30, 2020
* #1919 Switch to apiVersion, use re-organized go-utils structs

* #1919 Correct spec version to v0.1.4

* #1919 Update go-utils to master version
@christian-kreuzberger-dtx christian-kreuzberger-dtx removed the next-sprint Items that should be discussed and implemented in the next sprint label Jun 30, 2020
@christian-kreuzberger-dtx christian-kreuzberger-dtx moved this from Ready for review to Done/presented in community review (column will be cleaned regularly) in Working items Jul 2, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
No open projects
Working items
Done/presented in community review (c...
Development

Successfully merging a pull request may close this issue.

3 participants