1
0
Fork 0
Commit Graph

11 Commits (51775ede81489b286588445b12ff80f6ac4d0819)

Author SHA1 Message Date
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