let appName = "duplikate"; appImage = "git.gmem.ca/arch/duplikate:latest"; functions = import ./functions.nix {}; in { lib, config, kubenix, ... }: { kubernetes.resources.deployments.duplikate = { metadata.namespace = "duplikate"; spec = { selector.matchLabels.app = appName; template = { metadata.labels.app = appName; spec = { containers = { duplikate = { image = appImage; env.REDIS_URL.value = "redis://duplikate-redis-master"; envFrom = [ {secretRef.name = "duplikate";} ]; resources = { requests = { cpu = "10m"; memory = "32Mi"; }; limits = { cpu = "1"; memory = "128Mi"; }; }; }; }; }; }; }; }; kubernetes.resources."secrets.infisical.com"."v1alpha1".InfisicalSecret.duplikate = functions.secret "duplikate"; kubernetes.helm.releases.duplikate-redis = { namespace = "duplikate"; chart = kubenix.lib.helm.fetch { repo = "https://charts.bitnami.com/bitnami"; chart = "redis"; version = "18.6.1"; sha256 = "CyvGHc1v1BtbzDx6hbbPah2uWpUhlNIUQowephT6hmM="; }; values = { auth.enabled = false; architecture = "standalone"; image = { registry = "registry.redict.io"; repository = "redict"; tag = "7.3-compat"; digest = "sha256:91fcd3124ddb77a098ec0da93c07f99b02b178ab356fe51aa0839aaa62891208"; }; }; }; kubernetes.resources.statefulSets.duplikate-redis-master = { metadata.namespace = "duplikate"; spec = { template.spec.volumes.start-scripts.configMap.name = lib.mkForce "duplikate-redis-scripts-a4596108c1"; template.spec.volumes.health.configMap.name = lib.mkForce "duplikate-redis-health-05691b979f"; template.spec.volumes.config.configMap.name = lib.mkForce "duplikate-redis-configuration-4712c8e029"; }; }; }