@@ -1627,6 +1627,55 @@ def check() -> None:
16271627 retry (check , 360 )
16281628
16291629
1630+ class RecommendedK8sLabels (Modification ):
1631+ @classmethod
1632+ def values (cls , version : MzVersion ) -> list [Any ]:
1633+ return [None ]
1634+
1635+ @classmethod
1636+ def default (cls ) -> Any :
1637+ return None
1638+
1639+ def modify (self , definition : dict [str , Any ]) -> None :
1640+ pass
1641+
1642+ def validate (self , mods : dict [type [Modification ], Any ]) -> None :
1643+ if MzVersion .parse_mz (mods [EnvironmentdImageRef ]) < MzVersion .parse_mz (
1644+ "v26.24.0"
1645+ ):
1646+ return
1647+
1648+ def get (kind : str , name : str ) -> dict [str , Any ]:
1649+ return json .loads (
1650+ spawn .capture (
1651+ [
1652+ "kubectl" ,
1653+ "get" ,
1654+ kind ,
1655+ name ,
1656+ "-n" ,
1657+ "materialize-environment" ,
1658+ "-o" ,
1659+ "json" ,
1660+ ]
1661+ )
1662+ )
1663+
1664+ def check () -> None :
1665+ pod = get_environmentd_data ()["items" ][0 ]
1666+ statefulset = get (
1667+ "statefulset" , pod ["metadata" ]["labels" ]["materialize.cloud/name" ]
1668+ )
1669+ service = get ("service" , statefulset ["spec" ]["serviceName" ])
1670+ for kind , obj in (("statefulset" , statefulset ), ("service" , service )):
1671+ actual = obj ["metadata" ].get ("labels" , {}).get ("app.kubernetes.io/name" )
1672+ assert (
1673+ actual == "environmentd"
1674+ ), f"Expected app.kubernetes.io/name=environmentd on { kind } /{ obj ['metadata' ]['name' ]} , got { actual !r} "
1675+
1676+ retry (check , 120 )
1677+
1678+
16301679class AuthenticatorKind (Modification ):
16311680 @classmethod
16321681 def values (cls , version : MzVersion ) -> list [Any ]:
0 commit comments