diff --git a/CDP4Authentication/CDP4Authentication.csproj b/CDP4Authentication/CDP4Authentication.csproj
index 84b4dafd..cf256b1d 100644
--- a/CDP4Authentication/CDP4Authentication.csproj
+++ b/CDP4Authentication/CDP4Authentication.csproj
@@ -4,7 +4,7 @@
net9.0
Starion Group S.A.
CDP4Authentication-CE
- 9.0.0
+ 10.0.0
CDP4-COMET Library to support the implementation of authentication
Copyright © Starion Group S.A.
Sam Gerené, Alex Vorobiev, Alexander van Delft
diff --git a/CDP4DatabaseAuthentication/CDP4DatabaseAuthentication.csproj b/CDP4DatabaseAuthentication/CDP4DatabaseAuthentication.csproj
index e5ec58d0..5bac30d9 100644
--- a/CDP4DatabaseAuthentication/CDP4DatabaseAuthentication.csproj
+++ b/CDP4DatabaseAuthentication/CDP4DatabaseAuthentication.csproj
@@ -4,7 +4,7 @@
net9.0
Starion Group S.A.
CDP4DatabaseAuthentication-CE
- 9.0.0
+ 10.0.0
CDP4-COMET Database authentication
Copyright © Starion Group S.A.
Sam Gerené, Alex Vorobiev, Alexander van Delft
diff --git a/CDP4Orm/CDP4Orm.csproj b/CDP4Orm/CDP4Orm.csproj
index a2d3e01e..b63fd4ce 100644
--- a/CDP4Orm/CDP4Orm.csproj
+++ b/CDP4Orm/CDP4Orm.csproj
@@ -3,7 +3,7 @@
net9.0
Starion Group S.A.
CDP4Orm-CE
- 9.0.0
+ 10.0.0
CDP4-COMET Data-Model Object Relational Mapping
Copyright © Starion Group S.A.
Sam Gerené, Alex Vorobiev, Alexander van Delft
@@ -75,9 +75,9 @@
-
-
-
+
+
+
diff --git a/CDP4WspDatabaseAuthentication/CDP4WspDatabaseAuthentication.csproj b/CDP4WspDatabaseAuthentication/CDP4WspDatabaseAuthentication.csproj
index f9f6be41..6647032c 100644
--- a/CDP4WspDatabaseAuthentication/CDP4WspDatabaseAuthentication.csproj
+++ b/CDP4WspDatabaseAuthentication/CDP4WspDatabaseAuthentication.csproj
@@ -4,7 +4,7 @@
net9.0
Starion Group S.A.
CDP4WspDatabaseAuthentication-CE
- 9.0.0
+ 10.0.0
CDP4-COMET WSP Database authentication
Copyright © Starion Group S.A.
Sam Gerené, Alex Vorobiev, Alexander van Delft
diff --git a/COMET-WebServices.sln b/COMET-WebServices.sln
index 1ebf15d8..b3cc2c71 100644
--- a/COMET-WebServices.sln
+++ b/COMET-WebServices.sln
@@ -27,6 +27,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
docker-compose-nginx.yml = docker-compose-nginx.yml
docker-compose.yml = docker-compose.yml
Dockerfile = Dockerfile
+ DockerfilePreRelease = DockerfilePreRelease
Nuget.Config = Nuget.Config
README.md = README.md
EndProjectSection
diff --git a/CometServer/CometServer.csproj b/CometServer/CometServer.csproj
index 57c08cdd..204faa13 100644
--- a/CometServer/CometServer.csproj
+++ b/CometServer/CometServer.csproj
@@ -3,7 +3,7 @@
net9.0
Starion Group S.A.
CometServer-CE
- 9.0.0
+ 10.0.0
CDP4-COMET Services API
Copyright © Starion Group S.A.
AGPL-3.0-only
@@ -19,9 +19,9 @@
-
-
-
+
+
+
@@ -39,7 +39,7 @@
-
+
diff --git a/CometServer/Startup.cs b/CometServer/Startup.cs
index 6bd01835..6db1588c 100644
--- a/CometServer/Startup.cs
+++ b/CometServer/Startup.cs
@@ -162,8 +162,7 @@ public void ConfigureContainer(ContainerBuilder builder)
builder.RegisterType().As().SingleInstance();
builder.RegisterAssemblyTypes(typeof(IMetaInfo).Assembly).Where(x => typeof(IMetaInfo).IsAssignableFrom(x)).AsImplementedInterfaces().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies).InstancePerLifetimeScope();
builder.RegisterType().As().As().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies).InstancePerLifetimeScope();
- builder.Register(_ =>
- new Cdp4DalJsonSerializer(false)).As().InstancePerLifetimeScope();
+ builder.Register(_ => new Cdp4DalJsonSerializer(false)).As().InstancePerLifetimeScope();
builder.RegisterType().As().InstancePerLifetimeScope();
// authentication services
diff --git a/DockerfilePreRelease b/DockerfilePreRelease
new file mode 100644
index 00000000..ab1d31bd
--- /dev/null
+++ b/DockerfilePreRelease
@@ -0,0 +1,54 @@
+# syntax=docker/dockerfile:1.4
+
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build-env
+WORKDIR /app
+COPY CDP4Authentication CDP4Authentication
+COPY CDP4DatabaseAuthentication CDP4DatabaseAuthentication
+COPY CDP4WspDatabaseAuthentication CDP4WspDatabaseAuthentication
+COPY CDP4Orm CDP4Orm
+COPY VersionFileCreator VersionFileCreator
+COPY CometServer CometServer
+
+RUN --mount=type=secret,id=SDK_PRE_RELEASE_NUGET_USERNAME --mount=type=secret,id=SDK_PRE_RELEASE_NUGET_PASSWORD SDK_PRE_RELEASE_NUGET_PASSWORD=$(cat /run/secrets/SDK_PRE_RELEASE_NUGET_PASSWORD) \
+&& export SDK_PRE_RELEASE_NUGET_PASSWORD \
+&& SDK_PRE_RELEASE_NUGET_USERNAME=$(cat /run/secrets/SDK_PRE_RELEASE_NUGET_USERNAME) \
+&& export SDK_PRE_RELEASE_NUGET_USERNAME \
+&& dotnet nuget add source https://nuget.pkg.github.com/STARIONGROUP/index.json --name github --username ${SDK_PRE_RELEASE_NUGET_USERNAME} --password ${SDK_PRE_RELEASE_NUGET_PASSWORD} --store-password-in-clear-text
+
+
+RUN dotnet build CDP4DatabaseAuthentication -c Release
+RUN dotnet build CDP4WspDatabaseAuthentication -c Release
+RUN dotnet publish -r linux-x64 CometServer -c Release -o /app/CometServer/bin/Release/publish
+
+FROM mcr.microsoft.com/dotnet/aspnet:9.0.1-alpine3.21
+WORKDIR /app
+RUN mkdir /app/logs
+RUN mkdir /app/storage
+RUN mkdir /app/tempstorage
+RUN mkdir /app/upload
+
+RUN mkdir /app/Authentication/
+RUN mkdir /app/Authentication/CDP4Database
+RUN mkdir /app/Authentication/CDP4WspDatabase
+RUN mkdir /app/VersionFileCreator
+
+COPY --from=build-env /app/CometServer/bin/Release/publish .
+RUN rm /app/appsettings.Development.json
+RUN mv /app/appsettings.Production.json /app/appsettings.json
+
+# COPY CDP4DatabaseAuthentication plugin
+COPY --from=build-env /app/CDP4DatabaseAuthentication/bin/Release/CDP4DatabaseAuthentication.dll /app/Authentication/CDP4Database/CDP4DatabaseAuthentication.dll
+COPY --from=build-env /app/CDP4DatabaseAuthentication/bin/Release/config.json /app/Authentication/CDP4Database/config.json
+
+# COPY CDP4WspDatabaseAuthentication plugin
+COPY --from=build-env /app/CDP4WspDatabaseAuthentication/bin/Release/CDP4WspDatabaseAuthentication.dll /app/Authentication/CDP4WspDatabase/CDP4WspDatabaseAuthentication.dll
+COPY --from=build-env /app/CDP4WspDatabaseAuthentication/bin/Release/config.json /app/Authentication/CDP4WspDatabase/config.json
+
+COPY --from=build-env /app/VersionFileCreator/bin/Release /app/VersionFileCreator
+RUN dotnet /app/VersionFileCreator/VersionFileCreator.dll path:/app
+RUN rm -r /app/VersionFileCreator
+
+# set to use the non-root USER here
+RUN chown -R $APP_UID /app
+USER $APP_UID
+CMD ["dotnet", "CometServer.dll"]
\ No newline at end of file
diff --git a/README.Create-RC.txt b/README.Create-RC.txt
index 647ad692..87ed9595 100644
--- a/README.Create-RC.txt
+++ b/README.Create-RC.txt
@@ -1,3 +1,10 @@
-docker pull mcr.microsoft.com/dotnet/sdk:8.0
-DOCKER_BUILDKIT=1 docker build -f Dockerfile -t stariongroup/comet-webservices-community-edition:8.0.0-rc39 .
-docker push stariongroup/comet-webservices-community-edition:8.0.0-rc39
\ No newline at end of file
+docker pull mcr.microsoft.com/dotnet/sdk:9.0
+DOCKER_BUILDKIT=1 docker build -f Dockerfile -t stariongroup/comet-webservices-community-edition:10.0.0-rc1 .
+docker push stariongroup/comet-webservices-community-edition:10.0.0-rc1
+
+
+Pre-Release having a SDK pre release on GitHub:
+
+export SDK_PRE_RELEASE_NUGET_USERNAME=
+export SDK_PRE_RELEASE_NUGET_PASSWORD=
+DOCKER_BUILDKIT=1 docker build --secret id=SDK_PRE_RELEASE_NUGET_USERNAME,env=SDK_PRE_RELEASE_NUGET_USERNAME --secret id=SDK_PRE_RELEASE_NUGET_PASSWORD,env=SDK_PRE_RELEASE_NUGET_PASSWORD -f DockerfilePreRelease -t stariongroup/comet-webservices-community-edition:10.0.0-rc1 .
\ No newline at end of file
diff --git a/docker-compose-integration-tests.yml b/docker-compose-integration-tests.yml
new file mode 100644
index 00000000..88fca7be
--- /dev/null
+++ b/docker-compose-integration-tests.yml
@@ -0,0 +1,67 @@
+version: '3.8'
+services:
+
+ comet_db:
+ image: stariongroup/cdp4-test-database-community-edition:3.4.0
+ container_name: comet-db
+ shm_size: 2gb
+ restart: always
+ command: postgres -c max_locks_per_transaction=1024
+ environment:
+ - POSTGRES_USER=postgres
+ - POSTGRES_PASSWORD=pass
+ hostname: comet-db
+ networks:
+ comet:
+ aliases:
+ - comet-db
+ ports:
+ - '5432:5432'
+ expose:
+ - '5432'
+ volumes:
+ - comet-db-data:/var/lib/postgresql/data
+ - comet-db-logs:/logs
+
+ comet_webservices:
+ image: stariongroup/comet-webservices-community-edition:10.0.0-rc1
+ container_name: comet-webservices
+ shm_size: 512m
+ restart: always
+ hostname: comet-webservices
+ networks:
+ comet:
+ aliases:
+ - comet-webservices
+ depends_on:
+ - comet_db
+ ports:
+ - "5000:5000"
+ expose:
+ - '5000'
+ volumes:
+ - comet-ws-logs:/app/logs
+ - comet-ws-storage:/app/storage
+ - comet-ws-uplaod:/app/upload
+
+ rabbitmq:
+ image: "rabbitmq:3-management"
+ container_name: rabbitmq
+ restart: always
+ ports:
+ - 15672:15672
+ networks:
+ - comet
+ volumes:
+ - 'rabbitmq_data:/data'
+
+networks:
+ comet:
+
+volumes:
+ comet-db-data:
+ comet-db-logs:
+ comet-ws-logs:
+ comet-ws-storage:
+ comet-ws-uplaod:
+ rabbitmq_data:
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 49cfe5f0..ef651de6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -24,7 +24,7 @@ services:
- comet-db-logs:/logs
comet_webservices:
- image: stariongroup/comet-webservices-community-edition:8.0.1
+ image: stariongroup/comet-webservices-community-edition:10.0.0-rc1
container_name: comet-webservices
shm_size: 512m
restart: always