/xyz-liatrio

A containerized cloud environment for XYZ

Primary LanguageJavaScript

xyz-liatrio

A containerized cloud environment for potential client XYZ

Quick Start

Environment Initialization

  • Clone or fork this repo
  • Log into or create a Terraform Cloud account, generate an API token and store it as TF_API_TOKEN in GitHub Secrets (Settings -> Secrets and Variables -> Actions)
  • Log in to an Azure account or Create one and follow these instructions
  • Store Service Principal credentials as AZURE_CREDENTIALS in GitHub Secrets
  • Delete the null_resource in azure/main.tf
  • Push/Merge the change and apply the Terraform
  • Your environment is deployed 🎉

Application

  • Delete the comment in app/server.js
  • Push/Merge the change and apply the Terraform
  • Your app is deployed 🎉

Operations

Should you need to acces your cluster, this command merges the config into ~/.kube/config:

az aks get-credentials --resource-group xyz-liatrio --name xyz-aks-cluster

Resource Provisioned

Terraform will provision the following resources into the Azure Resource group we import:

  • An Azure Container Registry
  • An Azure Kubernetes Cluster
  • An Azure Role Assignment

Effective Destruction

  • Comment out all resources but the imported resource group at the top of azure/main.tf

Total Destruction

  • Install the Terraform CLI and log in: terraform login
  • terraform plan -destroy -out=destroy.tfplan then terraform apply destroy.tfplan

Remember: 🐮 not 🐶 ...also, given that the resource group is imported, the Azure environment will need to be reinitialized

References

Additional documentation is available in the docs directory.

There is also a wiki page that contains some personal notes about the project and development timeline.