From 43a3c22a076abe851c4ffe848ca74171df29518e Mon Sep 17 00:00:00 2001 From: Mayank Pandey Date: Tue, 25 Feb 2025 20:46:51 +0000 Subject: [PATCH] GITBOOK-43: deprecate boost adapter --- documentation/en/best-practices.md | 7 +++- .../en/configuration/alert-manager.md | 23 +++++++++++ documentation/en/curio-service.md | 7 +++- documentation/en/getting-started.md | 4 +- documentation/en/installation.md | 4 +- documentation/en/setup.md | 39 ++++++++++++------- documentation/en/snap-deals.md | 6 ++- documentation/en/storage-configuration.md | 18 ++++++++- 8 files changed, 86 insertions(+), 22 deletions(-) diff --git a/documentation/en/best-practices.md b/documentation/en/best-practices.md index 2243e794a..57f5a921c 100644 --- a/documentation/en/best-practices.md +++ b/documentation/en/best-practices.md @@ -10,5 +10,8 @@ description: Curio best practices 4. Multiple workers should be started with `--post` layer to allow fast wdPost and winPost turn around time. 5. We recommend running 1 GUI layer enabled node. A cluster wide GUI can be access via this node without putting any additional strain of read operations on the DB. 6. The unsealed and sealed copies should not be stored in the same storage location. Curio will allow automatic regeneration of sealed and unsealed in future if one is lost. -7. It is recommended to create a distinct layer for each market adapter (Deprecated), corresponding to each minerID. This configuration enables precise control, allowing for the assignment of specific minerIDs to either the Snap Deals pipeline or the PoRep pipeline. -8. It is advised to run the market adapter (Deprecated) on the same node that will execute the TreeD task for the PoRep pipeline or the Encode task for the Snap Deals pipeline. +7. The **`DoSnap`** configuration should be set at the **base layer** to ensure that each node has the correct deal handling. This ensures consistency across all nodes and prevents misconfiguration. +8. Market requires a domain name in Curio. A domain name should be prepared before configuring the market. +9. Users utilizing a **reverse proxy** for delegated TLS configuration should enable the **market** service on multiple nodes to ensure **high availability** for the HTTP server. Additionally, **libp2p** should be enabled on multiple nodes to maintain **high availability** for peer-to-peer communications. +10. It is recommended to create a distinct layer for each market adapter (Deprecated), corresponding to each minerID. This configuration enables precise control, allowing for the assignment of specific minerIDs to either the Snap Deals pipeline or the PoRep pipeline. +11. It is advised to run the market adapter (Deprecated) on the same node that will execute the TreeD task for the PoRep pipeline or the Encode task for the Snap Deals pipeline. diff --git a/documentation/en/configuration/alert-manager.md b/documentation/en/configuration/alert-manager.md index 23f27352f..f67ddb7de 100644 --- a/documentation/en/configuration/alert-manager.md +++ b/documentation/en/configuration/alert-manager.md @@ -81,3 +81,26 @@ Nobody associated with the development of this software has any business relatio # type: string AlertManagerURL = "http://localhost:9093/api/v2/alerts" ``` + +### Slack Webhook Integration + +This setup ensures that alerts generated by Curio can be forwarded to a designated Slack channel for real-time notifications. + +1. Set up a Slack Webhook integration for alert notifications. +2. Enable the plugin by setting `Enable` to `true`, and provide the **WebHookURL** in the configuration. This URL should point to the Slack Webhook endpoint where alerts will be sent. +3. Once configured, restart the node to apply the updated configuration. + +``` + [Alerting.SlackWebhook] + # Enable is a flag to enable or disable the Prometheus AlertManager integration. + # + # type: bool + #Enable = false + + # WebHookURL is the URL for the URL for slack Webhook. + # Example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + # + # type: string + #WebHookURL = "" + +``` diff --git a/documentation/en/curio-service.md b/documentation/en/curio-service.md index 43748911d..dfff05a42 100644 --- a/documentation/en/curio-service.md +++ b/documentation/en/curio-service.md @@ -51,7 +51,12 @@ CURIO_NODE_NAME=ChangeMe FIL_PROOFS_USE_MULTICORE_SDR=1 ``` -Ensure all variables are correctly set according to your environment. +Ensure all variables are correctly set according to your environment. Additionally you can also export the following variable for cache location. + +```sh +FIL_PROOFS_PARAMETER_CACHE=/path/to/folder/in/fast/disk +FIL_PROOFS_PARENT_CACHE=/path/to/folder/in/fast/disk2 +``` ## Starting the Curio Service diff --git a/documentation/en/getting-started.md b/documentation/en/getting-started.md index 99a7812e8..14e800b2b 100644 --- a/documentation/en/getting-started.md +++ b/documentation/en/getting-started.md @@ -47,9 +47,9 @@ Following port must be opened on each Curio node for API and GUI access | 4701 | Default GUI port. Not all Curio nodes are required to enable GUI | | 32100 | Market Port. This port is determined by the user when enabling Boost access in configuration. | -## Boost Compatibility +## Boost Compatibility (Deprecated) -Boost is fully compatible with Curio and can be used for making deals and retrieving the data same as `lotus-miner`. The version compatibility guide can be found in [Boost documentation](https://boost.filecoin.io/getting-started#boost-and-lotus-compatibility-matrix). +Boost is no longer compatible with latest Curio releases. Boost adapter is no longer shipped with our main branch and we recommend users to migrate to Curio markets. ## Installing Curio and creating a Curio cluster diff --git a/documentation/en/installation.md b/documentation/en/installation.md index 8c8059197..9915d37c0 100644 --- a/documentation/en/installation.md +++ b/documentation/en/installation.md @@ -15,7 +15,7 @@ Debain packages are only available for mainnet right now. For any other network 1. Install prerequisites\\ ```shell - sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git bzr jq pkg-config curl clang build-essential hwloc libhwloc-dev wget libarchive-dev -y && sudo apt upgrade -y + sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git jq pkg-config curl clang build-essential hwloc libhwloc-dev wget libarchive-dev -y && sudo apt upgrade -y ``` 2. Enable Curio package repo\\ @@ -238,7 +238,7 @@ We recommend that macOS users use [Homebrew](https://brew.sh/) to install each o Use the command `brew install` to install the following packages: ```shell -brew install go bzr jq pkg-config hwloc coreutils +brew install go jq pkg-config hwloc coreutils ``` Next up is cloning the Lotus repository and building the executables. diff --git a/documentation/en/setup.md b/documentation/en/setup.md index f63b4bf3f..0bbdaf658 100644 --- a/documentation/en/setup.md +++ b/documentation/en/setup.md @@ -81,6 +81,20 @@ curio guided-setup Once the migration is complete, you can shut down all of your workers and miner processes. You can start `curio` process to replace them with correct [configuration layer](configuration/#configuration-layers). +If you entered non-default in step 3 then please export the relevant details in your `~/.bashrc` file as Curio command needs access to the Database. This step is different from the \ + + +| Env Variable | UseCase | +| ------------------- | ------------------------- | +| CURIO\_DB\_HOST | YugabyteDB SQL IP | +| CURIO\_DB\_NAME | YugabyteDB Name | +| CURIO\_DB\_USER | DB user for connection | +| CURIO\_DB\_PASSWORD | User’s password | +| CURIO\_DB\_PORT | YugabyteDB’s SQL port | +| CURIO\_REPO\_PATH | Curio’s default repo path | + +Please proceed to [curio service configuration](curio-service.md) for the first node. Once you have completed the service and storage configuration, you can come back to this page and proceed with testing the setup. + ### Testing the setup You can confirm that the `curio` process is able to schedule and compute WindowPoSt by running a WindowPoSt test computation: @@ -91,8 +105,6 @@ curio test window-post task From the output we can confirm that a WindowPoSt gets inserted to the database, and is being picked up by the Curio process running with the _wdpost_ configuration layer. -Once the test is successful, please proceed to [curio service configuration](curio-service.md). - ## Initiating a new Curio cluster To create a new Curio cluster, a [Lotus daemon node](https://bafybeib7hujkpoqohpby6dqabdea2t6ehcysics3ejoh4jrgtuke4rmolu.on.fleek.co/lotus/install/prerequisites/) is required. @@ -215,21 +227,22 @@ Curio provides a utility for users to onboard quickly. Please run the below comm Try the web interface with curio run --layers=gui for further guided improvements. ``` -8. If you entered non-default in step 3 then please export the relevant details before running the Curio command.\ + + 1. If you entered non-default in step 3 then please export the relevant details via your `~/.bashrc` file before running the Curio command.\ - | Env Variable | UseCase | - | ------------------- | ------------------------- | - | CURIO\_DB\_HOST | YugabyteDB SQL IP | - | CURIO\_DB\_NAME | YugabyteDB Name | - | CURIO\_DB\_USER | DB user for connection | - | CURIO\_DB\_PASSWORD | User’s password | - | CURIO\_DB\_PORT | YugabyteDB’s SQL port | - | CURIO\_REPO\_PATH | Curio’s default repo path | -9. Try running Curio with only `GUI` first.\ + | Env Variable | UseCase | + | ------------------- | ------------------------- | + | CURIO\_DB\_HOST | YugabyteDB SQL IP | + | CURIO\_DB\_NAME | YugabyteDB Name | + | CURIO\_DB\_USER | DB user for connection | + | CURIO\_DB\_PASSWORD | User’s password | + | CURIO\_DB\_PORT | YugabyteDB’s SQL port | + | CURIO\_REPO\_PATH | Curio’s default repo path | +8. Try running Curio with only `GUI` first.\ ```shell curio run --layers gui ``` -10. If the `curio` process starts successfully, please proceed with GUI and verify that you can access all the pages. Once, verified, please proceed to [curio service configuration](curio-service.md). +9. If the `curio` process starts successfully, please proceed with GUI and verify that you can access all the pages. Once, verified, please proceed to [curio service configuration](curio-service.md). diff --git a/documentation/en/snap-deals.md b/documentation/en/snap-deals.md index 9181af042..f6f617374 100644 --- a/documentation/en/snap-deals.md +++ b/documentation/en/snap-deals.md @@ -38,7 +38,7 @@ When switching between Snap and PoRep deal pipeline, you must ensure that no sec #### Curio Market -1. Enable snap deals on base layer +1. Enable snap deals on base layer. Enabling it on base layer is very important so that no node in the cluster accidentally forwards deal to PoRep pipeline. 2. Save the layer and exit. [Enable snap tasks](snap-deals.md#enable-snap-tasks) and restart all the nodes. ``` @@ -48,6 +48,10 @@ When switching between Snap and PoRep deal pipeline, you must ensure that no sec #### Boost Adapter (Deprecated) +{% hint style="warning" %} +Boost adapter is no longer supported with new Curio releases. +{% endhint %} + 1. Create or update the market layer ([if one is already created](enabling-market.md#enable-market-adapter-in-curio)) for the minerID where you wish to use snap deals pipeline.\ diff --git a/documentation/en/storage-configuration.md b/documentation/en/storage-configuration.md index f9ef93217..397fc1871 100644 --- a/documentation/en/storage-configuration.md +++ b/documentation/en/storage-configuration.md @@ -15,14 +15,26 @@ Upon initialization of a storage location, a `/sectorstorage.js Before adding your sealing storage location you will need to consider where the sealing tasks are going to be performed. This command must be run locally from the Curio node where you want to attach the storage. ```sh +curio cli storage attach --init --seal + +OR + curio cli --machine storage attach --init --seal ``` +{% hint style="info" %} +The `--machine` flag accepts an `` input, specifying the machine on which the command should be executed. The **IP** refers to the address of the machine where the Curio process is running, and the **Port** indicates the port on which the Curio process is listening. By default, Curio operates on **port 12300**. This flag enables Curio commands to be executed on remote nodes, facilitating centralized administration from a single node. +{% endhint %} + ## Adding long-term storage location **Custom location for storing:** After the _sealing_ process is completed, sealed sectors are moved to the _store_ location, which can be specified as follows: ```sh +curio cli storage attach --init --store + +OR + curio cli --machine storage attach --init --store ``` @@ -32,7 +44,11 @@ This command must be run locally from the Curio node where you want to attach th The storage location used by `lotus-miner` or `lotus-worker` can be reused by the Curio cluster. It can be attached once the migrated `lotus-miner` or `lotus-worker` is already running a Curio service. -``` +```sh +curio cli storage attach + +OR + curio cli --machine storage attach ```