106 lines
2.1 KiB
YAML
106 lines
2.1 KiB
YAML
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: couchdb
|
|
namespace: couchdb
|
|
labels:
|
|
app: couchdb
|
|
spec:
|
|
ports:
|
|
- port: 5984
|
|
name: http
|
|
clusterIP: None
|
|
selector:
|
|
app: couchdb
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: couchdb-lb
|
|
namespace: couchdb
|
|
labels:
|
|
app: couchdb
|
|
spec:
|
|
ports:
|
|
- port: 5984
|
|
name: http
|
|
selector:
|
|
app: couchdb
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: couchdb
|
|
namespace: couchdb
|
|
spec:
|
|
serviceName: couchdb
|
|
replicas: 3
|
|
selector:
|
|
matchLabels:
|
|
app: couchdb
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: couchdb
|
|
spec:
|
|
containers:
|
|
- name: couchdb
|
|
image: couchdb:latest
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- containerPort: 5984
|
|
env:
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: NODENAME
|
|
value: "$(POD_NAME).couchdb.couchdb.svc.cluster.local"
|
|
- name: COUCHDB_UUID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.uid
|
|
- name: ERL_FLAGS
|
|
value: "-setcookie couchdb_cookie"
|
|
- name: COUCHDB_USER
|
|
value: "admin"
|
|
- name: COUCHDB_PASSWORD
|
|
value: "Couchdb01"
|
|
volumeMounts:
|
|
- name: couchdb
|
|
mountPath: /opt/couchdb/data
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: couchdb
|
|
spec:
|
|
accessModes: ["ReadWriteOnce"]
|
|
storageClassName: ""
|
|
resources:
|
|
requests:
|
|
storage: 2Gi
|
|
selector:
|
|
matchLabels:
|
|
pv: couchdb-data
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: couchdb-ingress
|
|
namespace: couchdb
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`couchdb-prod.allarddcs.nl`)
|
|
kind: Rule
|
|
services:
|
|
- name: couchdb-lb
|
|
port: 5984
|
|
namespace: couchdb
|
|
sticky:
|
|
cookie:
|
|
name: couchdb_sticky
|
|
tls:
|
|
certResolver: letsencrypt
|
|
|