From 89193757aeef333b8bc2ef1fd4ab402fcd7e9b86 Mon Sep 17 00:00:00 2001 From: Andrej Friesen Date: Mon, 23 Jan 2023 10:29:44 +0100 Subject: [PATCH 1/3] Add draft for version policy regarding k8s updates Signed-off-by: Andrej Friesen --- Decisions/scs-k8s-version-policy.md | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Decisions/scs-k8s-version-policy.md diff --git a/Decisions/scs-k8s-version-policy.md b/Decisions/scs-k8s-version-policy.md new file mode 100644 index 000000000..770a10e91 --- /dev/null +++ b/Decisions/scs-k8s-version-policy.md @@ -0,0 +1,49 @@ +--- +title: SCS K8S Version Policy +type: Standard +status: Draft +track: KaaS +--- + +# Introduction + +Here we will describe how fast providers need to keep up with the upstream Kubernetes version. + +To create a informed decision we summarize here the Kubernetes rules regarding versioning at the time of writing (2023-01-16): + +Kubernetes usually provides about **3 minor** releases per year. +[Kubernetes Release Cycle](https://kubernetes.io/releases/release/#the-release-cycle) + +Patch release cadence is typically monthly. However, the first patches after the first minor release usually arrive 1-2 weeks after the first minor release. +[Patch Release Cadence](https://kubernetes.io/releases/patch-releases/#cadence) + +In general the latest 3 minor version are maintained by the Kubernetes project. +Every release will be maintained for about 14 months. +First 12 month is standard support period. +The remaining 2 months are only for: +- CVEs (under the advisement of the Security Response Committee) +- dependency issues (including base image updates) +- critical core component issues + +[Kubernetes Support Period](https://kubernetes.io/releases/patch-releases/#support-period) + +# Motivation + +Kubernetes is a fast paced project. We want to achieve that providers keep up to date with upstream and do not fall behind Kubernetes releases. +However, providers should have reasonable time to implement the new Kubernetes versions and test them. +This will allow customers to be insured that their clusters are up to date regarding security issues, bug fixes and new features when using SCS compliant clusters. + +# Decision + +- Must provide latest minor version no later than 4 months after release +- Must provide latest patch version no later than a week after release +- Should be faster for critical CVEs (CVSS >= 8) +- Should be tested + +# Related Documents + +All important documents regarding versioning, releases, etc. for the official Kubernetes project can be found here: [Kubernetes Releases](https://kubernetes.io/releases/) + +# Conformance Tests + +TBD \ No newline at end of file From 5fabb0ffb5eb6b134ede5309e17336334218f736 Mon Sep 17 00:00:00 2001 From: Andrej Friesen Date: Mon, 23 Jan 2023 10:35:44 +0100 Subject: [PATCH 2/3] Rename the tilte and file to specifcly mention new versions We decided to create different ADR for the topic of deprecation of kubernetes version and how long a provider has to keep a older version available. Signed-off-by: Andrej Friesen --- ...{scs-k8s-version-policy.md => scs-k8s-new-version-policy.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Decisions/{scs-k8s-version-policy.md => scs-k8s-new-version-policy.md} (97%) diff --git a/Decisions/scs-k8s-version-policy.md b/Decisions/scs-k8s-new-version-policy.md similarity index 97% rename from Decisions/scs-k8s-version-policy.md rename to Decisions/scs-k8s-new-version-policy.md index 770a10e91..a08fdfc74 100644 --- a/Decisions/scs-k8s-version-policy.md +++ b/Decisions/scs-k8s-new-version-policy.md @@ -1,5 +1,5 @@ --- -title: SCS K8S Version Policy +title: SCS K8S Version Policy for new Kubernetes versions type: Standard status: Draft track: KaaS From dd3560ccf762fc07edb22c863e3843f1f758b25f Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Thu, 26 Jan 2023 12:24:31 +0100 Subject: [PATCH 3/3] Rename file to reflect SCS standards/ADR naming. Signed-off-by: Kurt Garloff --- ...ew-version-policy.md => scs-0210-v1-k8s-new-version-policy.mv} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Decisions/{scs-k8s-new-version-policy.md => scs-0210-v1-k8s-new-version-policy.mv} (100%) diff --git a/Decisions/scs-k8s-new-version-policy.md b/Decisions/scs-0210-v1-k8s-new-version-policy.mv similarity index 100% rename from Decisions/scs-k8s-new-version-policy.md rename to Decisions/scs-0210-v1-k8s-new-version-policy.mv