Files
HomeMonitor/DeviceStatus/Service/deploy/manifest.yaml

87 lines
1.9 KiB
YAML

---
kind: Deployment
apiVersion: apps/v1
metadata:
name: device-status-service
namespace: home-monitor
labels:
app: device-status-service
spec:
replicas: 1
selector:
matchLabels:
app: device-status-service
template:
metadata:
labels:
app: device-status-service
spec:
containers:
- name: device-status-service
image: ckaczor/home-monitor-device-status-service:#BUILD_BUILDNUMBER#
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: Hub__DeviceStatus
value: http://hub-service/device-status
- name: Telegram__BotToken
valueFrom:
secretKeyRef:
name: telegram
key: bot-token
- name: Telegram__ChatId
valueFrom:
secretKeyRef:
name: telegram
key: chat-id
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler
---
kind: Service
apiVersion: v1
metadata:
name: device-status-service
spec:
ports:
- name: client
port: 80
selector:
app: device-status-service
type: ClusterIP
---
kind: Service
apiVersion: v1
metadata:
name: device-status-service-mqtt
spec:
ports:
- name: client
port: 1883
selector:
app: device-status-service
type: LoadBalancer
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: device-status
namespace: home-monitor
annotations:
kubernetes.io/ingress.class: traefik
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
traefik.frontend.rule.type: PathPrefixStrip
spec:
rules:
- http:
paths:
- path: "/api/device-status"
backend:
serviceName: device-status-service
servicePort: 80