This is a todo list web application with basic features of most web apps, i.e., accounts/login, API, and interactive UI. To do this task, you will need:
Try it out by installing the requirements (the following commands work only with Python 3.8 and higher, due to Django 4):
pip install -r requirements.txt
Create a database schema:
python manage.py migrate
And then start the server (default is http://localhost:8000):
python manage.py runserver
Now you can browse the API or start on the landing page.
Create a kubernetes manifest for a pod which will containa ToDo app container:
- Fork this repository.
- Create a
deployment.yml
file with a deployment for the app. - Deployment should have
- Strategy: RollingUpdate
- Resource requests and limits (in idle state you should have 2 pods running)
- Pod spec should be same as for pods manifest
- Createa a
hpa.yml
file with a Horizontal Pod Autoscaler for the app. - Autoscaler should define
- Minimum number of pods as 2
- Maximum number of pods as 5
- Autoscale should be triggered by both CPU and Memory
- Both new manifests should belong to
mateapp
namespace README.md
should be updated with the instructions on how to deploy the app to k8sREADME.md
Should have explained you choice of resources requests and limitsREADME.md
Should have explained your choice of HPA configurationREADME.md
Should have explained your strategy configuration (Why such numbers)README.md
Should have explained how to access the app after deployment- Create PR with your changes and attach it for validation on a platform.