Skip to content

API project template for Azure

License

Notifications You must be signed in to change notification settings

Neoteroi/BlackSheep-Azure-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlackSheep-Azure-API

Project template for a BlackSheep API deployed to Azure App Service, using a PostgreSQL database, GitHub Workflows, and Bicep templates for deployments.

This is an advanced project template, featuring:

  • A Python web service using a PostgreSQL database
  • GitHub Workflows to automate the deployment of Azure services and the application server
  • Bicep templates to provision the necessary Azure services
  • Database migrations implemented using Alembic, automatically deployed as part of the Continuous Delivery workflow
  • Integration with Azure Application Insights to collect telemetries for performance, web requests, exceptions, failed requests, including tracking of PostgreSQL dependencies
  • Workflows and ARM templates prepared to support multiple environments: DEV, TEST, PROD
  • A BlackSheep API, including OpenAPI Documentation
  • Instructions describing how to get started and configure GitHub Workflows and create environments in Azure

Requirements

  • A GitHub account
  • An Azure subscription
  • Azure CLI

For development:

  • Python 3.8

Overview: how to use this project template

  1. Create a new repository starting from this template (using GitHub features), or fork the project
  2. Choose a project name for your new deployment
  3. Configure GitHub secrets
  4. Run the infrastructure GitHub Workflow: this creates necessary services in Azure, in different environments
  5. Run the server build GitHub Workflow: this builds the application and deploys it to the various environments

The following pages describe in detail the steps listed above:

About

API project template for Azure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published