From cc1730295eeb2ad3e57c3075745265d7dc9f6d61 Mon Sep 17 00:00:00 2001 From: Ludovic TOURMAN Date: Thu, 6 Feb 2025 19:13:44 +0100 Subject: [PATCH 1/3] Add AWS services --- releases/aws-aurora-mysql.json | 76 +++ releases/aws-aurora-postgresql.json | 436 +++++++++++++ releases/aws-eks.json | 915 ++++++++++++++++++++++++++++ releases/aws-kafka.json | 182 ++++++ src/aws-aurora.py | 100 +++ src/aws-eks.py | 114 ++++ src/aws-kafka.py | 102 ++++ 7 files changed, 1925 insertions(+) create mode 100644 releases/aws-aurora-mysql.json create mode 100644 releases/aws-aurora-postgresql.json create mode 100644 releases/aws-eks.json create mode 100644 releases/aws-kafka.json create mode 100644 src/aws-aurora.py create mode 100644 src/aws-eks.py create mode 100644 src/aws-kafka.py diff --git a/releases/aws-aurora-mysql.json b/releases/aws-aurora-mysql.json new file mode 100644 index 000000000..53d9d930e --- /dev/null +++ b/releases/aws-aurora-mysql.json @@ -0,0 +1,76 @@ +{ + "releases": { + "3.08": { + "name": "3.08", + "eoas": "2025-11-30" + }, + "3.07": { + "name": "3.07", + "eoas": "2025-08-04" + }, + "3.06": { + "name": "3.06", + "eoas": "2025-05-31" + }, + "3.05": { + "name": "3.05", + "eoas": "2025-05-31" + }, + "3.04": { + "name": "3.04", + "eoas": "2026-10-31" + }, + "3": { + "name": "3", + "eoas": "2027-04-30", + "eoes": "2029-07-31" + }, + "2.121": { + "name": "2.121", + "eoas": "2024-10-31" + }, + "2.111": { + "name": "2.111", + "eoas": "2024-10-31" + }, + "2": { + "name": "2", + "eoas": "2024-10-31", + "eoes": "2027-02-28" + }, + "1": { + "name": "1", + "eoas": "2023-02-28" + } + }, + "versions": { + "3.08": { + "name": "3.08", + "date": "2024-11-18" + }, + "3.07": { + "name": "3.07", + "date": "2024-06-04" + }, + "3.06": { + "name": "3.06", + "date": "2024-03-07" + }, + "3.05": { + "name": "3.05", + "date": "2023-10-25" + }, + "3.04": { + "name": "3.04", + "date": "2023-07-31" + }, + "2.121": { + "name": "2.121", + "date": "2023-07-25" + }, + "2.111": { + "name": "2.111", + "date": "2022-10-25" + } + } +} \ No newline at end of file diff --git a/releases/aws-aurora-postgresql.json b/releases/aws-aurora-postgresql.json new file mode 100644 index 000000000..9ece985aa --- /dev/null +++ b/releases/aws-aurora-postgresql.json @@ -0,0 +1,436 @@ +{ + "releases": { + "4": { + "name": "4", + "eoas": "2025-02-28", + "eoes": "2028-02-29" + }, + "3": { + "name": "3", + "eoas": "2024-02-29", + "eoes": "2027-03-31" + }, + "16.6": { + "name": "16.6", + "eoas": "2026-05-31" + }, + "16.4": { + "name": "16.4", + "eoas": "2026-05-01" + }, + "16.3": { + "name": "16.3", + "eoas": "2025-10-01" + }, + "16.2": { + "name": "16.2", + "eoas": "2025-10-01" + }, + "16.1": { + "name": "16.1", + "eoas": "2025-10-01", + "eoes": "2032-02-28" + }, + "15.8": { + "name": "15.8", + "eoas": "2026-05-01" + }, + "15.7": { + "name": "15.7", + "eoas": "2025-10-01" + }, + "15.6": { + "name": "15.6", + "eoas": "2025-10-01" + }, + "15.5": { + "name": "15.5", + "eoas": "2025-05-01" + }, + "15.4": { + "name": "15.4", + "eoas": "2025-05-01" + }, + "15.3": { + "name": "15.3", + "eoas": "2025-05-01" + }, + "15.2": { + "name": "15.2", + "eoas": "2024-11-15", + "eoes": "2031-02-28" + }, + "15.10": { + "name": "15.10", + "eoas": "2026-05-31" + }, + "14.9": { + "name": "14.9", + "eoas": "2025-05-01" + }, + "14.8": { + "name": "14.8", + "eoas": "2025-05-01" + }, + "14.7": { + "name": "14.7", + "eoas": "2024-11-15" + }, + "14.6": { + "name": "14.6", + "eoas": "2027-02-28" + }, + "14.5": { + "name": "14.5", + "eoas": "2024-11-15" + }, + "14.4": { + "name": "14.4", + "eoas": "2024-11-15" + }, + "14.3": { + "name": "14.3", + "eoas": "2024-11-15", + "eoes": "2030-02-28" + }, + "14.15": { + "name": "14.15", + "eoas": "2026-05-31" + }, + "14.13": { + "name": "14.13", + "eoas": "2026-05-01" + }, + "14.12": { + "name": "14.12", + "eoas": "2025-10-01" + }, + "14.11": { + "name": "14.11", + "eoas": "2025-10-01" + }, + "14.10": { + "name": "14.10", + "eoas": "2025-05-01" + }, + "13.9": { + "name": "13.9", + "eoas": "2026-02-28" + }, + "13.8": { + "name": "13.8", + "eoas": "2024-11-15" + }, + "13.7": { + "name": "13.7", + "eoas": "2024-11-15" + }, + "13.18": { + "name": "13.18", + "eoas": "2026-02-28" + }, + "13.16": { + "name": "13.16", + "eoas": "2026-02-28" + }, + "13.15": { + "name": "13.15", + "eoas": "2025-10-01" + }, + "13.14": { + "name": "13.14", + "eoas": "2025-10-01" + }, + "13.13": { + "name": "13.13", + "eoas": "2025-05-01" + }, + "13.12": { + "name": "13.12", + "eoas": "2025-05-01" + }, + "13.11": { + "name": "13.11", + "eoas": "2025-05-01" + }, + "13.10": { + "name": "13.10", + "eoas": "2024-11-15" + }, + "13": { + "name": "13", + "eoas": "2026-02-28", + "eoes": "2029-02-28" + }, + "12.9": { + "name": "12.9", + "eoas": "2025-02-28" + }, + "12.22": { + "name": "12.22", + "eoas": "2025-02-28" + }, + "12.20": { + "name": "12.20", + "eoas": "2025-02-28" + }, + "12.19": { + "name": "12.19", + "eoas": "2025-02-28" + }, + "12.18": { + "name": "12.18", + "eoas": "2025-02-28" + }, + "12.17": { + "name": "12.17", + "eoas": "2025-02-28" + }, + "12.16": { + "name": "12.16", + "eoas": "2025-02-28" + }, + "12.15": { + "name": "12.15", + "eoas": "2025-02-28" + }, + "12.14": { + "name": "12.14", + "eoas": "2024-11-15" + }, + "12.13": { + "name": "12.13", + "eoas": "2024-11-15" + }, + "12.12": { + "name": "12.12", + "eoas": "2024-11-15" + }, + "12.11": { + "name": "12.11", + "eoas": "2024-11-15" + }, + "11.9": { + "name": "11.9", + "eoas": "2024-02-29" + }, + "11.21": { + "name": "11.21", + "eoas": "2024-02-29" + } + }, + "versions": { + "16.6": { + "name": "16.6", + "date": "2024-12-13" + }, + "15.10": { + "name": "15.10", + "date": "2024-12-13" + }, + "14.15": { + "name": "14.15", + "date": "2024-12-13" + }, + "13.18": { + "name": "13.18", + "date": "2024-12-13" + }, + "12.22": { + "name": "12.22", + "date": "2024-12-13" + }, + "16.4": { + "name": "16.4", + "date": "2024-09-30" + }, + "15.8": { + "name": "15.8", + "date": "2024-09-30" + }, + "14.13": { + "name": "14.13", + "date": "2024-09-30" + }, + "13.16": { + "name": "13.16", + "date": "2024-09-30" + }, + "12.20": { + "name": "12.20", + "date": "2024-09-30" + }, + "16.3": { + "name": "16.3", + "date": "2024-08-08" + }, + "15.7": { + "name": "15.7", + "date": "2024-08-08" + }, + "14.12": { + "name": "14.12", + "date": "2024-08-08" + }, + "13.15": { + "name": "13.15", + "date": "2024-08-08" + }, + "12.19": { + "name": "12.19", + "date": "2024-08-08" + }, + "16.2": { + "name": "16.2", + "date": "2024-04-29" + }, + "15.6": { + "name": "15.6", + "date": "2024-04-29" + }, + "14.11": { + "name": "14.11", + "date": "2024-04-29" + }, + "13.14": { + "name": "13.14", + "date": "2024-04-29" + }, + "12.18": { + "name": "12.18", + "date": "2024-04-29" + }, + "16.1": { + "name": "16.1", + "date": "2024-01-31" + }, + "15.5": { + "name": "15.5", + "date": "2023-12-14" + }, + "14.10": { + "name": "14.10", + "date": "2023-12-14" + }, + "13.13": { + "name": "13.13", + "date": "2023-12-14" + }, + "12.17": { + "name": "12.17", + "date": "2023-12-14" + }, + "14.5": { + "name": "14.5", + "date": "2023-09-08" + }, + "15.4": { + "name": "15.4", + "date": "2023-09-07" + }, + "14.9": { + "name": "14.9", + "date": "2023-09-07" + }, + "13.12": { + "name": "13.12", + "date": "2023-09-07" + }, + "12.16": { + "name": "12.16", + "date": "2023-09-07" + }, + "11.21": { + "name": "11.21", + "date": "2023-09-07" + }, + "15.3": { + "name": "15.3", + "date": "2023-06-21" + }, + "14.8": { + "name": "14.8", + "date": "2023-06-21" + }, + "13.11": { + "name": "13.11", + "date": "2023-06-21" + }, + "12.15": { + "name": "12.15", + "date": "2023-06-21" + }, + "15.2": { + "name": "15.2", + "date": "2023-03-09" + }, + "14.7": { + "name": "14.7", + "date": "2023-03-09" + }, + "13.10": { + "name": "13.10", + "date": "2023-03-09" + }, + "12.14": { + "name": "12.14", + "date": "2023-03-09" + }, + "14.6": { + "name": "14.6", + "date": "2023-01-23" + }, + "13.9": { + "name": "13.9", + "date": "2023-01-23" + }, + "12.13": { + "name": "12.13", + "date": "2023-01-23" + }, + "13.8": { + "name": "13.8", + "date": "2022-09-08" + }, + "12.12": { + "name": "12.12", + "date": "2022-09-08" + }, + "14.4": { + "name": "14.4", + "date": "2022-06-22" + }, + "14.3": { + "name": "14.3", + "date": "2022-06-22" + }, + "13.7": { + "name": "13.7", + "date": "2022-06-09" + }, + "12.11": { + "name": "12.11", + "date": "2022-06-09" + }, + "12.9": { + "name": "12.9", + "date": "2022-02-25" + }, + "13": { + "name": "13", + "date": "2021-08-26" + }, + "4": { + "name": "4", + "date": "2020-12-23" + }, + "11.9": { + "name": "11.9", + "date": "2020-12-11" + }, + "3": { + "name": "3", + "date": "2019-11-26" + } + } +} \ No newline at end of file diff --git a/releases/aws-eks.json b/releases/aws-eks.json new file mode 100644 index 000000000..e4509d225 --- /dev/null +++ b/releases/aws-eks.json @@ -0,0 +1,915 @@ +{ + "releases": { + "1.32": { + "name": "1.32", + "eoas": "2026-03-23", + "eoes": "2027-03-23" + }, + "1.31": { + "name": "1.31", + "eoas": "2025-11-26", + "eoes": "2026-11-26" + }, + "1.30": { + "name": "1.30", + "eoas": "2025-07-23", + "eoes": "2026-07-23" + }, + "1.29": { + "name": "1.29", + "eoas": "2025-03-23", + "eoes": "2026-03-23" + }, + "1.28": { + "name": "1.28", + "eoas": "2024-11-26", + "eoes": "2025-11-26" + }, + "1.27": { + "name": "1.27", + "eoas": "2024-07-24", + "eoes": "2025-07-24" + }, + "1.26": { + "name": "1.26", + "eoas": "2024-06-11", + "eoes": "2025-06-11" + }, + "1.25": { + "name": "1.25", + "eoas": "2024-05-01", + "eoes": "2025-05-01" + }, + "1.24": { + "name": "1.24", + "eoas": "2024-01-31", + "eoes": "2025-01-31" + } + }, + "versions": { + "1.32.0-eks.2": { + "name": "1.32.0-eks.2", + "date": "2025-01-31" + }, + "1.32": { + "name": "1.32", + "date": "2025-01-23" + }, + "1.31.4-eks.17": { + "name": "1.31.4-eks.17", + "date": "2025-01-17" + }, + "1.30.8-eks.25": { + "name": "1.30.8-eks.25", + "date": "2025-01-17" + }, + "1.29.12-eks.28": { + "name": "1.29.12-eks.28", + "date": "2025-01-17" + }, + "1.28.15-eks.34": { + "name": "1.28.15-eks.34", + "date": "2025-01-17" + }, + "1.27.16-eks.38": { + "name": "1.27.16-eks.38", + "date": "2025-01-17" + }, + "1.26.15-eks.40": { + "name": "1.26.15-eks.40", + "date": "2025-01-17" + }, + "1.25.16-eks.40": { + "name": "1.25.16-eks.40", + "date": "2025-01-17" + }, + "1.24.17-eks.44": { + "name": "1.24.17-eks.44", + "date": "2025-01-17" + }, + "1.31.2-eks.12": { + "name": "1.31.2-eks.12", + "date": "2024-11-15" + }, + "1.30.6-eks.20": { + "name": "1.30.6-eks.20", + "date": "2024-11-15" + }, + "1.29.10-eks.23": { + "name": "1.29.10-eks.23", + "date": "2024-11-15" + }, + "1.28.15-eks.29": { + "name": "1.28.15-eks.29", + "date": "2024-11-15" + }, + "1.27.16-eks.33": { + "name": "1.27.16-eks.33", + "date": "2024-11-15" + }, + "1.26.15-eks.35": { + "name": "1.26.15-eks.35", + "date": "2024-11-15" + }, + "1.25.16-eks.35": { + "name": "1.25.16-eks.35", + "date": "2024-11-15" + }, + "1.24.17-eks.39": { + "name": "1.24.17-eks.39", + "date": "2024-11-15" + }, + "1.31.1-eks.6": { + "name": "1.31.1-eks.6", + "date": "2024-10-21" + }, + "1.30.5-eks.12": { + "name": "1.30.5-eks.12", + "date": "2024-10-21" + }, + "1.29.9-eks.17": { + "name": "1.29.9-eks.17", + "date": "2024-10-21" + }, + "1.28.14-eks.23": { + "name": "1.28.14-eks.23", + "date": "2024-10-21" + }, + "1.27.16-eks.27": { + "name": "1.27.16-eks.27", + "date": "2024-10-21" + }, + "1.26.15-eks.28": { + "name": "1.26.15-eks.28", + "date": "2024-10-21" + }, + "1.25.16-eks.29": { + "name": "1.25.16-eks.29", + "date": "2024-10-21" + }, + "1.24.17-eks.32": { + "name": "1.24.17-eks.32", + "date": "2024-10-21" + }, + "1.31.0-eks.4": { + "name": "1.31.0-eks.4", + "date": "2024-09-26" + }, + "1.31": { + "name": "1.31", + "date": "2024-09-26" + }, + "1.30.4-eks.8": { + "name": "1.30.4-eks.8", + "date": "2024-09-03" + }, + "1.29.8-eks.13": { + "name": "1.29.8-eks.13", + "date": "2024-09-03" + }, + "1.28.13-eks.19": { + "name": "1.28.13-eks.19", + "date": "2024-09-03" + }, + "1.27.16-eks.23": { + "name": "1.27.16-eks.23", + "date": "2024-09-03" + }, + "1.26.15-eks.24": { + "name": "1.26.15-eks.24", + "date": "2024-09-03" + }, + "1.25.16-eks.25": { + "name": "1.25.16-eks.25", + "date": "2024-09-03" + }, + "1.24.17-eks.28": { + "name": "1.24.17-eks.28", + "date": "2024-09-03" + }, + "1.30.3-eks.7": { + "name": "1.30.3-eks.7", + "date": "2024-08-28" + }, + "1.29.7-eks.12": { + "name": "1.29.7-eks.12", + "date": "2024-08-28" + }, + "1.28.12-eks.18": { + "name": "1.28.12-eks.18", + "date": "2024-08-28" + }, + "1.27.16-eks.22": { + "name": "1.27.16-eks.22", + "date": "2024-08-28" + }, + "1.26.15-eks.23": { + "name": "1.26.15-eks.23", + "date": "2024-08-28" + }, + "1.25.16-eks.24": { + "name": "1.25.16-eks.24", + "date": "2024-08-28" + }, + "1.24.17-eks.27": { + "name": "1.24.17-eks.27", + "date": "2024-08-28" + }, + "1.30.3-eks.6": { + "name": "1.30.3-eks.6", + "date": "2024-08-09" + }, + "1.29.7-eks.11": { + "name": "1.29.7-eks.11", + "date": "2024-08-09" + }, + "1.28.11-eks.17": { + "name": "1.28.11-eks.17", + "date": "2024-08-09" + }, + "1.27.16-eks.21": { + "name": "1.27.16-eks.21", + "date": "2024-08-09" + }, + "1.26.15-eks.22": { + "name": "1.26.15-eks.22", + "date": "2024-08-09" + }, + "1.25.16-eks.23": { + "name": "1.25.16-eks.23", + "date": "2024-08-09" + }, + "1.24.17-eks.26": { + "name": "1.24.17-eks.26", + "date": "2024-08-09" + }, + "1.30.2-eks.5": { + "name": "1.30.2-eks.5", + "date": "2024-07-02" + }, + "1.29.6-eks.10": { + "name": "1.29.6-eks.10", + "date": "2024-07-02" + }, + "1.28.11-eks.16": { + "name": "1.28.11-eks.16", + "date": "2024-07-02" + }, + "1.27.15-eks.20": { + "name": "1.27.15-eks.20", + "date": "2024-07-02" + }, + "1.26.15-eks.21": { + "name": "1.26.15-eks.21", + "date": "2024-07-02" + }, + "1.25.16-eks.22": { + "name": "1.25.16-eks.22", + "date": "2024-07-02" + }, + "1.24.17-eks.25": { + "name": "1.24.17-eks.25", + "date": "2024-07-02" + }, + "1.30.0-eks.2": { + "name": "1.30.0-eks.2", + "date": "2024-05-23" + }, + "1.30": { + "name": "1.30", + "date": "2024-05-23" + }, + "1.29.4-eks.7": { + "name": "1.29.4-eks.7", + "date": "2024-05-16" + }, + "1.28.9-eks.13": { + "name": "1.28.9-eks.13", + "date": "2024-05-16" + }, + "1.27.13-eks.17": { + "name": "1.27.13-eks.17", + "date": "2024-05-16" + }, + "1.26.15-eks.18": { + "name": "1.26.15-eks.18", + "date": "2024-05-16" + }, + "1.25.16-eks.19": { + "name": "1.25.16-eks.19", + "date": "2024-05-16" + }, + "1.24.17-eks.22": { + "name": "1.24.17-eks.22", + "date": "2024-05-16" + }, + "1.29.3-eks.6": { + "name": "1.29.3-eks.6", + "date": "2024-04-18" + }, + "1.28.8-eks.12": { + "name": "1.28.8-eks.12", + "date": "2024-04-18" + }, + "1.27.12-eks.16": { + "name": "1.27.12-eks.16", + "date": "2024-04-18" + }, + "1.26.15-eks.17": { + "name": "1.26.15-eks.17", + "date": "2024-04-18" + }, + "1.25.16-eks.18": { + "name": "1.25.16-eks.18", + "date": "2024-04-18" + }, + "1.24.17-eks.21": { + "name": "1.24.17-eks.21", + "date": "2024-04-18" + }, + "1.29.1-eks.5": { + "name": "1.29.1-eks.5", + "date": "2024-03-29" + }, + "1.28.7-eks.11": { + "name": "1.28.7-eks.11", + "date": "2024-03-29" + }, + "1.27.11-eks.15": { + "name": "1.27.11-eks.15", + "date": "2024-03-29" + }, + "1.26.14-eks.16": { + "name": "1.26.14-eks.16", + "date": "2024-03-29" + }, + "1.25.16-eks.17": { + "name": "1.25.16-eks.17", + "date": "2024-03-29" + }, + "1.24.17-eks.20": { + "name": "1.24.17-eks.20", + "date": "2024-03-29" + }, + "1.29.1-eks.4": { + "name": "1.29.1-eks.4", + "date": "2024-03-20" + }, + "1.28.7-eks.10": { + "name": "1.28.7-eks.10", + "date": "2024-03-20" + }, + "1.27.11-eks.14": { + "name": "1.27.11-eks.14", + "date": "2024-03-20" + }, + "1.26.14-eks.15": { + "name": "1.26.14-eks.15", + "date": "2024-03-20" + }, + "1.25.16-eks.16": { + "name": "1.25.16-eks.16", + "date": "2024-03-20" + }, + "1.24.17-eks.19": { + "name": "1.24.17-eks.19", + "date": "2024-03-20" + }, + "1.29.1-eks.3": { + "name": "1.29.1-eks.3", + "date": "2024-03-12" + }, + "1.28.6-eks.9": { + "name": "1.28.6-eks.9", + "date": "2024-03-12" + }, + "1.27.10-eks.13": { + "name": "1.27.10-eks.13", + "date": "2024-03-12" + }, + "1.26.13-eks.14": { + "name": "1.26.13-eks.14", + "date": "2024-03-12" + }, + "1.25.16-eks.15": { + "name": "1.25.16-eks.15", + "date": "2024-03-12" + }, + "1.24.17-eks.18": { + "name": "1.24.17-eks.18", + "date": "2024-03-12" + }, + "1.29.0-eks.1": { + "name": "1.29.0-eks.1", + "date": "2024-01-23" + }, + "1.29": { + "name": "1.29", + "date": "2024-01-23" + }, + "1.28.5-eks.7": { + "name": "1.28.5-eks.7", + "date": "2024-01-17" + }, + "1.27.9-eks.11": { + "name": "1.27.9-eks.11", + "date": "2024-01-17" + }, + "1.26.12-eks.12": { + "name": "1.26.12-eks.12", + "date": "2024-01-17" + }, + "1.25.16-eks.13": { + "name": "1.25.16-eks.13", + "date": "2024-01-17" + }, + "1.24.17-eks.16": { + "name": "1.24.17-eks.16", + "date": "2024-01-17" + }, + "1.28.4-eks.6": { + "name": "1.28.4-eks.6", + "date": "2023-12-14" + }, + "1.27.8-eks.10": { + "name": "1.27.8-eks.10", + "date": "2023-12-14" + }, + "1.26.11-eks.11": { + "name": "1.26.11-eks.11", + "date": "2023-12-14" + }, + "1.25.16-eks.12": { + "name": "1.25.16-eks.12", + "date": "2023-12-14" + }, + "1.24.17-eks.15": { + "name": "1.24.17-eks.15", + "date": "2023-12-14" + }, + "1.28.4-eks.5": { + "name": "1.28.4-eks.5", + "date": "2023-12-12" + }, + "1.27.8-eks.9": { + "name": "1.27.8-eks.9", + "date": "2023-12-12" + }, + "1.26.11-eks.10": { + "name": "1.26.11-eks.10", + "date": "2023-12-12" + }, + "1.25.16-eks.11": { + "name": "1.25.16-eks.11", + "date": "2023-12-12" + }, + "1.24.17-eks.14": { + "name": "1.24.17-eks.14", + "date": "2023-12-12" + }, + "1.28.3-eks.4": { + "name": "1.28.3-eks.4", + "date": "2023-11-10" + }, + "1.27.7-eks.8": { + "name": "1.27.7-eks.8", + "date": "2023-11-10" + }, + "1.26.10-eks.9": { + "name": "1.26.10-eks.9", + "date": "2023-11-10" + }, + "1.25.15-eks.10": { + "name": "1.25.15-eks.10", + "date": "2023-11-10" + }, + "1.24.17-eks.13": { + "name": "1.24.17-eks.13", + "date": "2023-11-10" + }, + "1.28.3-eks.3": { + "name": "1.28.3-eks.3", + "date": "2023-11-03" + }, + "1.27.7-eks.7": { + "name": "1.27.7-eks.7", + "date": "2023-11-03" + }, + "1.26.10-eks.8": { + "name": "1.26.10-eks.8", + "date": "2023-11-03" + }, + "1.25.15-eks.9": { + "name": "1.25.15-eks.9", + "date": "2023-11-03" + }, + "1.24.17-eks.12": { + "name": "1.24.17-eks.12", + "date": "2023-11-03" + }, + "1.28.2-eks.2": { + "name": "1.28.2-eks.2", + "date": "2023-10-16" + }, + "1.27.6-eks.6": { + "name": "1.27.6-eks.6", + "date": "2023-10-16" + }, + "1.26.9-eks.7": { + "name": "1.26.9-eks.7", + "date": "2023-10-16" + }, + "1.25.14-eks.8": { + "name": "1.25.14-eks.8", + "date": "2023-10-16" + }, + "1.24.17-eks.11": { + "name": "1.24.17-eks.11", + "date": "2023-10-16" + }, + "1.28.1-eks.1": { + "name": "1.28.1-eks.1", + "date": "2023-09-26" + }, + "1.28": { + "name": "1.28", + "date": "2023-09-26" + }, + "1.27.4-eks.5": { + "name": "1.27.4-eks.5", + "date": "2023-08-30" + }, + "1.26.7-eks.6": { + "name": "1.26.7-eks.6", + "date": "2023-08-30" + }, + "1.25.12-eks.7": { + "name": "1.25.12-eks.7", + "date": "2023-08-30" + }, + "1.24.16-eks.10": { + "name": "1.24.16-eks.10", + "date": "2023-08-30" + }, + "1.27.4-eks.4": { + "name": "1.27.4-eks.4", + "date": "2023-07-30" + }, + "1.26.7-eks.5": { + "name": "1.26.7-eks.5", + "date": "2023-07-30" + }, + "1.25.12-eks.6": { + "name": "1.25.12-eks.6", + "date": "2023-07-30" + }, + "1.24.16-eks.9": { + "name": "1.24.16-eks.9", + "date": "2023-07-30" + }, + "1.27.3-eks.3": { + "name": "1.27.3-eks.3", + "date": "2023-06-30" + }, + "1.26.6-eks.4": { + "name": "1.26.6-eks.4", + "date": "2023-06-30" + }, + "1.25.11-eks.5": { + "name": "1.25.11-eks.5", + "date": "2023-06-30" + }, + "1.24.15-eks.8": { + "name": "1.24.15-eks.8", + "date": "2023-06-30" + }, + "1.27.2-eks.2": { + "name": "1.27.2-eks.2", + "date": "2023-06-09" + }, + "1.26.5-eks.3": { + "name": "1.26.5-eks.3", + "date": "2023-06-09" + }, + "1.25.10-eks.4": { + "name": "1.25.10-eks.4", + "date": "2023-06-09" + }, + "1.24.14-eks.7": { + "name": "1.24.14-eks.7", + "date": "2023-06-09" + }, + "1.27.1-eks.1": { + "name": "1.27.1-eks.1", + "date": "2023-05-24" + }, + "1.27": { + "name": "1.27", + "date": "2023-05-24" + }, + "1.26.4-eks.2": { + "name": "1.26.4-eks.2", + "date": "2023-05-05" + }, + "1.25.9-eks.3": { + "name": "1.25.9-eks.3", + "date": "2023-05-05" + }, + "1.24.13-eks.6": { + "name": "1.24.13-eks.6", + "date": "2023-05-05" + }, + "1.23.17-eks.8": { + "name": "1.23.17-eks.8", + "date": "2023-05-05" + }, + "1.22.17-eks.12": { + "name": "1.22.17-eks.12", + "date": "2023-05-05" + }, + "1.21.14-eks.17": { + "name": "1.21.14-eks.17", + "date": "2023-05-05" + }, + "1.20.15-eks.14": { + "name": "1.20.15-eks.14", + "date": "2023-05-05" + }, + "1.26.2-eks.1": { + "name": "1.26.2-eks.1", + "date": "2023-04-11" + }, + "1.26": { + "name": "1.26", + "date": "2023-04-11" + }, + "1.25.8-eks.2": { + "name": "1.25.8-eks.2", + "date": "2023-03-24" + }, + "1.24.12-eks.5": { + "name": "1.24.12-eks.5", + "date": "2023-03-24" + }, + "1.23.17-eks.7": { + "name": "1.23.17-eks.7", + "date": "2023-03-24" + }, + "1.22.17-eks.11": { + "name": "1.22.17-eks.11", + "date": "2023-03-24" + }, + "1.21.14-eks.16": { + "name": "1.21.14-eks.16", + "date": "2023-03-24" + }, + "1.25": { + "name": "1.25", + "date": "2023-02-22" + }, + "1.25.6-eks.1": { + "name": "1.25.6-eks.1", + "date": "2023-02-21" + }, + "1.24.8-eks.4": { + "name": "1.24.8-eks.4", + "date": "2023-01-27" + }, + "1.23.14-eks.6": { + "name": "1.23.14-eks.6", + "date": "2023-01-27" + }, + "1.22.16-eks.10": { + "name": "1.22.16-eks.10", + "date": "2023-01-27" + }, + "1.21.14-eks.15": { + "name": "1.21.14-eks.15", + "date": "2023-01-27" + }, + "1.24.7-eks.3": { + "name": "1.24.7-eks.3", + "date": "2022-12-05" + }, + "1.23.13-eks.5": { + "name": "1.23.13-eks.5", + "date": "2022-12-05" + }, + "1.22.15-eks.9": { + "name": "1.22.15-eks.9", + "date": "2022-12-05" + }, + "1.21.14-eks.14": { + "name": "1.21.14-eks.14", + "date": "2022-12-05" + }, + "1.20.15-eks.12": { + "name": "1.20.15-eks.12", + "date": "2022-12-05" + }, + "1.24.7-eks.2": { + "name": "1.24.7-eks.2", + "date": "2022-11-18" + }, + "1.23.13-eks.4": { + "name": "1.23.13-eks.4", + "date": "2022-11-18" + }, + "1.22.15-eks.8": { + "name": "1.22.15-eks.8", + "date": "2022-11-18" + }, + "1.21.14-eks.13": { + "name": "1.21.14-eks.13", + "date": "2022-11-18" + }, + "1.20.15-eks.11": { + "name": "1.20.15-eks.11", + "date": "2022-11-18" + }, + "1.24.7-eks.1": { + "name": "1.24.7-eks.1", + "date": "2022-11-15" + }, + "1.24": { + "name": "1.24", + "date": "2022-11-15" + }, + "1.23.12-eks.3": { + "name": "1.23.12-eks.3", + "date": "2022-11-07" + }, + "1.22.15-eks.7": { + "name": "1.22.15-eks.7", + "date": "2022-11-07" + }, + "1.21.14-eks.12": { + "name": "1.21.14-eks.12", + "date": "2022-11-07" + }, + "1.20.15-eks.10": { + "name": "1.20.15-eks.10", + "date": "2022-11-07" + }, + "1.21.13-eks.11": { + "name": "1.21.13-eks.11", + "date": "2022-10-10" + }, + "1.23.10-eks.2": { + "name": "1.23.10-eks.2", + "date": "2022-09-21" + }, + "1.22.13-eks.6": { + "name": "1.22.13-eks.6", + "date": "2022-09-21" + }, + "1.20.15-eks.9": { + "name": "1.20.15-eks.9", + "date": "2022-09-21" + }, + "1.22.10-eks.5": { + "name": "1.22.10-eks.5", + "date": "2022-08-15" + }, + "1.21.13-eks.10": { + "name": "1.21.13-eks.10", + "date": "2022-08-15" + }, + "1.20.15-eks.8": { + "name": "1.20.15-eks.8", + "date": "2022-08-15" + }, + "1.19.16-eks.11": { + "name": "1.19.16-eks.11", + "date": "2022-08-15" + }, + "1.23.7-eks.1": { + "name": "1.23.7-eks.1", + "date": "2022-08-11" + }, + "1.22.10-eks.4": { + "name": "1.22.10-eks.4", + "date": "2022-07-21" + }, + "1.21.13-eks.9": { + "name": "1.21.13-eks.9", + "date": "2022-07-21" + }, + "1.20.15-eks.7": { + "name": "1.20.15-eks.7", + "date": "2022-07-21" + }, + "1.22.10-eks.3": { + "name": "1.22.10-eks.3", + "date": "2022-07-07" + }, + "1.21.13-eks.8": { + "name": "1.21.13-eks.8", + "date": "2022-07-07" + }, + "1.22.9-eks.2": { + "name": "1.22.9-eks.2", + "date": "2022-05-31" + }, + "1.21.12-eks.7": { + "name": "1.21.12-eks.7", + "date": "2022-05-31" + }, + "1.20.15-eks.6": { + "name": "1.20.15-eks.6", + "date": "2022-05-31" + }, + "1.19.16-eks.10": { + "name": "1.19.16-eks.10", + "date": "2022-05-31" + }, + "1.21.9-eks.6": { + "name": "1.21.9-eks.6", + "date": "2022-04-08" + }, + "1.20.15-eks.5": { + "name": "1.20.15-eks.5", + "date": "2022-04-08" + }, + "1.19.16-eks.9": { + "name": "1.19.16-eks.9", + "date": "2022-04-08" + }, + "1.22.6-eks.1": { + "name": "1.22.6-eks.1", + "date": "2022-04-04" + }, + "1.20.15-eks.13": { + "name": "1.20.15-eks.13", + "date": "2022-03-24" + }, + "1.21.5-eks.5": { + "name": "1.21.5-eks.5", + "date": "2022-03-10" + }, + "1.20.11-eks.4": { + "name": "1.20.11-eks.4", + "date": "2022-03-10" + }, + "1.19.15-eks.8": { + "name": "1.19.15-eks.8", + "date": "2022-03-10" + }, + "1.21.5-eks.4": { + "name": "1.21.5-eks.4", + "date": "2021-12-13" + }, + "1.21.2-eks.3": { + "name": "1.21.2-eks.3", + "date": "2021-11-08" + }, + "1.20.11-eks.3": { + "name": "1.20.11-eks.3", + "date": "2021-11-08" + }, + "1.19.15-eks.7": { + "name": "1.19.15-eks.7", + "date": "2021-11-08" + }, + "1.21.2-eks.2": { + "name": "1.21.2-eks.2", + "date": "2021-09-17" + }, + "1.19.8-eks.6": { + "name": "1.19.8-eks.6", + "date": "2021-09-17" + }, + "1.20.7-eks.2": { + "name": "1.20.7-eks.2", + "date": "2021-07-30" + }, + "1.21.2-eks.1": { + "name": "1.21.2-eks.1", + "date": "2021-07-19" + }, + "1.19.8-eks.5": { + "name": "1.19.8-eks.5", + "date": "2021-06-01" + }, + "1.20.4-eks.1": { + "name": "1.20.4-eks.1", + "date": "2021-05-18" + }, + "1.19.8-eks.4": { + "name": "1.19.8-eks.4", + "date": "2021-05-04" + }, + "1.19.8-eks.3": { + "name": "1.19.8-eks.3", + "date": "2021-04-14" + }, + "1.19.6-eks.2": { + "name": "1.19.6-eks.2", + "date": "2021-03-23" + }, + "1.19.6-eks.1": { + "name": "1.19.6-eks.1", + "date": "2021-02-16" + } + } +} \ No newline at end of file diff --git a/releases/aws-kafka.json b/releases/aws-kafka.json new file mode 100644 index 000000000..0fb2e38d2 --- /dev/null +++ b/releases/aws-kafka.json @@ -0,0 +1,182 @@ +{ + "releases": { + "3.4.0": { + "name": "3.4.0", + "eoas": "2025-06-17" + }, + "3.3.2": { + "name": "3.3.2", + "eoas": "2024-09-11" + }, + "3.3.1": { + "name": "3.3.1", + "eoas": "2024-09-11" + }, + "3.2.0": { + "name": "3.2.0", + "eoas": "2024-09-11" + }, + "3.1.1": { + "name": "3.1.1", + "eoas": "2024-09-11" + }, + "2.8.2": { + "name": "2.8.2", + "eoas": "2025-01-14" + }, + "2.8.1": { + "name": "2.8.1", + "eoas": "2024-09-11" + }, + "2.8.0": { + "name": "2.8.0", + "eoas": "2024-09-11" + }, + "2.7.2": { + "name": "2.7.2", + "eoas": "2024-09-11" + }, + "2.7.1": { + "name": "2.7.1", + "eoas": "2024-09-11" + }, + "2.7.0": { + "name": "2.7.0", + "eoas": "2024-09-11" + }, + "2.6.3": { + "name": "2.6.3", + "eoas": "2024-09-11" + }, + "2.6.2": { + "name": "2.6.2", + "eoas": "2024-09-11" + }, + "2.6.1": { + "name": "2.6.1", + "eoas": "2024-09-11" + }, + "2.6.0": { + "name": "2.6.0", + "eoas": "2024-09-11" + }, + "2.5.1": { + "name": "2.5.1", + "eoas": "2024-06-08" + }, + "2.4.1.1": { + "name": "2.4.1.1", + "eoas": "2024-06-08" + }, + "2.4.1": { + "name": "2.4.1", + "eoas": "2024-06-08" + }, + "2.3.1": { + "name": "2.3.1", + "eoas": "2024-06-08" + }, + "2.2.1": { + "name": "2.2.1", + "eoas": "2024-06-08" + }, + "2.1.0": { + "name": "2.1.0", + "eoas": "2024-06-05" + }, + "1.1.1": { + "name": "1.1.1", + "eoas": "2024-06-05" + } + }, + "versions": { + "3.7": { + "name": "3.7", + "date": "2024-05-29" + }, + "3.6.0": { + "name": "3.6.0", + "date": "2023-11-16" + }, + "3.5.1": { + "name": "3.5.1", + "date": "2023-09-26" + }, + "3.4.0": { + "name": "3.4.0", + "date": "2023-05-04" + }, + "3.3.2": { + "name": "3.3.2", + "date": "2023-03-02" + }, + "2.8.2": { + "name": "2.8.2", + "date": "2022-10-28" + }, + "2.8.1": { + "name": "2.8.1", + "date": "2022-10-28" + }, + "3.3.1": { + "name": "3.3.1", + "date": "2022-10-26" + }, + "3.2.0": { + "name": "3.2.0", + "date": "2022-06-22" + }, + "3.1.1": { + "name": "3.1.1", + "date": "2022-06-22" + }, + "2.7.2": { + "name": "2.7.2", + "date": "2021-12-21" + }, + "2.6.3": { + "name": "2.6.3", + "date": "2021-12-21" + }, + "2.7.1": { + "name": "2.7.1", + "date": "2021-05-25" + }, + "2.6.2": { + "name": "2.6.2", + "date": "2021-04-29" + }, + "2.6.1": { + "name": "2.6.1", + "date": "2021-01-19" + }, + "2.7.0": { + "name": "2.7.0", + "date": "2020-12-29" + }, + "2.6.0": { + "name": "2.6.0", + "date": "2020-10-21" + }, + "2.5.1": { + "name": "2.5.1", + "date": "2020-09-30" + }, + "2.4.1.1": { + "name": "2.4.1.1", + "date": "2020-09-09" + }, + "2.4.1": { + "name": "2.4.1", + "date": "2020-04-02" + }, + "2.3.1": { + "name": "2.3.1", + "date": "2019-12-19" + }, + "2.2.1": { + "name": "2.2.1", + "date": "2019-07-31" + } + } +} \ No newline at end of file diff --git a/src/aws-aurora.py b/src/aws-aurora.py new file mode 100644 index 000000000..7f8a07d0a --- /dev/null +++ b/src/aws-aurora.py @@ -0,0 +1,100 @@ +import re + +from bs4 import BeautifulSoup +from common import dates, http, releasedata + +"""Fetches Amazon Aurora versions from the version management pages on AWS docs.""" + +PRODUCTS = { + "aws-aurora-mysql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html"], + "aws-aurora-postgresql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/aurorapostgresql-release-calendar.html"], +} + +VERSION_REGEX = re.compile(r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) +FULL_DATE_REGEX = re.compile( + r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) + + +def convertDate(date_text: str, default_day=1) -> dates.date: + try: + date = dates.parse_date(date_text) + except ValueError: + date = dates.parse_month_year_date( + date_text) + date = date.replace(day=default_day) + return date + +def containsOneOf(text: str, substrings: list[str]) -> bool: + for substring in substrings: + if substring in text: + return True + return False + +for product_name, urls in PRODUCTS.items(): + with releasedata.ProductData(product_name) as product_data: + for url in urls: + response = http.fetch_url(url) + soup = BeautifulSoup(response.text, features="html5lib") + + for table in soup.find_all("table"): + index = 0 + version_column = None + release_date_column = None + eoas_date_column = None + eoes_date_column = None + + for row in table.find_all("th"): + if containsOneOf(row.text, ["Aurora major version","Aurora MySQL version","PostgreSQL major version","PostgreSQL minor engine version"]): + version_column = index + if containsOneOf(row.text, ["Aurora release date", "Aurora MySQL release date"]): + release_date_column = index + if containsOneOf(row.text, ["Aurora end of standard support date", "Aurora MySQL end of standard support date"]): + eoas_date_column = index + if containsOneOf(row.text, ["End of RDS Extended Support date", "RDS end of Extended Support date"]): + eoes_date_column = index + index += 1 + + for row in table.find_all("tr"): + columns = row.find_all("td") + if len(columns) < 3: + continue + + release_added = False + version_match = VERSION_REGEX.search( + columns[version_column].text.strip()) + if version_match: + version = version_match.group("version") + releases = product_data.get_release(version) + + if release_date_column is not None: + release_text = columns[release_date_column].text + try: + release_date = convertDate(release_text, 31) + product_data.declare_version( + version, release_date) + except ValueError: + print( + f"Failed to parse release date \"{release_text}\" for {product_name} {version}") + + if eoas_date_column is not None: + eoas_text = columns[eoas_date_column].text + try: + eoas_date = convertDate(eoas_text) + releases.set_eoas(eoas_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoas date \"{eoas_text}\" for {product_name} {version}") + + if eoes_date_column is not None: + eoes_text = columns[eoes_date_column].text + try: + eoes_date = convertDate(eoes_text) + releases.set_eoes(eoes_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoes date \"{eoes_text}\" for {product_name} {version}") + + if not release_added: + product_data.remove_release(version) diff --git a/src/aws-eks.py b/src/aws-eks.py new file mode 100644 index 000000000..097fc013c --- /dev/null +++ b/src/aws-eks.py @@ -0,0 +1,114 @@ +import re + +from bs4 import BeautifulSoup +from common import dates, http, releasedata + +"""Fetches Amazon EKS versions from the version management pages on AWS docs.""" + +PRODUCTS = { + "aws-eks": [ + "https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html", + "https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", + # 1.19.eks.1 + "https://web.archive.org/web/20221007150452/https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", + # + 1.20 + "https://web.archive.org/web/20230521061347/https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", + ] +} + +VERSION_REGEX = re.compile(r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) +FULL_DATE_REGEX = re.compile( + r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) + + +def convertDate(date_text: str, default_day=1) -> dates.date: + try: + date = dates.parse_date(date_text) + except ValueError: + date = dates.parse_month_year_date( + date_text) + date = date.replace(day=default_day) + return date + +def containsOneOf(text: str, substrings: list[str]) -> bool: + for substring in substrings: + if substring in text: + return True + return False + +for product_name, urls in PRODUCTS.items(): + with releasedata.ProductData(product_name) as product_data: + for url in urls: + response = http.fetch_url(url) + soup = BeautifulSoup(response.text, features="html5lib") + + for table in soup.find_all("table"): + index = 0 + version_column = None + platform_version_column = None + release_date_column = None + eoas_date_column = None + eoes_date_column = None + + for row in table.find_all("th"): + if containsOneOf(row.text, ["Kubernetes version"]): + version_column = index + if containsOneOf(row.text, ["EKS platform version", "Amazon EKS platform version"]): + platform_version_column = index + if containsOneOf(row.text, ["Amazon EKS release", "Release date"]): + release_date_column = index + if containsOneOf(row.text, ["End of standard support"]): + eoas_date_column = index + if containsOneOf(row.text, ["End of extended support"]): + eoes_date_column = index + index += 1 + + for row in table.find_all("tr"): + columns = row.find_all("td") + if len(columns) < 3: + continue + + release_added = False + version_match = VERSION_REGEX.search( + columns[version_column].text.strip()) + if version_match: + version = version_match.group("version") + if platform_version_column is not None: + platform_version = columns[platform_version_column].text.strip( + ) + version += "-"+platform_version + + releases = product_data.get_release(version) + + if release_date_column is not None: + release_text = columns[release_date_column].text + try: + release_date = convertDate(release_text, 31) + product_data.declare_version( + version, release_date) + except ValueError: + print( + f"Failed to parse release date \"{release_text}\" for {product_name} {version}") + + if eoas_date_column is not None: + eoas_text = columns[eoas_date_column].text + try: + eoas_date = convertDate(eoas_text) + releases.set_eoas(eoas_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoas date \"{eoas_text}\" for {product_name} {version}") + + if eoes_date_column is not None: + eoes_text = columns[eoes_date_column].text + try: + eoes_date = convertDate(eoes_text) + releases.set_eoes(eoes_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoes date \"{eoes_text}\" for {product_name} {version}") + + if not release_added: + product_data.remove_release(version) diff --git a/src/aws-kafka.py b/src/aws-kafka.py new file mode 100644 index 000000000..df6bca2b0 --- /dev/null +++ b/src/aws-kafka.py @@ -0,0 +1,102 @@ +import re + +from bs4 import BeautifulSoup +from common import dates, http, releasedata + +"""Fetches Amazon EKS versions from the version management pages on AWS docs.""" + +PRODUCTS = { + "aws-kafka": [ + "https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html", + ] +} + +VERSION_REGEX = re.compile(r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) +FULL_DATE_REGEX = re.compile( + r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) + + +def convertDate(date_text: str, default_day=1) -> dates.date: + try: + date = dates.parse_date(date_text) + except ValueError: + date = dates.parse_month_year_date( + date_text) + date = date.replace(day=default_day) + return date + +def containsOneOf(text: str, substrings: list[str]) -> bool: + for substring in substrings: + if substring in text: + return True + return False + +for product_name, urls in PRODUCTS.items(): + with releasedata.ProductData(product_name) as product_data: + for url in urls: + response = http.fetch_url(url) + soup = BeautifulSoup(response.text, features="html5lib") + + for table in soup.find_all("table"): + index = 0 + version_column = None + release_date_column = None + eoas_date_column = None + eoes_date_column = None + + for row in table.find_all("th"): + if containsOneOf(row.text, ["Apache Kafka version"]): + version_column = index + if containsOneOf(row.text, ["MSK release date"]): + release_date_column = index + if containsOneOf(row.text, ["End of support date"]): + eoas_date_column = index + if containsOneOf(row.text, ["End of extended support"]): + eoes_date_column = index + index += 1 + + for row in table.find_all("tr"): + columns = row.find_all("td") + if len(columns) < 3: + continue + + release_added = False + version_match = VERSION_REGEX.search( + columns[version_column].text.strip()) + if version_match: + version = version_match.group("version") + + releases = product_data.get_release(version) + + if release_date_column is not None: + release_text = columns[release_date_column].text + try: + release_date = convertDate(release_text, 31) + product_data.declare_version( + version, release_date) + except ValueError: + print( + f"Failed to parse release date \"{release_text}\" for {product_name} {version}") + + if eoas_date_column is not None: + eoas_text = columns[eoas_date_column].text + try: + eoas_date = convertDate(eoas_text) + releases.set_eoas(eoas_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoas date \"{eoas_text}\" for {product_name} {version}") + + if eoes_date_column is not None: + eoes_text = columns[eoes_date_column].text + try: + eoes_date = convertDate(eoes_text) + releases.set_eoes(eoes_date) + release_added = True + except ValueError: + print( + f"Failed to parse eoes date \"{eoes_text}\" for {product_name} {version}") + + if not release_added: + product_data.remove_release(version) From fdb4730667e1098bfb79d8684b8544f60e3eda9d Mon Sep 17 00:00:00 2001 From: Ludovic TOURMAN Date: Thu, 6 Feb 2025 19:21:21 +0100 Subject: [PATCH 2/3] Rename services --- releases/{aws-aurora-mysql.json => amazon-aurora-mysql.json} | 0 ...s-aurora-postgresql.json => amazon-aurora-postgresql.json} | 0 releases/{aws-eks.json => amazon-eks.json} | 0 releases/{aws-kafka.json => amazon-msk.json} | 0 src/{aws-aurora.py => amazon-aurora.py} | 4 ++-- src/{aws-eks.py => amazon-eks.py} | 2 +- src/{aws-kafka.py => amazon-msk.py} | 4 ++-- 7 files changed, 5 insertions(+), 5 deletions(-) rename releases/{aws-aurora-mysql.json => amazon-aurora-mysql.json} (100%) rename releases/{aws-aurora-postgresql.json => amazon-aurora-postgresql.json} (100%) rename releases/{aws-eks.json => amazon-eks.json} (100%) rename releases/{aws-kafka.json => amazon-msk.json} (100%) rename src/{aws-aurora.py => amazon-aurora.py} (93%) rename src/{aws-eks.py => amazon-eks.py} (99%) rename src/{aws-kafka.py => amazon-msk.py} (97%) diff --git a/releases/aws-aurora-mysql.json b/releases/amazon-aurora-mysql.json similarity index 100% rename from releases/aws-aurora-mysql.json rename to releases/amazon-aurora-mysql.json diff --git a/releases/aws-aurora-postgresql.json b/releases/amazon-aurora-postgresql.json similarity index 100% rename from releases/aws-aurora-postgresql.json rename to releases/amazon-aurora-postgresql.json diff --git a/releases/aws-eks.json b/releases/amazon-eks.json similarity index 100% rename from releases/aws-eks.json rename to releases/amazon-eks.json diff --git a/releases/aws-kafka.json b/releases/amazon-msk.json similarity index 100% rename from releases/aws-kafka.json rename to releases/amazon-msk.json diff --git a/src/aws-aurora.py b/src/amazon-aurora.py similarity index 93% rename from src/aws-aurora.py rename to src/amazon-aurora.py index 7f8a07d0a..60e97e978 100644 --- a/src/aws-aurora.py +++ b/src/amazon-aurora.py @@ -6,8 +6,8 @@ """Fetches Amazon Aurora versions from the version management pages on AWS docs.""" PRODUCTS = { - "aws-aurora-mysql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html"], - "aws-aurora-postgresql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/aurorapostgresql-release-calendar.html"], + "amazon-aurora-mysql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html"], + "amazon-aurora-postgresql": ["https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/aurorapostgresql-release-calendar.html"], } VERSION_REGEX = re.compile(r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) diff --git a/src/aws-eks.py b/src/amazon-eks.py similarity index 99% rename from src/aws-eks.py rename to src/amazon-eks.py index 097fc013c..6a55d5d65 100644 --- a/src/aws-eks.py +++ b/src/amazon-eks.py @@ -6,7 +6,7 @@ """Fetches Amazon EKS versions from the version management pages on AWS docs.""" PRODUCTS = { - "aws-eks": [ + "amazon-eks": [ "https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html", "https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", # 1.19.eks.1 diff --git a/src/aws-kafka.py b/src/amazon-msk.py similarity index 97% rename from src/aws-kafka.py rename to src/amazon-msk.py index df6bca2b0..2c43c5661 100644 --- a/src/aws-kafka.py +++ b/src/amazon-msk.py @@ -3,10 +3,10 @@ from bs4 import BeautifulSoup from common import dates, http, releasedata -"""Fetches Amazon EKS versions from the version management pages on AWS docs.""" +"""Fetches Amazon Kafka versions from the version management pages on AWS docs.""" PRODUCTS = { - "aws-kafka": [ + "amazon-msk": [ "https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html", ] } From 6851ef355eb52687ec4d693eb25f12be5d4951f1 Mon Sep 17 00:00:00 2001 From: Ludovic TOURMAN Date: Fri, 7 Feb 2025 13:46:29 +0100 Subject: [PATCH 3/3] Remove eks --- releases/amazon-eks.json | 915 --------------------------------------- src/amazon-eks.py | 114 ----- 2 files changed, 1029 deletions(-) delete mode 100644 releases/amazon-eks.json delete mode 100644 src/amazon-eks.py diff --git a/releases/amazon-eks.json b/releases/amazon-eks.json deleted file mode 100644 index e4509d225..000000000 --- a/releases/amazon-eks.json +++ /dev/null @@ -1,915 +0,0 @@ -{ - "releases": { - "1.32": { - "name": "1.32", - "eoas": "2026-03-23", - "eoes": "2027-03-23" - }, - "1.31": { - "name": "1.31", - "eoas": "2025-11-26", - "eoes": "2026-11-26" - }, - "1.30": { - "name": "1.30", - "eoas": "2025-07-23", - "eoes": "2026-07-23" - }, - "1.29": { - "name": "1.29", - "eoas": "2025-03-23", - "eoes": "2026-03-23" - }, - "1.28": { - "name": "1.28", - "eoas": "2024-11-26", - "eoes": "2025-11-26" - }, - "1.27": { - "name": "1.27", - "eoas": "2024-07-24", - "eoes": "2025-07-24" - }, - "1.26": { - "name": "1.26", - "eoas": "2024-06-11", - "eoes": "2025-06-11" - }, - "1.25": { - "name": "1.25", - "eoas": "2024-05-01", - "eoes": "2025-05-01" - }, - "1.24": { - "name": "1.24", - "eoas": "2024-01-31", - "eoes": "2025-01-31" - } - }, - "versions": { - "1.32.0-eks.2": { - "name": "1.32.0-eks.2", - "date": "2025-01-31" - }, - "1.32": { - "name": "1.32", - "date": "2025-01-23" - }, - "1.31.4-eks.17": { - "name": "1.31.4-eks.17", - "date": "2025-01-17" - }, - "1.30.8-eks.25": { - "name": "1.30.8-eks.25", - "date": "2025-01-17" - }, - "1.29.12-eks.28": { - "name": "1.29.12-eks.28", - "date": "2025-01-17" - }, - "1.28.15-eks.34": { - "name": "1.28.15-eks.34", - "date": "2025-01-17" - }, - "1.27.16-eks.38": { - "name": "1.27.16-eks.38", - "date": "2025-01-17" - }, - "1.26.15-eks.40": { - "name": "1.26.15-eks.40", - "date": "2025-01-17" - }, - "1.25.16-eks.40": { - "name": "1.25.16-eks.40", - "date": "2025-01-17" - }, - "1.24.17-eks.44": { - "name": "1.24.17-eks.44", - "date": "2025-01-17" - }, - "1.31.2-eks.12": { - "name": "1.31.2-eks.12", - "date": "2024-11-15" - }, - "1.30.6-eks.20": { - "name": "1.30.6-eks.20", - "date": "2024-11-15" - }, - "1.29.10-eks.23": { - "name": "1.29.10-eks.23", - "date": "2024-11-15" - }, - "1.28.15-eks.29": { - "name": "1.28.15-eks.29", - "date": "2024-11-15" - }, - "1.27.16-eks.33": { - "name": "1.27.16-eks.33", - "date": "2024-11-15" - }, - "1.26.15-eks.35": { - "name": "1.26.15-eks.35", - "date": "2024-11-15" - }, - "1.25.16-eks.35": { - "name": "1.25.16-eks.35", - "date": "2024-11-15" - }, - "1.24.17-eks.39": { - "name": "1.24.17-eks.39", - "date": "2024-11-15" - }, - "1.31.1-eks.6": { - "name": "1.31.1-eks.6", - "date": "2024-10-21" - }, - "1.30.5-eks.12": { - "name": "1.30.5-eks.12", - "date": "2024-10-21" - }, - "1.29.9-eks.17": { - "name": "1.29.9-eks.17", - "date": "2024-10-21" - }, - "1.28.14-eks.23": { - "name": "1.28.14-eks.23", - "date": "2024-10-21" - }, - "1.27.16-eks.27": { - "name": "1.27.16-eks.27", - "date": "2024-10-21" - }, - "1.26.15-eks.28": { - "name": "1.26.15-eks.28", - "date": "2024-10-21" - }, - "1.25.16-eks.29": { - "name": "1.25.16-eks.29", - "date": "2024-10-21" - }, - "1.24.17-eks.32": { - "name": "1.24.17-eks.32", - "date": "2024-10-21" - }, - "1.31.0-eks.4": { - "name": "1.31.0-eks.4", - "date": "2024-09-26" - }, - "1.31": { - "name": "1.31", - "date": "2024-09-26" - }, - "1.30.4-eks.8": { - "name": "1.30.4-eks.8", - "date": "2024-09-03" - }, - "1.29.8-eks.13": { - "name": "1.29.8-eks.13", - "date": "2024-09-03" - }, - "1.28.13-eks.19": { - "name": "1.28.13-eks.19", - "date": "2024-09-03" - }, - "1.27.16-eks.23": { - "name": "1.27.16-eks.23", - "date": "2024-09-03" - }, - "1.26.15-eks.24": { - "name": "1.26.15-eks.24", - "date": "2024-09-03" - }, - "1.25.16-eks.25": { - "name": "1.25.16-eks.25", - "date": "2024-09-03" - }, - "1.24.17-eks.28": { - "name": "1.24.17-eks.28", - "date": "2024-09-03" - }, - "1.30.3-eks.7": { - "name": "1.30.3-eks.7", - "date": "2024-08-28" - }, - "1.29.7-eks.12": { - "name": "1.29.7-eks.12", - "date": "2024-08-28" - }, - "1.28.12-eks.18": { - "name": "1.28.12-eks.18", - "date": "2024-08-28" - }, - "1.27.16-eks.22": { - "name": "1.27.16-eks.22", - "date": "2024-08-28" - }, - "1.26.15-eks.23": { - "name": "1.26.15-eks.23", - "date": "2024-08-28" - }, - "1.25.16-eks.24": { - "name": "1.25.16-eks.24", - "date": "2024-08-28" - }, - "1.24.17-eks.27": { - "name": "1.24.17-eks.27", - "date": "2024-08-28" - }, - "1.30.3-eks.6": { - "name": "1.30.3-eks.6", - "date": "2024-08-09" - }, - "1.29.7-eks.11": { - "name": "1.29.7-eks.11", - "date": "2024-08-09" - }, - "1.28.11-eks.17": { - "name": "1.28.11-eks.17", - "date": "2024-08-09" - }, - "1.27.16-eks.21": { - "name": "1.27.16-eks.21", - "date": "2024-08-09" - }, - "1.26.15-eks.22": { - "name": "1.26.15-eks.22", - "date": "2024-08-09" - }, - "1.25.16-eks.23": { - "name": "1.25.16-eks.23", - "date": "2024-08-09" - }, - "1.24.17-eks.26": { - "name": "1.24.17-eks.26", - "date": "2024-08-09" - }, - "1.30.2-eks.5": { - "name": "1.30.2-eks.5", - "date": "2024-07-02" - }, - "1.29.6-eks.10": { - "name": "1.29.6-eks.10", - "date": "2024-07-02" - }, - "1.28.11-eks.16": { - "name": "1.28.11-eks.16", - "date": "2024-07-02" - }, - "1.27.15-eks.20": { - "name": "1.27.15-eks.20", - "date": "2024-07-02" - }, - "1.26.15-eks.21": { - "name": "1.26.15-eks.21", - "date": "2024-07-02" - }, - "1.25.16-eks.22": { - "name": "1.25.16-eks.22", - "date": "2024-07-02" - }, - "1.24.17-eks.25": { - "name": "1.24.17-eks.25", - "date": "2024-07-02" - }, - "1.30.0-eks.2": { - "name": "1.30.0-eks.2", - "date": "2024-05-23" - }, - "1.30": { - "name": "1.30", - "date": "2024-05-23" - }, - "1.29.4-eks.7": { - "name": "1.29.4-eks.7", - "date": "2024-05-16" - }, - "1.28.9-eks.13": { - "name": "1.28.9-eks.13", - "date": "2024-05-16" - }, - "1.27.13-eks.17": { - "name": "1.27.13-eks.17", - "date": "2024-05-16" - }, - "1.26.15-eks.18": { - "name": "1.26.15-eks.18", - "date": "2024-05-16" - }, - "1.25.16-eks.19": { - "name": "1.25.16-eks.19", - "date": "2024-05-16" - }, - "1.24.17-eks.22": { - "name": "1.24.17-eks.22", - "date": "2024-05-16" - }, - "1.29.3-eks.6": { - "name": "1.29.3-eks.6", - "date": "2024-04-18" - }, - "1.28.8-eks.12": { - "name": "1.28.8-eks.12", - "date": "2024-04-18" - }, - "1.27.12-eks.16": { - "name": "1.27.12-eks.16", - "date": "2024-04-18" - }, - "1.26.15-eks.17": { - "name": "1.26.15-eks.17", - "date": "2024-04-18" - }, - "1.25.16-eks.18": { - "name": "1.25.16-eks.18", - "date": "2024-04-18" - }, - "1.24.17-eks.21": { - "name": "1.24.17-eks.21", - "date": "2024-04-18" - }, - "1.29.1-eks.5": { - "name": "1.29.1-eks.5", - "date": "2024-03-29" - }, - "1.28.7-eks.11": { - "name": "1.28.7-eks.11", - "date": "2024-03-29" - }, - "1.27.11-eks.15": { - "name": "1.27.11-eks.15", - "date": "2024-03-29" - }, - "1.26.14-eks.16": { - "name": "1.26.14-eks.16", - "date": "2024-03-29" - }, - "1.25.16-eks.17": { - "name": "1.25.16-eks.17", - "date": "2024-03-29" - }, - "1.24.17-eks.20": { - "name": "1.24.17-eks.20", - "date": "2024-03-29" - }, - "1.29.1-eks.4": { - "name": "1.29.1-eks.4", - "date": "2024-03-20" - }, - "1.28.7-eks.10": { - "name": "1.28.7-eks.10", - "date": "2024-03-20" - }, - "1.27.11-eks.14": { - "name": "1.27.11-eks.14", - "date": "2024-03-20" - }, - "1.26.14-eks.15": { - "name": "1.26.14-eks.15", - "date": "2024-03-20" - }, - "1.25.16-eks.16": { - "name": "1.25.16-eks.16", - "date": "2024-03-20" - }, - "1.24.17-eks.19": { - "name": "1.24.17-eks.19", - "date": "2024-03-20" - }, - "1.29.1-eks.3": { - "name": "1.29.1-eks.3", - "date": "2024-03-12" - }, - "1.28.6-eks.9": { - "name": "1.28.6-eks.9", - "date": "2024-03-12" - }, - "1.27.10-eks.13": { - "name": "1.27.10-eks.13", - "date": "2024-03-12" - }, - "1.26.13-eks.14": { - "name": "1.26.13-eks.14", - "date": "2024-03-12" - }, - "1.25.16-eks.15": { - "name": "1.25.16-eks.15", - "date": "2024-03-12" - }, - "1.24.17-eks.18": { - "name": "1.24.17-eks.18", - "date": "2024-03-12" - }, - "1.29.0-eks.1": { - "name": "1.29.0-eks.1", - "date": "2024-01-23" - }, - "1.29": { - "name": "1.29", - "date": "2024-01-23" - }, - "1.28.5-eks.7": { - "name": "1.28.5-eks.7", - "date": "2024-01-17" - }, - "1.27.9-eks.11": { - "name": "1.27.9-eks.11", - "date": "2024-01-17" - }, - "1.26.12-eks.12": { - "name": "1.26.12-eks.12", - "date": "2024-01-17" - }, - "1.25.16-eks.13": { - "name": "1.25.16-eks.13", - "date": "2024-01-17" - }, - "1.24.17-eks.16": { - "name": "1.24.17-eks.16", - "date": "2024-01-17" - }, - "1.28.4-eks.6": { - "name": "1.28.4-eks.6", - "date": "2023-12-14" - }, - "1.27.8-eks.10": { - "name": "1.27.8-eks.10", - "date": "2023-12-14" - }, - "1.26.11-eks.11": { - "name": "1.26.11-eks.11", - "date": "2023-12-14" - }, - "1.25.16-eks.12": { - "name": "1.25.16-eks.12", - "date": "2023-12-14" - }, - "1.24.17-eks.15": { - "name": "1.24.17-eks.15", - "date": "2023-12-14" - }, - "1.28.4-eks.5": { - "name": "1.28.4-eks.5", - "date": "2023-12-12" - }, - "1.27.8-eks.9": { - "name": "1.27.8-eks.9", - "date": "2023-12-12" - }, - "1.26.11-eks.10": { - "name": "1.26.11-eks.10", - "date": "2023-12-12" - }, - "1.25.16-eks.11": { - "name": "1.25.16-eks.11", - "date": "2023-12-12" - }, - "1.24.17-eks.14": { - "name": "1.24.17-eks.14", - "date": "2023-12-12" - }, - "1.28.3-eks.4": { - "name": "1.28.3-eks.4", - "date": "2023-11-10" - }, - "1.27.7-eks.8": { - "name": "1.27.7-eks.8", - "date": "2023-11-10" - }, - "1.26.10-eks.9": { - "name": "1.26.10-eks.9", - "date": "2023-11-10" - }, - "1.25.15-eks.10": { - "name": "1.25.15-eks.10", - "date": "2023-11-10" - }, - "1.24.17-eks.13": { - "name": "1.24.17-eks.13", - "date": "2023-11-10" - }, - "1.28.3-eks.3": { - "name": "1.28.3-eks.3", - "date": "2023-11-03" - }, - "1.27.7-eks.7": { - "name": "1.27.7-eks.7", - "date": "2023-11-03" - }, - "1.26.10-eks.8": { - "name": "1.26.10-eks.8", - "date": "2023-11-03" - }, - "1.25.15-eks.9": { - "name": "1.25.15-eks.9", - "date": "2023-11-03" - }, - "1.24.17-eks.12": { - "name": "1.24.17-eks.12", - "date": "2023-11-03" - }, - "1.28.2-eks.2": { - "name": "1.28.2-eks.2", - "date": "2023-10-16" - }, - "1.27.6-eks.6": { - "name": "1.27.6-eks.6", - "date": "2023-10-16" - }, - "1.26.9-eks.7": { - "name": "1.26.9-eks.7", - "date": "2023-10-16" - }, - "1.25.14-eks.8": { - "name": "1.25.14-eks.8", - "date": "2023-10-16" - }, - "1.24.17-eks.11": { - "name": "1.24.17-eks.11", - "date": "2023-10-16" - }, - "1.28.1-eks.1": { - "name": "1.28.1-eks.1", - "date": "2023-09-26" - }, - "1.28": { - "name": "1.28", - "date": "2023-09-26" - }, - "1.27.4-eks.5": { - "name": "1.27.4-eks.5", - "date": "2023-08-30" - }, - "1.26.7-eks.6": { - "name": "1.26.7-eks.6", - "date": "2023-08-30" - }, - "1.25.12-eks.7": { - "name": "1.25.12-eks.7", - "date": "2023-08-30" - }, - "1.24.16-eks.10": { - "name": "1.24.16-eks.10", - "date": "2023-08-30" - }, - "1.27.4-eks.4": { - "name": "1.27.4-eks.4", - "date": "2023-07-30" - }, - "1.26.7-eks.5": { - "name": "1.26.7-eks.5", - "date": "2023-07-30" - }, - "1.25.12-eks.6": { - "name": "1.25.12-eks.6", - "date": "2023-07-30" - }, - "1.24.16-eks.9": { - "name": "1.24.16-eks.9", - "date": "2023-07-30" - }, - "1.27.3-eks.3": { - "name": "1.27.3-eks.3", - "date": "2023-06-30" - }, - "1.26.6-eks.4": { - "name": "1.26.6-eks.4", - "date": "2023-06-30" - }, - "1.25.11-eks.5": { - "name": "1.25.11-eks.5", - "date": "2023-06-30" - }, - "1.24.15-eks.8": { - "name": "1.24.15-eks.8", - "date": "2023-06-30" - }, - "1.27.2-eks.2": { - "name": "1.27.2-eks.2", - "date": "2023-06-09" - }, - "1.26.5-eks.3": { - "name": "1.26.5-eks.3", - "date": "2023-06-09" - }, - "1.25.10-eks.4": { - "name": "1.25.10-eks.4", - "date": "2023-06-09" - }, - "1.24.14-eks.7": { - "name": "1.24.14-eks.7", - "date": "2023-06-09" - }, - "1.27.1-eks.1": { - "name": "1.27.1-eks.1", - "date": "2023-05-24" - }, - "1.27": { - "name": "1.27", - "date": "2023-05-24" - }, - "1.26.4-eks.2": { - "name": "1.26.4-eks.2", - "date": "2023-05-05" - }, - "1.25.9-eks.3": { - "name": "1.25.9-eks.3", - "date": "2023-05-05" - }, - "1.24.13-eks.6": { - "name": "1.24.13-eks.6", - "date": "2023-05-05" - }, - "1.23.17-eks.8": { - "name": "1.23.17-eks.8", - "date": "2023-05-05" - }, - "1.22.17-eks.12": { - "name": "1.22.17-eks.12", - "date": "2023-05-05" - }, - "1.21.14-eks.17": { - "name": "1.21.14-eks.17", - "date": "2023-05-05" - }, - "1.20.15-eks.14": { - "name": "1.20.15-eks.14", - "date": "2023-05-05" - }, - "1.26.2-eks.1": { - "name": "1.26.2-eks.1", - "date": "2023-04-11" - }, - "1.26": { - "name": "1.26", - "date": "2023-04-11" - }, - "1.25.8-eks.2": { - "name": "1.25.8-eks.2", - "date": "2023-03-24" - }, - "1.24.12-eks.5": { - "name": "1.24.12-eks.5", - "date": "2023-03-24" - }, - "1.23.17-eks.7": { - "name": "1.23.17-eks.7", - "date": "2023-03-24" - }, - "1.22.17-eks.11": { - "name": "1.22.17-eks.11", - "date": "2023-03-24" - }, - "1.21.14-eks.16": { - "name": "1.21.14-eks.16", - "date": "2023-03-24" - }, - "1.25": { - "name": "1.25", - "date": "2023-02-22" - }, - "1.25.6-eks.1": { - "name": "1.25.6-eks.1", - "date": "2023-02-21" - }, - "1.24.8-eks.4": { - "name": "1.24.8-eks.4", - "date": "2023-01-27" - }, - "1.23.14-eks.6": { - "name": "1.23.14-eks.6", - "date": "2023-01-27" - }, - "1.22.16-eks.10": { - "name": "1.22.16-eks.10", - "date": "2023-01-27" - }, - "1.21.14-eks.15": { - "name": "1.21.14-eks.15", - "date": "2023-01-27" - }, - "1.24.7-eks.3": { - "name": "1.24.7-eks.3", - "date": "2022-12-05" - }, - "1.23.13-eks.5": { - "name": "1.23.13-eks.5", - "date": "2022-12-05" - }, - "1.22.15-eks.9": { - "name": "1.22.15-eks.9", - "date": "2022-12-05" - }, - "1.21.14-eks.14": { - "name": "1.21.14-eks.14", - "date": "2022-12-05" - }, - "1.20.15-eks.12": { - "name": "1.20.15-eks.12", - "date": "2022-12-05" - }, - "1.24.7-eks.2": { - "name": "1.24.7-eks.2", - "date": "2022-11-18" - }, - "1.23.13-eks.4": { - "name": "1.23.13-eks.4", - "date": "2022-11-18" - }, - "1.22.15-eks.8": { - "name": "1.22.15-eks.8", - "date": "2022-11-18" - }, - "1.21.14-eks.13": { - "name": "1.21.14-eks.13", - "date": "2022-11-18" - }, - "1.20.15-eks.11": { - "name": "1.20.15-eks.11", - "date": "2022-11-18" - }, - "1.24.7-eks.1": { - "name": "1.24.7-eks.1", - "date": "2022-11-15" - }, - "1.24": { - "name": "1.24", - "date": "2022-11-15" - }, - "1.23.12-eks.3": { - "name": "1.23.12-eks.3", - "date": "2022-11-07" - }, - "1.22.15-eks.7": { - "name": "1.22.15-eks.7", - "date": "2022-11-07" - }, - "1.21.14-eks.12": { - "name": "1.21.14-eks.12", - "date": "2022-11-07" - }, - "1.20.15-eks.10": { - "name": "1.20.15-eks.10", - "date": "2022-11-07" - }, - "1.21.13-eks.11": { - "name": "1.21.13-eks.11", - "date": "2022-10-10" - }, - "1.23.10-eks.2": { - "name": "1.23.10-eks.2", - "date": "2022-09-21" - }, - "1.22.13-eks.6": { - "name": "1.22.13-eks.6", - "date": "2022-09-21" - }, - "1.20.15-eks.9": { - "name": "1.20.15-eks.9", - "date": "2022-09-21" - }, - "1.22.10-eks.5": { - "name": "1.22.10-eks.5", - "date": "2022-08-15" - }, - "1.21.13-eks.10": { - "name": "1.21.13-eks.10", - "date": "2022-08-15" - }, - "1.20.15-eks.8": { - "name": "1.20.15-eks.8", - "date": "2022-08-15" - }, - "1.19.16-eks.11": { - "name": "1.19.16-eks.11", - "date": "2022-08-15" - }, - "1.23.7-eks.1": { - "name": "1.23.7-eks.1", - "date": "2022-08-11" - }, - "1.22.10-eks.4": { - "name": "1.22.10-eks.4", - "date": "2022-07-21" - }, - "1.21.13-eks.9": { - "name": "1.21.13-eks.9", - "date": "2022-07-21" - }, - "1.20.15-eks.7": { - "name": "1.20.15-eks.7", - "date": "2022-07-21" - }, - "1.22.10-eks.3": { - "name": "1.22.10-eks.3", - "date": "2022-07-07" - }, - "1.21.13-eks.8": { - "name": "1.21.13-eks.8", - "date": "2022-07-07" - }, - "1.22.9-eks.2": { - "name": "1.22.9-eks.2", - "date": "2022-05-31" - }, - "1.21.12-eks.7": { - "name": "1.21.12-eks.7", - "date": "2022-05-31" - }, - "1.20.15-eks.6": { - "name": "1.20.15-eks.6", - "date": "2022-05-31" - }, - "1.19.16-eks.10": { - "name": "1.19.16-eks.10", - "date": "2022-05-31" - }, - "1.21.9-eks.6": { - "name": "1.21.9-eks.6", - "date": "2022-04-08" - }, - "1.20.15-eks.5": { - "name": "1.20.15-eks.5", - "date": "2022-04-08" - }, - "1.19.16-eks.9": { - "name": "1.19.16-eks.9", - "date": "2022-04-08" - }, - "1.22.6-eks.1": { - "name": "1.22.6-eks.1", - "date": "2022-04-04" - }, - "1.20.15-eks.13": { - "name": "1.20.15-eks.13", - "date": "2022-03-24" - }, - "1.21.5-eks.5": { - "name": "1.21.5-eks.5", - "date": "2022-03-10" - }, - "1.20.11-eks.4": { - "name": "1.20.11-eks.4", - "date": "2022-03-10" - }, - "1.19.15-eks.8": { - "name": "1.19.15-eks.8", - "date": "2022-03-10" - }, - "1.21.5-eks.4": { - "name": "1.21.5-eks.4", - "date": "2021-12-13" - }, - "1.21.2-eks.3": { - "name": "1.21.2-eks.3", - "date": "2021-11-08" - }, - "1.20.11-eks.3": { - "name": "1.20.11-eks.3", - "date": "2021-11-08" - }, - "1.19.15-eks.7": { - "name": "1.19.15-eks.7", - "date": "2021-11-08" - }, - "1.21.2-eks.2": { - "name": "1.21.2-eks.2", - "date": "2021-09-17" - }, - "1.19.8-eks.6": { - "name": "1.19.8-eks.6", - "date": "2021-09-17" - }, - "1.20.7-eks.2": { - "name": "1.20.7-eks.2", - "date": "2021-07-30" - }, - "1.21.2-eks.1": { - "name": "1.21.2-eks.1", - "date": "2021-07-19" - }, - "1.19.8-eks.5": { - "name": "1.19.8-eks.5", - "date": "2021-06-01" - }, - "1.20.4-eks.1": { - "name": "1.20.4-eks.1", - "date": "2021-05-18" - }, - "1.19.8-eks.4": { - "name": "1.19.8-eks.4", - "date": "2021-05-04" - }, - "1.19.8-eks.3": { - "name": "1.19.8-eks.3", - "date": "2021-04-14" - }, - "1.19.6-eks.2": { - "name": "1.19.6-eks.2", - "date": "2021-03-23" - }, - "1.19.6-eks.1": { - "name": "1.19.6-eks.1", - "date": "2021-02-16" - } - } -} \ No newline at end of file diff --git a/src/amazon-eks.py b/src/amazon-eks.py deleted file mode 100644 index 6a55d5d65..000000000 --- a/src/amazon-eks.py +++ /dev/null @@ -1,114 +0,0 @@ -import re - -from bs4 import BeautifulSoup -from common import dates, http, releasedata - -"""Fetches Amazon EKS versions from the version management pages on AWS docs.""" - -PRODUCTS = { - "amazon-eks": [ - "https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html", - "https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", - # 1.19.eks.1 - "https://web.archive.org/web/20221007150452/https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", - # + 1.20 - "https://web.archive.org/web/20230521061347/https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html", - ] -} - -VERSION_REGEX = re.compile(r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) -FULL_DATE_REGEX = re.compile( - r"(?P\d+(?:\.\d+)*)", flags=re.IGNORECASE) - - -def convertDate(date_text: str, default_day=1) -> dates.date: - try: - date = dates.parse_date(date_text) - except ValueError: - date = dates.parse_month_year_date( - date_text) - date = date.replace(day=default_day) - return date - -def containsOneOf(text: str, substrings: list[str]) -> bool: - for substring in substrings: - if substring in text: - return True - return False - -for product_name, urls in PRODUCTS.items(): - with releasedata.ProductData(product_name) as product_data: - for url in urls: - response = http.fetch_url(url) - soup = BeautifulSoup(response.text, features="html5lib") - - for table in soup.find_all("table"): - index = 0 - version_column = None - platform_version_column = None - release_date_column = None - eoas_date_column = None - eoes_date_column = None - - for row in table.find_all("th"): - if containsOneOf(row.text, ["Kubernetes version"]): - version_column = index - if containsOneOf(row.text, ["EKS platform version", "Amazon EKS platform version"]): - platform_version_column = index - if containsOneOf(row.text, ["Amazon EKS release", "Release date"]): - release_date_column = index - if containsOneOf(row.text, ["End of standard support"]): - eoas_date_column = index - if containsOneOf(row.text, ["End of extended support"]): - eoes_date_column = index - index += 1 - - for row in table.find_all("tr"): - columns = row.find_all("td") - if len(columns) < 3: - continue - - release_added = False - version_match = VERSION_REGEX.search( - columns[version_column].text.strip()) - if version_match: - version = version_match.group("version") - if platform_version_column is not None: - platform_version = columns[platform_version_column].text.strip( - ) - version += "-"+platform_version - - releases = product_data.get_release(version) - - if release_date_column is not None: - release_text = columns[release_date_column].text - try: - release_date = convertDate(release_text, 31) - product_data.declare_version( - version, release_date) - except ValueError: - print( - f"Failed to parse release date \"{release_text}\" for {product_name} {version}") - - if eoas_date_column is not None: - eoas_text = columns[eoas_date_column].text - try: - eoas_date = convertDate(eoas_text) - releases.set_eoas(eoas_date) - release_added = True - except ValueError: - print( - f"Failed to parse eoas date \"{eoas_text}\" for {product_name} {version}") - - if eoes_date_column is not None: - eoes_text = columns[eoes_date_column].text - try: - eoes_date = convertDate(eoes_text) - releases.set_eoes(eoes_date) - release_added = True - except ValueError: - print( - f"Failed to parse eoes date \"{eoes_text}\" for {product_name} {version}") - - if not release_added: - product_data.remove_release(version)