mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-18 18:42:56 +02:00
Create private whisper instance
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: whisper
|
||||||
|
namespace: argocd
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://github.com/rubenhensen/k8scd.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: whishper-priv
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: whisper-priv
|
||||||
|
syncPolicy:
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
DB_PASS: whishper
|
||||||
|
DB_USER: whishper
|
||||||
|
LT_LOAD_ONLY: es,en,fr,nl
|
||||||
|
WHISHPER_HOST: http://127.0.0.1:8082
|
||||||
|
WHISPER_MODELS: tiny,small,large-v3
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: mongo-env
|
||||||
|
name: env
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: mongo-claim10
|
||||||
|
name: mongo-claim10
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# apiVersion: v1
|
||||||
|
# kind: PersistentVolumeClaim
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# io.kompose.service: mongo-claim1
|
||||||
|
# name: mongo-claim1
|
||||||
|
# spec:
|
||||||
|
# accessModes:
|
||||||
|
# - ReadWriteOnce
|
||||||
|
# resources:
|
||||||
|
# requests:
|
||||||
|
# storage: 10Gi
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: mongo
|
||||||
|
name: mongo
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
io.kompose.service: mongo
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: mongo
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
# - args:
|
||||||
|
# - --logpath
|
||||||
|
# - /var/log/mongodb/mongod.log
|
||||||
|
- env:
|
||||||
|
- name: DB_PASS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_PASS
|
||||||
|
name: env
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_USER
|
||||||
|
name: env
|
||||||
|
- name: LT_LOAD_ONLY
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: LT_LOAD_ONLY
|
||||||
|
name: env
|
||||||
|
- name: MONGO_INITDB_ROOT_PASSWORD
|
||||||
|
value: whishper
|
||||||
|
- name: MONGO_INITDB_ROOT_USERNAME
|
||||||
|
value: whishper
|
||||||
|
- name: WHISHPER_HOST
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISHPER_HOST
|
||||||
|
name: env
|
||||||
|
- name: WHISPER_MODELS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISPER_MODELS
|
||||||
|
name: env
|
||||||
|
image: mongo
|
||||||
|
name: mongo
|
||||||
|
ports:
|
||||||
|
- containerPort: 27017
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data/db
|
||||||
|
name: mongo-claim0
|
||||||
|
# - mountPath: /var/log/mongodb
|
||||||
|
# name: mongo-claim1
|
||||||
|
restartPolicy: Always
|
||||||
|
volumes:
|
||||||
|
- name: mongo-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: mongo-claim10
|
||||||
|
# - name: mongo-claim1
|
||||||
|
# persistentVolumeClaim:
|
||||||
|
# claimName: mongo-claim1
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: mongo
|
||||||
|
name: mongo
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "27017"
|
||||||
|
port: 27017
|
||||||
|
targetPort: 27017
|
||||||
|
selector:
|
||||||
|
io.kompose.service: mongo
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: translate-claim0
|
||||||
|
name: translate-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: translate-claim1
|
||||||
|
name: translate-claim1
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: translate
|
||||||
|
name: translate
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
io.kompose.service: translate
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: translate
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: libretranslate/libretranslate:latest
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- ./venv/bin/python scripts/healthcheck.py
|
||||||
|
failureThreshold: 5
|
||||||
|
periodSeconds: 2
|
||||||
|
timeoutSeconds: 3
|
||||||
|
name: whisper-libretranslate
|
||||||
|
ports:
|
||||||
|
- containerPort: 5000
|
||||||
|
protocol: TCP
|
||||||
|
tty: true
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /home/libretranslate/.local/share
|
||||||
|
name: translate-claim0
|
||||||
|
- mountPath: /home/libretranslate/.local/cache
|
||||||
|
name: translate-claim1
|
||||||
|
env:
|
||||||
|
- name: DB_PASS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_PASS
|
||||||
|
name: env
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_USER
|
||||||
|
name: env
|
||||||
|
- name: LT_DISABLE_WEB_UI
|
||||||
|
value: "true"
|
||||||
|
- name: LT_LOAD_ONLY
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: LT_LOAD_ONLY
|
||||||
|
name: env
|
||||||
|
- name: LT_UPDATE_MODELS
|
||||||
|
value: "true"
|
||||||
|
- name: WHISHPER_HOST
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISHPER_HOST
|
||||||
|
name: env
|
||||||
|
- name: WHISPER_MODELS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISPER_MODELS
|
||||||
|
name: env
|
||||||
|
restartPolicy: Always
|
||||||
|
volumes:
|
||||||
|
- name: translate-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: translate-claim0
|
||||||
|
- name: translate-claim1
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: translate-claim1
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: translate
|
||||||
|
name: translate
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "5000"
|
||||||
|
port: 5000
|
||||||
|
targetPort: 5000
|
||||||
|
selector:
|
||||||
|
io.kompose.service: translate
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: whishper-claim0
|
||||||
|
name: whishper-claim0
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: whishper-claim1
|
||||||
|
name: whishper-claim1
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: whishper
|
||||||
|
name: whishper
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
io.kompose.service: whishper
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: whishper
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: CPU_THREADS
|
||||||
|
value: "4"
|
||||||
|
- name: DB_PASS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_PASS
|
||||||
|
name: env
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: DB_USER
|
||||||
|
name: env
|
||||||
|
- name: LT_LOAD_ONLY
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: LT_LOAD_ONLY
|
||||||
|
name: env
|
||||||
|
- name: PUBLIC_API_HOST
|
||||||
|
- name: PUBLIC_INTERNAL_API_HOST
|
||||||
|
value: http://127.0.0.1:80
|
||||||
|
- name: PUBLIC_TRANSLATION_API_HOST
|
||||||
|
- name: PUBLIC_WHISHPER_PROFILE
|
||||||
|
value: cpu
|
||||||
|
- name: UPLOAD_DIR
|
||||||
|
value: /app/uploads
|
||||||
|
- name: WHISHPER_HOST
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISHPER_HOST
|
||||||
|
name: env
|
||||||
|
- name: WHISPER_MODELS
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: WHISPER_MODELS
|
||||||
|
name: env
|
||||||
|
- name: WHISPER_MODELS_DIR
|
||||||
|
value: /app/models
|
||||||
|
image: pluja/whishper:latest
|
||||||
|
name: whishper
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/uploads
|
||||||
|
name: whishper-claim0
|
||||||
|
- mountPath: /var/log/whishper
|
||||||
|
name: whishper-claim1
|
||||||
|
restartPolicy: Always
|
||||||
|
volumes:
|
||||||
|
- name: whishper-claim0
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: whishper-claim0
|
||||||
|
- name: whishper-claim1
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: whishper-claim1
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: whisper-ingress
|
||||||
|
annotations:
|
||||||
|
# nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
cert-manager.io/cluster-issuer: prod-cluster-issuer
|
||||||
|
nginx.ingress.kubernetes.io/ssl-passthrough: "false"
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
# type of authentication
|
||||||
|
nginx.ingress.kubernetes.io/auth-type: basic
|
||||||
|
# name of the secret that contains the user/password definitions
|
||||||
|
nginx.ingress.kubernetes.io/auth-secret: whisper-basic-auth
|
||||||
|
# message to display with an appropriate context why the authentication is required
|
||||||
|
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required '
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||||
|
# nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000/"
|
||||||
|
# nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS, DELETE"
|
||||||
|
# If you encounter a redirect loop or are getting a 307 response code
|
||||||
|
# then you need to force the nginx ingress to connect to the backend using HTTPS.
|
||||||
|
#
|
||||||
|
# nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||||
|
# namespace: ente-photos
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
rules:
|
||||||
|
- host: whisper.hensen.io
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: whishper
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
- host: whishper.hensen.io
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: whishper
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
# TLS configuration for HTTPS
|
||||||
|
tls:
|
||||||
|
# TLS secretName used on ClusterIssuer
|
||||||
|
- secretName: letsencrypt-prod
|
||||||
|
hosts:
|
||||||
|
- whisper.hensen.io
|
||||||
|
- whishper.hensen.io
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert
|
||||||
|
kompose.version: 1.34.0 (cbf2835db)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: whishper
|
||||||
|
name: whishper
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: "8082"
|
||||||
|
port: 8082
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
io.kompose.service: whishper
|
||||||
Reference in New Issue
Block a user