From 6fc4a06b3bf1ee956e490ed07c5b0e832d3de0e8 Mon Sep 17 00:00:00 2001
From: import this <97586125+serinko@users.noreply.github.com>
Date: Thu, 28 Mar 2024 09:33:06 +0000
Subject: [PATCH] [DOC]: Serinko/operators/fast-and-furious (#4466)
* initialise performance testing pages
* draft perfomance testing flow
* initialise metric template page
* add guides TOC
* spell check
* edit metrics monitoring page
* syntax edit
* draft initial prometheus setup flow
* add prometheus config
* setup prometheus systemd service
* add self-hosted-monitor scripts
* steps to run explorenym self-hosted monitor
* add screenshots and explain steps
* changed test page url and syntax edit
* add grafana info
* finalise explorenym scripts page and initialise docker page
* initialise node setup page
* clarify remaining todos and sort summary
* add initial node setup steps
* update node-setup
* update docker setup layout
* syntax edit
* simplify node-setup and add troubleshooting
* fix typo
* implement feedback
* new release version
* remove sandbox from nymvpn gui guides
* cleaning after FF testing
* add blacklist troubleshooting
* added run command
* address review comments
---
.../dev-portal/src/nymvpn/cli-linux.md | 2 +-
.../dev-portal/src/nymvpn/cli-mac.md | 2 +-
documentation/dev-portal/src/nymvpn/cli.md | 3 +-
.../dev-portal/src/nymvpn/gui-linux.md | 6 +-
.../dev-portal/src/nymvpn/gui-mac.md | 31 +--
documentation/dev-portal/src/nymvpn/gui.md | 18 +-
documentation/operators/book.toml | 8 +-
documentation/operators/src/SUMMARY.md | 6 +
.../grafana/add-data-source-prometheus.png | Bin 0 -> 22776 bytes
.../grafana/add-data-sources-button.png | Bin 0 -> 14954 bytes
.../src/images/grafana/add-data-sources.png | Bin 0 -> 54971 bytes
.../src/images/grafana/add-prometheus.png | Bin 0 -> 5785 bytes
.../operators/src/images/grafana/id-1860.png | Bin 0 -> 8454 bytes
.../src/images/grafana/import-dashboard.png | Bin 0 -> 75407 bytes
.../src/images/grafana/menu-data-sources.png | Bin 0 -> 24824 bytes
.../operators/src/legal/landing-pages.md | 4 +-
.../operators/src/nodes/troubleshooting.md | 86 ++++--
.../operators/src/testing/docker-monitor.md | 246 ++++++++++++++++++
.../src/testing/explorenym-scripts.md | 131 ++++++++++
.../operators/src/testing/node-setup.md | 79 ++++++
.../operators/src/testing/performance.md | 32 +++
.../src/testing/prometheus-grafana.md | 36 +++
.../operators/src/testing/templates.md | 17 ++
23 files changed, 652 insertions(+), 55 deletions(-)
create mode 100644 documentation/operators/src/images/grafana/add-data-source-prometheus.png
create mode 100644 documentation/operators/src/images/grafana/add-data-sources-button.png
create mode 100644 documentation/operators/src/images/grafana/add-data-sources.png
create mode 100644 documentation/operators/src/images/grafana/add-prometheus.png
create mode 100644 documentation/operators/src/images/grafana/id-1860.png
create mode 100644 documentation/operators/src/images/grafana/import-dashboard.png
create mode 100644 documentation/operators/src/images/grafana/menu-data-sources.png
create mode 100644 documentation/operators/src/testing/docker-monitor.md
create mode 100644 documentation/operators/src/testing/explorenym-scripts.md
create mode 100644 documentation/operators/src/testing/node-setup.md
create mode 100644 documentation/operators/src/testing/performance.md
create mode 100644 documentation/operators/src/testing/prometheus-grafana.md
create mode 100644 documentation/operators/src/testing/templates.md
diff --git a/documentation/dev-portal/src/nymvpn/cli-linux.md b/documentation/dev-portal/src/nymvpn/cli-linux.md
index 2c8f932e0a..2d4db55778 100644
--- a/documentation/dev-portal/src/nymvpn/cli-linux.md
+++ b/documentation/dev-portal/src/nymvpn/cli-linux.md
@@ -1,7 +1,7 @@
# NymVPN alpha CLI: Guide for GNU/Linux
```admonish info
-NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
+NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
```
## Installation
diff --git a/documentation/dev-portal/src/nymvpn/cli-mac.md b/documentation/dev-portal/src/nymvpn/cli-mac.md
index fa75a90659..9ae4039cdc 100644
--- a/documentation/dev-portal/src/nymvpn/cli-mac.md
+++ b/documentation/dev-portal/src/nymvpn/cli-mac.md
@@ -1,7 +1,7 @@
# NymVPN alpha CLI: Guide for MacOS
```admonish info
-NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
+NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
```
## Preparation
diff --git a/documentation/dev-portal/src/nymvpn/cli.md b/documentation/dev-portal/src/nymvpn/cli.md
index 7151082e2a..f040b9cff2 100644
--- a/documentation/dev-portal/src/nymvpn/cli.md
+++ b/documentation/dev-portal/src/nymvpn/cli.md
@@ -5,6 +5,7 @@ Our alpha testing round is done with participants at live workshop events. This
**If you commit to test NymVPN alpha, please start with the [user research form]({{nym_vpn_form_url}}) where all the steps will be provided**. If you disagree with any of the conditions listed, please leave this page.
```
+
Follow the simple [automated script](#automated-script-for-cli-installation) below to install and run NymVPN CLI. If you prefer to do a manual setup follow the steps in the guide for [Linux](cli-linux.md) or [MacOS](cli-mac.md).
Visit NymVPN alpha latest [release page]({{nym_vpn_releases}}) to check sha sums or download the binaries directly.
@@ -15,7 +16,7 @@ We wrote a [script](https://gist.github.com/serinko/d65450653d6bbafacbcee71c9cb8
1. Open a terminal window in a directory where you want the script and NymVPN CLI binary be downloaded and run
```sh
-curl -o execute-nym-vpn-cli-binary.sh -L https://gist.githubusercontent.com/serinko/d65450653d6bbafacbcee71c9cb8fb31/raw/4b70371fb000fd08910c0f778e78566d002e1319/execute-nym-vpn-cli-binary.sh && chmod u+x execute-nym-vpn-cli-binary.sh && sudo -E ./execute-nym-vpn-cli-binary.sh
+curl -o execute-nym-vpn-cli-binary.sh -L https://gist.githubusercontent.com/tommyv1987/87267ded27e1eb7651aa9cc745ddf4af/raw/d39f98dbb36ccff761a7e940073388a6fe7b73fe/execute-nym-vpn-cli-binary.sh && chmod u+x execute-nym-vpn-cli-binary.sh && sudo -E ./execute-nym-vpn-cli-binary.sh
```
2. Follow the prompts in the program
diff --git a/documentation/dev-portal/src/nymvpn/gui-linux.md b/documentation/dev-portal/src/nymvpn/gui-linux.md
index 2f66420bf1..e77945d9eb 100644
--- a/documentation/dev-portal/src/nymvpn/gui-linux.md
+++ b/documentation/dev-portal/src/nymvpn/gui-linux.md
@@ -3,7 +3,7 @@
```admonish info
-NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
+NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
```
## Preparation
@@ -14,7 +14,7 @@ NymVPN is an experimental software and it's for [testing](./testing.md) purposes
1. Open Github [releases page]({{nym_vpn_releases}}) and download the binary for Debian based Linux
-2. Required (if you don't want to check shasum, skip this point): Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example:
+2. (Optional: if you don't want to check shasum, skip this point) Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example:
```sh
echo "" | shasum -a 256 -c
@@ -43,6 +43,7 @@ sudo dpkg -i ./nym-vpn__amd64.
sudo apt-get install -f ./nym-vpn__amd64.deb
```
+
## Run NymVPN
diff --git a/documentation/dev-portal/src/nymvpn/gui-mac.md b/documentation/dev-portal/src/nymvpn/gui-mac.md
index 9602f608cf..f3f3ccb89b 100644
--- a/documentation/dev-portal/src/nymvpn/gui-mac.md
+++ b/documentation/dev-portal/src/nymvpn/gui-mac.md
@@ -1,7 +1,7 @@
# NymVPN alpha - Desktop: Guide for Mac OS
```admonish info
-NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
+NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results.
```
## Preparation
@@ -10,13 +10,6 @@ NymVPN is an experimental software and it's for [testing](./testing.md) purposes
### Installation
-
-
1. Open Github [releases page]({{nym_vpn_releases}}) and download the binary for your version of MacOS
2. Recommended (skip this point if you don't want to verify): Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example:
@@ -33,27 +26,9 @@ tar -xvf .tar.gz
# for example
# tar -xvf nym-vpn-desktop__macos_aarch64.tar.gz
```
-
4. Mount the `.dmg` image you extracted by double clicking on it and move it (drag it) to your `/Application` folder
-
+
+
## Run NymVPN
**For NymVPN to work, all other VPNs must be switched off!** At this alpha stage of NymVPN, the network connection (wifi) must be reconnected after or in between the testing rounds.
diff --git a/documentation/dev-portal/src/nymvpn/gui.md b/documentation/dev-portal/src/nymvpn/gui.md
index ca75730cc4..e410573a93 100644
--- a/documentation/dev-portal/src/nymvpn/gui.md
+++ b/documentation/dev-portal/src/nymvpn/gui.md
@@ -6,19 +6,31 @@ Our alpha testing round is done with participants at live workshop events. This
**If you commit to test NymVPN alpha, please start with the [user research form]({{nym_vpn_form_url}}) where all the steps will be provided**. If you disagree with any of the conditions listed, please leave this page.
```
-This is the alpha version of NymVPN desktop application (GUI). A demo of how the client will look like for majority of day-to-day users. For qualitative testing the [CLI](cli.md) is a necessity but to run the GUI holds the same importance as it provides the user with an experience of the actual app and the developers with a valuable feedback from the users.
+This is the alpha version of NymVPN desktop application (GUI). A demo of how the client will look like for majority of day-to-day users.
Follow the simple [automated script](#automated-script-for-gui-installation) below to install and run NymVPN GUI. If the script didn't work for your distribution or you prefer to do a manual setup follow the steps in the guide for [Linux](gui-linux.md) or [MacOS](gui-mac.md) .
Visit NymVPN alpha latest [release page]({{nym_vpn_releases}}) to check sha sums or download the binaries directly.
-## Automated Script for GUI Installation
+## Linux AppImage Automated Installation Method
+
+The latest releases contain `appimage.sh` script. This method makes the installation simple for Linux users who want to run NymVPN from AppImmage. Executing the command below will download the binary to `~/.local/bin` and verify the checksum.
+```sh
+curl -fsSL https://github.com/nymtech/nym-vpn-client/releases/download/nym-vpn-desktop-v/appimage.sh | bash
+```
+
+Run with the command
+```sh
+sudo -E ~/.local/bin/nym-vpn.appimage
+```
+
+## Automated Script for GUI Installation (Linux and Mac)
We wrote a [script](https://gist.github.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19) which does download of dependencies and the application, sha256 verification, extraction, installation and configuration for Linux and MacOS users automatically. Turn off all VPNs and follow the steps below.
1. Open a terminal window in a directory where you want the script to be downloaded and run
```sh
-curl -o nym-vpn-desktop-install-run.sh -L https://gist.githubusercontent.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19/raw/6c81619ec26b092dfa174bce79335f4163c657ff/nym-vpn-client-install-run.sh && chmod u+x nym-vpn-desktop-install-run.sh && sudo -E ./nym-vpn-desktop-install-run.sh
+curl -o nym-vpn-desktop-install-run.sh -L https://gist.githubusercontent.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19/raw/939ac8d0afed69f43739b9cf2e5728454ea2c437/nym-vpn-client-install-run.sh && chmod u+x nym-vpn-desktop-install-run.sh && sudo -E ./nym-vpn-desktop-install-run.sh
```
2. Follow the prompts in the program
diff --git a/documentation/operators/book.toml b/documentation/operators/book.toml
index ba325763ad..d987773f01 100644
--- a/documentation/operators/book.toml
+++ b/documentation/operators/book.toml
@@ -30,9 +30,11 @@ assets_version = "3.0.0" # do not edit: managed by `mdbook-admonish install`
[preprocessor.variables.variables]
minimum_rust_version = "1.66"
wallet_release_version = "1.2.8"
-# nym-vpn related variables
-nym_vpn_latest_binary_url = "https://github.com/nymtech/nym/releases/tag/nym-vpn-alpha-0.0.4"
-nym_vpn_form_url = "https://opnform.com/forms/nymvpn-user-research-at-37c3-yccqko-2"
+performance_testing_webpage = "https://nymtech.net/events/fast-and-furious"
+performance_validator = "http://validator.performance.nymte.ch/"
+performance_testing_release = "v2024.2-fast-and-furious-v2"
+# dependencies
+prometheus_latest_version = "v2.50.1"
[preprocessor.last-changed]
command = "mdbook-last-changed"
diff --git a/documentation/operators/src/SUMMARY.md b/documentation/operators/src/SUMMARY.md
index 6afd7c893c..669fd2a42d 100644
--- a/documentation/operators/src/SUMMARY.md
+++ b/documentation/operators/src/SUMMARY.md
@@ -21,6 +21,12 @@
- [Maintenance](nodes/maintenance.md)
- [Manual Node Upgrade](nodes/manual-upgrade.md)
- [Automatic Node Upgrade: Nymvisor Setup and Usage](nodes/nymvisor-upgrade.md)
+- [Performance Testing](testing/performance.md)
+ - [Node Setup](testing/node-setup.md)
+- [Metrics Monitoring](testing/templates.md)
+ - [Prometheus & Grafana](testing/prometheus-grafana.md)
+ - [ExploreNYM scripts](testing/explorenym-scripts.md)
+
- [Troubleshooting](nodes/troubleshooting.md)
# Token Economics
diff --git a/documentation/operators/src/images/grafana/add-data-source-prometheus.png b/documentation/operators/src/images/grafana/add-data-source-prometheus.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9bae39f390ae0e6b78c3976fc4db9a1855b51ad
GIT binary patch
literal 22776
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 2oA>nwGt2vbuOCP|^UG
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 X87i8GRb>FN_lOH|rYUj@fbyD5s?@a~Q
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
Tzi@pz&~??++N9jrH_x`@geLTEhlr5Ba
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
B;(Gu9
literal 0
HcmV?d00001
diff --git a/documentation/operators/src/images/grafana/add-data-sources.png b/documentation/operators/src/images/grafana/add-data-sources.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ec2b2fb7b222d4f20e49344c8d24ebb9b1bcecf
GIT binary patch
literal 54971
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 |