This PR adds a new provider for Flux CD, similar to the existing ArgoCD provider. Flux CD is a GitOps tool for Kubernetes that provides continuous delivery through automated deployment, monitoring, and management of applications.
Topology Integration Pull topology data from Flux CD resources (GitRepositories, HelmRepositories, Kustomizations, HelmReleases) Create a graph of services with proper dependencies Categorize resources as “source” or “deployment”
Alert Integration Pull alerts from Kubernetes events related to Flux CD controllers Pull alerts from resource status conditions (non-ready resources) Determine alert severity based on event reason Provide detailed alert information
Authentication Options Support for kubeconfig file content Support for API server URL and token Support for in-cluster configuration Support for default kubeconfig file
Provider Metadata Get Flux CD version Get installed controllers Get resource counts
Created a new provider class FluxcdProvider that extends BaseTopologyProvider Implemented authentication with Kubernetes API Implemented methods to get Flux CD resources (GitRepositories, Kustomizations, HelmReleases) Implemented the pull_topology method to create a topology map Implemented the get_alerts method to pull alerts from Flux CD Added comprehensive error handling and logging Added unit tests for all functionality Added documentation
Added a README.md file with comprehensive documentation Added a documentation file for the Keep documentation site
Added unit tests for all functionality Tested with a local Kubernetes cluster running Flux CD
/fixes #4632 /claim #4632
Kunal Darekar
@Kunal-Darekar
Keep (YC W23)
@keephq