Skip to content

yyyaaan/core

Repository files navigation

YYYaan Core Monorepo

Python FastAPI Kubernetes Argo CD GitHub Actions

Overview 🧭

Monorepo for Python and Rust services with a GitOps-first deployment model.

  • Monorepo structure for apps, packages, and crates
  • Python services (FastAPI), REST APIs, and MCP-related tooling
  • Kubernetes + Helm for runtime infrastructure
  • Argo CD for in-cluster deployment and reconciliation

Manual helm apply is intentionally avoided. Deployments are managed through Argo CD and currently require manual approval in addition to pull requests.

Home automation components (Home Assistant, Homebridge, Frigate, etc.) are maintained under infra/helm-chart as part of core infrastructure.

CI/CD ⚙️

  • GitHub Actions: build, test, lint, and image workflows
  • In-cluster Argo CD: Helm/Kubernetes deployment execution

Technologies

  • Kubernetes, Helm, networking, oauth2-proxy
  • Python, FastAPI, uv, pytest, ruff
  • GitHub Actions and go-task (Taskfile)
  • Cloudflare tunnel for public ingress (in-cluster)

Taskfile manages local and cloud workflows. See taskfile.dev and go-task/task.

Repository Layout

  • apps/: main applications
  • packages/: shared Python packages
  • crates/: Rust crates

Naming convention:

  • py-* for Python projects
  • rs-* for Rust projects

Quick Start (Dev) 🚀

Use the devcontainer for Python and Rust development. Infrastructure flows are GitOps-based and should be validated from host/cluster context.

uv run autobrowser
uv run play

# Unit tests (workspace)
uv run pytest -v

# Local auth example for play
ALLOW_LOCAL_AUTH=true LOCAL_AUTH_EMAIL=t@t.dev ALLOWED_EMAILS='["t@t.dev"]' uv run play

Services 🏠

  • Home internal: Home Assistant, MariaDB, Homebridge, Frigate
  • General web: Play (FastAPI), Stirling PDF (on-demand)
  • Supporting: OAuth2 Proxy, Headlamp, Cloudflare tunnel, cert issuers

Restic Backups 💾

A Kubernetes CronJob backs up MariaDB and configuration folders.

Kubernetes Context Reminder

export KUBECONFIG=~/.kube/pi-config

Default kube context is config if not overridden.

About

MonoRepo for my private projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors