@@ -34,11 +34,25 @@ def extract_dates(data):
3434 yield datetime .strptime (data ["lts" ], DATE_FORMAT )
3535
3636
37+ def has_eol (data ):
38+ """Check if a version has a defined end of life."""
39+ if "eol" in data and isinstance (data ["eol" ], str ):
40+ return True
41+ if "extendedSupport" in data and isinstance (data ["extendedSupport" ], str ):
42+ return True
43+ if "lts" in data and isinstance (data ["lts" ], str ):
44+ return True
45+ return False
46+
47+
3748def get_support_date (data ):
49+ dates = list (extract_dates (data ))
50+ if not dates :
51+ return None
3852 if SUPPORT_MODE == "standard" :
39- return min (extract_dates ( data ) )
53+ return min (dates )
4054 elif SUPPORT_MODE == "extended" :
41- return max (extract_dates ( data ) )
55+ return max (dates )
4256
4357
4458def get_kubernetes_oss_versions ():
@@ -54,6 +68,7 @@ def get_kubernetes_oss_versions():
5468 "eol" : get_support_date (x ),
5569 }
5670 for x in data
71+ if has_eol (x )
5772 ]
5873 data .sort (key = lambda x : x ["eol" ], reverse = True )
5974 return data
@@ -71,6 +86,7 @@ def get_azure_aks_versions():
7186 "eol" : get_support_date (x ),
7287 }
7388 for x in data
89+ if has_eol (x )
7490 ]
7591 data .sort (key = lambda x : x ["eol" ], reverse = True )
7692 return data
@@ -87,6 +103,7 @@ def get_amazon_eks_versions():
87103 "eol" : get_support_date (x ),
88104 }
89105 for x in data
106+ if has_eol (x )
90107 ]
91108 data .sort (key = lambda x : x ["eol" ], reverse = True )
92109 return data
@@ -103,6 +120,7 @@ def get_google_kubernetes_engine_versions():
103120 "eol" : get_support_date (x ),
104121 }
105122 for x in data
123+ if has_eol (x )
106124 ]
107125 data .sort (key = lambda x : x ["eol" ], reverse = True )
108126 return data
0 commit comments