Merge branch 'master' into feature/api-explorer

This commit is contained in:
Nicolai Ort 2020-06-05 15:50:20 +02:00
commit 3401e9c0c5
4 changed files with 48 additions and 9 deletions

View File

@ -10,4 +10,12 @@ RUN dotnet publish -c Release -o /app
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS final
WORKDIR /app
COPY --from=build /app .
## Intruduce all the ENV vars
ENV DATABASE_HOST null
ENV DATABASE_PORT 5432
ENV DATABASE_NAME null
ENV DATABASE_USER null
ENV DATABASE_PASSWORD null
ENTRYPOINT ["dotnet", "ScrumTaskboard.dll"]

View File

@ -26,13 +26,13 @@ namespace ScrumTaskboard
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
{
services.AddCors(o => o.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
}));
services.AddMvc().AddJsonOptions(o =>
{
o.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
@ -40,7 +40,7 @@ namespace ScrumTaskboard
});
services.AddScoped(serviceProvider => new TaskContext(
new DbContextOptionsBuilder<TaskContext>()
.UseNpgsql("Host=nig.gl; Port=8543; Username=scrum; Database=taskboard; Password=c6gXud7YvBWp2sgxSgy4wRN")
.UseNpgsql(GetConnectionString())
.Options));
services.AddControllers();
services.AddOpenApiDocument(
@ -84,5 +84,36 @@ namespace ScrumTaskboard
app.UseOpenApi();
app.UseSwaggerUi3();
}
/// <summary>
/// Creates DB Connection String based on ENV vars and default vars.
/// </summary>
/// <returns></returns>
public string GetConnectionString()
{
string dbHost;
string dbPort;
string dbName;
string dbUser;
string dbPassword;
dbHost = Environment.GetEnvironmentVariable("DATABASE_HOST");
dbPort = Environment.GetEnvironmentVariable("DATABASE_PORT");
dbName = Environment.GetEnvironmentVariable("DATABASE_NAME");
dbUser = Environment.GetEnvironmentVariable("DATABASE_USER");
dbPassword = Environment.GetEnvironmentVariable("DATABASE_PASSWORD");
if(dbHost == null || dbPort == null || dbName == null || dbUser == null || dbPassword == null)
{
dbHost = "nig.gl";
dbPort = "8543";
dbName = "taskboard";
dbUser = "scrum";
dbPassword = "c6gXud7YvBWp2sgxSgy4wRN";
}
return $"Host={dbHost}; Port={dbPort}; Username={dbUser}; Database={dbName}; Password={dbPassword}";
}
}
}

View File

@ -15,12 +15,7 @@ namespace ScrumTaskboard
public DbSet<ScrumUser> Users { get; set; }
public TaskContext() { }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql("Host=nig.gl; Port=8543; Username=scrum; Database=taskboard; Password=c6gXud7YvBWp2sgxSgy4wRN");
}
public TaskContext(DbContextOptions<TaskContext> options) : base(options) { }
}

View File

@ -22,6 +22,11 @@ services:
- default
ports:
- "5001:80"
environment:
DATABASE_HOST: db
DATABASE_NAME: taskboard
DATABASE_USER: scrum
DATABASE_PASSWORD: c6gXud7YvBWp2sgxSgy4wRN
volumes:
db-data: