Skip to content

mate-academy/devops_todolist_cicd_task_5_deploy_to_k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django ToDo list

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:

Explore

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.

Task

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:

  1. Update your forked repository with your DockerHub username and password.
    1. Add corresponding secrets to the repository.
  2. Update DockerImageName with your DockerHub image repository name.
  3. Add a resubable workflow to deploy to kind kubernetes cluster.
    1. Reusable workflow should allow to deploy to different environments.
    2. Add steps to spin up a kind cluster from a cluster.yml file.
    3. Job should contain a step with helm install --dry-run command.
    4. Job should contain a step to run helm upgrade --install command. This command should be atomic and should not allow to deploy a broken release.
    5. All secrets should be stored in the environment secrets.
  4. Call reusable workflow to deploy to development environment.
  5. Call reusable workflow to deploy to staging environment.
  6. Create a pull request with the changes.
  7. Pull request's description should also contain a reference to a successful workflow run.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published