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.

Features Implemented

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

Implementation Details

  • 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

Documentation

  • Added a README.md file with comprehensive documentation
  • Added a documentation file for the Keep documentation site

Testing

  • Added unit tests for all functionality
  • Tested with a local Kubernetes cluster running Flux CD

/fixes #4632 /claim #4632

Claim

Total prize pool $75
Total paid $75
Status Approved
Submitted May 07, 2025
Last updated May 07, 2025

Contributors

KU

Kunal Darekar

@Kunal-Darekar

100%

Sponsors

KE

Keep (YC W23)

@keephq

$75 paid