This template includes generic integration components like Api Management, Azure Service Bus and Azure Artifacts.
It can be used with one or more logicapp-standard-func implementations.
This template utilizes the following Azure resources:
- Azure Monitor for monitoring and logging
- Azure Key Vault for securing secrets
- Api Management for managing api's
- Azure Service Bus for (reliable) messaging
- Azure DevOps Artifacts for publishing libraries to
- Install Visual Studio Code
- Create a new folder and switch to it in the Terminal tab
- Run
azd login
- Run
azd init -t https://github.com/marnixcox/integration-hub
Now the magic happens. The template contents will be downloaded into your project folder.
The following folder structure is created. Where corelocal
is added to extend the standard set of core infra files.
├── infra [ Infrastructure As Code files ]
│ ├── main.bicep [ Main infrastructure file ]
│ ├── main.parameters.json [ Parameters file ]
│ ├── app [ Infra files specifically added for this template ]
│ ├── core [ Full set of infra files provided by AzdCli team ]
│ └── corelocal [ Extension on original core files to enable private endpoint functionality ]
├── src [ Application code ]
│ ├── model [ NuGet package for (service bus) message definitions ]
│ └── library [ NuGet package for useful code ]
└── azure.yaml [ Describes the app and type of Azure resources ]
Let's first provision the infra components.
- Run
azd provision
First time an environment name, subscription and location need to be selected. These will then be stored in the .azure
folder.
Resource group and all components will be created.
After coding some functions and creating Azure Logic App Standard workflows these can be deployed with another single command.
- Run
azd deploy
Functions code and workflows will be deployed into the existing infra components.
The .azdo/pipelines
folder contains a nuget-dev-yml
pipeline. This will publish the src/model
and src/library
to the Azure DevOps Artifacts feed.