Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add archive configuration to validator config template #4938

Merged
merged 9 commits into from
Jan 31, 2025
16 changes: 16 additions & 0 deletions docker/fullnode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,22 @@ The genesis blob defines the IOTA network configuration. Before starting the Ful
- [Devnet migration blob](https://dbfiles.devnet.iota.cafe/migration.blob):
`curl -fLJO https://dbfiles.devnet.iota.cafe/migration.blob`

### Set Up Archival Fallback

This allows nodes that fall behind to catch up by downloading archive data rather than relying on synchronization. For more details about archives, see [IOTA Archives](https://docs.iota.org/operator/archives).

```yaml
state-archive-read-config:
- object-store-config:
object-store: "S3"
aws-endpoint: "https://archive.<devnet|testnet|mainnet>.iota.cafe"
aws-virtual-hosted-style-request: true
object-store-connection-limit: 20
no-sign-request: true
concurrency: 5
use-for-pruning-watermark: false
```

## Start Your IOTA Full Node

Run the following command to start the IOTA Full Node in Docker:
Expand Down
14 changes: 7 additions & 7 deletions docs/content/operator/archives.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ To enable your node to fallback to an archive in case of lag, add this to your f
state-archive-read-config:
- object-store-config:
object-store: "S3"
# Use iota-testnet-archives for testnet
# Use iota-mainnet-archives for mainnet
bucket: "iota-<testnet|mainnet>-archives"
# Use iota-testnet-archive for testnet
# Use iota-mainnet-archive for mainnet
bucket: "iota-<testnet|mainnet>-archive"
# Use your AWS account access key id
aws-access-key-id: "<AWS-ACCESS-KEY-ID>"
# Use your AWS account secret access key
Expand All @@ -75,9 +75,9 @@ state-archive-read-config:
state-archive-read-config:
- object-store-config:
object-store: "GCS"
# Use iota-mainnet-archives for mainnet
# Use iota-mainnet-archive for mainnet
# Notice there is no archive bucket setup for testnet in GCS
bucket: "iota-<testnet|mainnet>-archives"
bucket: "iota-<testnet|mainnet>-archive"
# Use your gcloud service account credentials
google-service-account: "</path/to/service/account/credentials>"
object-store-connection-limit: 20
Expand All @@ -104,8 +104,8 @@ Even though these buckets are publicly readable, you need to make sure to proper
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::iota-mainnet-archives/*",
"arn:aws:s3:::iota-mainnet-archives"
"arn:aws:s3:::iota-mainnet-archive/*",
"arn:aws:s3:::iota-mainnet-archive"
]
}
]
Expand Down
20 changes: 19 additions & 1 deletion docs/content/operator/iota-full-node/source.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,23 @@ cp crates/iota-config/data/fullnode-template.yaml fullnode.yaml

</Tabs>

5. (Optional, skip this step to accept the default paths to resources). Edit the `fullnode.yaml` file to use custom paths.
5. Set Up Archival Fallback

This allows nodes that fall behind to catch up by downloading archive data rather than relying on synchronization. For more details about archives, see [IOTA Archives](https://docs.iota.org/operator/archives).

```yaml
state-archive-read-config:
- object-store-config:
object-store: "S3"
aws-endpoint: "https://archive.<devnet|testnet|mainnet>.iota.cafe"
aws-virtual-hosted-style-request: true
object-store-connection-limit: 20
no-sign-request: true
concurrency: 5
use-for-pruning-watermark: false
```

6. (Optional, skip this step to accept the default paths to resources). Edit the `fullnode.yaml` file to use custom paths.
1. Update the `db-path` field with the path to the full node database.
```yaml
db-path: "/db-files/iota-fullnode"`
Expand All @@ -129,6 +145,8 @@ cp crates/iota-config/data/fullnode-template.yaml fullnode.yaml
migration-tx-data-path: "/opt/iota/config/migration.blob"
```



## 3. Compile the Node

Run the following command to compile the `iota-node`.
Expand Down
14 changes: 12 additions & 2 deletions nre/config/validator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ protocol-key-pair:
path: /opt/iota/key-pairs/protocol.key
network-key-pair:
path: /opt/iota/key-pairs/network.key
account-key-pair:
path: /opt/iota/key-pairs/account.key
db-path: /opt/iota/db/authorities_db
network-address: /ip4/0.0.0.0/tcp/8080/http
metrics-address: 0.0.0.0:9184
Expand Down Expand Up @@ -35,5 +37,13 @@ db-checkpoint-config:
indirect-objects-threshold: 18446744073709551615
metrics:
push-interval-seconds: 60
# push-url: https://metrics-proxy.testnet.iota.cafe:8443/publish/metrics
# push-url: https://metrics-proxy.mainnet.iota.cafe:8443/publish/metrics
push-url: https://metrics-proxy.<testnet|mainnet>.iota.cafe:8443/publish/metrics # UPDATE THIS
state-archive-read-config:
- object-store-config:
object-store: "S3"
aws-endpoint: "https://archive.<testnet|mainnet>.iota.cafe" # UPDATE THIS
aws-virtual-hosted-style-request: true
object-store-connection-limit: 20
no-sign-request: true
concurrency: 5
use-for-pruning-watermark: false
Loading