Yakstack is my hands-on DevOps/DevSecOps/SRE/Platform Engineering/MLOps, <some_name>Ops 😂 learning repository.
It is where I experiment with infrastructure, automation, Kubernetes, CI/CD, GitOps, observability, security, ... Basically anything that improves software delivery.
The goal is not only to learn tools, but to understand how they work together in real-world systems.
.
├── assets
├── labs
├── patterns
└── projectslabs/
Focused experiments used to learn or test concepts. Here, our goal is not to be production-ready but to just make it work and expand on other ideas.
Example:
- Kubernetes readiness and liveness probes
- EC2 SSH access
- How Terraform and Ansible work together
- And many more in the
labs/folder
A lab should be easy to run, understand, and remove.
assets/
Just the header image.
Python tools used across labs and projects are managed once from the repository root with
uv. The diagrams package and the Graphviz renderer are available
from every subdirectory:
# Install or update the shared environment
uv sync
# Run a diagram script from the repository root or any lab/project directory
uv run python diagram.pyYou can also activate the shared environment for a shell session:
source "$(git rev-parse --show-toplevel)/.venv/bin/activate"