This is a to-do list web application with basic features of most web apps, i.e., accounts/login, API, and interactive UI. To complete this task, you will need:
Follow these steps to get the application up and running on your local machine (requires Python 3.8 or higher due to compatibility with 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.
Extend the project's GitHub Actions workflow by integrating Docker to build and push images to DockerHub. This CI/CD enhancement involves several key tasks:
- Update your forked repository with your DockerHub username and password.
- Add corresponding secrets to the repository.
- Update
DockerImageName
with your DockerHub image repository name. - Add a resubable workflow to deploy to
kind
kubernetes cluster.- Reusable workflow should allow to deploy to different
environments
. - Add steps to spin up a
kind
cluster from acluster.yml
file. - Job should contain a step with
helm install --dry-run
command. - Job should contain a step to run
helm upgrade --install
command. This command should beatomic
and should not allow to deploy a broken release. - All secrets should be stored in the environment secrets.
- Reusable workflow should allow to deploy to different
- Call reusable workflow to deploy to
development
environment. - Call reusable workflow to deploy to
staging
environment. - Create a pull request with the changes.
- Pull request's description should also contain a reference to a successful workflow run.