Skip to content

This project is a demo on how to use Azure Functions with HTTP Triggers, Cosmosdb, and a VUE SPA application protected by Azure AD

License

Notifications You must be signed in to change notification settings

briandenicola/password-vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository demonstrates the integration of Azure Functions with HTTP Triggers, Cosmos DB, and a Vue.js Single Page Application (SPA) secured by Azure EntraID (Azure AD). It illustrates the construction of a secure, scalable, and serverless application using modern front-end frameworks and cloud services.

Open in GitHub Codespaces Open in Dev Containers

Prerequisites

Optional Tools

Note: GitHub Codespaces comes pre-configured with all necessary tools. Use this link to open the project in GitHub Codespaces. Note: The script ./.devcontainer/post-create.sh can be used to install the tools on a Linux VM.

Task Automation

Deployment is automated using Taskfile, simplifying the deployment process without a CI/CD pipeline. The Taskfile provides a consistent way to execute commands and scripts.

Taskfile Commands

  • task up : Builds the complete environment
  • task down : Destroys all Azure resources and cleans up Terraform
  • task deploy-api : Builds and deploys the API to Azure Functions
  • task deploy-maintenance : Deploys the maintenance function
  • task deploy-ui : Builds and deploys the UI to Azure Static Web Apps
  • task host-key : Retrieves the host key for the Azure Function
  • task init : Initializes Terraform
  • task plan : Creates a Terraform plan

Taskfile Configuration

The TaskFile is located in the root of the repository and includes default values that can be customized:

Name Usage Default Value
TAG Value used in Azure Tags password-vault
DEFAULT_REGION Default region to deploy to canadacentral
COSMOSDB_FREE_TIER Use the Cosmos DB free tier false
DEPLOY_MAINTENANCE Deploy Azure Functions for Keep Alives false
ADD_CUSTOM_DOMAIN Add a custom domain to Azure Static Web Apps false
APP_REQUIRES_AUTHENTICATION Require authentication for the UI true

Environment Setup

  • An Azure subscription (MSDN subscription is sufficient)
  • An account with owner permissions on the Azure subscription and Global Admin on the Azure AD tenant
  • Warning: Follow this guide to configure Terraform with a Service Principal.

Navigation

Return to Main Index 🏠Next Section ⏩

(back to top)

About

This project is a demo on how to use Azure Functions with HTTP Triggers, Cosmosdb, and a VUE SPA application protected by Azure AD

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •