Provisioning
Each component-type can define it's default way of provisioning. As a service moves through SDLC, there may be use cases where a given service needs to be deployed with different configuration in the same env type or different env type e.g. dev and load. Provisioning config enables a service owner to define different provisioning config while deploying a service and for different environment types as well.
Let's look at different ways of using provisioning config
Provisioning config during deployment
To provide a provisioning config during deployment let's create a file called provisioning.config which outlines the provisioning behaviour for each component with that service. 
You should only mention component which you need to override, for components not mentioned in this file Odin will take the default provisioning config from the component-type definition. 
[
    {
        "component_name": "COMPONENT_1",
        "deployment_type": "container"
    },
    {
        "component_name": "COMPONENT_2",
        "deployment_type": "container"
    }
]See list of all params that can be passed for various component-type configs here.
odin deploy service --file definition.json --provisioning provisioning.json --env ENV_NAMEor
odin deploy service --name sevice_1 --version v1 --provisioning provisioning.json --env ENV_NAMEProvisioning config during service release
While releasing a service, default provisioning config for various environment types can be defined.
Once you have the list of various environment types and provisioning config has been defined for various environment types, organise them as per the below convention
service-definition-folder
  definition.json
  provisioning-dev.json
  provisioning-load.json
  provisioning-int.jsondefinition.json is the service-definition file.
Assuming the various environment types available are dev, load, int. The three files provisioning-dev.json, provisioning-load.json and provisioning-int.json respectively will act as default provisioning config in the corresponding environment types. 
Use odin release command to release the service by passing the folder path
odin release service --path service-definition-folder-pathNow service deployed by anyone in the given environment types will be provisioned with the definitions given unless overrriden during deployment. Go to next section to learn about default and override-able params in service definition.
Last updated