Install Portefaix

Instructions for deploying Portefaix on Azure

Setup

Export Azure credentials:

export AZURE_SUBSCRIPTION_ID="xxxxxx"

Storage for Terraform

Create a Storage Account :

❯ make -f hack/build/azure.mk azure-storage-account ENV=dev
XXXXXXXXXXX

You could see the Key on the output.

Create storage container for Terraform states:

❯ make -f hack/build/azure.mk azure-storage-container ENV=dev KEY="xxxxxxxxxxxxxxxxx"

Create the Service Principal for Terraform:

❯ make -f hack/build/azure.mk azure-sp ENV=dev
{
  "appId": "xxxxxxxxxxxxxxxxx",
  "displayName": "portefaix-dev",
  "name": "http://portefaix-dev",
  "password": "xxxxxxxxxxxx",
  "tenant": "xxxxxxxxxxxx"
}

Extract informations and configure portefaix configuration file (hack/config/portefaix.sh):

  • SUBSCRIPTION_ID
  • CLIENT_ID
  • CLIENT_SECRET
  • ARM_TENANT_ID

And load environment :

❯ . ./portefaix.sh azure

Set permissions:

❯ make -f hack/build/azure.mk azure-permissions ENV=dev

Terraform

Virtual Network

❯ make terraform-apply SERVICE=iac/azure/vnet ENV=dev

NAT Gateway

Public IP addresses :

❯ make terraform-apply SERVICE=iac/azure/public-ips/nat-gateway ENV=dev

NAT Gateway service:

❯ make terraform-apply SERVICE=iac/azure/nat-gateway ENV=dev

AKS

❯ make terraform-apply SERVICE=iac/azure/aks ENV=dev

Kubernetes components

Sops

❯ make terraform-apply SERVICE=iac/azure/sops ENV=dev

Observability

❯ make terraform-apply SERVICE=iac/azure/observability ENV=dev

Velero

❯ make terraform-apply SERVICE=iac/azure/velero ENV=dev
Last modified 07.10.2021: Fix: makefiles path (031a3b9)