---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: &app kubevirt
  namespace: flux-system
spec:
  targetNamespace: kubevirt
  dependsOn:
    - name: openebs
  path: ./deploy
  prune: true
  sourceRef:
    kind: GitRepository
    name: kubevirt
  wait: true
  interval: 30m
  retryInterval: 1m
  timeout: 5m
  patches:
    # namespace is managed separately by main ks, no need for this ks to also manage it, KubeVirt bundles namespace into kubevirt-operator.yaml
    - patch: |
        $patch: delete
        apiVersion: v1
        kind: Namespace
        metadata:
          name: kubevirt
      target:
        kind: Namespace
        name: kubevirt
    - patch: |
        apiVersion: kubevirt.io/v1
        kind: KubeVirt
        metadata:
          name: not-used
        spec:
          configuration:
            developerConfiguration:
              featureGates:
              - CPUNodeDiscovery
              - ExpandDisks
            vmStateStorageClass: openebs-hostpath
      target:
        group: kubevirt.io
        kind: KubeVirt