Skip to content

navapbc/template-infra-azure

Nava Strata

Open source tools for every layer of government service delivery.

Strata is a gold-standard target architecture and suite of open-source tools that gives government agencies everything they need to run a modern service.

Azure infrastructure template

Overview

This is a template repository to set up foundational infrastructure for your application in Azure. It is part of a collection of interoperable Strata templates.

This template includes setup for:

  • Team workflows - templates for pull requests (PRs), architecture decision records (ADRs), and Makefiles.
  • Account level foundational infrastructure - infrastructure for terraform backends, including an resources for storing and managing terraform state files.
  • Application infrastructure - the infrastructure you need to set up a basic web app, such as a image container repository, load balancer, web service, and database.
  • CI for infra - GitHub action that performs infra code checks, including linting, validation, and security compliance checks.
  • CD / Deployments - infrastructure for continuous deployment, including: Azure account access for Github actions, scripts for building and publishing release artifacts, and a Github action for automated deployments from the main branch.
  • Documentation - technical documentation for the decisions that went into all the defaults that come with the template.

The system architecture will look like this (see system architecture documentation for more information): System architecture

Application Requirements

This template assumes that you have an application to deploy. See application requirements for more information on what is needed to use the infrastructure template. If you're using one of the Platform application templates, these requirements are already met.

Installation

To get started, install the nava-platform tool, and then run the following command in your project's root directory:

nava-platform infra install --template-uri https://github.com/navapbc/template-infra-azure .

Now you're ready to set up the various pieces of your infrastructure.

Setup

After downloading and installing the template into your project:

  1. Follow the steps in infra/README.md to setup the infrastructure for your application.
  2. After setting up Azure resources, you can set up GitHub Actions workflows.
  3. After configuring GitHub Actions, you can set up continuous deployment.
  4. After setting up continuous deployment, you can optionally set up pull request environments
  5. At any point, set up your team workflow.

Updates

With the nava-platform tool installed, run the following in your project's root directory:

nava-platform infra update .

If the update fails, the tool will provide some guidance, but effectively the next step will be apply the updates in smaller pieces with manual merge conflict resolution.

Remember: Make sure to read the release notes in case there are breaking changes you need to address.


License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

Community

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •