|
1 | 1 | # Bicep Modules |
2 | 2 |
|
3 | | -[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=209&branchName=main) |
4 | | -[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=175&repoName=frasermolyneux%2fbicep-modules&branchName=main) |
5 | | -[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=175&repoName=frasermolyneux%2fbicep-modules&branchName=main) |
| 3 | +[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=209&branchName=main) |
| 4 | +[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=175&repoName=frasermolyneux%2fbicep-modules&branchName=main) |
| 5 | +[](https://dev.azure.com/frasermolyneux/Personal-Public/_build/latest?definitionId=175&repoName=frasermolyneux%2fbicep-modules&branchName=main) |
6 | 6 |
|
7 | | ---- |
| 7 | +## Documentation |
| 8 | +- [Overview](docs/overview.md) - Module layout, catalogue, and registry dependencies |
| 9 | +- [Development Workflows](docs/development-workflows.md) - Pipelines, local validation, and publish guidance |
8 | 10 |
|
9 | 11 | ## Overview |
10 | | - |
11 | | -This repository contains common Bicep modules and associated Azure DevOps pipelines for the validation and deployment of them to an Azure Container Registry. |
12 | | - |
13 | | -The Azure Container Registry is deployed by the `platform-strategic-services` project and therefore a dependency. |
14 | | - |
15 | | ---- |
16 | | - |
17 | | -## Related Projects |
18 | | - |
19 | | -* [frasermolyneux/platform-strategic-services](https://github.com/frasermolyneux/platform-strategic-services) - The Azure Container Registry is deployed by this project. |
20 | | -* [frasermolyneux/azure-landing-zones](https://github.com/frasermolyneux/azure-landing-zones) - The deploy service principal is managed by this project. |
21 | | - |
22 | | ---- |
23 | | - |
24 | | -## Solution |
25 | | - |
26 | | -The included Bicep modules have been extracted out of a series of projects that I have worked on through my learning and development. They are largely focused on Azure Integration Services such as API Management, Azure Functions, App Services and Key Vault. |
27 | | - |
28 | | -### Versioning |
29 | | - |
30 | | -Each module within the solution has a metadata `.json` file that is within the `metadata` folder. Currently this contains a JSON payload that simply has a version object containing `major`, `minor` and `revision` properties - there is the future potential to add additional metadata here such as tagging, author and description. For each module file there *must* be a metadata file and for a new version to be pushed the metadata file must be updated. |
31 | | - |
32 | | -If the build is running from any branch other than `main` then a *-preview* suffix is added to the tag and the `.x` and `latest` tags will not be pushed. |
33 | | - |
34 | | -As such, for a new version to be pushed the metadata file is required to be updated. There is no automation at present as it is not warranted. |
35 | | - |
36 | | ---- |
37 | | - |
38 | | -## Pipelines |
39 | | - |
40 | | -The `one-pipeline` is within the `.azure-pipelines` folder and output is visible on the [frasermolyneux/Personal-Public](https://dev.azure.com/frasermolyneux/Personal-Public/_build?definitionId=175) Azure DevOps project. |
41 | | - |
42 | | -The [Publish-BicepModuleToAcr.ps1](/.azure-pipelines/scripts/Publish-BicepModuleToAcr.ps1) script is executed per module and uses the following rules to publish: |
43 | | - |
44 | | -* Will only push a new version if the `major.minor.revision` tag does not already exist |
45 | | -* When pushing a new version will also push that version using the a `.x` and `latest` tag |
46 | | - |
47 | | ---- |
| 12 | +Reusable Azure Bicep modules for Integration Services workloads, published to `acrty7og2i6qpv3s` under `bicep/modules/{module}`. Modules ship with per-folder metadata for versioning and are linted/published through Azure DevOps using templates from `ado-pipeline-templates`. The registry itself is deployed by the `platform-strategic-services` project. |
48 | 13 |
|
49 | 14 | ## Contributing |
50 | 15 |
|
51 | 16 | Please read the [contributing](CONTRIBUTING.md) guidance; this is a learning and development project. |
52 | 17 |
|
53 | | ---- |
54 | | - |
55 | 18 | ## Security |
56 | 19 |
|
57 | 20 | Please read the [security](SECURITY.md) guidance; I am always open to security feedback through email or opening an issue. |
0 commit comments