diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 0000000..48ec64a --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,52 @@ +# Changelog + +All notable changes to BlumeOps are documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + + + +## [0.1.0] - 2026-02-03 + +### Features + +- Add Grafana Alloy for metrics remote_write to Prometheus +- Add Alloy DaemonSet for automatic pod log collection and service health probes +- Set up Borgmatic daily backups to Sifaka NAS with PostgreSQL streaming support +- Add CloudNativePG PostgreSQL metrics scraping via Tailscale service +- Add devpi PyPI caching proxy in Kubernetes with custom container image +- Add Forgejo Actions CI runner in Kubernetes with host mode execution +- Add Homepage service dashboard with automatic Kubernetes service discovery +- Add Jellyfin media server with VideoToolbox hardware transcoding on indri +- Add Kiwix offline Wikipedia server with kiwix-tools on indri +- Add kube-state-metrics for Kubernetes resource metrics (pods, deployments, etc.) +- Add Loki log aggregation with 31-day retention and Grafana integration +- Add Miniflux RSS/Atom feed reader connected to PostgreSQL +- Add Navidrome music streaming server with NFS storage from Sifaka +- Add Prometheus metrics collection on indri with Sifaka node_exporter scraping +- Add TeslaMate vehicle data logger with 18 Grafana dashboards +- Add Transmission BitTorrent daemon for ZIM archive downloads +- Add Zot OCI registry as pull-through cache for Docker Hub, GHCR, and Quay + +### Bug Fixes + +- Build Alloy with CGO for macOS native DNS resolver (fixes Tailscale MagicDNS) +- Suppress noisy "v1 Endpoints is deprecated" warning from minikube storage-provisioner + +### Infrastructure + +- Deploy ArgoCD for GitOps continuous delivery with manual sync policy for workloads +- Set up Caddy reverse proxy for *.ops.eblu.me with ACME DNS-01 TLS via Gandi +- Deploy CloudNativePG operator and blumeops-pg PostgreSQL cluster in Kubernetes +- Migrate Grafana from Homebrew to Kubernetes via Helm chart +- Migrate Kiwix to Kubernetes with torrent-sync sidecar and ZIM watcher CronJob +- Migrate Loki to Kubernetes StatefulSet with 50Gi PVC +- Migrate Miniflux from Homebrew to Kubernetes with CloudNativePG database +- Set up Minikube single-node Kubernetes cluster on indri with Tailscale API access +- Migrate minikube from podman to docker driver for better stability and NFS support +- Manage Prometheus configuration via Ansible +- Migrate Prometheus to Kubernetes StatefulSet with 50Gi PVC +- Set up Pulumi for Tailnet ACL management with OAuth authentication +- Migrate Transmission to Kubernetes with NFS storage from Sifaka +- Migrate Zot registry from Tailscale serve to Caddy reverse proxy at registry.ops.eblu.me +- Integrate Zot as minikube registry mirror for all image pulls diff --git a/docs/changelog.d/.gitkeep b/docs/changelog.d/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/towncrier.toml b/towncrier.toml new file mode 100644 index 0000000..c7f9bcd --- /dev/null +++ b/towncrier.toml @@ -0,0 +1,35 @@ +# Towncrier configuration for BlumeOps changelog +# https://towncrier.readthedocs.io/ + +[tool.towncrier] +directory = "docs/changelog.d" +filename = "docs/CHANGELOG.md" +package = "" +title_format = "## [{version}] - {project_date}" +issue_format = "" +underlines = ["", "", ""] + +[[tool.towncrier.type]] +directory = "feature" +name = "Features" +showcontent = true + +[[tool.towncrier.type]] +directory = "bugfix" +name = "Bug Fixes" +showcontent = true + +[[tool.towncrier.type]] +directory = "infra" +name = "Infrastructure" +showcontent = true + +[[tool.towncrier.type]] +directory = "doc" +name = "Documentation" +showcontent = true + +[[tool.towncrier.type]] +directory = "misc" +name = "Miscellaneous" +showcontent = false