Plugins

Extend KubeGraf with plugins for popular Kubernetes ecosystem tools. Plugins add new views, commands, and integrations while maintaining the same fast, intuitive experience.

Available Plugins

Helm Built-in

View and manage Helm releases across your cluster.

  • List releases with status and revision
  • View release history and values
  • Rollback to previous versions
  • Uninstall releases

ArgoCD Built-in

Monitor ArgoCD applications and sync status.

  • View application health and sync status
  • Trigger sync operations
  • View application resources
  • Access ArgoCD UI links

Flux Built-in

Monitor Flux GitOps resources and reconciliation.

  • View GitRepositories and HelmRepositories
  • Monitor Kustomizations and HelmReleases
  • Check reconciliation status
  • Trigger manual reconciliation

Istio

Visualize Istio service mesh configuration.

  • View VirtualServices and DestinationRules
  • Monitor Gateway configurations
  • Visualize traffic routing
  • Check sidecar injection status

Cert-Manager

Monitor TLS certificates and issuers.

  • View Certificate status and expiration
  • Monitor CertificateRequests
  • Check Issuer/ClusterIssuer status
  • Trigger certificate renewal

Enabling Plugins

# config.yaml
plugins:
  enabled:
    - helm
    - argocd
    - flux
    - istio
    - cert-manager

Or enable via command line:

# Enable a plugin
kubegraf plugins enable argocd

# Disable a plugin
kubegraf plugins disable argocd

# List available plugins
kubegraf plugins list

Plugin Configuration

Each plugin can have specific configuration:

Helm Plugin

plugins:
  helm:
    # Path to helm binary (default: helm in PATH)
    binary: "/usr/local/bin/helm"
    # Show all namespaces by default
    allNamespaces: true

ArgoCD Plugin

plugins:
  argocd:
    # ArgoCD server URL (auto-detected if not set)
    server: "https://argocd.example.com"
    # Use grpc-web for communication
    grpcWeb: true
    # Authentication token (or use ARGOCD_AUTH_TOKEN env)
    # token: ""

Flux Plugin

plugins:
  flux:
    # Flux namespace (default: flux-system)
    namespace: "flux-system"
    # Show suspended resources
    showSuspended: true

Istio Plugin

plugins:
  istio:
    # Istio system namespace
    namespace: "istio-system"
    # Show proxy status
    showProxyStatus: true

Using Plugins

Terminal UI

Plugins add new tabs to the TUI. Access them with number keys or Tab:

KeyPlugin Tab
8Helm Releases
9ArgoCD Apps
0Flux Resources

Web Dashboard

Plugins appear in the sidebar under their respective sections. Each plugin provides dedicated views and actions.

CLI Commands

Plugins extend the CLI with new commands:

# Helm commands
kubegraf helm list
kubegraf helm status my-release
kubegraf helm rollback my-release 2

# ArgoCD commands
kubegraf argocd list
kubegraf argocd sync my-app
kubegraf argocd diff my-app

# Flux commands
kubegraf flux list
kubegraf flux reconcile kustomization my-app

Plugin Actions

Helm Actions

KeyAction
EnterView release details
vView values
hView history
rRollback
DeleteUninstall

ArgoCD Actions

KeyAction
EnterView application
sSync application
dView diff
oOpen in ArgoCD UI
rRefresh

Flux Actions

KeyAction
EnterView resource
rReconcile
pSuspend/Resume
lView logs

Developing Plugins

KubeGraf supports custom plugins written in Go. Plugins implement the Plugin interface:

// Plugin interface
type Plugin interface {
    // Metadata
    Name() string
    Version() string
    Description() string

    // Lifecycle
    Init(ctx context.Context, client kubernetes.Interface) error
    Shutdown() error

    // Resources
    Resources() []Resource
    GetResource(kind, namespace, name string) (*Resource, error)
    ListResources(kind, namespace string) ([]Resource, error)

    // Actions
    Actions(resource *Resource) []Action
    Execute(action string, resource *Resource) error

    // UI (optional)
    Columns(kind string) []Column
    Render(resource *Resource) string
}

See the Plugin Development Guide for details.

Tip: Use kubegraf plugins create my-plugin to scaffold a new plugin project.

Installing Third-Party Plugins

# Install from GitHub
kubegraf plugins install github.com/user/kubegraf-plugin

# Install from local path
kubegraf plugins install ./my-plugin

# Update a plugin
kubegraf plugins update my-plugin

# Remove a plugin
kubegraf plugins remove my-plugin

Plugin Directory

Plugins are stored in: