Git Product home page Git Product logo

ie-bank-infra's Introduction

IE Bank infrastructure

Overview

This is the repository for the infrastructure code of the IE Bank web app

IE Bank app logical view

Requirements

This source code works under the following technologies:

Recommended tutorials

Configure your local environment

Install Prerequisites

  • Install Azure CLI. Install Azure CLI from here. Make sure to select the option to add Azure CLI to your PATH while installing.
  • Install Visual Studio Code and Bicep extension. Install Visual Studio Code from here. Install the Bicep extension from here. You can also follow the steps from the article Install Bicep tools

Repository organization

Main.bicep

The script that will deploy the infrastructure for IE Bank app is main.bicep.

The script deploys:

Resource Azure Documentation Bicep resource definition Description
PostgreSQL server Azure Database for PostgreSQL - Flexible Server Microsoft.DBforPostgreSQL flexibleServers 2022-12-01 PostgreSQL server for the IE Bank app
PostgreSQL database Azure Database for PostgreSQL - Flexible Server Microsoft.DBforPostgreSQL flexibleServers/databases 2022-12-01 PostgreSQL database for the IE Bank app
module modules/app-service See Module app-service.bicep - Bicep module that deploys the web app services for the IE Bank app

Module app-service.bicep

The main.bicep script uses the module modules/app-service.bicep to deploy the web app services for the IE Bank app.

The module deploys:

Resource Azure Documentation Bicep resource definition Description
App Service Plan Azure App Service plan overview Microsoft.Web/serverfarms 2021-02-01 App Service Plan for the IE Bank app
Linux App Service Azure App Service overview Microsoft.Web/sites 2021-02-01 Linux App Service to host the IE Bank app backend
Linux App Service Azure App Service overview Microsoft.Web/sites 2021-02-01 Linux App Service to host the IE Bank app frontend

Configuration variables

To determine different configuration options for each environment, we will make use of the files under the parameters folder.

Continuos Delivery

Learn more:

The file .github/workflows/ie-banc-infra.yml contains the configuration for the CI/CD pipeline.

GitHub secrets

The workflow uses the following GitHub secrets:

Secret name Description Learn more
AZURE_CREDENTIALS Azure credentials to authenticate to Azure via Service Principal Use the Azure login action with a service principal secret
DBPASS Password for the PostgreSQL server, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service
DBUSER Username for the PostgreSQL server, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service

GitHub variables

The workflow uses the following GitHub variables:

Variable name Description Learn more
DBHOST Hostname for the PostgreSQL server, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service
DBNAME Name for the PostgreSQL database, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service
ENV Environment name, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service
FLASK_APP Name of the flask app to run, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service
FLASK_DEBUG Debug option for the flask app, configured as App Setting in the backend web server Environment variables and app settings in Azure App Service

some new text

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.