|
| 1 | +# Lifecycle Sources |
| 2 | + |
| 3 | +URLs and extraction guidance for each platform and integration. Load this file during Step 4 of the workflow. |
| 4 | + |
| 5 | +## Platforms |
| 6 | + |
| 7 | +### OCP (OpenShift Container Platform) |
| 8 | + |
| 9 | +**URL:** https://access.redhat.com/support/policy/updates/openshift |
| 10 | +**What to extract:** Minor version GA dates and end-of-life dates from the life cycle policy table. |
| 11 | + |
| 12 | +### OSD (OpenShift Dedicated) |
| 13 | + |
| 14 | +**URL:** https://access.redhat.com/product-life-cycles/api/v1/products/?name=Red+Hat+OpenShift+Container+Platform |
| 15 | +**What to extract:** OSD follows OCP version availability. Use OCP GA and EOL dates as a proxy — versions available on OSD typically lag OCP GA by a few weeks. Apply the same add/remove rules as OCP. |
| 16 | + |
| 17 | +**Note:** The OSD-specific lifecycle page (`docs.openshift.com/dedicated`) returns 403 for automated access. The Red Hat lifecycle API has no OSD-specific entry beyond 4.13. OCP lifecycle data is the best available proxy. |
| 18 | + |
| 19 | +### ROSA (Red Hat OpenShift Service on AWS) |
| 20 | + |
| 21 | +**URL:** https://access.redhat.com/product-life-cycles/api/v1/products/?name=Red+Hat+OpenShift+Container+Platform |
| 22 | +**What to extract:** ROSA follows OCP version availability. Use OCP GA and EOL dates as a proxy. Apply the same add/remove rules as OCP. |
| 23 | + |
| 24 | +**Note:** The ROSA-specific lifecycle page (`docs.openshift.com/rosa`) returns 403 for automated access. The Red Hat lifecycle API has ROSA entries only up to 4.13 (classic architecture). OCP lifecycle data is the best available proxy for current versions. |
| 25 | + |
| 26 | +### ARO (Azure Red Hat OpenShift) |
| 27 | + |
| 28 | +**URL:** https://learn.microsoft.com/en-us/azure/openshift/support-lifecycle |
| 29 | +**What to extract:** Kubernetes version GA dates and end of support (EOL) dates. |
| 30 | + |
| 31 | +### AKS (Azure Kubernetes Service) |
| 32 | + |
| 33 | +**URL:** https://learn.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-kubernetes-release-calendar |
| 34 | +**What to extract:** The AKS Kubernetes release calendar table — GA date and end of life date per minor Kubernetes version. |
| 35 | + |
| 36 | +### EKS (Amazon Elastic Kubernetes Service) |
| 37 | + |
| 38 | +**URL:** https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html |
| 39 | +**What to extract:** Kubernetes minor version release dates and end of standard support dates for EKS. |
| 40 | + |
| 41 | +### GKE (Google Kubernetes Engine) |
| 42 | + |
| 43 | +**URL:** https://cloud.google.com/kubernetes-engine/docs/release-schedule |
| 44 | +**What to extract:** GKE release schedule table — GA date and end of life per minor Kubernetes version. |
| 45 | + |
| 46 | +## Integrations |
| 47 | + |
| 48 | +### RHDH PostgreSQL Support Policy (baseline) |
| 49 | + |
| 50 | +**URL:** https://access.redhat.com/support/policy/updates/developerhub |
| 51 | +**What to extract:** The list of PostgreSQL major versions officially supported by RHDH. This is the **authoritative baseline** — these versions are already confirmed for RHDH support. Use these as the starting point; do not suggest removing versions that are on this list unless they are also EOL across all three providers. |
| 52 | + |
| 53 | +### Backstage PostgreSQL Support Policy (candidate source) |
| 54 | + |
| 55 | +**URL:** https://backstage.io/docs/overview/versioning-policy/#postgresql-releases |
| 56 | +**What to extract:** The PostgreSQL versions Backstage currently supports (rolling window, typically last 5 major versions). Any version Backstage supports but that is NOT on the RHDH support policy page is a **candidate to suggest adding**, with the following mandatory warning: |
| 57 | + |
| 58 | +> ⚠ Adding a new PostgreSQL version to RHDH requires a dedicated RHDH Jira Feature ticket to formally extend database support. Do not add this version without one. |
| 59 | +
|
| 60 | +### Amazon RDS for PostgreSQL |
| 61 | + |
| 62 | +**URL:** https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html |
| 63 | +**What to extract:** PostgreSQL major version end of support (EOL) dates on Amazon RDS. |
| 64 | + |
| 65 | +### Azure Database for PostgreSQL |
| 66 | + |
| 67 | +**URL:** https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-supported-versions |
| 68 | +**What to extract:** PostgreSQL major version support status and end of support dates for Azure Database Flexible Server. |
| 69 | + |
| 70 | +### CloudSQL for PostgreSQL |
| 71 | + |
| 72 | +**URL:** https://cloud.google.com/sql/postgresql |
| 73 | +**What to extract:** PostgreSQL major version end of support dates for Google CloudSQL. The page may list supported versions in a table or prose — look for "end of support" or "EOL" next to each major version. |
| 74 | + |
| 75 | +### RHBK (Red Hat Build of Keycloak) |
| 76 | + |
| 77 | +**URL:** https://access.redhat.com/product-life-cycles/api/v1/products/?name=Red+Hat+build+of+Keycloak |
| 78 | +**What to extract:** JSON response — each version entry has a `name` and a `phases` array. Extract dates from the phases array — **not** from a top-level `ga_date` field (there is none). |
| 79 | + |
| 80 | +Phase extraction rules: |
| 81 | +- **GA date**: `phases[name == "General availability"].end_date` — this is when the GA phase ended (i.e., when the product became GA). The `start_date` of this phase is always `"N/A"`. |
| 82 | +- **EOL date**: the `end_date` of the last phase that has a real date (not `"N/A"`). Typically the last of: Maintenance support, Extended update support Term 2, etc. |
| 83 | + |
| 84 | +Use minor version entries (e.g., `26.0`, `26.2`, `26.4`) to determine which **major versions** are still active — do not list minor versions in the table. A major version is active if at least one of its minor releases is GA on or before `code_freeze` and not EOL before `ga_date`. Report only the major version number (e.g., `26`). |
| 85 | + |
| 86 | +### Quay (Red Hat Quay) |
| 87 | + |
| 88 | +**URL:** https://access.redhat.com/product-life-cycles/api/v1/products/?name=Red+Hat+Quay |
| 89 | +**What to extract:** JSON response — each version entry has a `name` and a `phases` array. Extract dates from the phases array — **not** from a top-level `ga_date` field (there is none). |
| 90 | + |
| 91 | +Phase extraction rules: |
| 92 | +- **GA date**: `phases[name == "General availability"].end_date` — this is when the GA phase ended (i.e., when the product became generally available). The `start_date` of this phase is always `"N/A"`. |
| 93 | +- **EOL date**: the `end_date` of the last phase that has a real date (not `"N/A"`). |
| 94 | + |
| 95 | +Identify only the **latest version** with a GA date on or before `code_freeze`. Suggest replacing the current version with that latest version. |
| 96 | + |
| 97 | +## Date Interpretation Rules |
| 98 | + |
| 99 | +When evaluating lifecycle dates against RHDH milestones: |
| 100 | + |
| 101 | +| Rule | Condition | Action | |
| 102 | +|------|-----------|--------| |
| 103 | +| Add version | Version GA date ≤ RHDH Code Freeze | Suggest adding | |
| 104 | +| Remove version | Version EOL date ≤ RHDH GA date | Suggest removing | |
| 105 | +| No change | Version in table, not EOL, GA already passed | Leave as-is | |
| 106 | +| No change | Version GA date > RHDH Code Freeze | Do not add | |
| 107 | + |
| 108 | +If a lifecycle page provides only a quarter or year (not a precise date), use the **last day of that period** as a conservative estimate and note it in the justification (e.g., "GA estimated end of Q3 2025 → 2025-09-30"). |
0 commit comments