Closed malthe closed 2 years ago
Did you really have to show me that 😉
I am currently working on project using Logic Apps (please don't ask 😄) so I would really love to have it under Farmer's control like everything else without clicking these things. The problem with Logic Apps is that its definition is a mess and having separate DSL would be so complex (with all the adapters available) that you could call it Farmer v2.
I am thinking about lightweight support for Logic Apps in Farmer where it will nicely take care of deploy + setup via raw json definition from file or string.
let myApp = logicApp {
name "my-logic-app"
// load from file
definition_file "path/to/my/definition.json"
// set from json string
definition "{ json content }"
}
@isaacabraham would you be interested in something like that?
Yes, definitely. I thought of this as a first path to bringing in Logic Apps - first start with raw json for the content of the app but at least use Farmer for the orchestration. I think Logic Apps is so complex that we could look at making a dedicated Farmer.LogicApps package which would be a DSL that emitted the JSON for Farmer, but had its own DSL for constructing the logic app content.
Logic Apps are defined in a custom Workflow Definition Language (WDL) which is rather similar to ARM templates.
When you deploy a Logic App via ARM template, a workflow definition is embedded as a resource, see for example this reference on deploying Logic Apps using CI/CD.
This issue is a request to add support for the Logic App WDL in Farmer such that we can safely generate Logic Apps using code.