in pkg/cmd/dump.go [90:210]
func dumpNamespace(ctx context.Context, c client.Client, ns string, out io.Writer, logLines int) error {
camelClient, err := versioned.NewForConfig(c.GetConfig())
if err != nil {
return err
}
// Integrations
its, err := camelClient.CamelV1().Integrations(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d integrations:\n", len(its.Items))
for _, integration := range its.Items {
ref := integration
pdata, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(pdata))
}
// IntegrationKits
iks, err := camelClient.CamelV1().IntegrationKits(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d integration kits:\n", len(iks.Items))
for _, ik := range iks.Items {
ref := ik
pdata, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(pdata))
}
// ConfigMaps
cms, err := c.CoreV1().ConfigMaps(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d ConfigMaps:\n", len(cms.Items))
for _, cm := range cms.Items {
ref := cm
pdata, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(pdata))
}
// Deployments
deployments, err := c.AppsV1().Deployments(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d deployments:\n", len(deployments.Items))
for _, deployment := range deployments.Items {
ref := deployment
data, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(data))
}
// IntegrationPlatforms
pls, err := camelClient.CamelV1().IntegrationPlatforms(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d platforms:\n", len(pls.Items))
for _, p := range pls.Items {
ref := p
pdata, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(pdata))
}
// CamelCatalogs
cat, err := camelClient.CamelV1().CamelCatalogs(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "Found %d catalogs:\n", len(pls.Items))
for _, c := range cat.Items {
ref := c
cdata, err := kubernetes.ToYAML(&ref)
if err != nil {
return err
}
fmt.Fprintf(out, "---\n%s\n---\n", string(cdata))
}
// Pods and Logs
lst, err := c.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{})
if err != nil {
return err
}
fmt.Fprintf(out, "\nFound %d pods:\n", len(lst.Items))
for _, pod := range lst.Items {
fmt.Fprintf(out, "name=%s\n", pod.Name)
dumpConditions(" ", pod.Status.Conditions, out)
fmt.Fprintf(out, " logs:\n")
var allContainers []v1.Container
allContainers = append(allContainers, pod.Spec.InitContainers...)
allContainers = append(allContainers, pod.Spec.Containers...)
for _, container := range allContainers {
pad := " "
fmt.Fprintf(out, "%s%s\n", pad, container.Name)
err := dumpLogs(ctx, c, fmt.Sprintf("%s> ", pad), ns, pod.Name, container.Name, out, logLines)
if err != nil {
fmt.Fprintf(out, "%sERROR while reading the logs: %v\n", pad, err)
}
}
}
return nil
}