README: update to latest gen impl

This commit is contained in:
2024-09-22 18:37:07 -07:00
parent e6ccd9607c
commit a14dfaedde

View File

@@ -329,9 +329,10 @@ Supported blockchains (independent of wallet type):
The following will generate your Docker-related client/container environment for the default image (see [Environment Generation](#environment-generation) for details):
```bash
dfi archlinux/${USER}:default gen
dfi archlinux/${USER}:default gen all=all
```
> If you would like to use the `ubuntu` image, replace `archlinux` with `ubuntu` here and for all remaining steps
> To regenerate any step in this process, now or in the future, use `gen help` for available options
> To use the `ubuntu` image instead, replace `archlinux` with `ubuntu` here and for all remaining steps
7. **Build default `docker-finance` image**:
```bash
@@ -349,7 +350,7 @@ Supported blockchains (independent of wallet type):
10. (Optional) **Developers: on your client (host), build and setup the `dev-tools` platform**:
```bash
dfi dev-tools/${USER}:default build type=default && dfi dev-tools/${USER}:default gen
dfi dev-tools/${USER}:default build type=default && dfi dev-tools/${USER}:default gen all=all
```
### Environment Generation
@@ -371,7 +372,7 @@ You'll create these files (and more) when running client (host) command `gen`, a
When running `gen`, you'll see the following:
> *Client-side environment found, backup then generate new one?*
> *Client environment file found, backup then generate new one? [Y/n]*
Generates the client (host) configuration file (see the [Client (Host) Configuration File](#client-host-configuration) for details).
@@ -384,22 +385,21 @@ Generates custom Dockerfile. Do as you wish; install your own container packages
- To easily edit this configuration file after `gen` is complete, run client (host) command `edit type=build`
> *Generate joint client/container superscript? [Y/n]*
Select 'y' if this is your first-run for the given platform and tag, or if you need to regenerate the file (see [Superscript](#clientcontainer-superscript) for details).
---
#### Container Generation
After the previous client environment is generated, the following will prepare the container environment (everything you'll need while inside `docker-finance`).
> *Generate (or update) container flow (profiles, etc.)?*
> *Generate container finance flow (layout and profiles)? [Y/n]*
Although the container environment is a minimum requirement, here you'll have the option to continue generating or to backup a previous install.
Not limited to `hledger-flow` data, this option leads to generating the layout and files needed for processing *all* `docker-finance` end-user generated data (journals, configurations, etc.).
> *Will this profile be used for development and/or demonstration?*
If you're a developer or wish to see the mockup test profile, select 'y' here.
It should be noted that:
- mockup data can be found in the `mockup` directories within this repository
Although the container environment is a minimum requirement, here you'll have the option to continue generation.
> *Enter profile name (e.g., family in 'family/alice')*
> *Enter subprofile name (e.g., alice in 'family/alice')*
@@ -410,42 +410,30 @@ It should be noted that:
- all subsequent questions and container generation will relate to this `profile/subprofile` pairing
- all output will be sent to the `${DOCKER_FINANCE_CONTAINER_FLOW}/profiles/profile/subprofile` path
> *Generate (or update) joint client/container shell script (superscript)? [Y/n]*
Select 'y' if this a first-run. If this is not a first-run but you need to regenerate the file, then select 'y' (see [Superscript](#clientcontainer-superscript) for details).
> *Generate (or update) hledger configuration file?*
If the container's version of hledger supports it, use this customizable configuration file.
> *Generate (or update) container flow configs and/or accounts?*
Not limited to `hledger-flow` data, this option leads to generating the layout and files needed for processing *all* `docker-finance` end-user generated data (journals, configurations, etc.).
> *Generate (or update) subprofile's shell script?*
> *Generate subprofile's subscript file? [Y/n]*
The container's subprofile's shell script is where all subprofile commands and aliases exist.
This file is generated on a per-subprofile basis and all custom code *on a per-subprofile basis* should go here (see [Subprofile](#subprofile) for details).
This file is generated on a per-subprofile basis and all custom code *on a per-subprofile basis* should go here (see [Subscript](#subscript) for details).
> *Generate (or update) subprofile's fetch configuration?*
> *Generate subprofile's fetch configuration file? [Y/n]*
The container's fetch configuration is what all remote fetching relies on: prices, exchanges, blockchain explorers; all are configured here (see [Fetch](#fetch-1) for details).
> *Generate (or update) subprofile's financial metadata?*
> *Generate subprofile's financial metadata file? [Y/n]*
The container's *per-subprofile* metadata file.
This file contains all your custom metadata and can edited with the `edit` and analyzed with the `meta` or `root` command (see [Meta](#meta) for details).
> *Generate (or update) subprofile's hledger-flow accounts?*
> *Generate subprofile's hledger configuration file? [Y/n]*
This configuration file is specific to `hledger`. See `hledger` documentation for options.
> *Generate subprofile's hledger-flow accounts? [Y/n]*
The container's `hledger-flow` accounts to be installed. These are the accounts described in [What is supported?](#what-is-supported).
> *Generate individual subprofile accounts instead of generating them all at once?*
If you intend to only use a few accounts, you can do so here. Otherwise, generate all accounts (recommended).
**WARNING**: if you plan to use blockchain-based wallets (coinbase-wallet, pera-wallet, ledger, metamask, etc.), you **MUST** generate their respective chains, as seen during generation (`algorand`, `ethereum-based`, `tezos`, etc).
### Configuration Files
@@ -639,7 +627,7 @@ After `gen` is complete, you can edit this file with the client (host) command:
The client/container shell script (Superscript) is a bind-mounted (by directory) script that:
- is the intermediary between client and container
- is unique to each client (host) user (/home/alice, /home/bob, etc.)
- is the glue that ties together **all** container [Subprofile](#subprofile) scripts
- is the glue that ties together **all** container [Subscript](#subscript)
- is generated on a per-client basis: all custom code on a **per-client basis** should go here
See the in-file comments for further documentation:
@@ -654,15 +642,15 @@ After `gen` is complete, you can edit this file with the client (host) command:
These configurations are confined solely to the container.
##### *Subprofile*
##### *Subscript*
The Subprofile script is unique to each subprofile for each `profile/subprofile` within the `profiles` parent directory.
The Subprofile's subscript is unique to each subprofile, for each `profile/subprofile` within the `profiles` parent directory.
By default, this file will contain user aliases for all container commands. These aliases are mostly useful for small setups or setups with uniquely named subprofiles among all profiles.
See the in-file comments for further documentation:
- [subprofile.bash.in](client/docker-finance.d/container/shell/subprofile.bash.in)
- [subscript.bash.in](client/docker-finance.d/container/shell/subscript.bash.in)
After `gen` is complete, from within the container, you can edit this file with: `dfi profile/subprofile edit type=shell` (see [Container Command Format](#container-command-format)).
@@ -771,7 +759,7 @@ Assuming `<profile/subprofile>` is `testprofile/testuser`:
dfi testprofile/testuser fetch help
```
Or, use a subprofile alias, as described in [Subprofile](#subprofile):
Or, use a subprofile alias, as described in [Subscript](#subscript):
```bash
testuser_fetch help
@@ -909,8 +897,11 @@ For other dependencies, please see their individual contributing guidelines.
You'll greatly benefit from building the [`dev-tools` image](#image-dev-tools), as seen in `docker-finance help`.
Additionally, when developing with the [`docker-finance` image](#image-docker-finance), please test your work with mockups as described in [Environment Generation](#environment-generation) and [Flow Layout](#flow-layout).
> Note: mockup CSVs will *intentionally* have multiple years within in a `1-in/year` directory in order to test for year parsing.
Additionally, when developing with the [`docker-finance` image](#image-docker-finance) create a development profile with the `gen` command argument `dev=on`. From there, you'll have access to mockup CSVs as described in [Flow Layout](#flow-layout).
> - In addition to `dev=on`, run the `confirm=off` and `profile=` arguments to quickly spin-up a new development profile
> - Developer mockup CSVs can be found in the `mockup` directories within the hledger-flow section of this repository
> - Developer mockup CSVs will *intentionally* have multiple years within in a `1-in/year` directory in order to test for year parsing
#### Plugins