Azure / deployment-environments

Sample infrastructure-as-code templates to get started with Azure Deployment Environments service.
MIT License
67 stars 210 forks source link

Creating an environment from the dev portal doesn't use the manifest default values #34

Open SimonDraime opened 7 months ago

SimonDraime commented 7 months ago

Hi Team,

As the parameters' default values of the ARM template I use in catalog are defined for a production environment, I set different default values in the manifest.yaml file. However, when I create an environment from the dev portal it is using the default values of the ARM template instead of the ones defined in the manifest.

It is quite counterintuitive as it is not the values displayed in the dev portal during creation that are actually used.

Is it the expected behaviour? Is it possible to improve that behaviour as it would be very useful to be able to use different manifest files with the same ARM template for different environment type?

j-rewerts commented 7 months ago

Hey @SimonDraime. Thanks for the report! This is definitely a bug, we should be honoring what is defined as the default in the YAML file. I'll let you know when we've got a fix ready.

j-rewerts commented 7 months ago

Though I am curious to understand more about your last part: it would be very useful to be able to use different manifest files with the same ARM template for different environment type?

We don't currently have this ability in the product. Mind expanding a bit more on what you're hoping to achieve?

SimonDraime commented 7 months ago

Sorry, I was not very clear on that.

I meant that my catalogs Github repo would contain several environment definitions with each time the same ARM template (a different file but the same content) with a different manifest.yaml. It would simplify the deployment process for our developer by just choosing a different environment definitions instead of defining the parameters themself.

j-rewerts commented 7 months ago

Ah I really like this idea! What if we had something like a set of defined parameters on each environment type? When a dev goes to the dev portal and creates the environment, we'll look at the environment type parameters first. Then the parameters that the dev must provide is just whatever is in the environment definition YAML that wasn't in the environment type. This may let you have just a single environment definition but have it vary between dev, prod etc.

SimonDraime commented 7 months ago

Yes, it would be a good idea to use the environment type to define some parameters that are always the same for a specific environment type. However, where would you define these parameters' values on the Azure portal, it's not very clear for me how are linked the catalogs and the environment definitions to the environment types? What if you have several environment definitions in your catalog? How to defines the parameters' value for each environment definition in the environment type?

SimonDraime commented 7 months ago

@j-rewerts Do you have an idea of the timeframe for the fix availability?

j-rewerts commented 7 months ago

Nothing to report currently, I'll follow up once we're getting close to shipping the fix.