self-hosting/roles/k8s-manifests/tasks/searx.yml
2019-08-22 05:15:45 +02:00

78 lines
1.8 KiB
YAML

- name: Searx deployment
k8s:
namespace: default
state: present
definition:
apiVersion: apps/v1
kind: Deployment
metadata:
name: searx
spec:
replicas: 2
selector:
matchLabels:
app: searx
template:
metadata:
labels:
app: searx
spec:
containers:
- name: searx
image: hoellen/searx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8888
livenessProbe:
httpGet:
path: /
port: 8888
readinessProbe:
httpGet:
path: /
port: 8888
- name: Searx service
k8s:
namespace: default
state: present
definition:
apiVersion: v1
kind: Service
metadata:
name: searx
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 8888
selector:
app: searx
- name: Searx ingress
k8s:
namespace: default
state: present
definition:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: searx
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: "{{cert_manager_issuer}}"
# ingress.kubernetes.io/ssl-redirect: "true"
# ingress.kubernetes.io/ssl-temporary-redirect: "false"
spec:
rules:
- host: "{{searx_domain}}"
http:
paths:
- path: /
backend:
serviceName: searx
servicePort: 80
tls:
- hosts:
- "{{searx_domain}}"
secretName: letsencrypt-staging