|
1 | | -# MessageFlow Aggregator Action Example |
| 1 | +# MessageFlow Aggregator |
2 | 2 |
|
3 | | -See generated docs. |
| 3 | +A GitHub Actions-based aggregator that automatically collects AsyncAPI specifications from multiple source repositories and generates unified documentation using MessageFlow. |
| 4 | + |
| 5 | +``` |
| 6 | +Source Repo A ──┐ |
| 7 | +Source Repo B ──┼──> MessageFlow Aggregator ──> Generated Docs |
| 8 | +Source Repo C ──┘ (this repo) |
| 9 | +``` |
| 10 | + |
| 11 | +Specifically, this aggregator repository listens for notifications from [the example source repo](https://github.com/holydocs/messageflow-source-workflow-example), triggering automatic generation of the [documentation](/docs). |
| 12 | + |
| 13 | +## Overview |
| 14 | + |
| 15 | +This repository shows how to create your own central hub that: |
| 16 | +- Receives notifications when source repositories have new commits on the main branch |
| 17 | +- Automatically fetches and aggregates AsyncAPI specifications |
| 18 | +- Generates comprehensive documentation for all collected APIs |
| 19 | +- Maintains a single source of truth for your distributed API landscape |
| 20 | + |
| 21 | +## Quick Start |
| 22 | + |
| 23 | +### Set Up |
| 24 | + |
| 25 | +1. **Create Your Own Aggregator Repository** |
| 26 | + - Adjust and create [.github/workflows/generate-messageflow-docs.yml](.github/workflows/generate-messageflow-docs.yml) in your aggregator repository |
| 27 | + |
| 28 | +2. **Add the Notification Workflow to Source Repository** |
| 29 | + - Create [.github/workflows/notify-messageflow-aggregator.yml`](https://github.com/holydocs/messageflow-source-workflow-example/blob/main/.github/workflows/notify-messageflow-aggregator.yml) in each source repository |
| 30 | + |
| 31 | +3. **Create a CI Bot Account** |
| 32 | + - Create a new GitHub account for your CI bot or use existing service account |
| 33 | + - Add the bot as a collaborator to: |
| 34 | + - Aggregator repository (with write access) |
| 35 | + - All source repositories (with read access) |
| 36 | + |
| 37 | +4. **Create Personal Access Token (PAT)** |
| 38 | + - Log in as the CI bot account |
| 39 | + - Go to Settings → Developer settings → Personal access tokens → Tokens (classic) |
| 40 | + - Generate new token with `repo` scope |
| 41 | + - Save the token securely |
| 42 | + |
| 43 | +5. **Configure Aggregator/Source Repository Secrets** |
| 44 | + - In aggregator repository: |
| 45 | + - Go to Settings → Secrets and variables → Actions |
| 46 | + - Add new secret: `INTEGRATION_PAT` with the bot's PAT |
| 47 | + |
| 48 | +### Run |
| 49 | + |
| 50 | +1. Push an AsyncAPI file to any source repository |
| 51 | +2. The source repository will notify this aggregator |
| 52 | +3. Check the Actions tab to see the aggregation workflow run |
| 53 | +4. Generated documentation will appear in the `docs/` directory |
0 commit comments