Project-MONAI / monai-deploy

MONAI Deploy aims to become the de-facto standard for developing, packaging, testing, deploying and running medical AI applications in clinical production.
Apache License 2.0
98 stars 22 forks source link

Rebuild of Monai Deploy Express #129

Closed JHancox closed 1 year ago

JHancox commented 1 year ago

The working group have decided that a new build of MD Express is needed, which will include builds 0.1.12 of Workflow Manager, 0.1.10 of Task Manager and 0.3.17 of Monai Informatics Gateway.

JHancox commented 1 year ago

Here is a summary of the changes to the config files that need reconciling before I make a PR. All clarification welcome!

K8s Task-Manager (0.1.10) appsettings.json:

"WorkloadManagerDatabase": {
    ...
    "WorkflowCollectionName": "Workflows",
    "WorkflowInstanceCollectionName": "WorkflowInstances",
    "PayloadCollectionName": "Payloads",
    "TaskDispatchEventCollectionName": "TaskDispatchEvents"
"messaging": {
      "retries": {
        "retryDelays": "localhost"
      },
"storage": {
      "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO",
      "settings": {
        "endpoint": "localhost:9000",
        "accessKey": "admin",
        "accessToken": "password",

K8s Workload-Manager (0.1.10) appsettings.json:

"storage": {
      ...
      "settings": {
    ...
       "bucket": "test-bucket"
"Kestrel": {
    "EndPoints": {
      "Http": {
        "Url": "http://localhost:5000"

K8s Informatics-Gateway (0.3.17)

"MonaiDeployAuthentication": {
    "bypassAuthentication": false
"ConnectionStrings": {
    "Type": "Sqlite",
    "InformaticsGatewayDatabase": "Data Source=/database/mig.db"
  }
"InformaticsGateway": {
    "dicom": {
      ...
        "rejectUnknownSources": true
"username": "username",
"password": "password",
mocsharp commented 1 year ago

In the MDE version below the "retryDelays" value is set to "5" - Is this correct?

Should be 5

In MDE, apart from "localhost:9000" being "minio:9000", "minioadmin" is used as the value for both "accessKey" and "accessToken"

You may keep the values as it in MDE; they were updated to work for MDE

In MDE version of below, "bucket" is set to "monaideploy:

monaideploy is fine

In the MDE version "Url" is set to "http://+:5000"

MDE has the correct value

set to true in MDE version:

MDE has the correct value

In MDE it sets a mongodb connection, rather than the sqllite one below. Is this a difference in design between the two or an impending move to sqllite?

MDE uses mongodb

"rejectUnknownSources" is set to false in MDE.

Yes, this allows any remote AE to send DICOM to MIG without registering first

For messaging/subscriberSettings and publisherSettings MDE uses "admin" for these:

MDE already contains the correct values

@JHancox MDE already contains the correct values that were previously configured to work for its scenario.

mocsharp commented 1 year ago

BTW, WM has been updated to v0.1.12

mocsharp commented 1 year ago

The following 4 entries are not present. Are they no longer needed or do they need to be retained for MDExpress?:

Not sure about this one but would guess it's no longer needed if it's not in the appsettings.json file.

@neildsouth Could you please confirm? Thanks

neildsouth commented 1 year ago

re:

The following 4 entries are not present. Are they no longer needed or do they need to be retained for MDExpress?:

these aren't used and can be discarded. the collection names look to be fixed in code.