farmer
farmer copied to clipboard
Farmer generated templates are incompatible with Azure Managed Applications
What I'm trying to achieve
We're currently working on getting a software deployment into the to Azure Commercial Marketplace. The model we're using would be the Azure Application (Managed App). A managed app can be used outside of this context as an Azure Service Catalog resource. One part of the managed app deployment would be the mainTemplate.json
file. This is just a normal ARM template.
Current Blockers
The official guidance for Commercial Marketplace offerings using managed apps is, that used ARM templates should pass an arm-ttk scan. Unfortunately this is not the case for templates generated by Farmer. Also it is mandatory to define parameters and outputs. As far as I'm aware this is currently not possible. Both of these factors block us from using Farmer.
Known Workarounds
There are no known workarounds. We had to rewrite our F# scripts in bicep.
If I can offer further information and any other assistance I'd be happy to do so 😊
I seem to recall that at least one other person was looking for support for adding stuff into the marketplace and parameters were again the blocker.
We could potentially look at creating a managed app builder and capture parameters in there (much as we do with e.g. secrets in key vault or secret settings the the app service) which then get promoted to full ARM parameters.
Outputs are already possible in Farmer, simply using the output
keyword in the arm { }
builder. It's just parameters that we don't easily expose.
Could you raise a separate issue regarding arm-ttk? Just something like "Farmer templates should pass ARM-TTK" or similar? Thanks!
Thanks for the information about outputs. It would be absolutely awesome to have a parameter
keyword in the arm { }
builder as this is the level at which the managed application would need them.
I'll open another ticket with the title you proposed and link to this issue 😊