@@ -24,6 +24,8 @@ type ClusterResourcesOutput struct {
24
24
ServicesErrors []byte `json:"cluster-resources/services-errors.json,omitempty"`
25
25
Deployments map [string ][]byte `json:"cluster-resources/deployments,omitempty"`
26
26
DeploymentsErrors []byte `json:"cluster-resources/deployments-errors.json,omitempty"`
27
+ StatefulSets map [string ][]byte `json:"cluster-resources/statefulsets,omitempty"`
28
+ StatefulSetsErrors []byte `json:"cluster-resources/statefulsets-errors.json,omitempty"`
27
29
Ingress map [string ][]byte `json:"cluster-resources/ingress,omitempty"`
28
30
IngressErrors []byte `json:"cluster-resources/ingress-errors.json,omitempty"`
29
31
StorageClasses []byte `json:"cluster-resources/storage-classes.json,omitempty"`
@@ -98,6 +100,14 @@ func ClusterResources(ctx *Context) ([]byte, error) {
98
100
return nil , err
99
101
}
100
102
103
+ // statefulsets
104
+ statefulsets , statefulsetsErrors := statefulsets (client , namespaceNames )
105
+ clusterResourcesOutput .StatefulSets = statefulsets
106
+ clusterResourcesOutput .StatefulSetsErrors , err = marshalNonNil (statefulsetsErrors )
107
+ if err != nil {
108
+ return nil , err
109
+ }
110
+
101
111
// ingress
102
112
ingress , ingressErrors := ingress (client , namespaceNames )
103
113
clusterResourcesOutput .Ingress = ingress
@@ -278,6 +288,29 @@ func deployments(client *kubernetes.Clientset, namespaces []string) (map[string]
278
288
return deploymentsByNamespace , errorsByNamespace
279
289
}
280
290
291
+ func statefulsets (client * kubernetes.Clientset , namespaces []string ) (map [string ][]byte , map [string ]string ) {
292
+ statefulsetsByNamespace := make (map [string ][]byte )
293
+ errorsByNamespace := make (map [string ]string )
294
+
295
+ for _ , namespace := range namespaces {
296
+ statefulsets , err := client .AppsV1 ().StatefulSets (namespace ).List (metav1.ListOptions {})
297
+ if err != nil {
298
+ errorsByNamespace [namespace ] = err .Error ()
299
+ continue
300
+ }
301
+
302
+ b , err := json .MarshalIndent (statefulsets .Items , "" , " " )
303
+ if err != nil {
304
+ errorsByNamespace [namespace ] = err .Error ()
305
+ continue
306
+ }
307
+
308
+ statefulsetsByNamespace [namespace + ".json" ] = b
309
+ }
310
+
311
+ return statefulsetsByNamespace , errorsByNamespace
312
+ }
313
+
281
314
func ingress (client * kubernetes.Clientset , namespaces []string ) (map [string ][]byte , map [string ]string ) {
282
315
ingressByNamespace := make (map [string ][]byte )
283
316
errorsByNamespace := make (map [string ]string )
@@ -513,6 +546,10 @@ func (c *ClusterResourcesOutput) Redact() (*ClusterResourcesOutput, error) {
513
546
if err != nil {
514
547
return nil , err
515
548
}
549
+ statefulsets , err := redactMap (c .StatefulSets )
550
+ if err != nil {
551
+ return nil , err
552
+ }
516
553
ingress , err := redactMap (c .Ingress )
517
554
if err != nil {
518
555
return nil , err
@@ -545,6 +582,8 @@ func (c *ClusterResourcesOutput) Redact() (*ClusterResourcesOutput, error) {
545
582
ServicesErrors : c .ServicesErrors ,
546
583
Deployments : deployments ,
547
584
DeploymentsErrors : c .DeploymentsErrors ,
585
+ StatefulSets : statefulsets ,
586
+ StatefulSetsErrors : c .StatefulSetsErrors ,
548
587
Ingress : ingress ,
549
588
IngressErrors : c .IngressErrors ,
550
589
StorageClasses : storageClasses ,
0 commit comments