https://github.com/localgod/minado
Generating OpenApi specifications and API management policies from Azure Logic App Standard
https://github.com/localgod/minado
azure-api-management azure-logic-apps console-application github-actions openapi
Last synced: 22 days ago
JSON representation
Generating OpenApi specifications and API management policies from Azure Logic App Standard
- Host: GitHub
- URL: https://github.com/localgod/minado
- Owner: localgod
- License: other
- Created: 2021-11-17T09:44:27.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-07-01T08:25:52.000Z (7 months ago)
- Last Synced: 2025-07-01T09:32:00.642Z (7 months ago)
- Topics: azure-api-management, azure-logic-apps, console-application, github-actions, openapi
- Language: JavaScript
- Homepage:
- Size: 2.54 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Minado
Minado is used for generating OpenApi specifications and Azure API Management policies from Azure Logic App Standard workflows. The tool requires arguments/env varibles to be set to be executed with the proper permissions.
Minado has two modes:
- Console mode
- Action mode
## Console mode
### Required env variable
- AZURE_CLIENT_ID
- AZURE_TENANT_ID
- AZURE_CLIENT_SECRET
- AZURE_SUBSCRIPTION_ID
### Example
```bash
$ node ./dist/Minado.mjs --help
Usage: Minado [options]
Generate OpenApi specifications and Azure API Management policies from Azure Logic App Standard workflows.
Options:
--suffix api suffix (default: "las")
--version api version (default: "1.0.0")
--title api title (default: "Logic App Standard")
--env environment (default: "dev")
--source-rg name of resource group containing logic app
--source-app name of logic app
--target-rg name of resource group containing api manager
--gateway name of gateway
--api name of api
--keyvault keyvault name
-h, --help display help for command
$ node ./dist/Minado.mjs --source-rg rg-platform --source-app las-1-dev --target-rg rg-platform --gateway apim-group-dev --api las-1-dev --keyvault kv-bubf2njz1skn2aeqrvtb --suffix las-1-dev
```
## Action mode
### Arguments
| Argument | Required | Description |
|--------------|----------|-------------------------------------------------------|
| tenant | ✓ | azure tenant id |
| clientId | ✓ | azure client id |
| clientSecret | ✓ | azure client secret |
| sourcesub | ✓ | azure source subscription id |
| sourcerg | ✓ | name of resource group containing logic app |
| sourceapp | ✓ | name of logic app |
| targetsub | ✓ | azure target subscription id |
| targetrg | ✓ | name of resource group containing api manager gateway |
| gateway | ✓ | name of gateway |
| keyvault | ✓ | keyvault name |
| api | ✓ | name of api |
| suffix | | api suffix |
| version | | api version |
| title | | api title |
| env | | api environment |
```yml
name: 'example'
on:
push:
branches:
- '**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Generating OpenApi specifications and Azure API Management policies from Azure Logic App Standard workflows.
uses: 3ShapeInternal/Minado@master
with:
tenant: ${{ env.ARM_TENANT_ID }}
clientId: ${{ env.ARM_CLIENT_ID }}
clientSecret: ${{ env.ARM_CLIENT_SECRET }}
sourcesub: ${{ env.ARM_SUBSCRIPTION_ID }}
sourcerg: ${{ vars.ARM_RESOURCE_GROUP }}
sourceapp: ${{ vars.ARM_LOGICAPP_NAME }}
targetsub: 0df5caa6-afaf-432b-b246-e9335aa553d1
targetrg: rg1
gateway: apim-1
keyvault: kv-bubf2njz4tkn2aeqrvtb
api: sub
suffix: sub
version: 1.0.0
title: Subscription
env: ${{ github.event.inputs.environment }}
```