This is a to-do list web application with the 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
You can now browse the API or start on the landing page.
Create a Kubernetes manifest for a pod that will contain a ToDo app container:
- Fork this repository.
- Create a simple
Dockerfile
for the ToDo application - Add readiness endpoint code to
api
of the application (modifyapi/views.py
andapi/urls.py
) - Add liveness endpoint cide to
api
of the application (modifyapi/views.py
andapi/urls.py
) - Build your image and push it to your personal Docker Hub account into the
todoapp
repository with the3.0.0
tag (todoapp:3.0.0
) - All manifests should be located under the
.infrastructure
folder - Create a
manifest
which can be used to create a namespace. The file should be namednamespace.yml
and should contain the following content:
apiVersion: v1
kind: Namespace
metadata:
name: todoapp
- Create a pod
manifest
that will start aikulyk404/busyboxplus:curl
container in a cluster. The file should be namedbusybox.yml
. - Create a pod
manifest
that will use a previously created image with the tag{yourname}/todoapp:3.0.0
. The file should be namedtodoapp-pod.yml
. - ToDo app pod
manifest
should have a readiness probe configured - ToDo app pod
manifest
should have a liveness probe configured - Create the
INSTRUCTION.md
file INSTRUCTION.md
file should contain instructions on how to apply all manifestsINSTRUCTION.md
file should contain instructions on how to test ToDo application using theport-forward
commandINSTRUCTION.md
file should contain instructions on how to test the application using thebusyboxplus:curl
container- Create PR with your changes and attach it for validation on a platform.