Skip to content

Commit

Permalink
Feature/private chatgpt (#134)
Browse files Browse the repository at this point in the history
* added priv chatgpt

* added priv chatgpt

* added priv chatgpt

* added priv chatgpt

* added priv chatgpt

* added priv chatgpt

* added priv chatgpt

* working helm chart install, missing ingress now

* working helm chart install, missing ingress now

* working helm chart install, missing ingress now

* working helm chart install, missing ingress now

* ollama

* ollama

* ollama

* ollama

* ollama

* ollama

* ollama

* ollama

* ollama

* ollama

* added storage

* added storage

* added storage

* added storage

* added storage

* added storage

* Install ollama

Signed-off-by: Carlos Ravelo <[email protected]>

* fix the bitwarden and hass subdomains

Signed-off-by: Carlos Ravelo <[email protected]>

* added secrets

* added secrets

* added secrets

* added secrets

* added secrets

* added secrets

* added secrets

* added secrets

* added secrets

* Enable GPU

Signed-off-by: Carlos Ravelo <[email protected]>

* added open web ui

* added open web ui chart

* added secrets

* added secrets

* added open web ui chart

* added open web ui chart

* added open web ui chart

* added open web ui chart

* added open web ui chart

* Remove OpenWebui.yaml from kustomization.yaml

* Update kustomization.yaml to include OpenWebui.yaml

* Commented out existingSecret in OpenWebui.yaml

* Update annotations in OpenWebui.yaml

* Remove OpenWebui.yaml from kustomization.yaml

* Update kustomization.yaml file

* Add llama2 model and update logo icon URL

* Add more memory to tdarr

Signed-off-by: Carlos Ravelo <[email protected]>

* Add more memory to tdarr

Signed-off-by: Carlos Ravelo <[email protected]>

* Add more memory to tdarr

Signed-off-by: Carlos Ravelo <[email protected]>

* Added annotations to the secrets so they are copied to default

Signed-off-by: Carlos Ravelo <[email protected]>

* Added kustomizations for Mealie and Skooner

Signed-off-by: Carlos Ravelo <[email protected]>

* Adding open web ui to test it

Signed-off-by: Carlos Ravelo <[email protected]>

* Adding open web ui to test it

Signed-off-by: Carlos Ravelo <[email protected]>

* Name must be lowercase

Signed-off-by: Carlos Ravelo <[email protected]>

* Fixd the open web ui deployment

Signed-off-by: Carlos Ravelo <[email protected]>

* added jq as a requirement

Signed-off-by: Carlos Ravelo <[email protected]>

* add secrets

* install ollama

Signed-off-by: Carlos Ravelo <[email protected]>

* remove gpu

Signed-off-by: Carlos Ravelo <[email protected]>

* try to make cluster versions

Signed-off-by: Carlos Ravelo <[email protected]>

* typo

Signed-off-by: Carlos Ravelo <[email protected]>

* typo

Signed-off-by: Carlos Ravelo <[email protected]>

* added uncensored

* Added docs for rafa

Signed-off-by: Carlos Ravelo <[email protected]>

* added my documents

* Increase the limits

Signed-off-by: Carlos Ravelo <[email protected]>

* fix skooner

Signed-off-by: Carlos Ravelo <[email protected]>

* fix path to docs

Signed-off-by: Carlos Ravelo <[email protected]>

* reset GitRepoSync.yaml

Signed-off-by: Carlos Ravelo <[email protected]>

---------

Signed-off-by: Carlos Ravelo <[email protected]>
Co-authored-by: Rafael Gil <[email protected]>
Co-authored-by: Carlos Ravelo <[email protected]>
  • Loading branch information
3 people authored Apr 14, 2024
1 parent 4bc645b commit 3c0dcce
Show file tree
Hide file tree
Showing 34 changed files with 539 additions and 170 deletions.
12 changes: 0 additions & 12 deletions .idea/kubernetes-settings.xml

This file was deleted.

23 changes: 23 additions & 0 deletions apps/Mealie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: mealie
namespace: default
spec:
interval: 5m
path: ./apps/mealie/base/
prune: true
sourceRef:
kind: GitRepository
name: k8s-infrastructure
namespace: kube-system
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: mealie
namespace: default
postBuild:
substituteFrom:
- kind: Secret
name: secrets
54 changes: 54 additions & 0 deletions apps/Ollama.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: ollama
namespace: kube-system
spec:
interval: 1h0m0s
url: "https://otwld.github.io/ollama-helm"

---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: ollama
namespace: default
spec:
interval: 5m
chart:
spec:
chart: ollama
version: 0.20.0
sourceRef:
kind: HelmRepository
name: ollama
namespace: kube-system
interval: 5m
values:
image:
pullPolicy: Always
ollama:
models:
- llama2
- llama2-uncensored
ingress:
enabled: true
hosts:
- host: ai.${CLUSTER_DOMAIN_NAME}
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- ai.${CLUSTER_DOMAIN_NAME}
secretName: internal-ingress-cert
annotations:
kubernetes.io/ingress.class: "nginx"
forecastle.stakater.com/appName: "ollama"
forecastle.stakater.com/expose: "true"
forecastle.stakater.com/icon: "https://ollama.com/public/ollama.png"
persistentVolume:
enabled: true
existingClaim: yasr-volume
subPath: configs/ollama
30 changes: 30 additions & 0 deletions apps/OpenAIWhisper.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: truecharts
namespace: kube-system
spec:
interval: 1m
url: "https://charts.truecharts.org"
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: wyoming-whisper
namespace: default
spec:
interval: 5m
chart:
spec:
chart: wyoming-whisper
version: "5.0.0"
sourceRef:
kind: HelmRepository
name: truecharts
namespace: kube-system
#https://github.com/truecharts/charts/blob/master/charts/stable/wyoming-whisper/values.yaml
values:
key1: value1
key2:
subkey1: value2
subkey2: value3
23 changes: 23 additions & 0 deletions apps/OpenWebUI.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: open-webui
namespace: default
spec:
interval: 5m
path: ./apps/open-webui/${CLUSTER_NAME}
prune: true
sourceRef:
kind: GitRepository
name: k8s-infrastructure
namespace: kube-system
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: open-webui
namespace: default
postBuild:
substituteFrom:
- kind: Secret
name: secrets
23 changes: 23 additions & 0 deletions apps/Skooner.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: skooner
namespace: default
spec:
interval: 5m
path: ./apps/skooner/
prune: true
sourceRef:
kind: GitRepository
name: k8s-infrastructure
namespace: kube-system
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: skooner
namespace: default
postBuild:
substituteFrom:
- kind: Secret
name: secrets
82 changes: 17 additions & 65 deletions apps/Tdarr.yaml
Original file line number Diff line number Diff line change
@@ -1,71 +1,23 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: tdarr
namespace: default
spec:
interval: 5m
chart:
spec:
chart: tdarr
version: 5.0.1
sourceRef:
kind: HelmRepository
name: k8s-home-lab
namespace: kube-system
interval: 5m
# valuesFrom:
# - kind: Secret
# name: radarr-values
# optional: false
values:
image:
tag: latest
pullPolicy: Always
env:
PUID: "1000"
PGID: "1000"
TZ: "${CLUSTER_TIME_ZONE}"
node:
enabled: true
image:
tag: latest
pullPolicy: Always
persistence:
config:
enabled: true
type: pvc
existingClaim: yasr-volume
mountPath: null
subPath:
- path: configs/tdarr/
mountPath: /app/configs
- path: configs/tdarr/
mountPath: /app/server
media:
enabled: true
type: pvc
existingClaim: main-volume
subPath: public
shared:
enabled: true
type: emptyDir
ingress:
main:
enabled: true
hosts:
- host: encoder.${CLUSTER_DOMAIN_NAME}
paths:
- path: /
pathType: ImplementationSpecific
tls:
- hosts:
- encoder.${CLUSTER_DOMAIN_NAME}
secretName: internal-ingress-cert
annotations:
kubernetes.io/ingress.class: "nginx"
forecastle.stakater.com/appName: "Encoder"
forecastle.stakater.com/group: "Media"
forecastle.stakater.com/expose: "true"
forecastle.stakater.com/icon: "https://movies.${CLUSTER_DOMAIN_NAME}/Content/Images/logo.png"
path: ./apps/tdarr/base/
prune: true
sourceRef:
kind: GitRepository
name: k8s-infrastructure
namespace: kube-system
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: tdarr
namespace: default
postBuild:
substituteFrom:
- kind: Secret
name: secrets
23 changes: 23 additions & 0 deletions apps/Transmission.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: transmission
namespace: default
spec:
interval: 5m
path: ./apps/transmission/base/
prune: true
sourceRef:
kind: GitRepository
name: k8s-infrastructure
namespace: kube-system
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: transmission
namespace: default
postBuild:
substituteFrom:
- kind: Secret
name: secrets
33 changes: 16 additions & 17 deletions apps/mealie/base/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: mealie
namespace: default
labels:
app.kubernetes.io/name: mealie
spec:
Expand All @@ -16,15 +17,6 @@ spec:
labels:
app.kubernetes.io/name: mealie
spec:
volumes:
- name: yasr-volume
persistentVolumeClaim:
claimName: yasr-volume
- name: tz-config
hostPath:
path: /etc/localtime
dnsPolicy: ClusterFirst
dnsConfig: {}
containers:
- name: mealie
image: ghcr.io/mealie-recipes/mealie:latest
Expand Down Expand Up @@ -52,6 +44,10 @@ spec:
value: ${EMAIL}
- name: SMTP_PASSWORD
value: ${SMTP_PASSWORD}
ports:
- name: http
containerPort: 9000
protocol: TCP
livenessProbe:
httpGet:
scheme: HTTP
Expand All @@ -67,13 +63,16 @@ spec:
cpu: 500m
memory: 500Mi
volumeMounts:
- mountPath: /etc/localtime
name: tz-config
- name: tz-config
mountPath: /etc/localtime
readOnly: true
- mountPath: /app/data
name: yasr-volume
- name: yasr-volume
mountPath: /app/data
subPath: configs/mealie
ports:
- name: http
containerPort: 9000
protocol: TCP
volumes:
- name: yasr-volume
persistentVolumeClaim:
claimName: yasr-volume
- name: tz-config
hostPath:
path: /etc/localtime
12 changes: 6 additions & 6 deletions apps/mealie/base/ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
Expand All @@ -9,21 +8,22 @@ metadata:
annotations:
forecastle.stakater.com/appName: "Mealie"
forecastle.stakater.com/expose: "true"
# forecastle.stakater.com/group: "Media"
forecastle.stakater.com/icon: "https://raw.githubusercontent.com/hay-kot/mealie/mealie-next/frontend/static/icon.png"
spec:
ingressClassName: nginx
tls:
- hosts:
- recipes.${CLUSTER_DOMAIN_NAME}
secretName: internal-ingress-cert
rules:
- host: recipes.${CLUSTER_DOMAIN_NAME}
http:
paths:
- path: /
pathType: Prefix
pathType: ImplementationSpecific
backend:
service:
name: mealie
port:
name: http
tls:
- hosts:
- recipes.${CLUSTER_DOMAIN_NAME}
secretName: internal-ingress-cert
1 change: 0 additions & 1 deletion apps/mealie/base/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: default
Expand Down
Loading

0 comments on commit 3c0dcce

Please sign in to comment.