@@ -263,6 +263,37 @@ func (s *KubeController) mapToConfig(configMap map[string]string) *model.KubeBad
263263 return & config
264264}
265265
266+ func (s * KubeController ) ListPostgresqls (c * gin.Context ) {
267+ namespace := c .Param ("namespace" )
268+ key := fmt .Sprintf ("postgresql_%s" , namespace )
269+
270+ result , ok := s .cache .Get (key )
271+ if ! ok || c .Query ("force" ) == "true" {
272+ postgresqls , err := s .KubeHelper .GetPostgresqls (namespace )
273+ if err != nil {
274+ c .JSON (500 , gin.H {
275+ "error" : err .Error (),
276+ })
277+ return
278+ }
279+ var out []model.KubeBadges
280+ for _ , obj := range postgresqls {
281+ metadata , _ := obj ["metadata" ].(map [string ]interface {})
282+ name , _ := metadata ["name" ].(string )
283+ out = append (out , model.KubeBadges {
284+ Kind : "postgresql" ,
285+ Name : name ,
286+ Key : fmt .Sprintf ("/kube/postgresql/%s/%s" , namespace , name ),
287+ Badge : fmt .Sprintf ("/badges/kube/postgresql/%s/%s" , namespace , name ),
288+ })
289+ }
290+ result = out
291+ s .cache .Set (key , result , time .Minute * 2 )
292+ }
293+
294+ c .JSON (http .StatusOK , s .populateKubeBadges (result ))
295+ }
296+
266297func (s * KubeController ) ListKustomizations (c * gin.Context ) {
267298 namespace := c .Param ("namespace" )
268299 key := fmt .Sprintf ("kustomizations_%s" , namespace )
0 commit comments