apiVersion: v1 kind: Service metadata: name: catalog-svc namespace: egommerce annotations: haproxy.org/check: "true" # haproxy.org/server-ca: "egommerce/ca-root" labels: app: catalog-svc spec: type: NodePort selector: app: catalog-svc ports: - name: catalog-svc port: 443 nodePort: 31820 # - name: catalog-svc-metrics # port: 9090 # nodePort: 31811 --- apiVersion: apps/v1 kind: Deployment metadata: name: catalog-svc namespace: egommerce spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 # Number of extra pods that can be created during update maxUnavailable: 1 # Max number of pods that can be unavailable during update selector: matchLabels: app: catalog-svc template: metadata: labels: app: catalog-svc spec: # initContainers: # - name: catalog-svc-init # image: busybox:1.28 # command: [ # 'sh', # '-c', # '/bin/migrate' # ] containers: - name: catalog-svc image: git.ego.freeddns.org/egommerce/catalog-svc:dev imagePullPolicy: Always env: - name: APP_NAME value: catalog-svc - name: APP_DOMAIN value: catalog-svc.egommerce.local - name: APP_PATH_PREFIX value: /catalog - name: API_EVENTBUS_URL value: amqp://guest:guest@api-eventbus:5672 - name: API_MONGODB_URL value: mongodb://mongodb:12345678@mongo-db:27017 readinessProbe: httpGet: scheme: HTTPS port: catalog-svc path: /health initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 1 livenessProbe: httpGet: scheme: HTTPS port: catalog-svc path: /health initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 1 volumeMounts: - name: catalog-cert mountPath: /certs/catalog-svc.crt readOnly: true - name: catalog-key mountPath: /certs/catalog-svc.key readOnly: true - name: catalog-migrations mountPath: /migrations readOnly: true resources: limits: cpu: 100m memory: 512Mi requests: cpu: 50m memory: 256Mi ports: - name: catalog-svc containerPort: 443 # - name: catalog-svc-metrics # image: prom/prometheus-exporter:latest # ports: # - containerPort: 9090 # args: # - --web.listen-address=:9090 # - --web.telemetry-path=/metrics - name: identity-scheduler # Scheduler Container image: git.ego.freeddns.org/egommerce/identity-svc:dev imagePullPolicy: Always command: [ "/usr/local/bin/scheduler" ] resources: limits: cpu: 100m memory: 512Mi requests: cpu: 50m memory: 256Mi volumes: - name: catalog-cert hostPath: path: /egommerce/stack/deploy/certs/catalog-svc/catalog-svc.crt type: File - name: catalog-key hostPath: path: /egommerce/stack/deploy/certs/catalog-svc/catalog-svc.key type: File - name: catalog-migrations hostPath: path: /egommerce/stack/deploy/db_migrations/catalog-svc type: Directory