Skip to content

Commit

Permalink
crd client
Browse files Browse the repository at this point in the history
  • Loading branch information
marccampbell committed Jul 17, 2019
1 parent f693073 commit 6fc6db0
Showing 1 changed file with 34 additions and 6 deletions.
40 changes: 34 additions & 6 deletions pkg/collect/cluster_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,21 @@ import (
"fmt"

corev1 "k8s.io/api/core/v1"
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
apiextensionsv1beta1clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"sigs.k8s.io/controller-runtime/pkg/client/config"
)

type ClusterResourcesOutput struct {
Namespaces []byte `json:"cluster-resources/namespaces.json,omitempty"`
Pods map[string][]byte `json:"cluster-resources/pods,omitempty"`
Services map[string][]byte `json:"cluster-resources/services,omitempty"`
Deployments map[string][]byte `json:"cluster-resources/deployments,omitempty"`
Ingress map[string][]byte `json:"cluster-resources/ingress,omitempty"`
StorageClasses []byte `json:"cluster-resources/storage-classes.json,omitempty"`
Namespaces []byte `json:"cluster-resources/namespaces.json,omitempty"`
Pods map[string][]byte `json:"cluster-resources/pods,omitempty"`
Services map[string][]byte `json:"cluster-resources/services,omitempty"`
Deployments map[string][]byte `json:"cluster-resources/deployments,omitempty"`
Ingress map[string][]byte `json:"cluster-resources/ingress,omitempty"`
StorageClasses []byte `json:"cluster-resources/storage-classes.json,omitempty"`
CustomResourceDefinitions []byte `json:"cluster-resources/custom-resource-definitions.json,omitempty"`
}

func ClusterResources() error {
Expand Down Expand Up @@ -78,6 +81,17 @@ func ClusterResources() error {
}
clusterResourcesOutput.StorageClasses = storageClasses

// crds
crdClient, err := apiextensionsv1beta1.NewForConfig(cfg)
if err != nil {
return err
}
customResourceDefinitions, err := crds(crdClient)
if err != nil {
return err
}
clusterResourcesOutput.CustomResourceDefinitions = customResourceDefinitions

b, err := json.MarshalIndent(clusterResourcesOutput, "", " ")
if err != nil {
return err
Expand Down Expand Up @@ -195,3 +209,17 @@ func storageClasses(client *kubernetes.Clientset) ([]byte, error) {

return b, nil
}

func crds(client *apiextensionsv1beta1clientset.ApiextensionsV1beta1Client) ([]byte, error) {
crds, err := client.CustomResourceDefinitions().List(metav1.ListOptions{})
if err != nil {
return nil, err
}

b, err := json.MarshalIndent(crds.Items, "", " ")
if err != nil {
return nil, err
}

return b, nil
}

0 comments on commit 6fc6db0

Please sign in to comment.