apiVersion: apps/v1 kind: Deployment metadata: name: clean-architecture-app spec: replicas: 1 selector: matchLabels: app: clean-architecture-app template: metadata: labels: app: clean-architecture-app spec: containers: - name: clean-architecture-app # Replace this with the path to your built image image: alexdev28/clean-architecture ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: clean-architecture-service spec: selector: app: clean-architecture-app ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: sql-server spec: replicas: 1 selector: matchLabels: app: sql-server template: metadata: labels: app: sql-server spec: containers: - name: sql-server image: mcr.microsoft.com/mssql/server env: - name: ACCEPT_EULA value: "Y" - name: SA_PASSWORD value: "Password123!#" ports: - containerPort: 1433 --- apiVersion: v1 kind: Service metadata: name: clean-architecture-db-service spec: selector: app: sql-server ports: - protocol: TCP port: 1433 targetPort: 1433 type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: name: redis-deployment spec: replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis image: docker.io/bitnami/redis:7.2 env: # ALLOW_EMPTY_PASSWORD is recommended only for development. - name: ALLOW_EMPTY_PASSWORD value: "yes" - name: REDIS_DISABLE_COMMANDS value: "FLUSHDB,FLUSHALL" ports: - containerPort: 6379 volumeMounts: - name: redis-data mountPath: /bitnami/redis/data volumes: - name: redis-data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: redis-service spec: selector: app: redis ports: - protocol: TCP port: 6379 targetPort: 6379 --- apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq-deployment spec: replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: containers: - name: rabbitmq image: rabbitmq:3-management ports: - containerPort: 5672 - containerPort: 15672 env: - name: RABBITMQ_DEFAULT_USER value: guest - name: RABBITMQ_DEFAULT_PASS value: guest volumeMounts: - name: rabbitmq-data mountPath: /var/lib/rabbitmq volumes: - name: rabbitmq-data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: rabbitmq-service spec: selector: app: rabbitmq ports: - protocol: TCP port: 5672 targetPort: 5672 - protocol: TCP port: 15672 targetPort: 15672