Skip to content

Commit 6ec12fa

Browse files
authored
Merge pull request #119 from Particular/az-improvements
Removed the file reading
2 parents 1f881bc + ee31145 commit 6ec12fa

File tree

6 files changed

+101
-29
lines changed

6 files changed

+101
-29
lines changed

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,23 @@ docker compose -p particular-platform-showcase -f docker-compose-base.yml -f com
3939
### (Alternative) Run from an IDE
4040

4141
<details>
42-
> [!WARNING]
43-
> When using Visual Studio, ensure you have the "Enable Multi-Project Launch profiles" setting on. Allow Visual Studio 2022 "multi-launch" so you can easily select the profile you want to run.
44-
>
45-
> It can be activated by accessing the Tools menu -> Manage preview features- Enable Multi-Project Launch profiles.
42+
TIP
43+
When using Visual Studio, ensure you have the "Enable Multi-Project Launch profiles" setting on. Allow Visual Studio 2022 "multi-launch" so you can easily select the profile you want to run.
44+
It can be activated by accessing the Tools menu -> Manage preview features- Enable Multi-Project Launch profiles.
4645

4746
To start the required infrastructure for the showcase, run one of the docker command below from the `src` folder in a terminal.
4847

4948
RabbitMQ
5049

50+
Update `rabbit.env` file section named "Only used for the showcase processes" to:
51+
```env
52+
# Only used for the showcase processes
53+
RABBITMQ_HOST="localhost"
54+
RABBITMQ_PORT="33721"
55+
RABBITMQ_VIRTUALHOST="/"
56+
```
57+
58+
Then run:
5159
```cmd
5260
docker compose -p particular-platform-showcase -f docker-compose-base.yml -f compose-rabbitmq.yml --env-file rabbit.env --profile infrastructure --profile frontend up -d
5361
```

src/Helper/BusRegistrationConfiguratorExt.cs

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,51 @@ public static class BusRegistrationConfiguratorExt
55
{
66
public static void SetupTransport(this IBusRegistrationConfigurator x, string[] args)
77
{
8-
string selectedTransport = Environment.GetEnvironmentVariable("TRANSPORT_TYPE") ?? "RabbitMQ";
8+
var selectedTransport = Environment.GetEnvironmentVariable("TRANSPORT_TYPE") ?? "RabbitMQ";
9+
string envFile;
910

1011
switch (selectedTransport)
1112
{
12-
case "AmazonSQS":
13-
x.UsingAmazonSqs((ctx, cfg) =>
13+
case "AzureServiceBus":
14+
var connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING");
15+
envFile = Path.GetFullPath("../../../asb.env");
16+
if (File.Exists(envFile))
1417
{
15-
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [Path.GetFullPath("../../../sqs.env")]));
16-
cfg.Host(envs["AWS_REGION"], h =>
17-
{
18-
h.AccessKey(envs["AWS_ACCESS_KEY_ID"]);
19-
h.SecretKey(envs["AWS_SECRET_ACCESS_KEY"]);
20-
});
18+
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [envFile], ignoreExceptions: false));
19+
connectionString = envs["CONNECTION_STRING"];
20+
}
2121

22-
cfg.ConfigureEndpoints(ctx);
23-
});
24-
break;
25-
case "AzureServiceBus":
26-
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [Path.GetFullPath("../../../asb.env")], ignoreExceptions: false));
2722
x.UsingAzureServiceBus((context, cfg) =>
2823
{
29-
cfg.Host(envs["CONNECTION_STRING"]);
24+
cfg.Host(connectionString);
3025

3126
cfg.ConfigureEndpoints(context);
3227
});
28+
3329
break;
3430
case "RabbitMQ":
31+
var host = Environment.GetEnvironmentVariable("RABBITMQ_HOST");
32+
var port = Environment.GetEnvironmentVariable("RABBITMQ_PORT") ?? "5672";
33+
var vHost = Environment.GetEnvironmentVariable("RABBITMQ_VIRTUALHOST");
34+
var username = Environment.GetEnvironmentVariable("RABBITMQ_MANAGEMENT_API_USERNAME");
35+
var password = Environment.GetEnvironmentVariable("RABBITMQ_MANAGEMENT_API_PASSWORD");
36+
envFile = Path.GetFullPath("../../../rabbit.env");
37+
if (File.Exists(envFile))
38+
{
39+
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [envFile], ignoreExceptions: false));
40+
host = envs["RABBITMQ_HOST"];
41+
port = envs["RABBITMQ_PORT"];
42+
vHost = envs["RABBITMQ_VIRTUALHOST"];
43+
username = envs["RABBITMQ_MANAGEMENT_API_USERNAME"];
44+
password = envs["RABBITMQ_MANAGEMENT_API_PASSWORD"];
45+
}
46+
3547
x.UsingRabbitMq((context, cfg) =>
3648
{
37-
cfg.Host("rabbitmq", 5672, "/", h =>
49+
cfg.Host(host, ushort.Parse(port), vHost, h =>
3850
{
39-
h.Username("guest");
40-
h.Password("guest");
51+
h.Username(username);
52+
h.Password(password);
4153
});
4254
cfg.ConfigureEndpoints(context);
4355
});

src/MassTransitShowcaseDemo.sln

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio Version 17
33
VisualStudioVersion = 17.9.34902.65
44
MinimumVisualStudioVersion = 15.0.26730.12
5-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7D29C905-CE3A-4D93-8271-7BA09CEE1631}"
6-
ProjectSection(SolutionItems) = preProject
7-
Directory.Build.props = Directory.Build.props
8-
EndProjectSection
9-
EndProject
105
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientUI", "ClientUI\ClientUI.csproj", "{918001C1-B9F6-4E81-894B-128271E8D910}"
116
EndProject
127
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Messages", "Messages\Messages.csproj", "{CFF586B0-0FA1-4F3C-B860-44BE86B0F341}"

src/compose-rabbitmq-user.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,32 @@ services:
88
environment:
99
- LICENSINGCOMPONENT_RABBITMQ_APIURL=${RABBITMQ_MANAGEMENT_API_URL}
1010
- LICENSINGCOMPONENT_RABBITMQ_USERNAME=${RABBITMQ_MANAGEMENT_API_USERNAME}
11-
- LICENSINGCOMPONENT_RABBITMQ_PASSWORD=${RABBITMQ_MANAGEMENT_API_PASSWORD}
11+
- LICENSINGCOMPONENT_RABBITMQ_PASSWORD=${RABBITMQ_MANAGEMENT_API_PASSWORD}
12+
clientui:
13+
environment:
14+
- RABBITMQ_MANAGEMENT_API_USERNAME
15+
- RABBITMQ_MANAGEMENT_API_PASSWORD
16+
- RABBITMQ_HOST
17+
- RABBITMQ_PORT
18+
- RABBITMQ_VIRTUALHOST
19+
sales:
20+
environment:
21+
- RABBITMQ_MANAGEMENT_API_USERNAME
22+
- RABBITMQ_MANAGEMENT_API_PASSWORD
23+
- RABBITMQ_HOST
24+
- RABBITMQ_PORT
25+
- RABBITMQ_VIRTUALHOST
26+
shipping:
27+
environment:
28+
- RABBITMQ_MANAGEMENT_API_USERNAME
29+
- RABBITMQ_MANAGEMENT_API_PASSWORD
30+
- RABBITMQ_HOST
31+
- RABBITMQ_PORT
32+
- RABBITMQ_VIRTUALHOST
33+
billing:
34+
environment:
35+
- RABBITMQ_MANAGEMENT_API_USERNAME
36+
- RABBITMQ_MANAGEMENT_API_PASSWORD
37+
- RABBITMQ_HOST
38+
- RABBITMQ_PORT
39+
- RABBITMQ_VIRTUALHOST

src/compose-rabbitmq.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,35 @@ services:
4040
- RABBITMQ_MANAGEMENT_API_URL
4141
- RABBITMQ_MANAGEMENT_API_USERNAME
4242
- RABBITMQ_MANAGEMENT_API_PASSWORD
43+
44+
clientui:
45+
environment:
46+
- RABBITMQ_MANAGEMENT_API_USERNAME
47+
- RABBITMQ_MANAGEMENT_API_PASSWORD
48+
- RABBITMQ_HOST
49+
- RABBITMQ_PORT
50+
- RABBITMQ_VIRTUALHOST
51+
sales:
52+
environment:
53+
- RABBITMQ_MANAGEMENT_API_USERNAME
54+
- RABBITMQ_MANAGEMENT_API_PASSWORD
55+
- RABBITMQ_HOST
56+
- RABBITMQ_PORT
57+
- RABBITMQ_VIRTUALHOST
58+
shipping:
59+
environment:
60+
- RABBITMQ_MANAGEMENT_API_USERNAME
61+
- RABBITMQ_MANAGEMENT_API_PASSWORD
62+
- RABBITMQ_HOST
63+
- RABBITMQ_PORT
64+
- RABBITMQ_VIRTUALHOST
65+
billing:
66+
environment:
67+
- RABBITMQ_MANAGEMENT_API_USERNAME
68+
- RABBITMQ_MANAGEMENT_API_PASSWORD
69+
- RABBITMQ_HOST
70+
- RABBITMQ_PORT
71+
- RABBITMQ_VIRTUALHOST
4372

4473
configs:
4574
plugins:

src/rabbit.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ RABBITMQ_MANAGEMENT_API_URL="http://rabbitmq:15672"
66
RABBITMQ_MANAGEMENT_API_USERNAME=guest
77
RABBITMQ_MANAGEMENT_API_PASSWORD=guest
88

9-
#Only used for the showcase processes
9+
# Only used for the showcase processes
1010
RABBITMQ_HOST="rabbitmq"
1111
RABBITMQ_PORT="5672"
1212
RABBITMQ_VIRTUALHOST="/"

0 commit comments

Comments
 (0)