[Firefly III][0] is a free and open source, web-based personal finance management application. It features a double-entry bookkeeping system for tracking transactions, plus other classification options like budgets, categories, and tags. It has a rule engine that can automatically manipulate transactions, plus several other really useful features. The application itself is mostly standard browser-based GUI written in PHP. There is an official container image, though it is not particularly well designed and must be run as root (it does drop privileges before launching the actual application, thankfully). I may decide to create a better image later. Along with the main application, there is a separate tool for importing transactions from a CSV file. Its design is rather interesting: though it is a web-based application, it does not have any authentication or user management, but uses a user API key to access the main Firefly III application. This effectively requires us to have one instance of the importer per user. While not ideal, it isn't particularly problematic since there are only two of us (and Tabitha may not even end up using it; she seems to like YNAB). [0]: https://www.firefly-iii.org/ |
||
---|---|---|
authelia | ||
autoscaler | ||
cert-manager | ||
docker-distribution | ||
dynk8s-provisioner | ||
firefly-iii | ||
hudctrl | ||
ingress | ||
jenkins | ||
kitchen | ||
metrics | ||
ntfy | ||
paperless-ngx | ||
phpipam | ||
postgresql | ||
prometheus_speedtest | ||
scanservjs | ||
setup | ||
storage | ||
README.md |
README.md
Dustin's Kubernetes Cluster
This repository contains resources for deploying and managing my on-premises Kubernetes cluster
Cluster Setup
The cluster primarily consists of libvirt/QEMU+KVM virtual machines. The Control Plane nodes are VMs, as are the x86_64 worker nodes. Eventually, I would like to add Raspberry Pi or Pine64 machines as aarch64 nodes.
All machines run Fedora, using only Fedora builds of the Kubernetes components
(kubeadm
, kubectl
, and kubeadm
).
See Cluster Setup for details.
Jenkins Agents
One of the main use cases for the Kubernetes cluster is to provide dynamic agents for Jenkins. Using the Kubernetes Plugin, Jenkins will automatically launch worker nodes as Kubernetes pods.
See Jenkins Kubernetes Integration for details.
Persistent Storage
Persistent storage for pods is provided by Longhorn. Longhorn runs within the cluster and provisions storage on worker nodes to make available to pods over iSCSI.
See Persistent Storage Using Longorn for details.