Here is a list of possible types of configuration that an application can utilize:
- Configuration can be pulled and incorporated into application binaries at build time:
- Languages such as C/C++ and Rust can do such build-time configuration
- Configuration can be injected at package time when creating assemblies or gems:
- Languages such as C#, Java, and Ruby can use such configuration options
- Configuration can be done at deployment time meaning a deployment script or installer can fetch any necessary information as needed, or the deployment script can ask a user to pass such information:
- We will look at this later in the book with the Jenkins, Travis, and CircleCI tools
- Configuration can be done at startup ...