2026-10-29 19:19:04 +01:00
2026-10-12 14:32:51 +02:00
2026-10-19 12:56:17 +02:00
2026-10-19 12:56:17 +02:00
2026-10-29 19:19:04 +01:00
2026-03-05 09:22:04 +01:00
2026-10-29 19:19:04 +01:00
2025-10-08 11:38:29 +02:00
2026-09-30 13:23:01 +00:00

ops-deployment

This repository contains declarative Kubernetes configurations (deployments, services, persistent volumes) for all application services.

Structure

Each service directory contains:

  • deployment.yaml - Pod specifications, container images, environment variables, volume mounts
  • service.yaml - Service exposure (ClusterIP, NodePort)
  • Additional resources as needed (PVCs, ConfigMaps, etc.)

Secrets Management

Secrets are managed directly in Kubernetes using kubectl or sealed-secrets:

  • Mounted as volumes at /etc/secrets in containers
  • Referenced via secretName in deployment manifests

Persistent Storage

Services requiring data persistence (MySQL, RabbitMQ) use PersistentVolumeClaims:

Example Service

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend-push-notifications
  namespace: app-notifications
spec:
  replicas: 1
  template:
    spec:
      containers:
        - name: backend-push-notifications
          image: ghcr.io/user/service:2
          ports:
            - containerPort: 9000
          volumeMounts:
            - name: secrets
              mountPath: /etc/secrets
              readOnly: true
      volumes:
        - name: secrets
          secret:
            secretName: backend-push-notifications
---
apiVersion: v1
kind: Service
metadata:
  name: backend-push-notifications
spec:
  selector:
    app: backend-push-notifications
  ports:
    - port: 9000
      targetPort: 9000
      nodePort: 30904
  type: NodePort

Monitoring

Services expose Prometheus metrics endpoints where applicable, on port 9000 and exposed via NodePort.

S
Description
Kubernetes deployment
Readme
523 KiB
0 Stars 1 Watchers 0 Forks