1
0
Fork 0
Commit Graph

27 Commits (7c9737e092717fc7c6a3ed09a3f59f82a8e4ced6)

Author SHA1 Message Date
bot 14d6af7886 firefly-iii: Update to 6.2.21 2025-08-02 11:32:11 +00:00
Dustin 32132842be firefly-iii: Set imagePullPolicy: IfNotPresent
We don't want to pull public container images that already exist.  This
creates prevents pods from starting if there is any connectivity issue
with the upstream registry.
2025-07-21 15:07:01 -05:00
bot 52f999fe93 firefly-iii: Update to 6.2.20 2025-07-05 11:32:18 +00:00
bot bcd53d2819 firefly-iii: Update to 6.2.19 2025-06-28 11:32:13 +00:00
bot eb5d31edca firefly-iii: Update to 6.2.18 2025-06-21 11:32:15 +00:00
bot 86abf880d6 firefly-iii: Update to 6.2.17 2025-06-14 11:32:14 +00:00
bot bb87deb888 firefly-iii: Update to 6.2.9 2025-03-15 11:32:11 +00:00
bot 1c4b5e19a4 firefly-iii: Update to 6.1.25 2024-12-21 12:32:08 +00:00
Dustin 607fa050f3 firefly-iii: Update trusted proxies addresses
Since _ingress-nginx_ no longer runs in the host network namespace,
traffic will appear to come from pods' internal IP addresses now.
2024-11-22 22:41:49 -06:00
bot f0b16fd53c firefly-iii: Update to 6.1.22 2024-11-16 12:32:12 +00:00
Dustin 2ccbcd494c firefly-iii: Update to 6.1.21
Notably, this version fixes the ~4s delay when creating/editing
transactions.
2024-10-02 09:08:58 -05:00
bot 71f091fa05 firefly-iii: Update to 6.1.20 2024-09-28 11:32:18 +00:00
bot b323984d6c firefly-iii: Update to 6.1.19 2024-08-27 20:22:01 +00:00
Dustin a269f8a1ae firefly-iii: Connect to external PostgreSQL
Since the new database server outside the Kubernetes cluster, created
for Authelia, was seeded from a backup of the in-cluster server, it
already contained the data from Firefly-III as well.  Thus, we can
switch Firefly-III to using it, too.

The documentation for Firefly-III does not mention anything about how
to configure it to use certificate-based authentication for PostgreSQL,
as is required by the new server.  Fortunately, it ultimately uses
_libpq_, so the standard `PG...` environment variables work fine.  We
just need a certificate issued by the _postgresql-ca_ ClusterIssuer and
the _DCH Root CA_ certificate mounted in the Firefly-III container.
2024-07-02 18:16:05 -05:00
Dustin 02c88700f7 firefly-iii: Use volume claim template for redis
Using a volume claim template to define the persistent volume claim for
the Redis pod has two advantages: first, it enables using clustered
Redis, if we decide that becomes necessary, and second, it makes
deleteing and recreating the volume easier in the case of data
corruption.  Simply scale down the StatefulSet to 0, delete the PVC, and
scale the StatefulSet back up.
2024-06-26 18:29:49 -05:00
Dustin 7618bdcae6 firefly-iii: Replace importer access token
The access token the Firefly III Importer service uses to communicate
with Firefly III expired and needs replaced.
2024-05-10 09:23:04 -05:00
Dustin a235fbd5ac firefly-iii: Use a single Data Importer instance
Tabitha has decided not to use Firefly to manage her finances.  We've
mostly consolidated our expenses and income now, which I manage in my
Firefly account.  In fact, the Ingress for Firefly III itself always
sets the `Remote-User: dustin` header, so only my account is accessible
anyway.  Thus, there is no longer any reason to have two Data Importer
instances.
2023-12-10 08:55:20 -06:00
Dustin bfe3523285 firefly: importer: Set VANITY_URL
The Firefly III Data Importer uses the value of `FIREFLY_III_URL` to
constuct links to transactions in email notifications.  Since this URL
points to the internal Kubernetes service rather than the canonical URL
used by clients, these links are invalid.  Fortunately, there is another
setting, `VANITY_URL`, that the Data Importer will use only when
constructing public-facing links.
2023-12-10 08:39:13 -06:00
Dustin c1d9ee0495 firefly: importer: Allow autoimport via HTTP
The Firefly III Data Importer does not allow transaction imports by
unattended HTTP requests by default, but this can be enabled with the
`CAN_POST_FILES` environment variable.  Additionally, an
`AUTO_IMPORT_SECRET` environment variable must be set containing a
shared "secret" value which must be provided in the querystring of
autoimport requests.

Since we have the Data Importer protected by Authelia, we need to make
some additional changes to the Ingress to allow unattended
authentication.  Authelia supports passing the username and password of
an authorized user in the `Proxy-Authorization` HTTP request header.  If
this header is valid, it will allow the request through.  Unfortunately,
many HTTP clients will not set this header unless they are also
configured to explicitly connect via a forward proxy.  To simplify
usage of such clients, we can configure nginx to copy the value of the
normal `Authorization` header into `Proxy-Authorization`, thus allowing
clients to use simple HTTP Basic authentication, even though the Data
Importer doesn't actually support it.
2023-12-10 08:24:59 -06:00
Dustin 087b4988d1 firefly: ingress: Increase max body size
Some receipt images are pretty big.  Increase the maximum request body
size to allow these to be uploaded/attached to transactions.
2023-12-01 22:04:07 +00:00
Dustin c317931f9c firefly-iii: Set instance label for Argo CD
Argo CD wants every resource managed by an application to have that
application's name as the value of the `app.kubernetes.io/instance`
label.
2023-10-14 07:40:14 -05:00
Dustin 9f06e48269 firefly-iii: Migrate to sealed secrets 2023-10-13 21:32:58 -05:00
Dustin 8f7c42e054 firefly-iii: Update to v6.0.19 2023-08-09 14:04:52 -05:00
Dustin 2153097930 firefly-iii: Increase client body size limit
This allows attaching larger files to transactions (e.g. receipts).
2023-07-13 08:43:33 -05:00
Dustin 6af399fa27 firefly-iii: Update to v6.0.11 2023-06-05 17:14:43 -05:00
Dustin aa758646e0 firefly: Disable error message e-mails
Apparently, *Firefly III* thinks it is a good idea to send an email to
the administrator every time it encounters an error.  This is
particularly annoying when doing database maintenance, as the Kubernetes
health checks trigger an error every minute, which *Firefly III*
helpfully notifies me about.

Fortunately, this behavior can be disabled.
2023-05-14 11:30:55 -05:00
Dustin 5d5b69a629 firefly-iii: Deploy Firefly III
[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/
2023-05-14 11:15:15 -05:00