Commit Graph

345 Commits

Author SHA1 Message Date
0b2c76a813 container: finance: add dependency checks for modules
Since modules are included upon build type, if a build doesn't support
a feature then that feature's dependencies will not be available.

This commit will give notice of those missing dependencies.
2024-09-17 20:06:34 -07:00
6d0a38f6b5 client: manifest: update to latest impl 2024-09-17 20:06:33 -07:00
e7d749ba22 client: docker-finance.d: Dockerfiles: cleanup, clarify 2024-09-17 20:06:33 -07:00
dc4990ab90 client: docker: complete build overhaul, optimize
This commit brings a complete overhaul of the build system:

- Creates a separation of concerns for 'local' and 'remote' building
  * 'local' is built locally via the docker-finance `build` command
  * 'remote' is built *outside* of the docker-finance `build` command
    (pushed to a remote registry and then pulled by the 'local' build)
  * Related refactoring
    - Dockerfiles
    - `lib_gen`

- Adds remote image 'hledger-suite'
  * Provides the latest versions of all `hledger` related binaries
  * No longer relies on package maintainers / out-dated packages

- Adds remote image 'docker-finance'
  * Provides base image for 'finance' and 'dev-tools' images
    - tags 'archlinux' | 'ubuntu' | 'dev-tools'

- Removes previous `hledger` related build modules
  * Removes building any `hledger` related binaries locally

- Removes 'experimental' build
  * End-user can use local custom Dockerfile and/or custom tag instead

- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
  * Refactors build type requirements into separate build modules
    - Adds 'fetch' module
    - Adds 'track' module
    - Adds 'user' module
      * creates container user *after* base and all other modules
      * allows for quick re-building across multiple local users
    - Updates 'root' module
  * `lib_docker`
    - Updates usage help
    - Adds build modules per build type

- Huge optimizations
  * Vastly improves build times
    - ~60% faster w/ a fresh build
    - ~60%-90% faster rebuild (depending on image type)
  * Vastly improves image sizes
    - e.g., 'default' Arch Linux image size is ~50% smaller
2024-09-17 20:06:33 -07:00
9feb05be2d Merge pull request #142 into master
7c46719 container: finance: lib_fetch: fix Tor plugin (proxychains) check (Aaron Fiore)
2024-09-16 22:09:04 -07:00
7c46719ab1 container: finance: lib_fetch: fix Tor plugin (proxychains) check
This ensures that curl will only be executed if the Tor plugin
(proxychains) argument is enabled.
2024-09-16 21:10:49 -07:00
c8177a0736 Merge pull request #141 into master
f200cfb README: fix TradFi anchor tag (Aaron Fiore)
5d21061 README: add support for NonFi (Aaron Fiore)
2024-09-13 16:59:16 -07:00
f200cfba8f README: fix TradFi anchor tag 2024-09-11 21:47:11 -07:00
5d2106183b README: add support for NonFi 2024-09-11 21:46:46 -07:00
ae061f9e0b Merge pull request #140 into master
a16922f container: hledger-flow: add Vultr support (Aaron Fiore)
2024-09-11 21:27:43 -07:00
a16922f87a container: hledger-flow: add Vultr support
This addition is treading a fine line between finance and other
accounting, as Vultr cloud service is related to DevOps and is also not
a financial entity. However, financial information is provided; so this
addition is useful.

With this commit, a precedent is set for other cloud services to be
added to the repository (services that provide CSV financial accounting
data) and I believe that they could (should) be added as needed.

NOTE: there are several upstream CSV issues:

  - Only expenses are given
    * Transfers must be added manually (manual import or custom rules)

  - Sales tax is not included
    * Sales tax expenses must be added manually
2024-09-11 21:25:51 -07:00
a93dc4adfa Merge pull request #139 into master
afa2e36 container: finance: completion: add `hledger` commands (Aaron Fiore)
2024-09-11 21:19:59 -07:00
afa2e368f1 container: finance: completion: add hledger commands 2024-09-11 21:17:58 -07:00
e14b652fe0 Merge pull request #138 into master
c65c316 hledger-flow: electrum: fix calculating 'No Data' (Aaron Fiore)
2024-09-11 21:14:54 -07:00
c65c31659c hledger-flow: electrum: fix calculating 'No Data'
If electrum-provided prices aren't available, 'No Data' will be given.
Attempts to calculate this string will result in 0.00 for fiat values.

Do not attempt to calculate this string. Instead, leave the column empty
(for bitcoin.tax calculations).
2024-09-09 20:20:53 -07:00
fb07eb33cf Merge pull request #137 into master
cff19f8 container: fetch: run linter (Aaron Fiore)
2024-09-07 19:00:39 -07:00
cff19f87d9 container: fetch: run linter 2024-09-07 18:59:04 -07:00
9dcbff7826 Merge pull request #136 into master
d4d7027 client: dev-tools: lib_linter: add DOCKER_FINANCE_CLIENT_PLUGINS (Aaron Fiore)
75ed30a client: Dockerfiles: dev-tools: add DOCKER_FINANCE_CLIENT_PLUGINS (Aaron Fiore)
7e53559 client: docker-finance.d: env: dev-tools: allow DOCKER_FINANCE_CLIENT_PLUGINS (Aaron Fiore)
2024-09-07 18:57:29 -07:00
d4d7027f22 client: dev-tools: lib_linter: add DOCKER_FINANCE_CLIENT_PLUGINS 2024-09-07 18:46:39 -07:00
75ed30a05d client: Dockerfiles: dev-tools: add DOCKER_FINANCE_CLIENT_PLUGINS 2024-09-07 16:48:27 -07:00
7e5355992b client: docker-finance.d: env: dev-tools: allow DOCKER_FINANCE_CLIENT_PLUGINS 2024-09-07 16:48:10 -07:00
c099010fa5 Merge pull request #135 into master
91bfc21 hledger-flow: algorand: add to Governance Rewards (Aaron Fiore)
2024-09-06 17:48:05 -07:00
91bfc21f62 hledger-flow: algorand: add to Governance Rewards 2024-09-06 17:46:41 -07:00
674b46867b Merge pull request #134 into master
d8cc3c0 client: docker: lib_plugins: allow path depth (Aaron Fiore)
520be13 container: finance: lib_plugins: allow path depth (Aaron Fiore)
2024-09-06 17:44:58 -07:00
d8cc3c097f client: docker: lib_plugins: allow path depth
- Allows plugins to function within subdirectories
- Removes redundant arg checking
2024-09-04 18:17:13 -07:00
520be13464 container: finance: lib_plugins: allow path depth
- Allows plugins to function within subdirectories
- Removes redundant arg checking
2024-09-04 18:16:08 -07:00
fb0da4cd8a Merge pull request #133 into master
3be93d8 container: plugins: finance: timew_to_timeclock: print all tags (Aaron Fiore)
2024-08-29 16:49:59 -07:00
3be93d8e97 container: plugins: finance: timew_to_timeclock: print all tags 2024-08-29 16:45:09 -07:00
d4d9368c4f Merge pull request #132 into master
7f413d5 hledger-flow: capital-one: bank: fix direction (Aaron Fiore)
2024-08-29 16:42:52 -07:00
7f413d5351 hledger-flow: capital-one: bank: fix direction 2024-08-28 23:11:29 -07:00
8bc90fedf4 Merge pull request #131 into master
1e818b7 client: dev-tools: lib_linter: return compose down (Aaron Fiore)
2024-08-21 20:25:42 -07:00
1e818b708b client: dev-tools: lib_linter: return compose down
- Don't return value of network removal
  * compose value is more appropriate
- Silence error warning
  * will complain if network is already in use
2024-08-21 20:24:43 -07:00
23b5441a26 Merge pull request #130 into master
29d2921 container: lib_fetch: fix price parsing (Aaron Fiore)
2024-08-21 20:23:11 -07:00
29d2921dd8 container: lib_fetch: fix price parsing
- Fix check if price API is not set
- Fix check for invalid asset sequence
- Improve log messages
2024-08-21 20:21:28 -07:00
6d5185b63c Merge pull request #128 into master
a9e2976 client: Dockerfiles: optimize by moving useradd (Aaron Fiore)
2024-08-21 20:19:42 -07:00
a9e2976748 client: Dockerfiles: optimize by moving useradd
Adding the finance user as late as possible within the base Dockerfile
will allow for faster build times when rebuilding with different users
(the base layers won't need to be rebuilt).
2024-08-20 17:40:23 -07:00
b114e0b814 Merge pull request #127 into master
3519c69 client: manifest: bump version to v1.0.0-beta.3 (Aaron Fiore)
v1.0.0-beta.3
2024-08-20 16:41:19 -07:00
3519c690bd client: manifest: bump version to v1.0.0-beta.3 2024-08-20 16:40:23 -07:00
6c22cc9863 Merge pull request #126 into master
a16dd15 CHANGELOG: add v1.0.0-beta.3 (Aaron Fiore)
2024-08-20 16:39:21 -07:00
a16dd15640 CHANGELOG: add v1.0.0-beta.3 2024-08-20 16:36:56 -07:00
ceb4a5fc4d Merge pull request #125 into master
01ab9da client: lib_docker: remove platform from network name (Aaron Fiore)
623c3f9 client: lib_docker: add tag to container name (Aaron Fiore)
2024-08-19 22:45:16 -07:00
01ab9da53d client: lib_docker: remove platform from network name
There should be a single network amongst all docker-finance containers.
2024-08-19 22:43:57 -07:00
623c3f9e1a client: lib_docker: add tag to container name
Helps identify environment/build type during runtime.
2024-08-19 22:43:57 -07:00
e94c31e768 Merge pull request #124 into master
181ca44 hledger-flow: capital-one: bank: add interest income (Aaron Fiore)
2024-08-19 22:41:59 -07:00
181ca4433f hledger-flow: capital-one: bank: add interest income 2024-08-19 16:12:13 -07:00
9c7237c5dc Merge pull request #123 into master
b4fcc2a client: Dockerfiles: comment all optional userspace packages (Aaron Fiore)
284dd1d client: Dockerfiles: add commented `pipx` optional userspace (Aaron Fiore)
37a4a63 client: manifest: remove `pipx`, replace with packaged `csvkit` (Aaron Fiore)
3b01ce8 client: Dockerfiles: remove `pipx`, replace with packaged `csvkit` (Aaron Fiore)
2024-08-19 16:03:19 -07:00
b4fcc2ae0d client: Dockerfiles: comment all optional userspace packages
- Shouldn't be applied to base image by default
- Also removes `mc` from Ubuntu image as `mc` (more useful client-side)
2024-08-19 15:57:54 -07:00
284dd1d607 client: Dockerfiles: add commented pipx optional userspace
- `pipx` is no longer required by the base image
  * Package would be required for previous `xlsx2csv` install
2024-08-19 15:57:54 -07:00
37a4a630d9 client: manifest: remove pipx, replace with packaged csvkit 2024-08-19 15:57:54 -07:00
3b01ce8cc7 client: Dockerfiles: remove pipx, replace with packaged csvkit 2024-08-19 15:57:54 -07:00