In the SDL Docs Storage Layer configuration parameters

Rather than providing hardcoded values in your Storage Layer configuration file, cd_storage_conf.xml, you can specify strings of the format ${PROPERTYNAME} instead, where PROPERTYNAME is the name of an environment variable or of a property whose value you set when running a script that uses the Storage Layer configuration file.

It is easy to copy any update config files with PowerShell, the files can easily be protected with NT file system security, its simple to check on your configuration by reading the file.

I cannot see any benefit of this additional complication of moving the configuration values, did I miss something?

  • +1 to the answers about "cloud readiness." Having parameters for environments isn't just interesting to Storage, but CIL as well (or non-Tridion applications in general). See @Nuno's idea for another example and some more context: community.sdl.com/ideas/sdl-tridion-dx-ideas/…. Mar 7, 2018 at 11:02
  • 1
    So do we really mean "Container Readiness"? Mar 7, 2018 at 18:28
  • I've come across people who have completely missed the point of this feature, and insist on using it in a non-containerised setup, where as you say, it only adds complexity. Aug 5, 2019 at 8:39

2 Answers 2


AFAIK, the idea to support use of environment variables in CD configuration files was born in the context of support for Docker containers (which are immutable).

But use of environment variables can also help to “centralize” your configuration; there are configuration values which are specified in several places in several config files (e.g. database settings which are in the cd_storage_conf.xml of deployer, preview, content and context service). By using environment variables, you can deduplicate those settings and have a single, centralized place to manage them.


By allowing the configuration file to be parameterized with environment variables, is one way to allow for easy automated deployment of cloud environments, while not having hardcoded values in the config files which are used in there.

Of course as you mention, there are multiple ways to come to such a solution, you can keep your configuration files outside of the deployment and inject them later, or configure them remotely through scripts. Using environment variables is just one of the options allowing for more cloud readiness of the content delivery side of Tridion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.