---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/gitrepository-source-v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: homelab
  namespace: flux-system
spec:
  interval: 30m
  ref:
    branch: main
  secretRef:
    name: git-deploy-key
  url: ssh://forgejo@git.hsn.dev/jahanson/homelab
  ignore: |
    # exclude all
    /*
    # include gitops dirs
    !/kubernetes
---
# 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: cluster
  namespace: flux-system
spec:
  interval: 30m
  path: ./kubernetes/flux
  prune: true
  wait: false
  sourceRef:
    kind: GitRepository
    name: homelab
  decryption:
    provider: sops
    secretRef:
      name: sops-age
  postBuild:
    substituteFrom:
      - kind: ConfigMap
        name: cluster-settings
        optional: false
      - kind: Secret
        name: cluster-secrets
        optional: false