From 269ffc7587bb9bb7908f401b5654a6c9a25cfc3d Mon Sep 17 00:00:00 2001 From: Alexander Konietzko Date: Sat, 2 Sep 2023 17:52:05 +0200 Subject: [PATCH] fix: Rabbitmq deployment --- CleanArchitecture.Api/appsettings.json | 4 ++-- .../EventHandler/Fanout/FanoutEventHandler.cs | 1 + Readme.md | 3 ++- docker-compose.yml | 18 +++++++++++++----- k8s-deployment.yml | 10 ++++++---- 5 files changed, 24 insertions(+), 12 deletions(-) diff --git a/CleanArchitecture.Api/appsettings.json b/CleanArchitecture.Api/appsettings.json index ea50523..e130b52 100644 --- a/CleanArchitecture.Api/appsettings.json +++ b/CleanArchitecture.Api/appsettings.json @@ -17,8 +17,8 @@ "RedisHostName": "redis", "RabbitMQ": { "Host": "rabbitmq", - "Username": "guest", - "Password": "guest", + "Username": "admin", + "Password": "DOIA9234JF", "Enabled": "True" } } diff --git a/CleanArchitecture.Domain/EventHandler/Fanout/FanoutEventHandler.cs b/CleanArchitecture.Domain/EventHandler/Fanout/FanoutEventHandler.cs index 76f70d2..8d3ae4d 100644 --- a/CleanArchitecture.Domain/EventHandler/Fanout/FanoutEventHandler.cs +++ b/CleanArchitecture.Domain/EventHandler/Fanout/FanoutEventHandler.cs @@ -13,6 +13,7 @@ public sealed class FanoutEventHandler : IFanoutEventHandler RabbitMqHandler rabbitMqHandler) { _rabbitMqHandler = rabbitMqHandler; + _rabbitMqHandler.InitializeExchange(Messaging.ExchangeNameNotifications); } public Task HandleDomainEventAsync(DomainEvent @event) diff --git a/Readme.md b/Readme.md index 8d023e6..7cb783d 100644 --- a/Readme.md +++ b/Readme.md @@ -65,7 +65,8 @@ Running the container 1. Change the ConnectionString in the appsettings.json to `Server=clean-architecture-db-service;Database=clean-architecture;Trusted_Connection=False;MultipleActiveResultSets=true;TrustServerCertificate=True;User Id=SA;Password=Password123!#` 2. Change the RedisHostName in the appsettings.json to `redis-service` -3. Build the docker image and push it to the docker hub (Change the image name in the `k8s-deployment.yml` to your own) +3. Change the RabbitMQ Host in the appsettings.json to `rabbitmq-service` +4. Build the docker image and push it to the docker hub (Change the image name in the `k8s-deployment.yml` to your own) Apply the deployment file: `kubectl apply -f k8s-deployment.yml` (Delete: `kubectl delete -f k8s-deployment.yml`) diff --git a/docker-compose.yml b/docker-compose.yml index e4c2feb..9bafb9c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,10 @@ services: ports: - 80:80 depends_on: - - db + db: + condition: service_started + rabbitmq: + condition: service_healthy links: - db healthcheck: @@ -38,13 +41,18 @@ services: rabbitmq: image: "rabbitmq:3-management" ports: - - "5672:5672" - - "15672:15672" + - 5672:5672 + - 15672:15672 environment: - - RABBITMQ_DEFAULT_USER=guest - - RABBITMQ_DEFAULT_PASS=guest + - RABBITMQ_DEFAULT_USER=admin + - RABBITMQ_DEFAULT_PASS=DOIA9234JF volumes: - rabbitmq_data:/var/lib/rabbitmq + healthcheck: + test: rabbitmq-diagnostics -q ping + interval: 10s + timeout: 3s + retries: 3 volumes: rabbitmq_data: diff --git a/k8s-deployment.yml b/k8s-deployment.yml index a811346..a0095db 100644 --- a/k8s-deployment.yml +++ b/k8s-deployment.yml @@ -142,9 +142,9 @@ spec: - containerPort: 15672 env: - name: RABBITMQ_DEFAULT_USER - value: guest + value: admin - name: RABBITMQ_DEFAULT_PASS - value: guest + value: DOIA9234JF volumeMounts: - name: rabbitmq-data mountPath: /var/lib/rabbitmq @@ -161,9 +161,11 @@ spec: selector: app: rabbitmq ports: - - protocol: TCP + - name: rabbitmq-port + protocol: TCP port: 5672 targetPort: 5672 - - protocol: TCP + - name: rabbitmq-management-port + protocol: TCP port: 15672 targetPort: 15672