######################################################### # 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: threetwo-library-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: threetwo-library-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: threetwo-library-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