commit a84936bc63ac8bab788cc7276e98d169f1cb3dc6 Author: James Andariese Date: Sun Oct 6 23:16:50 2024 -0500 initial import diff --git a/ingress.yaml b/ingress.yaml new file mode 100644 index 0000000..4fd9d27 --- /dev/null +++ b/ingress.yaml @@ -0,0 +1,22 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ${deployment:=fooocus} + namespace: ${namespace:=fooocus} + annotations: + haproxy-ingress.github.io/rewrite: / + haproxy-ingress.github.io/auth-url: ${oauth2_proxy_base}/auth + haproxy-ingress.github.io/auth-signin: ${oauth2_proxy_base}/start?rd=https://%[hdr(host)]%[path] +spec: + ingressClassName: haproxy + rules: + - host: ${hostname} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: ${deployment} + port: + name: http diff --git a/sts.yaml b/sts.yaml new file mode 100644 index 0000000..3e86773 --- /dev/null +++ b/sts.yaml @@ -0,0 +1,81 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app: ${deployment:=fooocus} + name: ${deployment:=fooocus} + namespace: ${deployment:=fooocus} +spec: + replicas: 1 + serviceName: ${deployment:=fooocus} + selector: + matchLabels: + app: ${deployment:=fooocus} + template: + metadata: + labels: + app: ${deployment:=fooocus} + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + containers: + - name: ${deployment:=fooocus} + image: ghcr.io/lllyasviel/fooocus:latest + env: + - name: CMDARGS + value: --listen + - name: DATADIR + value: /content/data + - name: config_path + value: /content/data/config.txt + - name: config_example_path + value: /content/data/config_modification_tutorial.txt + - name: path_checkpoints + value: /content/data/models/checkpoints/ + - name: path_loras + value: /content/data/models/loras/ + - name: path_embeddings + value: /content/data/models/embeddings/ + - name: path_vae_approx + value: /content/data/models/vae_approx/ + - name: path_upscale_models + value: /content/data/models/upscale_models/ + - name: path_inpaint + value: /content/data/models/inpaint/ + - name: path_controlnet + value: /content/data/models/controlnet/ + - name: path_clip_vision + value: /content/data/models/clip_vision/ + - name: path_fooocus_expansion + value: /content/data/models/prompt_expansion/fooocus_expansion/ + - name: path_outputs + value: /content/app/outputs/ + resources: + requests: + cpu: "${cpu_request:=4}" + memory: "${memory_request:=23Gi}" + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + ports: + - containerPort: 7865 + name: http + protocol: TCP + volumeMounts: + - mountPath: /content/data + name: ${deployment:=fooocus}-data + runtimeClassName: "${runtime_class:=nvidia}" + nodeSelector: + nvidia.com/gpu.family: pascal + restartPolicy: Always + terminationGracePeriodSeconds: 300 + volumeClaimTemplates: + - metadata: + name: ${deployment:=fooocus}-data + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: "${storage_class:=longhorn}" + resources: + requests: + storage: ${volume_size:=256Gi} diff --git a/svc.yaml b/svc.yaml new file mode 100644 index 0000000..9628e16 --- /dev/null +++ b/svc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: ${deployment:=fooocus} + name: ${deployment:=fooocus} + namespace: ${namespace:=fooocus} +spec: + ports: + - port: 80 + targetPort: http + name: http + selector: + app: ${deployment:=fooocus} + type: ClusterIP