GithubHelp home page GithubHelp logo

isabella232 / digital-integration-hub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azure-samples/digital-integration-hub

0.0 0.0 0.0 177 KB

License: MIT License

Dockerfile 8.88% Shell 9.92% Makefile 2.54% Bicep 38.24% TypeScript 40.42%

digital-integration-hub's Introduction

page_type languages products description
sample
nodejs
typescript
azure
azure-api-management
azure-application-insights
azure-arc
azure-database-postgresql
azure-functions
azure-log-analytics
azure-logic-apps
azure-event-grid
azure-monitor
Azure Digital Integration Hub accelerator

Welcome to the Digital Integration Hub accelerator

This repository contains a template of an application built for the Azure Application Platform. This template is built to make it easy to dive straight into implementing business logic without having to spend time on setting up an engineering system for your application. The templates give you a starting point, while providing the option to change and extend any of the pre-configured components to suit your needs.

Archictecture Overview

This template provides you with the following components: A frontend API implemented by Azure Functions, a PostgreSQL database, an integration layer implemented by Azure Logic Apps and Event Grid and Monitoring provided by Application Insights and Log Analytics features of Azure Monitor.

Template overview

The template provides:

To get started using the template, we recommend following the Quickstart.

For more information about the template, take a look at the Concepts and How-To Guides docs as well.

NOTE: Check below for required secrets and changes to get started

To get started, simply open the repository in Codespaces and start debugging. This is possible because the sample has a development environment defined in a container (a .devcontainer). There are database migration and seed data processes configured to run when your devcontainer starts, so expect some data to show up.

The function implements a simple CRUD based API. You can simply go ahead and add your business model and logic to the app.

Most of the routines you would want to run when developing are implemeted as make targets, so simply invoke 'make build' to build the application, or use VS Code tasks.

On checkins, the app builds and a Porter bundle is being created and pushed to be consumed in the deploy stages.

Required to get started

  1. Setup an ARC-enabled Kubernetes cluster, by following these instructions. The src/ARC/lima-setup.sh script can help, but check the setup instructions in the above link, as these change frequently.

  2. Enable CNAB bundle support in GitHub

    1. Follow this guide to enable support for CNAB on GitHub
  3. Set following deployment time parameters as GitHub secrets

    Parameter GitHub Secret Description
    Package admin PACKAGE_ADMIN Create a personal access token with 'write:packages' permissions and save the value to this secret
    Azure credentials AZURE_CREDENTIALS az login -o none && az ad sp create-for-rbac --role contributor --sdk-auth
    Postgres admin password POSTGRES_DB_ADMIN_PASSWORD Configure what postgres database admin password you want to use - more info by saving the password to a GitHub Secrets name
  4. Check the environment.yaml file. For ARC deployments, ensure to include the correct App Service Environment to use. The syntax is commented in the file.

  5. Run the build workflow, this will eventually kick-off the deployment workflow as well.

digital-integration-hub's People

Contributors

bec-lyons avatar dependabot[bot] avatar

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.