let appName = "tclip"; tclipImage = "git.gmem.ca/arch/tclip:arm"; in { kubernetes.resources.statefulSets.tclip = { metadata.namespace = "tclip"; spec = { serviceName = appName; selector.matchLabels.app = appName; template = { metadata.labels.app = appName; spec = { containers = { tclip = { image = tclipImage; imagePullPolicy = "Always"; env = [ { name = "DATA_DIR"; value = "/state"; } { name = "USE_FUNNEL"; value = "true"; } ]; envFrom = [{secretRef.name = "tclip";}]; volumeMounts = [ { name = "state"; mountPath = "/state"; } ]; }; }; }; }; volumeClaimTemplates = [ { metadata.name = "state"; spec = { storageClassName = "nfs-client"; accessModes = ["ReadWriteOnce"]; resources.requests.storage = "512Mi"; }; } ]; }; }; }