diff --git a/infra/_modules/nixos/profiles/k3s-addons.nix b/infra/_modules/nixos/profiles/k3s-addons.nix index 47b3f29..7933881 100644 --- a/infra/_modules/nixos/profiles/k3s-addons.nix +++ b/infra/_modules/nixos/profiles/k3s-addons.nix @@ -6,15 +6,51 @@ k3s = { manifests = { flux = { - source = pkgs.runCommand "flux-install-manifest" { - nativeBuildInputs = [ pkgs.fluxcd ]; - } '' + source = pkgs.runCommand "flux-install-manifest" {} '' mkdir -p $out - flux install \ + ${pkgs.fluxcd}/bin/flux install \ --components=source-controller,kustomize-controller,helm-controller \ --export > $out/flux.yaml ''; }; + gitops = { + content = [ + { + apiVersion = "source.toolkit.fluxcd.io/v1"; + kind = "GitRepository"; + metadata = { + name = "gitops"; + namespace = "flux-system"; + }; + spec = { + interval = "1m"; + # TODO param? + # url = "http://forgejo-http.forgejo.svc.cluster.local:3000/khuedoan/cloudlab"; + url = "https://code.khuedoan.com/khuedoan/cloudlab"; + ref = { + branch = "master"; + }; + }; + } + { + apiVersion = "kustomize.toolkit.fluxcd.io/v1"; + kind = "Kustomization"; + metadata = { + name = "platform"; + namespace = "flux-system"; + }; + spec = { + sourceRef = { + kind = "GitRepository"; + name = "gitops"; + }; + path = "./platform/production"; + prune = true; + interval = "30m"; + }; + } + ]; + }; }; }; };