this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(infra): GitOps bootstrap

Khue Doan bb468405 d39aae6b

+40 -4
+40 -4
infra/_modules/nixos/profiles/k3s-addons.nix
··· 6 6 k3s = { 7 7 manifests = { 8 8 flux = { 9 - source = pkgs.runCommand "flux-install-manifest" { 10 - nativeBuildInputs = [ pkgs.fluxcd ]; 11 - } '' 9 + source = pkgs.runCommand "flux-install-manifest" {} '' 12 10 mkdir -p $out 13 - flux install \ 11 + ${pkgs.fluxcd}/bin/flux install \ 14 12 --components=source-controller,kustomize-controller,helm-controller \ 15 13 --export > $out/flux.yaml 16 14 ''; 15 + }; 16 + gitops = { 17 + content = [ 18 + { 19 + apiVersion = "source.toolkit.fluxcd.io/v1"; 20 + kind = "GitRepository"; 21 + metadata = { 22 + name = "gitops"; 23 + namespace = "flux-system"; 24 + }; 25 + spec = { 26 + interval = "1m"; 27 + # TODO param? 28 + # url = "http://forgejo-http.forgejo.svc.cluster.local:3000/khuedoan/cloudlab"; 29 + url = "https://code.khuedoan.com/khuedoan/cloudlab"; 30 + ref = { 31 + branch = "master"; 32 + }; 33 + }; 34 + } 35 + { 36 + apiVersion = "kustomize.toolkit.fluxcd.io/v1"; 37 + kind = "Kustomization"; 38 + metadata = { 39 + name = "platform"; 40 + namespace = "flux-system"; 41 + }; 42 + spec = { 43 + sourceRef = { 44 + kind = "GitRepository"; 45 + name = "gitops"; 46 + }; 47 + path = "./platform/production"; 48 + prune = true; 49 + interval = "30m"; 50 + }; 51 + } 52 + ]; 17 53 }; 18 54 }; 19 55 };