Compare commits
1 Commits
renovate/r
...
dad1262f0e
| Author | SHA1 | Date | |
|---|---|---|---|
| dad1262f0e |
@@ -139,7 +139,7 @@ spec:
|
|||||||
skipuninstall: true
|
skipuninstall: true
|
||||||
config:
|
config:
|
||||||
enabled: true
|
enabled: true
|
||||||
size: 5Gi
|
size: 1Gi
|
||||||
storageClass: mayastor-single-hdd
|
storageClass: mayastor-single-hdd
|
||||||
skipuninstall: true
|
skipuninstall: true
|
||||||
envFromSecrets:
|
envFromSecrets:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: gitea
|
chart: gitea
|
||||||
version: 12.4.0
|
version: 12.1.2
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: gitea-charts
|
name: gitea-charts
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: redis
|
chart: redis
|
||||||
version: 23.1.3
|
version: 21.2.13
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: bitnami
|
name: bitnami
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: immich
|
chart: immich
|
||||||
version: 1.0.2
|
version: 0.7.2
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: secustor
|
name: secustor
|
||||||
|
|||||||
@@ -4,9 +4,8 @@ resources:
|
|||||||
- gitea
|
- gitea
|
||||||
- registry
|
- registry
|
||||||
- renovate
|
- renovate
|
||||||
|
- ollama
|
||||||
- librechat
|
- librechat
|
||||||
- frigate
|
- frigate
|
||||||
- llama
|
- llama
|
||||||
- immich
|
- immich
|
||||||
- nas
|
|
||||||
- searxng
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: librechat
|
chart: librechat
|
||||||
version: 1.9.1
|
version: 1.8.9
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: dynomite567-charts
|
name: dynomite567-charts
|
||||||
@@ -39,6 +39,26 @@ spec:
|
|||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
custom:
|
custom:
|
||||||
|
- name: "Ollama"
|
||||||
|
apiKey: "ollama"
|
||||||
|
baseURL: "http://ollama.ollama.svc.cluster.local:11434/v1/chat/completions"
|
||||||
|
models:
|
||||||
|
default: [
|
||||||
|
"llama2",
|
||||||
|
"mistral",
|
||||||
|
"codellama",
|
||||||
|
"dolphin-mixtral",
|
||||||
|
"mistral-openorca"
|
||||||
|
]
|
||||||
|
# fetching list of models is supported but the `name` field must start
|
||||||
|
# with `ollama` (case-insensitive), as it does in this example.
|
||||||
|
fetch: true
|
||||||
|
titleConvo: true
|
||||||
|
titleModel: "current_model"
|
||||||
|
summarize: false
|
||||||
|
summaryModel: "current_model"
|
||||||
|
forcePrompt: false
|
||||||
|
modelDisplayLabel: "Ollama"
|
||||||
- name: "Llama.cpp"
|
- name: "Llama.cpp"
|
||||||
apiKey: "llama"
|
apiKey: "llama"
|
||||||
baseURL: "http://llama.llama.svc.cluster.local:11434/v1"
|
baseURL: "http://llama.llama.svc.cluster.local:11434/v1"
|
||||||
@@ -52,17 +72,12 @@ spec:
|
|||||||
"gemma3-12b-q2",
|
"gemma3-12b-q2",
|
||||||
"gemma3-12b-novision",
|
"gemma3-12b-novision",
|
||||||
"gemma3-4b",
|
"gemma3-4b",
|
||||||
"gemma3-4b-novision",
|
"gemma3-4b-novision"
|
||||||
"Qwen3-4B-Thinking-2507",
|
|
||||||
"Qwen3-4B-Thinking-2507-long-ctx",
|
|
||||||
"Qwen2.5-VL-7B-Instruct-GGUF",
|
|
||||||
"Qwen2.5-VL-32B-Instruct-GGUF-IQ1_S",
|
|
||||||
"Qwen2.5-VL-32B-Instruct-GGUF-Q2_K_L"
|
|
||||||
]
|
]
|
||||||
titleConvo: true
|
titleConvo: true
|
||||||
titleModel: "gemma3-4b-novision"
|
titleModel: "current_model"
|
||||||
summarize: false
|
summarize: false
|
||||||
summaryModel: "gemma3-4b-novision"
|
summaryModel: "current_model"
|
||||||
forcePrompt: false
|
forcePrompt: false
|
||||||
modelDisplayLabel: "Llama.cpp"
|
modelDisplayLabel: "Llama.cpp"
|
||||||
imageVolume:
|
imageVolume:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: caddy
|
- name: caddy
|
||||||
image: caddy:2.10.2-alpine
|
image: caddy:2.10.0-alpine
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /etc/caddy
|
- mountPath: /etc/caddy
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ models:
|
|||||||
--jinja --chat-template-file /config/qwen_nothink_chat_template.jinja
|
--jinja --chat-template-file /config/qwen_nothink_chat_template.jinja
|
||||||
--no-warmup
|
--no-warmup
|
||||||
--port ${PORT}
|
--port ${PORT}
|
||||||
"gemma3n-e4b":
|
"gemma3n-e3b":
|
||||||
ttl: 600
|
ttl: 600
|
||||||
cmd: |
|
cmd: |
|
||||||
/app/llama-server
|
/app/llama-server
|
||||||
@@ -119,98 +119,3 @@ models:
|
|||||||
--no-mmproj
|
--no-mmproj
|
||||||
--no-warmup
|
--no-warmup
|
||||||
--port ${PORT}
|
--port ${PORT}
|
||||||
"Qwen3-4B-Thinking-2507":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen3-4B-Thinking-2507-GGUF:Q4_K_M
|
|
||||||
-ngl 99 -c 16384 --predict 8192
|
|
||||||
--temp 0.6
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.95
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen3-4B-Thinking-2507-long-ctx":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen3-4B-Thinking-2507-GGUF:Q4_K_M
|
|
||||||
-ngl 99 -c 262144 --predict 81920
|
|
||||||
--temp 0.6
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.95
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--flash-attn
|
|
||||||
--cache-type-k q8_0 --cache-type-v q8_0
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen3-4B-Instruct-2507":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen3-4B-Instruct-2507-GGUF:Q4_K_M
|
|
||||||
-ngl 99 -c 16384 --predict 8192
|
|
||||||
--temp 0.7
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.8
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen3-4B-Instruct-2507-long-ctx":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen3-4B-Instruct-2507-GGUF:Q4_K_M
|
|
||||||
-ngl 99 -c 262144 --predict 81920
|
|
||||||
--temp 0.7
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.8
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--flash-attn
|
|
||||||
--cache-type-k q8_0 --cache-type-v q8_0
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen2.5-VL-32B-Instruct-GGUF-IQ1_S":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen2.5-VL-32B-Instruct-GGUF:IQ1_S
|
|
||||||
-ngl 99 -c 16384 --predict 8192
|
|
||||||
--temp 0.7
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.8
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen2.5-VL-32B-Instruct-GGUF-Q2_K_L":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen2.5-VL-32B-Instruct-GGUF:Q2_K_L
|
|
||||||
-ngl 99 -c 16384 --predict 8192
|
|
||||||
--temp 0.7
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.8
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--port ${PORT}
|
|
||||||
"Qwen2.5-VL-7B-Instruct-GGUF":
|
|
||||||
ttl: 600
|
|
||||||
cmd: |
|
|
||||||
/app/llama-server
|
|
||||||
-hf unsloth/Qwen2.5-VL-7B-Instruct-GGUF:Q4_K_M
|
|
||||||
-ngl 37 -c 16384 --predict 8192
|
|
||||||
--temp 0.7
|
|
||||||
--min-p 0.00
|
|
||||||
--top-p 0.8
|
|
||||||
--top-k 20
|
|
||||||
--repeat-penalty 1.0
|
|
||||||
--no-warmup
|
|
||||||
--port ${PORT}
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: llama-swap
|
- name: llama-swap
|
||||||
image: ghcr.io/mostlygeek/llama-swap:v166-vulkan-b6795
|
image: ghcr.io/mostlygeek/llama-swap:v147-vulkan-b6075
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /app/llama-swap
|
- /app/llama-swap
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: nas-sshd-config
|
|
||||||
namespace: nas
|
|
||||||
data:
|
|
||||||
00-chroot.conf: |
|
|
||||||
Subsystem sftp internal-sftp
|
|
||||||
Match User nas
|
|
||||||
ChrootDirectory /config
|
|
||||||
ForceCommand internal-sftp -d /data
|
|
||||||
AllowTcpForwarding no
|
|
||||||
X11Forwarding no
|
|
||||||
PermitTunnel no
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: nas-ssh
|
|
||||||
namespace: nas
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: nas-ssh
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: nas-ssh
|
|
||||||
spec:
|
|
||||||
securityContext:
|
|
||||||
fsGroup: 1000
|
|
||||||
initContainers:
|
|
||||||
- name: prepare-config
|
|
||||||
image: alpine:3.20.3
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
command:
|
|
||||||
- /bin/sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
set -euo pipefail
|
|
||||||
chown root:root /config
|
|
||||||
chmod 755 /config
|
|
||||||
mkdir -p /config/data
|
|
||||||
chown 1000:1000 /config/data
|
|
||||||
chmod 750 /config/data
|
|
||||||
mkdir -p /config/ssh_host_keys
|
|
||||||
chown root:root /config/ssh_host_keys
|
|
||||||
chmod 700 /config/ssh_host_keys
|
|
||||||
for key in /config/ssh_host_keys/*; do
|
|
||||||
[ -f "$key" ] || continue
|
|
||||||
chown root:root "$key"
|
|
||||||
chmod 600 "$key"
|
|
||||||
done
|
|
||||||
mkdir -p /config/sshd/sshd_config.d
|
|
||||||
cp /defaults/00-chroot.conf /config/sshd/sshd_config.d/00-chroot.conf
|
|
||||||
chown root:root /config/sshd/sshd_config.d/00-chroot.conf
|
|
||||||
chmod 644 /config/sshd/sshd_config.d/00-chroot.conf
|
|
||||||
volumeMounts:
|
|
||||||
- name: data
|
|
||||||
mountPath: /config
|
|
||||||
- name: sshd-config
|
|
||||||
mountPath: /defaults/00-chroot.conf
|
|
||||||
subPath: 00-chroot.conf
|
|
||||||
readOnly: true
|
|
||||||
containers:
|
|
||||||
- name: ssh
|
|
||||||
image: lscr.io/linuxserver/openssh-server:version-10.0_p1-r9
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: PUID
|
|
||||||
value: "1000"
|
|
||||||
- name: PGID
|
|
||||||
value: "1000"
|
|
||||||
- name: TZ
|
|
||||||
value: Etc/UTC
|
|
||||||
- name: USER_NAME
|
|
||||||
value: nas
|
|
||||||
- name: SUDO_ACCESS
|
|
||||||
value: "false"
|
|
||||||
- name: PASSWORD_ACCESS
|
|
||||||
value: "false"
|
|
||||||
- name: LOG_STDOUT
|
|
||||||
value: "true"
|
|
||||||
- name: PUBLIC_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: nas-ssh-authorized-keys
|
|
||||||
key: public_key
|
|
||||||
ports:
|
|
||||||
- containerPort: 2222
|
|
||||||
name: ssh
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- name: data
|
|
||||||
mountPath: /config
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 128Mi
|
|
||||||
limits:
|
|
||||||
memory: 512Mi
|
|
||||||
volumes:
|
|
||||||
- name: data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nas-data
|
|
||||||
- name: sshd-config
|
|
||||||
configMap:
|
|
||||||
name: nas-sshd-config
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: nas
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nas-data
|
|
||||||
namespace: nas
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 500Gi
|
|
||||||
storageClassName: mayastor-single-hdd
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: nas-ssh-authorized-keys
|
|
||||||
namespace: nas
|
|
||||||
type: Opaque
|
|
||||||
stringData:
|
|
||||||
public_key: |
|
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCresbDFZijI+rZMgd3LdciPjpb4x4S5B7y0U+EoYPaz6hILT72fyz3QdcgKJJv8JUJI6g0811/yFRuOzCXgWaA922c/S/t6HMUrorh7mPVQMTN2dc/SVBvMa7S2M9NYBj6z1X2LRHs+g1JTMCtL202PIjes/E9qu0as0Vx6n/6HHNmtmA9LrpiAmurbeKXDmrYe2yWg/FA6cX5d86SJb21Dj8WqdCd3Hz0Pi6FzMKXhpWvs5Hfei1htsjsRzCxkpSTjlgFEFVfmHIXPfB06Sa6aCnkxAFnE7N+xNa9RIWeZmOXdA74LsfSKQ9eAXSrsC/IRxo2ce8cBzXJy+Itxw24fUqGYXBiCgx8i3ZA9IdwI1u71xYo9lyNjav5VykzKnAHRAYnDm9UsCf8k04reBevcLdtxL11vPCtind3xn76Nhy2b45dcp/MdYFANGsCcXJOMb6Aisb03HPGhs/aU3tCAQbTVe195mL9FWhGqIK2wBmF1SKW+4ssX2bIU6YaCYc= cardno:23_671_999
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: nas-ssh
|
|
||||||
namespace: nas
|
|
||||||
spec:
|
|
||||||
type: LoadBalancer
|
|
||||||
externalTrafficPolicy: Cluster
|
|
||||||
ports:
|
|
||||||
- name: ssh
|
|
||||||
port: 22
|
|
||||||
targetPort: 2222
|
|
||||||
protocol: TCP
|
|
||||||
selector:
|
|
||||||
app: nas-ssh
|
|
||||||
68
apps/ollama/auth-proxy.yaml
Normal file
68
apps/ollama/auth-proxy.yaml
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: ollama-proxy
|
||||||
|
namespace: ollama
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: ollama-proxy
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: ollama-proxy
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: caddy
|
||||||
|
image: caddy:2.10.0-alpine
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/caddy
|
||||||
|
name: proxy-config
|
||||||
|
env:
|
||||||
|
- name: API_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: ollama-api-key
|
||||||
|
key: API_KEY
|
||||||
|
volumes:
|
||||||
|
- name: proxy-config
|
||||||
|
configMap:
|
||||||
|
name: ollama-proxy-config
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
namespace: ollama
|
||||||
|
name: ollama-proxy-config
|
||||||
|
data:
|
||||||
|
Caddyfile: |
|
||||||
|
http://ollama.lumpiasty.xyz {
|
||||||
|
|
||||||
|
@requireAuth {
|
||||||
|
not header Authorization "Bearer {env.API_KEY}"
|
||||||
|
}
|
||||||
|
|
||||||
|
respond @requireAuth "Unauthorized" 401
|
||||||
|
|
||||||
|
reverse_proxy ollama:11434 {
|
||||||
|
flush_interval -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
namespace: ollama
|
||||||
|
name: ollama-proxy
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: ollama-proxy
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
protocol: TCP
|
||||||
28
apps/ollama/ingress.yaml
Normal file
28
apps/ollama/ingress.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
namespace: ollama
|
||||||
|
name: ollama
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt
|
||||||
|
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffering: "false"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: 30m
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx-ingress
|
||||||
|
rules:
|
||||||
|
- host: ollama.lumpiasty.xyz
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: ollama-proxy
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- ollama.lumpiasty.xyz
|
||||||
|
secretName: ollama-ingress
|
||||||
@@ -2,8 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
|
- release.yaml
|
||||||
- secret.yaml
|
- secret.yaml
|
||||||
- configmap.yaml
|
- auth-proxy.yaml
|
||||||
- pvc.yaml
|
- ingress.yaml
|
||||||
- deployment.yaml
|
|
||||||
- service.yaml
|
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: searxng
|
name: ollama
|
||||||
60
apps/ollama/release.yaml
Normal file
60
apps/ollama/release.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: ollama-helm
|
||||||
|
namespace: ollama
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://otwld.github.io/ollama-helm/
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: ollama
|
||||||
|
namespace: ollama
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: ollama
|
||||||
|
version: 1.25.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: ollama-helm
|
||||||
|
namespace: ollama
|
||||||
|
interval: 12h
|
||||||
|
values:
|
||||||
|
ollama:
|
||||||
|
gpu:
|
||||||
|
enabled: false
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
storageClass: mayastor-single-hdd
|
||||||
|
size: 200Gi
|
||||||
|
# GPU support
|
||||||
|
# Rewrite of options in
|
||||||
|
# https://hub.docker.com/r/grinco/ollama-amd-apu
|
||||||
|
image:
|
||||||
|
repository: grinco/ollama-amd-apu
|
||||||
|
tag: vulkan
|
||||||
|
securityContext:
|
||||||
|
# Not ideal
|
||||||
|
privileged: true
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- PERFMON
|
||||||
|
volumeMounts:
|
||||||
|
- name: kfd
|
||||||
|
mountPath: /dev/kfd
|
||||||
|
- name: dri
|
||||||
|
mountPath: /dev/dri
|
||||||
|
volumes:
|
||||||
|
- name: kfd
|
||||||
|
hostPath:
|
||||||
|
path: /dev/kfd
|
||||||
|
type: CharDevice
|
||||||
|
- name: dri
|
||||||
|
hostPath:
|
||||||
|
path: /dev/dri
|
||||||
|
type: Directory
|
||||||
38
apps/ollama/secret.yaml
Normal file
38
apps/ollama/secret.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: ollama-proxy
|
||||||
|
namespace: ollama
|
||||||
|
---
|
||||||
|
apiVersion: secrets.hashicorp.com/v1beta1
|
||||||
|
kind: VaultAuth
|
||||||
|
metadata:
|
||||||
|
name: ollama
|
||||||
|
namespace: ollama
|
||||||
|
spec:
|
||||||
|
method: kubernetes
|
||||||
|
mount: kubernetes
|
||||||
|
kubernetes:
|
||||||
|
role: ollama-proxy
|
||||||
|
serviceAccount: ollama-proxy
|
||||||
|
---
|
||||||
|
apiVersion: secrets.hashicorp.com/v1beta1
|
||||||
|
kind: VaultStaticSecret
|
||||||
|
metadata:
|
||||||
|
name: ollama-api-key
|
||||||
|
namespace: ollama
|
||||||
|
spec:
|
||||||
|
type: kv-v2
|
||||||
|
|
||||||
|
mount: secret
|
||||||
|
path: ollama
|
||||||
|
|
||||||
|
destination:
|
||||||
|
create: true
|
||||||
|
name: ollama-api-key
|
||||||
|
type: Opaque
|
||||||
|
transformation:
|
||||||
|
excludeRaw: true
|
||||||
|
|
||||||
|
vaultAuthRef: ollama
|
||||||
@@ -15,7 +15,7 @@ spec:
|
|||||||
- name: renovate
|
- name: renovate
|
||||||
# Update this to the latest available and then enable Renovate on
|
# Update this to the latest available and then enable Renovate on
|
||||||
# the manifest
|
# the manifest
|
||||||
image: renovate/renovate:41.169.1-full
|
image: renovate/renovate:41.66.1-full
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: renovate-gitea-token
|
name: renovate-gitea-token
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
use_default_settings: true
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: searxng
|
|
||||||
namespace: searxng
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: searxng
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: searxng
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: searxng
|
|
||||||
image: searxng/searxng:2025.8.12-6b1516d
|
|
||||||
ports:
|
|
||||||
- containerPort: 8080
|
|
||||||
env:
|
|
||||||
- name: SEARXNG_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: searxng-secret
|
|
||||||
key: SEARXNG_SECRET
|
|
||||||
optional: false
|
|
||||||
volumeMounts:
|
|
||||||
- name: config-volume
|
|
||||||
mountPath: /etc/searxng/settings.yml
|
|
||||||
subPath: settings.yml
|
|
||||||
readOnly: true
|
|
||||||
- name: searxng-persistent-data
|
|
||||||
mountPath: /var/cache/searxng
|
|
||||||
volumes:
|
|
||||||
- name: config-volume
|
|
||||||
configMap:
|
|
||||||
name: searxng-config
|
|
||||||
- name: searxng-persistent-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: searxng-persistent-data
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
namespace: searxng
|
|
||||||
name: searxng
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
|
||||||
spec:
|
|
||||||
ingressClassName: nginx-ingress
|
|
||||||
rules:
|
|
||||||
- host: searxng.lumpiasty.xyz
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- backend:
|
|
||||||
service:
|
|
||||||
name: searxng
|
|
||||||
port:
|
|
||||||
number: 8080
|
|
||||||
path: /
|
|
||||||
pathType: Prefix
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- searxng.lumpiasty.xyz
|
|
||||||
secretName: searxng-ingress
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
- pvc.yaml
|
|
||||||
- deployment.yaml
|
|
||||||
- service.yaml
|
|
||||||
- ingress.yaml
|
|
||||||
configMapGenerator:
|
|
||||||
- name: searxng-config
|
|
||||||
namespace: searxng
|
|
||||||
files:
|
|
||||||
- settings.yml=configs/settings.yml
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
namespace: searxng
|
|
||||||
name: searxng-persistent-data
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
storageClassName: mayastor-single-ssd
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: searxng
|
|
||||||
namespace: searxng
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: searxng
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
port: 8080
|
|
||||||
targetPort: 8080
|
|
||||||
type: ClusterIP
|
|
||||||
@@ -18,14 +18,14 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cert-manager-webhook-ovh
|
chart: cert-manager-webhook-ovh
|
||||||
version: 0.8.0
|
version: 0.7.5
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: cert-manager-webhook-ovh
|
name: cert-manager-webhook-ovh
|
||||||
namespace: cert-manager
|
namespace: cert-manager
|
||||||
interval: 12h
|
interval: 12h
|
||||||
values:
|
values:
|
||||||
configVersion: 0.0.2
|
configVersion: 0.0.1
|
||||||
groupName: lumpiasty-homelab
|
groupName: lumpiasty-homelab
|
||||||
certManager:
|
certManager:
|
||||||
namespace: cert-manager
|
namespace: cert-manager
|
||||||
@@ -38,7 +38,6 @@ spec:
|
|||||||
acmeServerUrl: https://acme-v02.api.letsencrypt.org/directory
|
acmeServerUrl: https://acme-v02.api.letsencrypt.org/directory
|
||||||
email: arek.dzski@gmail.com
|
email: arek.dzski@gmail.com
|
||||||
ovhEndpointName: ovh-eu
|
ovhEndpointName: ovh-eu
|
||||||
ovhAuthenticationMethod: application
|
|
||||||
ovhAuthenticationRef:
|
ovhAuthenticationRef:
|
||||||
applicationKeyRef:
|
applicationKeyRef:
|
||||||
name: ovh-credentials
|
name: ovh-credentials
|
||||||
@@ -46,6 +45,6 @@ spec:
|
|||||||
applicationSecretRef:
|
applicationSecretRef:
|
||||||
name: ovh-credentials
|
name: ovh-credentials
|
||||||
key: applicationSecret
|
key: applicationSecret
|
||||||
applicationConsumerKeyRef:
|
consumerKeyRef:
|
||||||
name: ovh-credentials
|
name: ovh-credentials
|
||||||
key: consumerKey
|
key: consumerKey
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cert-manager
|
chart: cert-manager
|
||||||
version: v1.19.1
|
version: v1.18.2
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: cert-manager
|
name: cert-manager
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cilium
|
chart: cilium
|
||||||
version: 1.18.2
|
version: 1.18.0
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: cilium
|
name: cilium
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cloudnative-pg
|
chart: cloudnative-pg
|
||||||
version: 0.26.0
|
version: 0.25.0
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: cnpg
|
name: cnpg
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ spec:
|
|||||||
env:
|
env:
|
||||||
- name: GOMEMLIMIT
|
- name: GOMEMLIMIT
|
||||||
value: 161MiB
|
value: 161MiB
|
||||||
image: registry.k8s.io/coredns/coredns:v1.13.0
|
image: registry.k8s.io/coredns/coredns:v1.12.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
failureThreshold: 5
|
failureThreshold: 5
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: k8up
|
chart: k8up
|
||||||
version: 4.8.6
|
version: 4.8.4
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: k8up-io
|
name: k8up-io
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: ingress-nginx
|
chart: ingress-nginx
|
||||||
version: 4.13.3
|
version: 4.13.0
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: openbao
|
chart: openbao
|
||||||
version: 0.19.0
|
version: 0.16.2
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: openbao
|
name: openbao
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: openebs
|
chart: openebs
|
||||||
version: 4.3.3
|
version: 4.3.2
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: openebs
|
name: openebs
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: vault-secrets-operator
|
chart: vault-secrets-operator
|
||||||
version: 1.0.1
|
version: 0.10.0
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: hashicorp
|
name: hashicorp
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ machine:
|
|||||||
gateway: 2001:470:61a3:100:ffff:ffff:ffff:ffff
|
gateway: 2001:470:61a3:100:ffff:ffff:ffff:ffff
|
||||||
- network: 0.0.0.0/0
|
- network: 0.0.0.0/0
|
||||||
gateway: 192.168.1.1
|
gateway: 192.168.1.1
|
||||||
mtu: 1280
|
mtu: 1500
|
||||||
|
|
||||||
install:
|
install:
|
||||||
diskSelector:
|
diskSelector:
|
||||||
|
|||||||
Reference in New Issue
Block a user