Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/js-kyle/bicep-flex

This is an example project which deploys infrastucture using Azure Bicep.
https://github.com/js-kyle/bicep-flex

Last synced: about 1 month ago
JSON representation

This is an example project which deploys infrastucture using Azure Bicep.

Awesome Lists containing this project

README

        

# Bicep Flex 💪

This is an example project which deploys infrastucture using Azure Bicep.

This is a simple starter project which will deploy the following resources to Azure:

- Azure API Gateway (Consumption tier)

This publishes the API to the internet and upholds the API contract defined in `bicep-flex/orders-openapi.yaml`.

- Azure CosmosDB (MongoDB API)

This is a minimal SKU Cosmos which is used to demonstrate functionality within the Orders API

- Azure Function (Consumption tier)

A basic JavaScript Azure Function which connects to the Azure CosmosDB data source for CRUD operations

- Azure Blob Storage

A blob storage account, required as a dependency of Azure Functions.

## Azure Bicep

As the focus of this repository is to demonstrate Azure Bicep, the Infrastructure as code templates can be reviewed in `infrastucture` directory. The below images demonstrates the Bicep modules structure which has been defined.

![Infrastructure diagram](assets/infra.png "Infrastructure")

Once deployed, the resources will be available in Azure, and ready to consume over HTTP.

![Infrastructure diagram](assets/infra2.png "Infrastructure2")

## Installation

Install project dependencies using Yarn

```bash
yarn
```

## Prerequisites

You will need to install the Azure CLI, and dependencies of [Azure Bicep.](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install)

## Deploying

To deploy the infrastucture to Azure.

```bash
./deploy.sh
```

To deploy the Azure Functions code, run

```bash
./release.sh
```