Under review

Allow for IdB 5.2.1 Plus to be deployed without a Database Connection to support Container based deployments

Adam Bradley 1 year ago • updated by Adam van Vliet (Chief Information Security Officer) 6 months ago 3 1 duplicate

Most Container based orchestration solutions, including Kubernetes and Docker Compose with Swarm, provide almost no ability to modify the contents of the files in Volumes mounted within Server nodes they deploy.

To simplify deployments, without needing to resort to tools like Puppet, Chef or Ansible to carry out post provisioning tasks such as modifying Connection Strings in XML files, it would be useful to allow IdB to have the Connection String configurable via it's Management API.

Affected Versions:
Fixed by Version:

Duplicates 1

Under review

Hi Adam,

This would be a fairly difficult change to make, as there are a few components which are initialized on startup assuming the connection string has been set. Please help me to separate the problem from your proposed solution here. If I understand correctly, the problem is that you are having difficulty getting the correct Database connection string into the configuration file before service startup in your container?

We have existing plans to revisit the way configuration is stored and loaded to support remote configuration, e.g. via Azure Table Storage or Azure Key Vault. Would this meet your requirement?

Alternatively, perhaps if you describe your setup in more detail we could help devise another solution?

The problem is indeed the difficulty in providing the correct Database connection string to IdB. Any of the remote configuration options would definitely address my scenario.

It's far from untenable - I can configure the Connection String before mounting the Volume in Docker before first launch - but removing the need for any configuration prior to startup would simplify deploying to Containers.

As a side note, I'd offer that many initial setup flows for Server/Middle-ware software offer the ability to configure host-name, the Database connection, and Deployment Type often providing a simple setup option (localDB for example) a single server option and clustered option though these tend to be more "Customer centric" deployment scenarios. 

This is on the backlog. In the meantime please continue with the workaround that you identified.