Skip to content

Commit 7dbcabe

Browse files
fhennigTechassi
andauthored
New menu structure & lifecycle policies (#474)
* ~ * ~ * fix links * Update modules/ROOT/pages/policies.adoc Co-authored-by: Techassi <git@techassi.dev> * reorganized menu * review * Added TODO --------- Co-authored-by: Techassi <git@techassi.dev>
1 parent 9282372 commit 7dbcabe

File tree

7 files changed

+49
-28
lines changed

7 files changed

+49
-28
lines changed

modules/ROOT/nav.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
* xref:quickstart.adoc[]
22
* xref:kubernetes.adoc[]
3-
* xref:getting_started.adoc[]
3+
* xref:getting-started.adoc[]

modules/ROOT/nav2.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// This second nav file is for another menu entry at the end of the navigation menu
22
// see: https://docs.antora.org/antora/3.0/navigation/organize-files/#multiple-files-per-module
3-
* xref:release_notes.adoc[Release Notes]
3+
* xref:release-notes.adoc[Release notes]
44
* xref:product-information.adoc[]
5+
* xref:policies.adoc[]
56
* xref:licenses.adoc[Licenses]

modules/ROOT/pages/getting_started.adoc renamed to modules/ROOT/pages/getting-started.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
= Getting Started
2+
:page-aliases: getting_started.adoc
23

34
One of the best ways of getting started with a new platform is to try it out. Any big data platform has a lot of moving parts and getting some hands on keyboard time with it helps reinforce learning.
45

modules/ROOT/pages/policies.adoc

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
= Lifecycle Policies
1+
= Lifecycle policies
22

3-
This page details our current lifecycle policies around various parts of our product - the Stackable Data Platform (SDP).
3+
This page details our lifecycle policies around various parts of our product - the Stackable Data Platform (SDP).
44

5-
We define multiple lifecycle policies for different parts of our platform, but all these policies follow some common goals:
5+
We define multiple lifecycle policies for different parts of our platform, but all policies follow some common goals:
66

77
* It should always be possible to upgrade to a new version of SDP without also changing any of your Kubernetes resources as long as you are not currently using anything that has already been marked as deprecated
88
** This means you can upgrade the control plane independently of the user-facing products
9-
109
* All deprecations follow a predictable lifecycle that allows planning of upgrades ahead of time
1110
1211
The guarantees we give are on multiple levels as detailed below:
@@ -20,21 +19,20 @@ All these policies may evolve as we learn what works best for our customers and
2019

2120
These policies are from *July 2023*.
2221

23-
24-
== Stackable Data Platform Lifecycle Policy
22+
== Stackable Data Platform lifecycle policy
2523

2624
NOTE: This policy concerns releases of our platform as a whole and how long and to which extent we support each version.
2725

2826
We do releases of our Stackable Data Platform.
2927
These releases get a name based on the year and month they have been released in (e.g. `23.4`, `23.7`, also called https://calver.org/[CalVer]). This name does not follow Semantic Versioning (https://semver.org/[SemVer]). We may release patches for a release, which then follow the PATCH naming semantics of SemVer (e.g. `23.4.1`) or the _Micro_ name from CalVer. See below for our policy on patches for the SDP.
3028

31-
We do support an SDP release for a specific time after its release.
29+
We support an SDP release for a specific amount of time after its initial release.
3230

3331
An SDP release contains our operators and other code developed at Stackable as well as the product docker images.
3432

3533
TIP: Our policy is inspired by the https://kubernetes.io/releases/patch-releases/[Kubernetes] and the https://access.redhat.com/support/policy/updates/openshift#ocp4[OpenShift] policies.
3634

37-
=== Full Support Phase
35+
=== Full support phase
3836

3937
This phase begins once a new non-patch SDP version is released and ends after a 6-month period OR 3 months after the general availability of the superseding non-patch release, whichever is later.
4038

@@ -47,26 +45,26 @@ image:full_support_scenario_2.png[Full Support Scenario 2]
4745
We _will_ release new patch releases of a SDP release (e.g. `23.4.1`) for any issues we deem Critical or High (see definition below) once fixes become available.
4846
We _may_ release new patch releases for other reasons.
4947

50-
=== Maintenance Phase
48+
=== Maintenance phase
5149

5250
This phase commences after the _Full Support_ phase for the respective SDP version and ends 12 months after general availability of the SDP release.
5351

5452
We _may_ release new patch releases of a SDP release (e.g. `23.4.1`) for any issues we deem Critical or High (see definition below) once fixes become available.
53+
We may release patches for other reasons.
5554

5655
image:maintenance_phase.png[Maintenance Phase]
5756

58-
=== General
59-
60-
We may release patches for other reasons.
57+
== Upgrade policy
6158

6259
Customers are expected to upgrade their SDP environment to the most current supported patch/micro (`23.4.z`) version.
63-
Make sure to follow our release notes to learn of valid upgrade paths, some intermediate updates might be necessary.
60+
Skipping SDP releases while upgrading is currently not supported.
61+
The only upgrade path we support is from one version to the next.
6462

65-
== CRD Versioning Lifecycle Policy
63+
== CRD Versioning lifecycle policy
6664

6765
IMPORTANT: As of June 2023 all our CRDs are versioned as `alpha1`. We will start introducing other versions later in 2023.
6866

69-
``CustomResourceDefinition``s at Stackable are versioned.
67+
CustomResourceDefinitions at Stackable are versioned.
7068

7169
Our policies around CRD versioning are inspired by the https://kubernetes.io/docs/reference/using-api/deprecation-policy/[Kubernetes Deprecation Policy].
7270

@@ -90,7 +88,7 @@ Similar to the Exception noted by the Kubernetes project itself, we will also ev
9088
NOTE: According to these rules it is legal to _add_ fields to a CRD without increasing the version as long as there is a default for this field.
9189

9290

93-
== Product Lifecycle Policy
91+
== Product lifecycle policy
9492

9593
SDP ships with a lot of different downstream products (e.g. Apache HBase, Apache Superset).
9694

@@ -114,9 +112,10 @@ image:product_release_cycle.png[Product Lifecycle Policy]
114112
=== Deprecation
115113

116114
Every product version that gets removed will be deprecated for at least 1 SDP release before removal.
117-
This guarantees that users can update the operators (e.g. from 23.1 to 23.4) without the need to simultaneously update the product version as well. The flow is to first update the control plane (the operators) and afterward the product versions if desired (e.g. when the currently used version is now deprecated).
115+
This guarantees that users can update the operators (e.g. from 23.1 to 23.4) without the need to simultaneously update the product version as well.
116+
The flow is to first update the control plane (the operators) and afterward the product versions if desired (e.g. when the currently used version is now deprecated).
118117

119-
=== Definition of "support"
118+
=== Definition of support
120119

121120
We will ship new versions of the LTS release line in our currently supported SDP releases (see above) for any issues we deem Critical or High in severity when they become available.
122121

@@ -127,17 +126,19 @@ It is our explicit goal to limit the amount of times we have to ship a version o
127126
We may ship new versions for existing SDP releases for other issues as well.
128127

129128

130-
== OpenShift & Kubernetes Support Policy
129+
== OpenShift & Kubernetes support policy
131130

132131
For every SDP release we will publish a list of supported Kubernetes versions.
133132

134133
We are aiming to support the last three Kubernetes versions but will make case-by-case decisions by taking into account the currently supported Kubernetes versions.
135134
We will also take into account currently supported OpenShift versions as published by RedHat. It is our goal to support all versions that are in Full or Maintenance support. As the releases may be overlapping we might not always support the latest Kubernetes or OpenShift versions when we release a SDP version.
136135

137136

138-
== Support Policy (Security & Bugs)
137+
== Support policy (security & bugs)
139138

140-
Stackable will analyze published security vulnerabilities (e.g. CVEs but other sources may apply as well) for all the products we support as well components developed by us and their dependencies. We take various sources into account when assigning a criticality. Among those sources is the NVD database, but we place higher value on the self-assessments by the projects themselves, and we will additionally evaluate vulnerabilities in the context of how they are used in the Stackable Data Platform.
139+
Stackable will analyze published security vulnerabilities (e.g. CVEs but other sources may apply as well) for all the products we support as well components developed by us and their dependencies.
140+
We take various sources into account when assigning a criticality.
141+
Among those sources is the NVD database, but we place higher value on the self-assessments by the projects themselves, and we will additionally evaluate vulnerabilities in the context of how they are used in the Stackable Data Platform.
141142

142143
We will then assign a criticality to each vulnerability according to similar rating categories that https://access.redhat.com/security/updates/classification[RedHat has established]:
143144

modules/ROOT/pages/release_notes.adoc renamed to modules/ROOT/pages/release-notes.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
= Release notes for the Stackable Data Platform
2+
:page-aliases: release_notes.adoc
23

34
The Stackable platform consists of multiple operators that work together. Periodically a platform release is made,
45
including all components of the platform at a specific version.

supplemental-ui/partials/navbar.hbs

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<a class="navbar-sub-item" href="{{{ relativize (versioned "home" page "index.html") }}}">Home</a>
22
<a class="navbar-sub-item" href="{{{ relativize (versioned "home" page "/getting_started.html") }}}">Getting Started</a>
3-
<a class="navbar-sub-item" href="{{{ relativize (versioned "home" page "concepts/index.html") }}}">Concepts</a>
4-
<a class="navbar-sub-item" href="{{{ relativize (versioned "home" page "demos/index.html") }}}">Demos</a>
53
<div class="navbar-sub-item drop-down">
6-
Management
4+
Platform
75
<div class="drop-down-content">
8-
<a class="drop-down-item" href="{{{ relativize (versioned "management" page "cockpit/index.html") }}}">Cockpit</a>
9-
<a class="drop-down-item" href="{{{ relativize (versioned "management" page "stackablectl/index.html") }}}">stackablectl</a>
6+
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "concepts/index.html") }}}">Concepts</a>
7+
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "demos/index.html") }}}">Demos</a>
8+
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "tutorials/index.html") }}}">Tutorials</a>
9+
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "release-notes.html") }}}">Release Notes</a>
1010
</div>
1111
</div>
1212
<div class="navbar-sub-item drop-down">
@@ -30,4 +30,21 @@
3030
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "listener-operator/index.html") }}}">Listener</a>
3131
</div>
3232
</div>
33+
<div class="navbar-sub-item drop-down">
34+
Management
35+
<div class="drop-down-content">
36+
<a class="drop-down-item" href="{{{ relativize (versioned "management" page "cockpit/index.html") }}}">Cockpit</a>
37+
<a class="drop-down-item" href="{{{ relativize (versioned "management" page "stackablectl/index.html") }}}">stackablectl</a>
38+
</div>
39+
</div>
40+
<div class="navbar-sub-item drop-down">
41+
Policies and Licenses
42+
<div class="drop-down-content">
43+
<!-- TODO fix link to stable after next release (23.11) -->
44+
<a class="drop-down-item" href="{{{ relativize "/home/nightly/product-information.html" }}}">Product Information</a>
45+
<a class="drop-down-item" href="{{{ relativize (versioned "home" page "policies.html") }}}">Policies</a>
46+
<!-- TODO fix link to stable after next release (23.11) -->
47+
<a class="drop-down-item" href="{{{ relativize "/home/nightly/licenses.html" }}}">Licenses</a>
48+
</div>
49+
</div>
3350
<a class="navbar-sub-item" href="{{{ relativize (versioned "home" page "contributor/index.html") }}}">Contribute</a>

0 commit comments

Comments
 (0)