{ 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 = { }; }; }; }