How to use StormForge and Flux together

Use a webhook-based apply method, and configure drift detection ignore rules for HPAs

StormForge and Flux are fully compatible:

  • Flux-managed workloads: Recommendations are injected into Pods at admission time when using a webhook-based apply method. This leaves Flux’s reconciliation of the parent workload resource undisturbed.
  • Workloads with an HPA: StormForge writes directly to spec.metrics. driftDetection.ignore is required, otherwise Flux overwrites those changes on each reconciliation.

Configure a webhook-based apply method

Set the live.stormforge.io/apply.method annotation to a webhook-based value:

live.stormforge.io/apply.method: WebhookImmediateRollout

See Apply method for the full list of webhook rollout options and how to enable the webhook on the Applier.

Configure driftDetection.ignore for HPAs

Configure a patch in your root Flux Kustomization to propagate the setting to every HelmRelease:

apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: flux-system
  namespace: flux-system
spec:
  patches:
  - target:
      kind: HelmRelease
    patch: |
      apiVersion: helm.toolkit.fluxcd.io/v2
      kind: HelmRelease
      metadata:
        name: not-used
      spec:
        driftDetection:
          ignore:
          - paths: ["/spec/metrics"]
            target:
              kind: HorizontalPodAutoscaler

The patch reaches every HelmRelease managed by the root Kustomization, including ones added later.

If you prefer to configure this per HelmRelease, or if your cluster does not use a root Kustomization, add the driftDetection.ignore block directly to each HelmRelease that manages HPAs:

apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: <your-helm-release>
  namespace: <your-namespace>
spec:
  driftDetection:
    ignore:
    - paths: ["/spec/metrics"]
      target:
        kind: HorizontalPodAutoscaler

For more on the underlying mechanism, see:

Last modified June 23, 2026