This repository contains solution to Part 1 of the Appsilon Infrastructure task (Containers + CI/CD + Configuration Management)
.
|-- README.md
|-- app
| |-- Dockerfile
| |-- README.md
| |-- app.py
| |-- requirements.txt
| -- script.sh
-- configuration_management
|-- README.md
|-- ansible
| |-- ansible.cfg
| |-- nice-script.sh
| -- playbook.yml |-- remote_backend | |-- main.tf | |-- outputs.tf |
-- providers.tf
-- server |-- backend.tf |-- main.tf |-- modules |
-- network
| |-- main.tf
| |-- outputs.tf
| -- variables.tf |-- outputs.tf |-- providers.tf
-- variables.tf
- Application (Language/Framework): Python/Flask
- Container Technology: Docker
- Uses Crossplatform image build with buildx
- CI/CD: GitHub Actions
- Build trigger on push (to main) and schedule (Saturday, 7pm UTC)
- Infrastructure-as-Code: Terraform
- Creates remote backend and also sets up server
- Configuration Management: Ansible
- Cloud: AWS
- Control Node: Ubuntu 22.04