This repository contains an example of a continious deployment pipeline using FluxCD and Flagger.
Create KinD cluster and export kubeconfig file:
$ kind create cluster --name develop
$ kind export kubeconfig --name develop --kubeconfig kubeconfig
Initialize Terraform and apply the changes to the cluster. Terraform requires as input a GitHub token with repository read/write permissions:
$ cd terraform
$ terraform init
$ terraform apply -var="github_owner=owner_name" -var="github_repository=repo_name"
Terraform installs MetalLB and sets the IP ranges. Then, install FluxCD Chart and set up the GitHub repository.
Create a Python virtual environment and update Hosts:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r scripts/requirements.txt
$ python3 -m scripts.update_hosts
Create a Python virtual environment and install pre-commit:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install pre-commit
$ pre-commit install
$ pre-commit run --all