My GitHub repo shows you how to write & deploy an Arc-enabled Logic App to an Arc-enabled Kubernetes cluster. An Arc-enabled Kubernetes cluster is any Cloud Native Computing Foundation (CNCF) Kubernetes cluster running anywhere. An Arc-enabled Logic App is a Logic App Standard that is running on an Arc-enabled Kubernetes cluster hosted anywhere.

This Logic App takes an HTTP PUT request, writes the JSON to a text file in Azure Blob Storage, then sends an email notification. This is to demostrate that the Logic App can still use the Logic App Standard connectors even though it is running in a non-Azure environment. The Logic App can use Azure AD authentication via a service principal to access Azure resources.

Also included is an Azure DevOps pipeline to demonstrate the deployment process.
Disclaimer
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Prerequisites
- Azure CLI
- Azure Logic Apps CLI extension
- Visual Studio Code extension for Azure Logic Apps
- Postman
- Azure subscription & resource group
- An existing Azure Arc-enabled Kubernetes cluster, App Service Kubernetes Environment & an Azure Arc custom location
- An existing Azure AD identity (app registration & service principal)
Note that it is best if you run the commands (especially the zip
command) on Linux, not Windows. This is because the deployment environment is Linux and zip files created using Windows are likely to use a backslash instead of a forward slash, which will not unzip correctly on Linux.
Connect to your cluster
az connectedk8s proxy -n eb-k3s-001 -g rg-arcLogicApp-eus-dev --token $TOKEN