diff --git a/src/.dockerignore b/src/.dockerignore
new file mode 100644
index 00000000..3729ff0c
--- /dev/null
+++ b/src/.dockerignore
@@ -0,0 +1,25 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/src/O2NextGen-Prototypes.sln b/src/O2NextGen-Prototypes.sln
index bba50e0b..5118ffb9 100644
--- a/src/O2NextGen-Prototypes.sln
+++ b/src/O2NextGen-Prototypes.sln
@@ -1,8 +1,52 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26124.0
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32112.339
MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Services", "Services", "{574CE1BF-397E-4262-82AD-94FB1CE98DA2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.CertificateManagement.Api", "Services\c-gen\O2NextGen.CertificateManagement.Api\O2NextGen.CertificateManagement.Api.csproj", "{A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.Auth.Web", "Services\auth\O2NextGen.Auth.Web\O2NextGen.Auth.Web.csproj", "{D3CB3202-5150-421A-8080-1C6C3AEE7AF8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.ESender.Api", "Services\e-sender\O2NextGen.ESender.Api\O2NextGen.ESender.Api.csproj", "{4364879E-A340-4E42-9A99-E300B17E642A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "c-gen", "c-gen", "{D54E3377-9B9C-479F-AC91-950C467643C5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.CertificateManagement.Business", "Services\c-gen\O2NextGen.CertificateManagement.Business\O2NextGen.CertificateManagement.Business.csproj", "{61756592-A16C-493F-908D-2F36F8259735}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.CertificateManagement.Data", "Services\c-gen\O2NextGen.CertificateManagement.Data\O2NextGen.CertificateManagement.Data.csproj", "{47342164-51DC-4498-AD4C-97702E968FBE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.CertificateManagement.Impl", "Services\c-gen\O2NextGen.CertificateManagement.Impl\O2NextGen.CertificateManagement.Impl.csproj", "{A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "auth", "auth", "{34A59C35-BF40-43E3-8FA6-6A20B49300E9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "e-sender", "e-sender", "{D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.ESender.Business", "Services\e-sender\O2NextGen.ESender.Business\O2NextGen.ESender.Business.csproj", "{3577343F-C561-4031-8AE5-4A792ECE399D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.ESender.Data", "Services\e-sender\O2NextGen.ESender.Data\O2NextGen.ESender.Data.csproj", "{ED022699-A7C1-4A89-8DD6-3C20427440C1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.ESender.Impl", "Services\e-sender\O2NextGen.ESender.Impl\O2NextGen.ESender.Impl.csproj", "{222158C9-EE7E-412B-9105-F570FA29BAAF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "on-tracker", "on-tracker", "{E88D3DAC-13D1-4711-9ADD-BE97A3A57212}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2.OnTracker.Api", "Services\on-tracker\O2.OnTracker.Api\O2.OnTracker.Api.csproj", "{230C6816-A862-450D-8B9C-736CA2D21F93}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "smalltalk", "smalltalk", "{0DB9F20A-FD40-4110-807E-AAEFEFCCD574}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.SmallTalk.Api", "Services\smalltalk\O2NextGen.SmallTalk.Api\O2NextGen.SmallTalk.Api.csproj", "{87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.SmallTalk.Business", "Services\smalltalk\O2NextGen.SmallTalk.Business\O2NextGen.SmallTalk.Business.csproj", "{31515AC2-E286-49D7-A35C-5F34BB297EB7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.SmallTalk.Data", "Services\smalltalk\O2NextGen.SmallTalk.Data\O2NextGen.SmallTalk.Data.csproj", "{1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2NextGen.SmallTalk.Impl", "Services\smalltalk\O2NextGen.SmallTalk.Impl\O2NextGen.SmallTalk.Impl.csproj", "{20D19B8A-3C6E-49B4-BBC9-51EA63B86147}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "O2.Tracker.DbUtility", "Services\on-tracker\O2.Tracker.DbUtility\O2.Tracker.DbUtility.csproj", "{ECC10F39-5198-481C-91D9-40C09A0E323F}"
+EndProject
+Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{5815FA40-82B7-400D-8FB0-667EED9DC622}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -12,7 +56,226 @@ Global
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|x64.Build.0 = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Debug|x86.Build.0 = Debug|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|x64.ActiveCfg = Release|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|x64.Build.0 = Release|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|x86.ActiveCfg = Release|Any CPU
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5}.Release|x86.Build.0 = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|x64.Build.0 = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Debug|x86.Build.0 = Debug|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|x64.ActiveCfg = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|x64.Build.0 = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|x86.ActiveCfg = Release|Any CPU
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8}.Release|x86.Build.0 = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|x64.Build.0 = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Debug|x86.Build.0 = Debug|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|x64.ActiveCfg = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|x64.Build.0 = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|x86.ActiveCfg = Release|Any CPU
+ {4364879E-A340-4E42-9A99-E300B17E642A}.Release|x86.Build.0 = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|x64.Build.0 = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Debug|x86.Build.0 = Debug|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|Any CPU.Build.0 = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|x64.ActiveCfg = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|x64.Build.0 = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|x86.ActiveCfg = Release|Any CPU
+ {61756592-A16C-493F-908D-2F36F8259735}.Release|x86.Build.0 = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|x64.Build.0 = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Debug|x86.Build.0 = Debug|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|x64.ActiveCfg = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|x64.Build.0 = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|x86.ActiveCfg = Release|Any CPU
+ {47342164-51DC-4498-AD4C-97702E968FBE}.Release|x86.Build.0 = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|x64.Build.0 = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Debug|x86.Build.0 = Debug|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|x64.ActiveCfg = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|x64.Build.0 = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|x86.ActiveCfg = Release|Any CPU
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C}.Release|x86.Build.0 = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|x64.Build.0 = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Debug|x86.Build.0 = Debug|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|x64.ActiveCfg = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|x64.Build.0 = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|x86.ActiveCfg = Release|Any CPU
+ {3577343F-C561-4031-8AE5-4A792ECE399D}.Release|x86.Build.0 = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|x64.Build.0 = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Debug|x86.Build.0 = Debug|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|x64.ActiveCfg = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|x64.Build.0 = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|x86.ActiveCfg = Release|Any CPU
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1}.Release|x86.Build.0 = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|x64.Build.0 = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Debug|x86.Build.0 = Debug|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|x64.ActiveCfg = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|x64.Build.0 = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|x86.ActiveCfg = Release|Any CPU
+ {222158C9-EE7E-412B-9105-F570FA29BAAF}.Release|x86.Build.0 = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|x64.Build.0 = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Debug|x86.Build.0 = Debug|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|Any CPU.Build.0 = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|x64.ActiveCfg = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|x64.Build.0 = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|x86.ActiveCfg = Release|Any CPU
+ {230C6816-A862-450D-8B9C-736CA2D21F93}.Release|x86.Build.0 = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|x64.Build.0 = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Debug|x86.Build.0 = Debug|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|x64.ActiveCfg = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|x64.Build.0 = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|x86.ActiveCfg = Release|Any CPU
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6}.Release|x86.Build.0 = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|x64.Build.0 = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Debug|x86.Build.0 = Debug|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|x64.ActiveCfg = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|x64.Build.0 = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|x86.ActiveCfg = Release|Any CPU
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7}.Release|x86.Build.0 = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|x64.Build.0 = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Debug|x86.Build.0 = Debug|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|x64.ActiveCfg = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|x64.Build.0 = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|x86.ActiveCfg = Release|Any CPU
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95}.Release|x86.Build.0 = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|x64.Build.0 = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Debug|x86.Build.0 = Debug|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|Any CPU.Build.0 = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|x64.ActiveCfg = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|x64.Build.0 = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|x86.ActiveCfg = Release|Any CPU
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147}.Release|x86.Build.0 = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|x64.Build.0 = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Debug|x86.Build.0 = Debug|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|x64.ActiveCfg = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|x64.Build.0 = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|x86.ActiveCfg = Release|Any CPU
+ {ECC10F39-5198-481C-91D9-40C09A0E323F}.Release|x86.Build.0 = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|x64.Build.0 = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Debug|x86.Build.0 = Debug|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|x64.ActiveCfg = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|x64.Build.0 = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|x86.ActiveCfg = Release|Any CPU
+ {5815FA40-82B7-400D-8FB0-667EED9DC622}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {A31DB3FB-ACFC-407D-BAEB-A8CE7B02ACD5} = {D54E3377-9B9C-479F-AC91-950C467643C5}
+ {D3CB3202-5150-421A-8080-1C6C3AEE7AF8} = {34A59C35-BF40-43E3-8FA6-6A20B49300E9}
+ {4364879E-A340-4E42-9A99-E300B17E642A} = {D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5}
+ {D54E3377-9B9C-479F-AC91-950C467643C5} = {574CE1BF-397E-4262-82AD-94FB1CE98DA2}
+ {61756592-A16C-493F-908D-2F36F8259735} = {D54E3377-9B9C-479F-AC91-950C467643C5}
+ {47342164-51DC-4498-AD4C-97702E968FBE} = {D54E3377-9B9C-479F-AC91-950C467643C5}
+ {A7B2F28E-3B2D-4CCB-9F69-04B8CE7F855C} = {D54E3377-9B9C-479F-AC91-950C467643C5}
+ {34A59C35-BF40-43E3-8FA6-6A20B49300E9} = {574CE1BF-397E-4262-82AD-94FB1CE98DA2}
+ {D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5} = {574CE1BF-397E-4262-82AD-94FB1CE98DA2}
+ {3577343F-C561-4031-8AE5-4A792ECE399D} = {D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5}
+ {ED022699-A7C1-4A89-8DD6-3C20427440C1} = {D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5}
+ {222158C9-EE7E-412B-9105-F570FA29BAAF} = {D1FCDD69-6150-400D-B2AE-C4FE3FD1E1C5}
+ {E88D3DAC-13D1-4711-9ADD-BE97A3A57212} = {574CE1BF-397E-4262-82AD-94FB1CE98DA2}
+ {230C6816-A862-450D-8B9C-736CA2D21F93} = {E88D3DAC-13D1-4711-9ADD-BE97A3A57212}
+ {0DB9F20A-FD40-4110-807E-AAEFEFCCD574} = {574CE1BF-397E-4262-82AD-94FB1CE98DA2}
+ {87A8C3EB-C675-4EA8-97F9-98BDF13E23D6} = {0DB9F20A-FD40-4110-807E-AAEFEFCCD574}
+ {31515AC2-E286-49D7-A35C-5F34BB297EB7} = {0DB9F20A-FD40-4110-807E-AAEFEFCCD574}
+ {1F48ABFB-4C4A-4E0C-A155-3DBAC0676C95} = {0DB9F20A-FD40-4110-807E-AAEFEFCCD574}
+ {20D19B8A-3C6E-49B4-BBC9-51EA63B86147} = {0DB9F20A-FD40-4110-807E-AAEFEFCCD574}
+ {ECC10F39-5198-481C-91D9-40C09A0E323F} = {E88D3DAC-13D1-4711-9ADD-BE97A3A57212}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5C9AF9F4-BF0A-486D-9F2E-17FE2F53F7E9}
+ EndGlobalSection
EndGlobal
diff --git a/src/Services/auth/O2NextGen.Auth.Web/Dockerfile b/src/Services/auth/O2NextGen.Auth.Web/Dockerfile
new file mode 100644
index 00000000..dc1bb794
--- /dev/null
+++ b/src/Services/auth/O2NextGen.Auth.Web/Dockerfile
@@ -0,0 +1,22 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:2.2 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:2.2 AS build
+WORKDIR /src
+COPY ["Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj", "Services/auth/O2NextGen.Auth.Web/"]
+RUN dotnet restore "Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj"
+COPY . .
+WORKDIR "/src/Services/auth/O2NextGen.Auth.Web"
+RUN dotnet build "O2NextGen.Auth.Web.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2NextGen.Auth.Web.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2NextGen.Auth.Web.dll"]
\ No newline at end of file
diff --git a/src/Services/auth/O2NextGen.Auth.Web/Logging/ElasticJsonFormatter.cs b/src/Services/auth/O2NextGen.Auth.Web/Logging/ElasticJsonFormatter.cs
index bb66de74..1229cc64 100644
--- a/src/Services/auth/O2NextGen.Auth.Web/Logging/ElasticJsonFormatter.cs
+++ b/src/Services/auth/O2NextGen.Auth.Web/Logging/ElasticJsonFormatter.cs
@@ -36,10 +36,8 @@ public void Format(LogEvent logEvent, TextWriter output)
private void FormatBody(LogEvent logEvent, TextWriter output)
{
- using (var writer = new JsonTextWriter(output))
- {
-
-
+ var writer = new JsonTextWriter(output);
+
// add json body
writer.WriteStartObject();
@@ -83,7 +81,7 @@ private void FormatBody(LogEvent logEvent, TextWriter output)
writer.WriteEndObject();
writer.Flush();
- } }
+ }
private static string FormatLogLevel(LogEventLevel level)
{
diff --git a/src/Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj b/src/Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj
index 9c19954c..bf8be0b5 100644
--- a/src/Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj
+++ b/src/Services/auth/O2NextGen.Auth.Web/O2NextGen.Auth.Web.csproj
@@ -3,11 +3,16 @@
netcoreapp2.2
InProcess
+ ..\..\..\docker-compose.dcproj
+ adca6dac-ab6b-4a1a-b8c4-03f600c16f45
+ Linux
+ ..\..\..
+
diff --git a/src/Services/auth/O2NextGen.Auth.Web/Properties/launchSettings.json b/src/Services/auth/O2NextGen.Auth.Web/Properties/launchSettings.json
index 500408da..c1a63ed6 100644
--- a/src/Services/auth/O2NextGen.Auth.Web/Properties/launchSettings.json
+++ b/src/Services/auth/O2NextGen.Auth.Web/Properties/launchSettings.json
@@ -3,10 +3,17 @@
"O2NextGen.Auth": {
"commandName": "Project",
"launchBrowser": true,
- "applicationUrl": "https://localhost:10001;http://localhost:10000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
- }
+ },
+ "applicationUrl": "https://localhost:10001;http://localhost:5001"
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "publishAllPorts": true,
+ "useSSL": true
}
}
}
\ No newline at end of file
diff --git a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile
index b2fc8d4b..a797a893 100644
--- a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile
+++ b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile
@@ -1,18 +1,19 @@
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
-FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
+FROM mcr.microsoft.com/dotnet/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 80
+EXPOSE 443
-FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
+FROM mcr.microsoft.com/dotnet/sdk:2.2 AS build
WORKDIR /src
-COPY ["O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj", "O2NextGen.CertificateManagement.Api/"]
-COPY ["O2NextGen.CertificateManagement.Business/O2NextGen.CertificateManagement.Business.csproj", "O2NextGen.CertificateManagement.Business/"]
-COPY ["O2NextGen.CertificateManagement.Data/O2NextGen.CertificateManagement.Data.csproj", "O2NextGen.CertificateManagement.Data/"]
-COPY ["O2NextGen.CertificateManagement.Impl/O2NextGen.CertificateManagement.Impl.csproj", "O2NextGen.CertificateManagement.Impl/"]
-RUN dotnet restore "O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj"
+COPY ["Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj", "Services/c-gen/O2NextGen.CertificateManagement.Api/"]
+COPY ["Services/c-gen/O2NextGen.CertificateManagement.Data/O2NextGen.CertificateManagement.Data.csproj", "Services/c-gen/O2NextGen.CertificateManagement.Data/"]
+COPY ["Services/c-gen/O2NextGen.CertificateManagement.Impl/O2NextGen.CertificateManagement.Impl.csproj", "Services/c-gen/O2NextGen.CertificateManagement.Impl/"]
+COPY ["Services/c-gen/O2NextGen.CertificateManagement.Business/O2NextGen.CertificateManagement.Business.csproj", "Services/c-gen/O2NextGen.CertificateManagement.Business/"]
+RUN dotnet restore "Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj"
COPY . .
-WORKDIR "/src/O2NextGen.CertificateManagement.Api"
+WORKDIR "/src/Services/c-gen/O2NextGen.CertificateManagement.Api"
RUN dotnet build "O2NextGen.CertificateManagement.Api.csproj" -c Release -o /app/build
FROM build AS publish
@@ -21,4 +22,4 @@ RUN dotnet publish "O2NextGen.CertificateManagement.Api.csproj" -c Release -o /a
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
-ENTRYPOINT ["dotnet", "O2NextGen.CertificateManagement.Api.dll"]
+ENTRYPOINT ["dotnet", "O2NextGen.CertificateManagement.Api.dll"]
\ No newline at end of file
diff --git a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile.original b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile.original
new file mode 100644
index 00000000..36eee5dd
--- /dev/null
+++ b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile.original
@@ -0,0 +1,24 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
+WORKDIR /app
+EXPOSE 80
+
+FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
+WORKDIR /src
+COPY ["O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj", "O2NextGen.CertificateManagement.Api/"]
+COPY ["O2NextGen.CertificateManagement.Business/O2NextGen.CertificateManagement.Business.csproj", "O2NextGen.CertificateManagement.Business/"]
+COPY ["O2NextGen.CertificateManagement.Data/O2NextGen.CertificateManagement.Data.csproj", "O2NextGen.CertificateManagement.Data/"]
+COPY ["O2NextGen.CertificateManagement.Impl/O2NextGen.CertificateManagement.Impl.csproj", "O2NextGen.CertificateManagement.Impl/"]
+RUN dotnet restore "O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj"
+COPY . .
+WORKDIR "/src/O2NextGen.CertificateManagement.Api"
+RUN dotnet build "O2NextGen.CertificateManagement.Api.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2NextGen.CertificateManagement.Api.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2NextGen.CertificateManagement.Api.dll"]
diff --git a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj
index e25e25a6..654aaffd 100644
--- a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj
+++ b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/O2NextGen.CertificateManagement.Api.csproj
@@ -1,7 +1,11 @@
-
+
netcoreapp2.2
+ e238f36a-3514-4436-b624-9b4f799bb82d
+ Linux
+ ..\..\..
+ ..\..\..\docker-compose.dcproj
@@ -12,6 +16,7 @@
+
diff --git a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Properties/launchSettings.json b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Properties/launchSettings.json
index f9858d76..32ab7244 100644
--- a/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Properties/launchSettings.json
+++ b/src/Services/c-gen/O2NextGen.CertificateManagement.Api/Properties/launchSettings.json
@@ -1,12 +1,19 @@
-{
+{
"profiles": {
"O2NextGen.CertificateManagement.Web": {
"commandName": "Project",
"launchBrowser": true,
- "applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
- }
+ },
+ "applicationUrl": "https://localhost:10002;http://localhost:5002"
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "publishAllPorts": true,
+ "useSSL": true
}
}
-}
+}
\ No newline at end of file
diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/Dockerfile b/src/Services/e-sender/O2NextGen.ESender.Api/Dockerfile
new file mode 100644
index 00000000..e13b327d
--- /dev/null
+++ b/src/Services/e-sender/O2NextGen.ESender.Api/Dockerfile
@@ -0,0 +1,25 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:2.2 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:2.2 AS build
+WORKDIR /src
+COPY ["Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj", "Services/e-sender/O2NextGen.ESender.Api/"]
+COPY ["Services/e-sender/O2NextGen.ESender.Impl/O2NextGen.ESender.Impl.csproj", "Services/e-sender/O2NextGen.ESender.Impl/"]
+COPY ["Services/e-sender/O2NextGen.ESender.Data/O2NextGen.ESender.Data.csproj", "Services/e-sender/O2NextGen.ESender.Data/"]
+COPY ["Services/e-sender/O2NextGen.ESender.Business/O2NextGen.ESender.Business.csproj", "Services/e-sender/O2NextGen.ESender.Business/"]
+RUN dotnet restore "Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj"
+COPY . .
+WORKDIR "/src/Services/e-sender/O2NextGen.ESender.Api"
+RUN dotnet build "O2NextGen.ESender.Api.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2NextGen.ESender.Api.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2NextGen.ESender.Api.dll"]
\ No newline at end of file
diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj b/src/Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj
index ed6214b2..b1d65de4 100644
--- a/src/Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj
+++ b/src/Services/e-sender/O2NextGen.ESender.Api/O2NextGen.ESender.Api.csproj
@@ -1,8 +1,12 @@
-
+
netcoreapp2.2
InProcess
+ e7c66e1c-578d-4339-9f29-38bda0a56f64
+ Linux
+ ..\..\..
+ ..\..\..\docker-compose.dcproj
@@ -15,6 +19,7 @@
+
diff --git a/src/Services/e-sender/O2NextGen.ESender.Api/Properties/launchSettings.json b/src/Services/e-sender/O2NextGen.ESender.Api/Properties/launchSettings.json
index 8db78e4b..b872fc26 100644
--- a/src/Services/e-sender/O2NextGen.ESender.Api/Properties/launchSettings.json
+++ b/src/Services/e-sender/O2NextGen.ESender.Api/Properties/launchSettings.json
@@ -1,8 +1,8 @@
-{
+{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:26083",
"sslPort": 44314
@@ -21,11 +21,17 @@
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
- "applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
- }
+ },
+ "applicationUrl": "https://localhost:10004;http://localhost:5004"
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values",
+ "publishAllPorts": true,
+ "useSSL": true
}
}
-}
-
+}
\ No newline at end of file
diff --git a/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Dockerfile b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Dockerfile
new file mode 100644
index 00000000..25cab7ee
--- /dev/null
+++ b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Dockerfile
@@ -0,0 +1,25 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:2.2 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:2.2 AS build
+WORKDIR /src
+COPY ["Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj", "Services/smalltalk/O2NextGen.SmallTalk.Api/"]
+COPY ["Services/smalltalk/O2NextGen.SmallTalk.Data/O2NextGen.SmallTalk.Data.csproj", "Services/smalltalk/O2NextGen.SmallTalk.Data/"]
+COPY ["Services/smalltalk/O2NextGen.SmallTalk.Business/O2NextGen.SmallTalk.Business.csproj", "Services/smalltalk/O2NextGen.SmallTalk.Business/"]
+COPY ["Services/smalltalk/O2NextGen.SmallTalk.Impl/O2NextGen.SmallTalk.Impl.csproj", "Services/smalltalk/O2NextGen.SmallTalk.Impl/"]
+RUN dotnet restore "Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj"
+COPY . .
+WORKDIR "/src/Services/smalltalk/O2NextGen.SmallTalk.Api"
+RUN dotnet build "O2NextGen.SmallTalk.Api.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2NextGen.SmallTalk.Api.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2NextGen.SmallTalk.Api.dll"]
\ No newline at end of file
diff --git a/src/Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj
index 99408c8c..926e1e12 100644
--- a/src/Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj
+++ b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/O2NextGen.SmallTalk.Api.csproj
@@ -1,7 +1,11 @@
-
+
netcoreapp2.2
+ 3e239bd5-b8d6-455f-8e46-ea4782668914
+ Linux
+ ..\..\..
+ ..\..\..\docker-compose.dcproj
@@ -10,6 +14,7 @@
+
diff --git a/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Properties/launchSettings.json b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Properties/launchSettings.json
index 4367cb15..8e982cfc 100644
--- a/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Properties/launchSettings.json
+++ b/src/Services/smalltalk/O2NextGen.SmallTalk.Api/Properties/launchSettings.json
@@ -1,8 +1,8 @@
-{
+{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:21322",
"sslPort": 44362
@@ -21,11 +21,17 @@
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
- "applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
- }
+ },
+ "applicationUrl": "https://localhost:10003;http://localhost:5003"
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values",
+ "publishAllPorts": true,
+ "useSSL": true
}
}
-}
-
+}
\ No newline at end of file
diff --git a/src/docker-compose.dcproj b/src/docker-compose.dcproj
new file mode 100644
index 00000000..82c4b7ac
--- /dev/null
+++ b/src/docker-compose.dcproj
@@ -0,0 +1,18 @@
+
+
+
+ 2.1
+ Linux
+ 5815fa40-82b7-400d-8fb0-667eed9dc622
+ LaunchBrowser
+ {Scheme}://localhost:{ServicePort}/{Scheme}://{ServiceHost}:{ServicePort}
+ o2nextgen.auth.web
+
+
+
+ docker-compose.yml
+
+
+
+
+
\ No newline at end of file
diff --git a/src/docker-compose.override.yml b/src/docker-compose.override.yml
index 87fc3ec7..e64936a5 100644
--- a/src/docker-compose.override.yml
+++ b/src/docker-compose.override.yml
@@ -1,8 +1,46 @@
version: '3.4'
+
services:
- certificate.api:
+
+ o2nextgen.auth.web:
environment:
- - ASPNETCORE_ENVIRONMENT=Development
- - ConnectionString=${O2_AZURE_IDENTITY_DB:-Server=sql.data;Database=O2Bionics.o2nextgen.CertificateDb;User Id=sa;Password=Pass@word;}
+ - ASPNETCORE_ENVIRONMENT=Development
+ #- ASPNETCORE_URLS=https://+:443;http://+:80
ports:
- - "10102:80"
\ No newline at end of file
+ - "80:5001"
+ - "443:10001"
+ volumes:
+ - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
+
+ o2nextgen.certificatemanagement.api:
+ environment:
+ - ASPNETCORE_ENVIRONMENT=Development
+ #- ASPNETCORE_URLS=https://+:443;http://+:80
+ ports:
+ - "80:5002"
+ - "443:10002"
+ volumes:
+ - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
+ - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
+
+ o2nextgen.smalltalk.api:
+ environment:
+ - ASPNETCORE_ENVIRONMENT=Development
+ #- ASPNETCORE_URLS=https://+:443;http://+:80
+ ports:
+ - "80:5003"
+ - "443:10003"
+ volumes:
+ - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
+ - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
+
+ o2nextgen.esender.api:
+ environment:
+ - ASPNETCORE_ENVIRONMENT=Development
+ #- ASPNETCORE_URLS=https://+:443;http://+:80
+ ports:
+ - "80:5004"
+ - "443:10004"
+ volumes:
+ - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
+ - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
diff --git a/src/docker-compose.yaml b/src/docker-compose.yaml
deleted file mode 100644
index 354e9402..00000000
--- a/src/docker-compose.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-version: '3.4'
-networks:
- frontend:
- backend:
-
-services:
- sql.data:
- image: mcr.microsoft.com/mssql/server:2017-latest
- container_name: sqldatacontainer
- environment:
- - SA_PASSWORD=Pass@word
- - ACCEPT_EULA=Y
- # - MSSQL_PID=Developer
- ports:
- - "1433:1433"
- networks:
- - backend
-
- certificate.api:
- image: ${DOCKER_REGISTRY:-o2nextgen}/cgen.api:${PLATFORM:-linux}-${TAG:-latest}
- build:
- context: Services/c-gen/O2NextGen.CertificateManagement.Api/
- dockerfile: Dockerfile
- environment:
- - ASPNETCORE_ENVIRONMENT=Development
- - ConnectionString=${O2_AZURE_IDENTITY_DB:-Server=sql.data;Database=O2Bionics.o2nextgen.CertificateDb;User Id=sa;Password=Pass@word;}
- depends_on:
- - sql.data
- ports:
- - "10102:80"
- networks:
- - backend
- - frontend
diff --git a/src/docker-compose.yml b/src/docker-compose.yml
new file mode 100644
index 00000000..bc124c22
--- /dev/null
+++ b/src/docker-compose.yml
@@ -0,0 +1,30 @@
+version: '3.4'
+
+services:
+
+ o2nextgen.auth.web:
+ image: ${DOCKER_REGISTRY-}o2ng-auth-web
+ build:
+ context: .
+ dockerfile: Services/auth/O2NextGen.Auth.Web/Dockerfile
+
+ o2nextgen.certificatemanagement.api:
+ image: ${DOCKER_REGISTRY-}o2ng-cgen-api
+ build:
+ context: .
+ dockerfile: Services/c-gen/O2NextGen.CertificateManagement.Api/Dockerfile
+
+
+ o2nextgen.smalltalk.api:
+ image: ${DOCKER_REGISTRY-}o2ng-smalltalk-api
+ build:
+ context: .
+ dockerfile: Services/smalltalk/O2NextGen.SmallTalk.Api/Dockerfile
+
+
+ o2nextgen.esender.api:
+ image: ${DOCKER_REGISTRY-}o2ng-esender-api
+ build:
+ context: .
+ dockerfile: Services/e-sender/O2NextGen.ESender.Api/Dockerfile
+