Kollect is a tool for collecting and displaying Kubernetes cluster data. It provides a web interface to visualize various Kubernetes resources and allows exporting the collected data as a JSON file.
- Collects data from Kubernetes clusters
- Displays data in a web interface
- Supports exporting data as a JSON file
To install Kollect, clone the repository and build the binary:
git clone https://github.com/michaelcade/kollect.git
cd kollect
go build -o kollect ./cmd/kollect
Run the Kollect binary with the desired flags:
./kollect [flags]
-storage
: Collect only storage-related objects-kubeconfig
: Path to the kubeconfig file (default:$HOME/.kube/config
)-browser
: Open the web interface in a browser-output
: Output file to save the collected data-inventory
: Type of inventory to collect (kubernetes, aws, azure, gcp) (default: kubernetes)-help
: Show help message
Collect all data and open the web interface in a browser:
./kollect -browser
Collect only storage-related objects and save the data to a file:
./kollect -storage -output data.json
The web interface provides a visual representation of the collected data. It includes tables for various Kubernetes resources such as Nodes, Namespaces, Pods, Deployments, StatefulSets, Services, PersistentVolumes, PersistentVolumeClaims, StorageClasses, and VolumeSnapshotClasses.
You can export the collected data as a JSON file by clicking the "Export Data" button in the web interface.
To contribute to Kollect, follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Make your changes
- Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a new Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
- Material UI for the web interface components
- HTMX and Hyperscript for dynamic content loading
For any questions or feedback, please open an issue on the GitHub repository.