Skip to content

Commit 54a854b

Browse files
committed
Passing env vars around
1 parent 15aa401 commit 54a854b

File tree

3 files changed

+88
-15
lines changed

3 files changed

+88
-15
lines changed

src/Helper/BusRegistrationConfiguratorExt.cs

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,75 @@ 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
{
13+
case "AmazonSQS":
14+
var awsRegion = Environment.GetEnvironmentVariable("AWS_REGION");
15+
var awsClientId = Environment.GetEnvironmentVariable("AWS_ACCESS_KEY_ID");
16+
var awsSecret = Environment.GetEnvironmentVariable("AWS_SECRET_ACCESS_KEY");
17+
envFile = Path.GetFullPath("../../../sqs.env");
18+
if (File.Exists(envFile))
19+
{
20+
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [envFile]));
21+
awsRegion = envs["AWS_REGION"];
22+
awsClientId = envs["AWS_ACCESS_KEY_ID"];
23+
awsSecret = envs["AWS_SECRET_ACCESS_KEY"];
24+
}
25+
26+
x.UsingAmazonSqs((ctx, cfg) =>
27+
{
28+
cfg.Host(awsRegion, h =>
29+
{
30+
h.AccessKey(awsClientId);
31+
h.SecretKey(awsSecret);
32+
});
33+
34+
cfg.ConfigureEndpoints(ctx);
35+
});
36+
break;
1237
case "AzureServiceBus":
13-
string connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING");
38+
var connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING");
39+
envFile = Path.GetFullPath("../../../asb.env");
40+
if (File.Exists(envFile))
41+
{
42+
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [envFile], ignoreExceptions: false));
43+
connectionString = envs["CONNECTION_STRING"];
44+
}
45+
1446
x.UsingAzureServiceBus((context, cfg) =>
15-
{
16-
cfg.Host(connectionString);
17-
cfg.ConfigureEndpoints(context);
18-
});
47+
{
48+
cfg.Host(connectionString);
49+
50+
cfg.ConfigureEndpoints(context);
51+
});
52+
1953
break;
2054
case "RabbitMQ":
55+
var host = Environment.GetEnvironmentVariable("RABBITMQ_HOST");
56+
var port = Environment.GetEnvironmentVariable("RABBITMQ_PORT") ?? "5672";
57+
var vHost = Environment.GetEnvironmentVariable("RABBITMQ_VIRTUALHOST");
58+
var username = Environment.GetEnvironmentVariable("RABBITMQ_MANAGEMENT_API_USERNAME");
59+
var password = Environment.GetEnvironmentVariable("RABBITMQ_MANAGEMENT_API_PASSWORD");
60+
envFile = Path.GetFullPath("../../../rabbit.env");
61+
if (File.Exists(envFile))
62+
{
63+
var envs = DotEnv.Read(new DotEnvOptions(envFilePaths: [envFile], ignoreExceptions: false));
64+
host = envs["RABBITMQ_HOST"];
65+
port = envs["RABBITMQ_PORT"];
66+
vHost = envs["RABBITMQ_VIRTUALHOST"];
67+
username = envs["RABBITMQ_MANAGEMENT_API_USERNAME"];
68+
password = envs["RABBITMQ_MANAGEMENT_API_PASSWORD"];
69+
}
70+
2171
x.UsingRabbitMq((context, cfg) =>
2272
{
23-
cfg.Host("rabbitmq", 5672, "/", h =>
73+
cfg.Host(host, ushort.Parse(port), vHost, h =>
2474
{
25-
h.Username("guest");
26-
h.Password("guest");
75+
h.Username(username);
76+
h.Password(password);
2777
});
2878
cfg.ConfigureEndpoints(context);
2979
});

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

0 commit comments

Comments
 (0)