# Dev Ops

## Roadmap

My plan for this coursework is to explore the dev ops thema and how it applies to the AI theme and this project in specific.

There are the following things in the theme of dev ops I want to explore:

1. Python dependency management via poetry
2. Write a documentation around pre-commit hooks and how they can be used for this project with arguments for and against each of the hooks.
3. Add a GitHub Runner on my own hardware to the repository and build a pipline with GitHub actions.
   - Add linter (black, flake8, pylint, mypy, bandit, pip-audit)
   - Testing setup in the pipline via pytest
   - Explore the ability of GitHub to summaries the linting and testing results.
     - Add SonarQube to the project if the test and lint summaries in GitHub does not suffice.
   - Build the artifacts. Something like python wheels, Docker container and deployment files.
   - Startup to new build and see if it crashes in the first 60s if a framework is shown.
   - Build the documentation via sphinx for this project via the pipline.
4. How to deploy the collection of Docker containers via docker-compose and/or kubernetes.
5. Evaluate the use of dependabot to upgrade the poetry dependency groups.
6. Steadily grow the build pipline as the application grows.
