This repository contains both the source code for my personal website https://schwartzdaniel.com and the GitOps-driven infrastructure (Kubernetes/Helm) that powers the entire project.
The stack is built with a focus on automation and SRE best practices:
- Infrastructure: Linux VPS (Rocky Linux release 9.1)
- Orchestration: k3s (Lightweight Kubernetes).
- GitOps: ArgoCD for Continuous Deployment.
- Automation: ArgoCD Image Updater for automated image tracking via digest.
- Registry: Harbor (Self-hosted) for secure container image management.
- CI/CD: GitHub Actions for building and pushing Docker images.
- Web Server: Nginx (optimized for static content/React).
I have implemented a fully automated "Push-to-Production" pipeline:
- Commit & Push: Any change to the
mainbranch triggers a GitHub Action. - Build: A new Docker image is built and tagged with the unique Git SHA.
- Push: The image is pushed to my private Harbor registry using the
:devtag. - Sync: The ArgoCD Image Updater detects a change in the image's
digest(hash value) on Harbor. - Deploy: ArgoCD automatically overrides the Helm parameters and rolls out the new image without any manual intervention.
I welcome contributions to improve the website template.
Distributed under the MIT License. See the LICENSE file for more information.
