farmer icon indicating copy to clipboard operation
farmer copied to clipboard

Farmer generated templates are incompatible with Azure Managed Applications

Open WalternativE opened this issue 2 years ago • 2 comments

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 😊

WalternativE avatar Jul 29 '21 08:07 WalternativE

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!

isaacabraham avatar Jul 29 '21 09:07 isaacabraham

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 😊

WalternativE avatar Jul 29 '21 09:07 WalternativE