A final project used for the following courses Upskill 34 DevOps at Telerik:
- All code is in Source control on GitHub.
- Three-component python application in Docker containers.
- CICD part builds workflows in GitHub Action.
- Building infrastructure (IaC) in AWS using Terraform.
- Security management is implemented with hash Vault created on Immutable infrastructures in AWS AMI.
- Deploying the application in a Kubernetes cluster with GitOps(Argocd) pattern.
- Simple observability with Prometheus and Grafana.
For this repo I'm using Trunk Based Development (TBD) flow strategy, because:
- Branch are small and self sufficiental;
- Keep close to the
mainbranch;- Reduce merge conflicts
- Fast feedback loops for the CI part;
- Quick release.
Create a simple tests for safeguards like: pre-commit hooks (linters, fixers), AI coding assistant(copilot) and etc.
- check-yaml, end-of-file-fixer, check-added-large-files, check-merge-conflict, gitleaks, black and more.
Simple python app with 3 components.
- backend generator of data
- storage for save data in database
- frontend web interface for dispaly data
- More here in app/README
- The CICD workflow is defined in GitHub Actions.\
- It is triggered on push to MAIN branch in the repository, ensuring that the codebase is continuously integrated and fully tested.
- More here in .github/workflows/README with details.
- More here in main terraform/README with details.
- More here in packer/README with details.
I will present theory and possibilities when using Hashi Vault. Demonstration of several techniques related to AWS and databases.
- More here in hashi_vault_doc/README with details.
- TLS encryption on EKS with AWS Load Balancer Controller
- make prometheus monitor the application itself
- make similar structure in Azure
[MIT License] Please refer to the 'LICENSE' file in this repo for the specific terms and conditions governing the use of this project.
- Metodi Lichkov - github: https://github.com/metodil
- Iliyan Vutoff - github: https://github.com/vutoff
- Daniel Rankov - github: https://github.com/severel
