k3s-infra/unused/searx/deployment.yaml
2023-10-05 14:34:37 +02:00

131 lines
2.3 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: searx
labels:
app: searx
---
apiVersion: v1
kind: PersistentVolume
metadata:
namespace: searx
name: searx-data-nfs
labels:
directory: searx
spec:
storageClassName: fast
capacity:
storage: "5Gi"
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
nfs:
path: /searx
server: 10.43.239.43 # assigned to nfs-server service. Won't change as long as service is not redeployed
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: searx
name: searx-data-nfs
spec:
storageClassName: fast
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "5Gi"
selector:
matchLabels:
directory: searx
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: searx
namespace: searx
labels:
app: searx
spec:
replicas: 1
selector:
matchLabels:
app: searx
template:
metadata:
labels:
app: searx
spec:
containers:
- name: searx
image: searxng/searxng
tty: true
ports:
- containerPort: 8080
volumeMounts:
- mountPath: /etc/searxng
name: searx-data
env:
- name: BASE_URL
value: https://search.kluster.moll.re
- name: INSTANCE_NAME
value: searx
resources:
requests:
cpu: "100m"
memory: "100Mi"
limits:
cpu: "1"
memory: "500Mi"
volumes:
- name: searx-data
persistentVolumeClaim:
claimName: searx-data-nfs
---
apiVersion: v1
kind: Service
metadata:
name: searx
namespace: searx
spec:
type: ClusterIP
ports:
- name: http
port: 8080
selector:
app: searx
---
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
namespace: searx
name: searx-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: cloudflare-letsencrypt-prod
spec:
tls:
- hosts:
- search.kluster.moll.re
secretName: cloudflare-letsencrypt-issuer-account-key
rules:
- host: search.kluster.moll.re
http:
paths:
- backend:
service:
name: searx
port:
number: 8080
path: /
pathType: Prefix