When using the zip install method at least, yaci-cli will fail to find any of its configuration files if run from any directory other than the same one yaci-cli itself is in. Thus, this will work as expected:
but, for example, this will not:
Furthermore, this failure is not clearly indicated. Here is what happens when I try to use download in yaci-cli run as ./foo/yaci-cli:
yaci-cli:>download
🔴 Node version is not set. Please set the node version (node.version) or node download url (node.url) in download.properties
🔴 Download URL for cardano-node is not set. Please set the download URL in download.properties
🔴 YaciStore version is not set. Please set the yaci-store version (yaci.store.version) or yaci-store download url (yaci.store.url) in download.properties
🔴 Download URL for yaci-store (n2c) is not set. Please set the download URL in download.properties
🔴 YaciStore version is not set. Please set the yaci-store version (yaci.store.version) or yaci-store download url (yaci.store.url) in download.properties
🔴 Download URL for yaci-store (all) is not set. Please set the download URL in download.properties
🔴 Failed to download any yaci-store native variant.
🔴 Ogmios version is not set. Please set the ogmios version (ogmios.version) or ogmios download url (ogmios.url) in download.properties
🔴 Download URL for ogmios is not set. Please set the download URL in download.properties
🔴 Kupo version is not set. Please set the kupo version (kupo.version) or kupo download url (kupo.url) in download.properties
🔴 Download URL for Kupo is not set. Please set the download URL in download.properties
🔴 Yano version/tag is not set. Please set yano.version and yano.tag or yano.url in download.properties
🔴 Download URL for Yano is not set. Please set the download URL in download.properties
However, if I do the exact same thing running as ./yaci-cli (that is, from the same directory):
yaci-cli:>download
[💡 Download] Downloading cardano-node from https://github.com/IntersectMBO/cardano-node/releases/download/11.0.1/cardano-node-11.0.1-linux-amd64.tar.gz
Downloading: 100%
✅ Download complete for cardano-node!
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/config-legacy.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/tracer-config.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/byron-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/peer-snapshot.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/alonzo-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/conway-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/submit-api-config.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/shelley-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/topology.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preprod/config.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/tracer-config.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/byron-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/peer-snapshot.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/config-legacy.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/checkpoints.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/submit-api-config.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/conway-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/alonzo-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/topology.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/shelley-genesis.json
[💡 Extracting] Extracting /home/koz/mlabs/brale-audit/yaci/./share/preview/config.json
[more lines omitted]
This is extremely counter-intuitive relative any other CLI application: not only is yaci-cli incredibly sensitive to what directory it is run from, it doesn't even clearly indicate that it found no config!
Furthermore, as far as I can tell, there is no way, either by CLI flag or environmental variable, to inform yaci-cli where to find its own config. This seems like an odd choice.
These results were obtained using 0.12.0-beta5.
When using the zip install method at least,
yaci-cliwill fail to find any of its configuration files if run from any directory other than the same oneyaci-cliitself is in. Thus, this will work as expected:but, for example, this will not:
Furthermore, this failure is not clearly indicated. Here is what happens when I try to use
downloadinyaci-clirun as./foo/yaci-cli:However, if I do the exact same thing running as
./yaci-cli(that is, from the same directory):This is extremely counter-intuitive relative any other CLI application: not only is
yaci-cliincredibly sensitive to what directory it is run from, it doesn't even clearly indicate that it found no config!Furthermore, as far as I can tell, there is no way, either by CLI flag or environmental variable, to inform
yaci-cliwhere to find its own config. This seems like an odd choice.These results were obtained using 0.12.0-beta5.