Files
manifests/apps/openfga.nix
T

52 lines
1.3 KiB
Nix

{ lib, applib, config, ... }:
let
cfg = config.apps.openfga;
env = config.apps.env;
namespace = "${env}-openfga";
project = "aux";
cluster = "https://kubernetes.default.svc";
vs = ../values/openfga;
# values = applib.appValues ../values/openfga {};
values = with lib;
attrsets.mergeAttrsList (lists.flatten [
(kube.fromYAML (builtins.readFile "${vs}/values.yaml"))
(kube.fromYAML (builtins.readFile "${vs}/values-${env}.yaml"))
[ cfg.values ]
]);
kustomize = r:
if r.kind == "Job" then
lib.attrsets.recursiveUpdate r { spec.backoffLimit = 2; }
else r;
in
{
options.apps.openfga = applib.appOptions {};
config = applib.appConfig cfg "${env}-openfga" {
inherit namespace;
inherit project;
destination.server = cluster;
helm.releases."${env}-openfga" = {
inherit values;
chart = lib.helm.downloadHelmChart {
repo = "https://openfga.github.io/helm-charts";
chart = "openfga";
version = "0.2.12";
chartHash = "sha256-7yLcw9/oNPvCePrtTJwKAG88t0Ym5Dl/S83Gz+gQdDU=";
};
transformer = rs: builtins.map (x: kustomize x) rs;
};
annotations = {};
resources = {
services.poop.spec = {
};
};
};
}