Skip to content

Commit

Permalink
feat!: apps should not depend on other app configs (#3469)
Browse files Browse the repository at this point in the history
Description
---
Refactors the config example into files for each specific application + common

How Has This Been Tested?
---
Running each app individually with only the configs required for that app 

BREAKING CHANGE!: Old config files may not work and may need to be manually edited
  • Loading branch information
Byron Hambly authored Oct 22, 2021
1 parent 335b626 commit b33e8b5
Show file tree
Hide file tree
Showing 24 changed files with 813 additions and 1,256 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ node_modules
/integration_tests/temp
/applications/utils/temp/
/integration_tests/cucumber_output

# ignore output files from windows ISS
buildtools/Output/
2 changes: 1 addition & 1 deletion applications/tari_base_node/osx-pkg/build_pkg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ done

mkdir -p "$destDir/pkgRoot/usr/local/share/doc/$instName"
COPY_DOC_FILES=(
"tari_config_example.toml"
"*.toml"
"log4rs_sample_base_node.yml"
"README.md"
)
Expand Down
2 changes: 1 addition & 1 deletion buildtools/create_osx_install_zip.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ cp -f "${local_dir}/install_xmrig.sh" "${tarball_folder}/runtime/install_xmrig.s
cp -f "${local_dir}/get_xmrig_osx.ps1" "${tarball_folder}/runtime/get_xmrig_osx.ps1"

# Config
cp -f "${project_dir}/common/config/presets/tari_config_example.toml" "${tarball_folder}/config/config.toml"
cat "${project_dir}/common/config/presets/*.toml" >"${tarball_folder}/config/config.toml"
cp -f "${project_dir}/common/xmrig_config/config_example_stagenet.json" "${tarball_folder}/config/xmrig_config_example_stagenet.json"
cp -f "${project_dir}/common/xmrig_config/config_example_mainnet.json" "${tarball_folder}/config/xxmrig_config_example_mainnet.json"
cp -f "${project_dir}/common/xmrig_config/config_example_mainnet_self_select.json" "${tarball_folder}/config/xmrig_config_example_mainnet_self_select.json"
Expand Down
2 changes: 1 addition & 1 deletion buildtools/create_ubuntu_install_zip.sh
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ cp -f "${local_dir}/get_xmrig_ubuntu.ps1" "${tarball_folder}/runtime/get_xmrig_u
cp -f "${local_dir}/install_powershell_ubuntu.sh" "${tarball_folder}/runtime/install_powershell_ubuntu.sh"

# Config
cp -f "${project_dir}/common/config/presets/tari_config_example.toml" "${tarball_folder}/config/config.toml"
cat "${project_dir}/common/config/presets/*.toml" >"${tarball_folder}/config/config.toml"
cp -f "${project_dir}/common/xmrig_config/config_example_stagenet.json" "${tarball_folder}/config/xmrig_config_example_stagenet.json"
cp -f "${project_dir}/common/xmrig_config/config_example_mainnet.json" "${tarball_folder}/config/xxmrig_config_example_mainnet.json"
cp -f "${project_dir}/common/xmrig_config/config_example_mainnet_self_select.json" "${tarball_folder}/config/xmrig_config_example_mainnet_self_select.json"
Expand Down
2 changes: 1 addition & 1 deletion buildtools/docker/base_node.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ COPY --from=builder /tari_base_node/target/release/tari_base_node /usr/local/bin
USER tari_base_node
#RUN echo ${HOME} && ls -la /home
RUN mkdir -p ~/.tari
COPY --from=builder /tari_base_node/common/config/presets/tari_config_example.toml /home/tari_base_node/.tari/tari_config_example.toml
COPY --from=builder /tari_base_node/common/config/presets/*.toml /home/tari_base_node/.tari
COPY --from=builder /tari_base_node/common/logging/log4rs_sample_base_node.yml /home/tari_base_node/.tari/log4rs_base_node.yml

# Keep the .tari directory in a volume by default
Expand Down
1 change: 1 addition & 0 deletions buildtools/generate_config.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
type ..\common\config\presets\*.toml >.\tari_config_example.toml
5 changes: 4 additions & 1 deletion buildtools/windows_inno_installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[PreCompile]
Name: ".\generate_config.bat"; Flags: abortonerror cmdprompt redirectoutput

[Files]
Source: "..\LICENSE"; DestDir: "{app}"; DestName: "LICENSE.md"; Flags: ignoreversion
Source: "..\LICENSE"; DestDir: "{app}"; DestName: "LICENSE.txt"; Flags: ignoreversion
Expand Down Expand Up @@ -111,7 +114,7 @@ Source: "..\applications\tari_merge_mining_proxy\windows\runtime\source_merge_mi
Source: "..\applications\tari_merge_mining_proxy\windows\runtime\start_tari_merge_mining_proxy.bat"; DestDir: "{app}\runtime"; Flags: ignoreversion
Source: "..\applications\tari_merge_mining_proxy\windows\runtime\source_xmrig_env.bat"; DestDir: "{app}\runtime"; Flags: ignoreversion
Source: "..\applications\tari_merge_mining_proxy\windows\runtime\start_xmrig.bat"; DestDir: "{app}\runtime"; Flags: ignoreversion
Source: "..\common\config\presets\tari_config_example.toml"; DestDir: "{app}\config"; DestName: "config.toml"; Flags: ignoreversion
Source: ".\tari_config_example.toml"; DestDir: "{app}\config"; DestName: "config.toml"; Flags: ignoreversion
Source: "tari_logo_purple.ico"; DestDir: "{userdocs}\..\temp\tari_icons"; Flags: ignoreversion
Source: "tor.ico"; DestDir: "{userdocs}\..\temp\tari_icons"; Flags: ignoreversion
Source: "xmr_logo.ico"; DestDir: "{userdocs}\..\temp\tari_icons"; Flags: ignoreversion
Expand Down
366 changes: 366 additions & 0 deletions common/config/presets/base_node.toml

Large diffs are not rendered by default.

97 changes: 97 additions & 0 deletions common/config/presets/common.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
[common]
# Select the network to connect to. Valid options are:
# mainnet - the "real" Tari network (default)
# weatherwax - the Tari testnet
network = "weatherwax"

# When first logging onto the Tari network, you need to find a few peers to bootstrap the process. In the absence of
# any servers, this is a little more challenging than usual. Our best strategy is just to try and connect to the peers
# you knew about last time you ran the software. But what about when you run the software for the first time? That's
# where this allowlist comes in. It's a list of known Tari nodes that are likely to be around for a long time and that
# new nodes can use to introduce themselves to the network.
# peer_seeds = ["public_key1::address1", "public_key2::address2",... ]
peer_seeds = [
# weatherwax
"98bc76afc1c35ad4651bdc9ef57bbe0655a2ea3cd86c0e19b5fd5890546eb040::/onion3/33izgtjkrlxhxybj6luqowkpiy2wvte43osejnbqyieqtdfhovzghxad:18141", #jozi
"9a26e910288213d649b26f9a7a7ee51fe2b2a67ff7d42334523463bf4be94312::/onion3/56kq54ylttnbl5ikotqex3oqvtzlxdpn7zlx4v56rvzf4kq7eezlclid:18141", #london
"6afd5b3c7772ad7d4bb26e0c19668fe04f2d68f99de9e132bee50a6c1846946d::/onion3/may4ajbmcn4dlnzf6fanvqlklxzqiw6qwu6ywqwkjc3bb354rc2i5wid:18141", #ncal
"8e7beec9becdc44fe6015a00d97a77fa3dbafe65127dcc988df6326bd9fd040d::/onion3/3pise36l4imoopsbjic5rtw67adx7rms6w5pgjmccpdwiqx66j7oqcqd:18141", #nvir
"80bb590d943a46e63ae79af5dc2c7d35a3dcd7922c182b28f619dc4cfc366f44::/onion3/oaxwahri7r3h5qjlcdbveyjmg4jsttausik66bicmhixft73nmvecdad:18141", #oregon
"981cc8cd1e4fe2f99ea1bd3e0ab1e7821ca0bfab336a4967cfec053fee86254c::/onion3/7hxpnxrxycdfevirddau7ybofwedaamjrg2ijm57k2kevh5q46ixamid:18141", #seoul
"f2ce179fb733725961a5f7e1e45dacdd443dd43ba6237438d6abe344fb717058::/onion3/nvgdmjf4wucgatz7vemzvi2u4sw5o4gyzwuikagpepoj4w7mkii47zid:18141", #stockholm
"909c0160f4d8e815aba5c2bbccfcceb448877e7b38759fb160f3e9494484d515::/onion3/qw5uxv533sqdn2qoncfyqo35dgecy4rt4x27rexi2her6q6pcpxbm4qd:18141", #sydney
# igor
"8e7eb81e512f3d6347bf9b1ca9cd67d2c8e29f2836fc5bd608206505cc72af34::/onion3/l4wouomx42nezhzexjdzfh7pcou5l7df24ggmwgekuih7tkv2rsaokqd:18141",
"00b35047a341401bcd336b2a3d564280a72f6dc72ec4c739d30c502acce4e803::/onion3/ojhxd7z6ga7qrvjlr3px66u7eiwasmffnuklscbh5o7g6wrbysj45vid:18141",
"40a9d8573745072534bce7d0ecafe882b1c79570375a69841c08a98dee9ecb5f::/onion3/io37fylc2pupg4cte4siqlsmuszkeythgjsxs2i3prm6jyz2dtophaad:18141",
"126c7ee64f71aca36398b977dd31fbbe9f9dad615df96473fb655bef5709c540::/onion3/6ilmgndocop7ybgmcvivbdsetzr5ggj4hhsivievoa2dx2b43wqlrlid:18141",
]

# DNS seeds
# The DNS records in these hostnames should provide TXT records as per https://github.com/tari-project/tari/pull/2319
# Enter a domain name for the TXT records: seeds.tari.com
dns_seeds =["seeds.weatherwax.tari.com"]
# The name server used to resolve DNS seeds (Default: "1.1.1.1:53")
# dns_seeds_name_server = "1.1.1.1:53"
# Servers addresses, majority of them have to agree.
# autoupdate_dns_hosts = [#server1, #server2, ...]
# Set to true to only accept DNS records that pass DNSSEC validation (Default: true)
dns_seeds_use_dnssec = false

# Tari is a 100% peer-to-peer network, so there are no servers to hold messages for you while you're offline.
# Instead, we rely on our peers to hold messages for us while we're offline. This settings sets maximum size of the
# message cache that for holding our peers' messages, in MB.
#message_cache_size = 10

# When storing messages for peers, hold onto them for at most this long before discarding them. The default is 1440
# minutes = or 24 hrs.
#message_cache_ttl = 1440

# If peer nodes spam you with messages, or are otherwise badly behaved, they will be added to your denylist and banned
# You can set a time limit to release that ban (in minutes), or otherwise ban them for life (-1). The default is to
# ban them for 10 days.
#denylist_ban_period = 1440

# The number of liveness sessions to allow. Liveness sessions can be established by liveness monitors over TCP by
# sending a 0x50 (P) as the first byte. Any messages sent must be followed by newline message no longer than
# 50 characters. That message will be echoed back.
#liveness_max_sessions = 0
#liveness_allowlist_cidrs = ["127.0.0.1/32"]

# The buffer size constants for the publish/subscribe connector channel, connecting comms messages to the domain layer:
# - Buffer size for the base node (min value = 30, default value = 1500).
#buffer_size_base_node = 1500
# - Buffer size for the console wallet (min value = 300, default value = 50000).
#buffer_size_console_wallet = 50000
# The rate limit constants for the publish/subscribe connector channel, i.e. maximum amount of inbound messages to
# accept - any rate attemting to exceed this limit will be throttled.
# - Rate limit for the base node (min value = 5, default value = 1000).
#buffer_rate_limit_base_node = 1000
# - Rate limit for the console wallet (min value = 5, default value = 1000).
buffer_rate_limit_console_wallet = 1000
# The message deduplication persistent cache size - messages with these hashes in the cache will only be processed once.
# The cache will also be trimmed down to size periodically (min value = 0, default value = 2500).
dedup_cache_capacity = 25000

# The timeout (s) for requesting blocks from a peer during blockchain sync (min value = 10 s, default value = 150 s).
#fetch_blocks_timeout = 150

# The timeout (s) for requesting UTXOs from a base node (min value = 10 s, default value = 600 s).
#fetch_utxos_timeout = 600

# The timeout (s) for requesting other base node services (min value = 10 s, default value = 180 s).
#service_request_timeout = 180

# The maximum simultaneous comms RPC sessions allowed (default value = 1000). Setting this to -1 will allow unlimited
# sessions.
rpc_max_simultaneous_sessions = 10000

# Auto Update
#
# This interval in seconds to check for software updates. Setting this to 0 disables checking.
# auto_update.check_interval = 300
# Customize the hosts that are used to check for updates. These hosts must contain update information in DNS TXT records.
# auto_update.dns_hosts = ["updates.taripulse.com"]
# Customize the location of the update SHA hashes and maintainer-signed signature.
# auto_update.hashes_url = "https://<address>/hashes.txt"
# auto_update.hashes_sig_url = "https://<address>/hashes.txt.sig"
Loading

0 comments on commit b33e8b5

Please sign in to comment.