The following ATS CM4D modules support Windows or Linux Docker deployments:
The available docker images can be found on the ATS Product repository on Docker Hub.
See the topic Configuring the Results Services for more information on:
AppSettings for Results Services
The Docker tool is the minimal requirement to deploy and manage the Docker container.
Please visit the following URLs for a detailed explanation:
ATS CM4D Configuration API is the application component of the ATS CM4D Configuration package. The package also includes the ATS CM4D Configuration plugin component which is installed via ATS Configuration Manager. The CM4D API deployment options also support Docker on Windows and Linux environments.
The image tag defines the image version, or you can always use the [latest] tag.
For example:
atsproducts/ats.cm4d.resultssender-linux-x64:25.2.23068.2
atsproducts/ats.cm4d.resultssender-linux-x64:latest
CM4D API docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.
The following properties are used to run the CM4D API image:
ID | Item | Description | Example Value |
1 | Kestrel__EndPoints__Http__Url | Default configuration for running on application port inside the container. |
http://*:5200 |
2 | ASPNETCORE_URLS | Default configuration which URL's to be use for the ASPNET Core application in the environment. |
http://+:5200 |
3 | ConnectionStrings__DefaultConnection | Connection string to ATS CM4D Configuration database |
|
4 | DataSmithTranslatorService__Endpoint | Connection to DataSmith.NET Translator |
|
5 | Serilog__Using__0 | Log configuration: Provider Sinks. Options can be found on https://github.com/serilog/serilog/wiki/Provided-Sinks |
Serilog.Sinks.Console |
6 | Serilog__MinimumLevel | Log configuration: Log Level configuration |
Debug |
7 | Serilog__WriteTo__0__Name | Log configuration: Definition for output of logs |
Console |
8 | Serilog__Enrich__0 | Log configuration: Enrich levels for logging |
FromLogContext |
9 | Serilog__Enrich__1 | Log configuration: Enrich levels for logging |
WithMachineName |
10 | Serilog__Enrich__2 | Log configuration: Enrich levels for logging |
WithThreadId |
11 | Serilog__Properties__Application | Log configuration: Definition for application name |
CM4D.API |
12 | Serilog__Properties__MachineName | Log configuration: Definition for application machine name |
MachineATS |
13 | Authorization__Authority | Link to authority server| in this case is link to ATS Security Manager |
|
14 | Authorization__ApiName | API Name is used for the API to identify to Security Manager. The Id is part of the Application Configuration for CM4D Application. This ID must be the same as the ID from #23. |
dc9a0f58-7b68-4e34-811b-fd4c9a71af69 |
15 | Authorization__RequireHttpsMetadata | Gets or sets if HTTPS is required for the metadata address or authority. The default is true. This should be disabled only in development environments. |
FALSE |
16 | Authorization__ApplicationId | ID of the CM4D Application. The Id can be found in ATS Security Manager under Applications |
|
17 | DataProtectionConfiguration__KeyStorage__Type | Data Protection Configuration. Docker containers are transient which means that when a container is destroyed| all information with it are deleted and this includes information for the hardware configuration. Some data in ATS CM4D are signed with data protection that is build based on the hardware configuration and when the container is deleted the data verification will fail. Therefore you can configure custom data protection that is not depended from the container configuration but in this case dependent from a certificate that is injected in the container. |
FileSystem |
18 | DataProtectionConfiguration__KeyStorage__FileSystem__Path | Data Protection Configuration: location for keeping the configuration. It is recommended to use a mount volume. |
/app/keyrings/cm4dapi |
19 | DataProtectionConfiguration__KeyProtection__Type | Data Protection Configuration: Type of Protection |
CertificatePEM |
20 | DataProtectionConfiguration__KeyProtection__CertificatePEM__CertificatePath | Data Protection Configuration: certificate file |
/app/keyrings/certs/ados-playground.pem |
21 | DataProtectionConfiguration__KeyProtection__CertificatePEM__KeyPath | Data Protection Configuration: certificate key |
/app/keyrings/certs/ados-playground.key |
22 | Cm4DUploadPortal__Url | Location to Upload Portal |
|
23 | UploadInfo__ApiResources__0__Id | Upload Application Configuration information: API resource ID |
DC9A0F58-7B68-4E34-811B-FD4C9A71AF69 |
24 | UploadInfo__ApiResources__0__Name | Upload Application Configuration information: API Resource Name |
CM4DAPI Api Resource |
25 | UploadInfo__ApiResources__0__Scope | Upload Application Configuration information: API Resource Scope |
CM4DAPI |
26 | UploadInfo__ApiResources__1__Id | Upload Application Configuration information: API resource ID |
297EAD3A-7AE4-41C0-9291-86FB505953E6 |
27 | UploadInfo__ApiResources__1__Name | Upload Application Configuration information: API Resource Name |
CM4DAPI DataSmith Proxy |
28 | UploadInfo__ApiResources__1__Scope | Upload Application Configuration information: API Resource Scope |
CM4DAPI |
29 | UploadInfo__ApiResources__2__Id | Upload Application Configuration information: API resource ID |
22f0e3a0-9004-4945-88e6-86caaa9db317 |
30 | UploadInfo__ApiResources__2__Name | Upload Application Configuration information: API Resource Name |
ATS Licensing Manager Web API |
31 | UploadInfo__ApiResources__2__Scope | Upload Application Configuration information: API Resource Scope |
ATS.LicensingServer |
32 | UploadInfo__ApiResources__3__Id | Upload Application Configuration information: API resource id |
09b6d6a4-e3b6-488c-8773-07b3f040b017 |
33 | UploadInfo__ApiResources__3__Name | Upload Application Configuration information: API Resource Name |
PeruseAPI |
34 | UploadInfo__ApiResources__3__Scope | Upload Application Configuration information: API Resource Scope |
PeruseAPI |
35 | UploadInfo__Clients__0__ClientName | Upload Application Configuration information: Client Name |
CM4D Upload Portal |
36 | UploadInfo__Clients__0__ClientId | Upload Application Configuration information: Client ID |
33871b43-c68e-47a2-bde2-3e7d03458c54 |
37 | UploadInfo__Clients__0__RedirectUris__0 | Upload Application Configuration information: Client Redirect URL |
https://upload-portal.local/auth-callback.html |
38 | UploadInfo__Clients__0__RedirectUris__1 | Upload Application Configuration information: Client Redirect URL |
https://upload-portal.local/silent-refresh |
39 | UploadInfo__Clients__0__PostLogoutRedirectUris__0 | Upload Application Configuration information: Post Logout URL |
https://upload-portal.local/ |
40 | UploadInfo__Clients__1__ClientName | Upload Application Configuration information: Client Name |
ATSCM4D Peruse |
41 | UploadInfo__Clients__1__ClientId | Upload Application Configuration information: Client ID |
feffadae-fc78-44f9-81c1-927e1d7faa62 |
42 | UploadInfo__Clients__1__RedirectUris__0 | Upload Application Configuration information: Client Redirect URL |
https://peruse-local/auth-callback |
43 | UploadInfo__Clients__1__RedirectUris__1 | Upload Application Configuration information: Client Redirect URL |
https://peruse-local/silent-refresh |
44 | UploadInfo__Clients__1__PostLogoutRedirectUris__0 | Upload Application Configuration information: Post Logout URL |
https://peruse-local/ |
45 | UploadInfo__Clients__1__ForceSecureConnStringInProd | Definition if the connection string should be encrypted |
FALSE |
46 | AllowedHost | Allowed host to access the API |
* |
47 | Licensing__Authority | Link to Licensing Server |
https://licensing-local/ |
48 | Configuration__BasePath | Configuration of Base Path |
/cm4dapi |
ATS CM4D Peruse is the application component as part of ATS CM4D Peruse package. The package includes the ATS CM4D Peruse UI and ATS CM4D Peruse API component. For both services, deployment options are supported for Docker on Windows and Linux environments.
Peruse UI and Peruse API docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.
CM4D Peruse runs on two images: ATS CM4D Peruse UI and ATS CM4D Peruse API.
The following properties are used to run the CM4D Peruse UI image:
ID | Item | Description | Example Value |
1 | Kestrel__EndPoints__Http__Url | Default configuration for running on application port inside the container |
http://*:4000 |
2 | ASPNETCORE_URLS | Default configuration which URL's to be use for the ASPNET Core application in the environment |
http://+:4000 |
3 | Configuration__webApi | Configuration to Peruse API link |
|
4 | Configuration__ATSSecurityManager | Link to authority server| in this case is link to ATS Security Manager |
|
5 | Configuration__data__HoopsEndpoint | Configuration of the HOOPS Endpoint link |
wss://hoops.local:11180 |
6 | Configuration__clientId | The Id of the Peruse Client. The Id can be found on the ATS Configuration| under Application and under the CM4D application details for OAUTH Clients. |
feffadae-fc78-44f9-81c1-927e1d7faa62 |
7 | Configuration__scope | The list of scopes (access level) to request when asking a user to authenticate. We strongly recommend to use the same settings described in the Example Value column. |
openid profile 09b6d6a4-e3b6-488c-8773-07b3f040b017\\PeruseAPI SecurityManager.SecuritySettingsScope 22f0e3a0-9004-4945-88e6-86caaa9db317\\ATS.LicensingServer offline_access |
8 | Configuration__BasePath | Configuration of Base Path |
/peruse |
9 | Configuration__data__heartbeatrate | Number of milliseconds to refresh the license for Peruse. If not specified the default value is 10000 |
10000 |
Example configuration file for Peruse UI: peruseui.env.txt
The following properties are used to run the CM4D Peruse API image:
id | Item | Descripton | Example Value |
1 | Kestrel__EndPoints__Http__Url=http://*:2000 | Default configuration for running on application port inside the container |
http://*:2000 |
2 | ASPNETCORE_URLS=http://+:2000 | Default configuration which URL's to be use for the ASPNET Core application in the environment |
http://+:2000 |
3 | AllowedHosts | Allowed host to access the API |
* |
4 | ConnectionStrings__SiteDatabase | Connection string to ATS CM4D Site database |
|
5 | Authorization__Authority | Link to authority server| in this case is link to ATS Security Manager |
|
6 | Authorization__ApiName | API Name is used for the API to identify to Security Manager. The ID is part of the Application Configuration for CM4D Application. |
09b6d6a4-e3b6-488c-8773-07b3f040b017 |
7 | Authorization__RequireHttpsMetadata | Gets or sets if HTTPS is required for the metadata address or authority. The default is true. This should be disabled only in development environments. |
FALSE |
8 | Authorization__ApplicationId | ID of the CM4D Application. The Id can be found in ATS Security Manager under Applications. |
|
9 | Cm4dApi__Endpoint | Configuration of CM4D API endpoint link |
https://cm4d-local:5200 |
10 | UploadInfo__Peruse__ClientName | Upload Application Configuration information: Client Name |
ATSCM4D Peruse |
11 | UploadInfo__Peruse__ClientId | Upload Application Configuration information: Client ID |
feffadae-fc78-44f9-81c1-927e1d7faa62 |
12 | UploadInfo__Peruse__RedirectUris__0 | Upload Application Configuration information: Client Redirect URL |
https://peruse.local:4000/auth-callback |
13 | UploadInfo__Peruse__RedirectUris__1 | Upload Application Configuration information: Client Redirect URL |
https://peruse.local:4000/silent-refresh |
14 | UploadInfo__Peruse__PostLogoutRedirectUris | Upload Application Configuration information: Post Logout URL |
https://peruse.local:4000 |
15 | UploadInfo__Peruse__ForceSecureConnStringInProd | Definition if the connection string should be encrypted |
FALSE |
16 | Configuration__BasePath | Configuration of Base Path |
/peruseapi |
17 | Licensing__Authority | Link to Licensing Server |
https://licensing-local/ |
Example configuration file for Peruse API: peruseapi.env.txt
ATS CM4D Results Services are the service component of the ATS CM4D Server package. CM4D Results services runs on three images: CM4D Results Loader, CM4D Results Sender and CM4D StreamCacheSmith. The CM4D Results services deployment options also support Docker on Windows and Linux environments.
CM4D Results Services docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.
The StreamCacheSmith Service writes to the file system, so it must be mounted (cannot write to a container). Mount the image, then configure the directory and temporary directory.
The following properties are used to run the ATS CM4D Results Loader image:
Example configuration file: resultsLoader.env.txt
The following properties are used to run the ATS CM4D Results Sender image:
Example configuration file: resultsSender.env.txt
ATS CM4D Upload Portal is the application component of the ATS CM4D Upload Portal package. The package also requires the ATS CM4D Configuration plugin component which is installed via ATS Configuration Manager and the CM4D API component included in the ATS CM4D Configuration package. The CM4D Upload Portal deployment options also support Docker on Windows and Linux environments.
The Upload Portal component runs on three images: CM4D Upload Portal, DataSmith Translator and DataSmith Batch Proxy.
CM4D Upload Portal docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.
The following properties are used to run the ATS CM4D Upload Portal image:
ID | Item | Description | Example Value |
1 | Logging__LogLevel__Default | Log level default |
Debug |
2 | Logging__LogLevel__System | Log level system |
Information |
3 | Logging__LogLevel__Microsoft | Log level microsoft |
Information |
4 | Kestrel__EndPoints__Http__Url | Default configuration for running on application port inside the container |
http://*:4600 |
5 | Configuration__webApi | Configuration to CM4D API link |
http://*:5200 |
6 | Configuration__ATSSecurityManager | Link to authority server| in this case is link to ATS Security Manager |
http://*:5000 |
7 | Configuration__clientId | The Id of the UploadPortal Client. The Id can be found on the ATS Configuration| under Application and under the CM4D application details for OAUTH Clients |
33871b43-c68e-47a2-bde2-3e7d03458c54 |
8 | Configuration__scope | The list of scopes (access level) to request when asking a user to authenticate. We strongly recommend to use the same settings described in the Example Value column |
openid profile 09b6d6a4-e3b6-488c-8773-07b3f040b017\\\\CM4DAPI SecurityManager.SecuritySettingsScope offline_access |
9 | Configuration__version | version |
1.0.0 |
10 | Configuration__BasePath | Configuration of Base Path |
|
11 | Configuration__applicationId | Application id |
257F8879-1E6D-4CF6-9F42-9DBE53B0FB81 |
12 | Configuration__heartbeatRate | Periodic check that determines if a license obtained by a user is still in use |
6000 |
Example configuration file: uploadPortal.env.txt
Can we improve this topic?