112 lines
2.2 KiB
YAML
112 lines
2.2 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: kafka-chat-config
|
|
namespace: kafka
|
|
data:
|
|
config.json: |
|
|
{
|
|
"kafka": {
|
|
"broker": "kafka-service.kafka.svc.cluster.local:9092"
|
|
},
|
|
"couchdb": {
|
|
"url": "http://admin:Couchdb01@couchdb.couchdb.svc.cluster.local:5984"
|
|
},
|
|
"mail": {
|
|
"host": "smtp.eu.mailgun.org",
|
|
"port": 587,
|
|
"user": "postmaster@allarddcs.nl",
|
|
"pass": "Mailgun01@"
|
|
},
|
|
"app": {
|
|
"baseUrl": "https://kafkachat-dev.allarddcs.nl",
|
|
"inviteExpiry": 604800
|
|
}
|
|
}
|
|
---
|
|
# chat-deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: kafka-chat
|
|
namespace: kafka
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: kafka-chat
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: kafka-chat
|
|
spec:
|
|
containers:
|
|
- name: kafka-chat
|
|
image: allardkrings/kafka-chat:1.0
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- containerPort: 8080 # backend WS
|
|
- containerPort: 3000 # frontend
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /etc/kafkachat
|
|
readOnly: true
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: kafka-chat-config
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: ServersTransport
|
|
metadata:
|
|
name: kafka-chat-transport
|
|
namespace: kafka
|
|
spec:
|
|
forwardingTimeouts:
|
|
responseHeaderTimeout: 0s
|
|
idleConnTimeout: 0s
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: kafka-chat
|
|
namespace: kafka
|
|
spec:
|
|
selector:
|
|
app: kafka-chat
|
|
ports:
|
|
- name: frontend
|
|
port: 80
|
|
targetPort: 3000
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: kafka-chat-lb
|
|
namespace: kafka
|
|
spec:
|
|
type: LoadBalancer
|
|
selector:
|
|
app: kafka-chat
|
|
ports:
|
|
- port: 80
|
|
targetPort: 3000
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: kafka-chat
|
|
namespace: kafka
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`kafkachat-prod.allarddcs.nl`)
|
|
kind: Rule
|
|
services:
|
|
- name: kafka-chat
|
|
port: 80
|
|
serversTransport: kafka-chat-transport
|
|
tls:
|
|
certResolver: letsencrypt
|