Prerequisites

  • a kubernetes cluster, some software can be installed to create a local cluster such as minikube, kind or k3d
  • bash
  • helm
  • terraform
  • terraform-docs (optionnal)

Setup

First get a kube config file and keep his location in mind for the next step.

#Let's assume we are using a k3d cluster
k3d kubeconfig write mycluster -o /somepath/filename.yaml

Feel free to set it's path as KUBECONFIG env variable so you can use kubectl.

Then create the terraform.tfvars file and fill it with the variables you wish to change in ./terraform/local/variables.tf

‼️ The following tf variables are mandatory:

  • KUBECONFIG (path to config file you got earlier)

💡 Otherwise you can generate said file with the command terraform-docs tfvars hcl ./terraform/local > ./terraform/local/terraform.tfvars

Deploy

cd terraform/local/
terraform init
terraform apply -auto-approve

Access the app

AgroLD uses DNS redirection meaning that your request will be redirected by the ingress to the correct server according to the provided sub-domain name given.

FQDN breakdown

K8S ingresses

By default, the 127.0.0.1.sslip.io base domain is used. The DNS service sslip.io returns the ip adress you prepend to it, its useful to avoid having to configure a local dns server for development. Domain redirections will be showed in each terraform modules.

Undeploy

# in terraform/local/

cd terraform/local/
terraform init
terraform apply -auto-approve