Files
2021-06-17 12:04:45 -07:00

165 lines
3.0 KiB
YAML

#########################################################
# Common Environment variables ConfigMap
#########################################################
apiVersion: v1
kind: ConfigMap
metadata:
name: common-env
data:
NAMESPACE: ""
LOGLEVEL: info
SERVICEDIR: dist/services
TRANSPORTER: nats://nats:4222
CACHER: Memory
---
#########################################################
# Service for Moleculer API Gateway service
#########################################################
apiVersion: v1
kind: Service
metadata:
name: api
spec:
selector:
app: api
ports:
- port: 3000
targetPort: 3000
---
#########################################################
# Ingress for Moleculer API Gateway
#########################################################
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress
spec:
rules:
- host: comicvine-service.127.0.0.1.nip.io
http:
paths:
- path: /
backend:
serviceName: api
servicePort: 3000
---
#########################################################
# API Gateway service
#########################################################
apiVersion: apps/v1
kind: Deployment
metadata:
name: api
spec:
selector:
matchLabels:
app: api
replicas: 2
template:
metadata:
labels:
app: api
spec:
containers:
- name: api
image: comicvine-service
envFrom:
- configMapRef:
name: common-env
env:
- name: SERVICES
value: api
- name: PORT
value: "3000"
ports:
- containerPort: 3000
---
#########################################################
# Greeter service
#########################################################
apiVersion: apps/v1
kind: Deployment
metadata:
name: greeter
spec:
selector:
matchLabels:
app: greeter
replicas: 2
template:
metadata:
labels:
app: greeter
spec:
containers:
- name: greeter
image: comicvine-service
envFrom:
- configMapRef:
name: common-env
env:
- name: SERVICES
value: greeter
---
#########################################################
# NATS transporter service
#########################################################
apiVersion: v1
kind: Service
metadata:
name: nats
spec:
selector:
app: nats
ports:
- port: 4222
name: nats
targetPort: 4222
---
#########################################################
# NATS transporter
#########################################################
apiVersion: apps/v1
kind: Deployment
metadata:
name: nats
spec:
selector:
matchLabels:
app: nats
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: nats
spec:
containers:
- name: nats
image: nats
ports:
- containerPort: 4222
name: nats