Slava cb6f170ffd
chore: update testnet bootstrap records (#6)
* chore: spelling

* chore: update testnet geth enodes records

* chore: set testnet codex spr records from url

* chore: publish updated packges
2025-08-26 19:48:36 +03:00

240 lines
8.5 KiB
YAML

version: "2"
fields:
- id: MODE
target:
type: environment
name: MODE
service: codex-node
title: Codex mode
description: >-
- **`Codex node`** - useful for local testing/development and basic/files sharing.
- **`Codex node with marketplace support`** (`Recommended`) - you can share files and buy the storage, this is the main mode and should be used by the end users.
- **`Codex storage node`** - should be used by storage providers or if you would like to sell your local storage.
enum:
- codex-node
- codex-node-with-marketplace
- codex-storage-node
required: true
- id: NETWORK
target:
type: environment
name: NETWORK
service: [codex-node, geth]
title: Codex network
description: >-
- **`Testnet`** - Codex Testnet network. Check the [docs](https://docs.codex.storage/networks/networks) for available networks.
enum:
- testnet
required: true
- id: ETH_PRIVATE_KEY
target:
type: environment
name: ETH_PRIVATE_KEY
service: codex-node
title: ETH_PRIVATE_KEY
description: >-
Ethereum private key which will be saved to a file which will be passed as a value for `CODEX_ETH_PRIVATE_KEY` variable.
secret: true
pattern: "^0x[a-fA-F0-9]{64}$"
patternErrorMessage: Must be a valid private key (0x1fd16a...)
required: true
if: { "MODE": { "enum": ["codex-node-with-marketplace", "codex-storage-node"] } }
- id: CODEX_ETH_PROVIDER
target:
type: environment
name: CODEX_ETH_PROVIDER
service: codex-node
title: CODEX_ETH_PROVIDER
description: >-
The URL of the JSON-RPC API of the Ethereum node - use [Public RPC endpoint](https://docs.codex.storage/networks/networks) or local Geth node RPC.
pattern: >-
^(http(s|)\:\/\/|)((([a-zA-Z0-9-_]{1,}\.){1,})([a-zA-Z]{1}[a-zA-Z0-9-]{1,}))(:[0-9]{1,}|)(\/[a-zA-Z0-9_~#?\+\&\.\/-=%-]{1,}|)$
patternErrorMessage: Must be a valid URL
required: true
if: { "MODE": { "enum": ["codex-node-with-marketplace", "codex-storage-node"] } }
# We can't make 'required' conditional and need to define save variable two times
- id: CODEX_MARKETPLACE_ADDRESS-node-with-marketplace-support
target:
type: environment
name: CODEX_MARKETPLACE_ADDRESS
service: codex-node
title: CODEX_MARKETPLACE_ADDRESS
description: >-
Address of deployed Marketplace contract.
We should set this variable **only if we would like to override auto-detected address**. Check the address for the network you are using in the [docs](https://docs.codex.storage/networks/networks).
pattern: "^0x[a-fA-F0-9]{40}$"
patternErrorMessage: Must be a valid Ethereum address
required: false
if: { "MODE": { "enum": ["codex-node-with-marketplace"] } }
- id: CODEX_MARKETPLACE_ADDRESS-storage-node
target:
type: environment
name: CODEX_MARKETPLACE_ADDRESS
service: codex-node
title: CODEX_MARKETPLACE_ADDRESS
description: >-
Address of deployed Marketplace contract.
We should set this variable because we are running in **Codex `storage node`** mode. Check the address for the network you are using in the [docs](https://docs.codex.storage/networks/networks).
pattern: "^0x[a-fA-F0-9]{40}$"
patternErrorMessage: Must be a valid Ethereum address
required: true
if: { "MODE": { "enum": ["codex-storage-node"] } }
- id: IP_MODE
target:
type: environment
name: IP_MODE
service: codex-node
title: IP detection mode
description: >-
Set your Public IP address manually or use autodetection.
enum:
- auto
- manual
required: true
- id: CODEX_NAT
target:
type: environment
name: CODEX_NAT
service: codex-node
title: CODEX_NAT
description: >-
Specify method to use for determining public address. Must be one of: `any`, `none`, `upnp`, `pmp`, `extip:<IP>`, default = `any`. Check the [docs](https://docs.codex.storage/learn/run#nat-configuration) for more details.
pattern: "^(any|none|upnp|pmp|extip:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0))$"
patternErrorMessage: Must be a valid IP address
required: true
if: { "IP_MODE": { "enum": ["manual"] } }
- id: NAT_PUBLIC_IP_AUTO
target:
type: environment
name: NAT_PUBLIC_IP_AUTO
service: codex-node
title: NAT_PUBLIC_IP_AUTO
description: >-
IP Lookup Service URL to be used to Public IP address autodetect, default = [`https://ip.codex.storage`](https://ip.codex.storage).
pattern: >-
^(http(s|)\:\/\/|)((([a-zA-Z0-9-_]{1,}\.){1,})([a-zA-Z]{1}[a-zA-Z0-9-]{1,}))(:[0-9]{1,}|)(\/[a-zA-Z0-9_~#?\+\&\.\/-=%-]{1,}|)$
patternErrorMessage: Must be a valid URL
required: true
if: { "IP_MODE": { "enum": ["auto"] } }
# - id: CODEX_METRICS
# target:
# type: environment
# name: CODEX_METRICS
# service: codex-node
# title: CODEX_METRICS
# description: >-
# Enable the metrics server, default = `false`.
# enum:
# - "true"
# - "false"
# required: false
- id: CODEX_STORAGE_QUOTA
target:
type: environment
name: CODEX_STORAGE_QUOTA
service: codex-node
title: CODEX_STORAGE_QUOTA
description: >-
The size of the total storage quota dedicated to the node, default = `8gb`. Accept common units like kb, mb, gb, tb.
pattern: "^[0-9A-Za-z]+$"
patternErrorMessage: Must be a valid storage quota value - number with an optional unit
required: true
- id: CODEX_BLOCK_TTL
target:
type: environment
name: CODEX_BLOCK_TTL
service: codex-node
title: CODEX_BLOCK_TTL
description: >-
Default block timeout in seconds - 0 disables the ttl, default `24h`. Accept common units like s, h, d, w.
pattern: "^[0-9A-Za-z]+$"
patternErrorMessage: Must be a valid block timeout - number with an optional unit
required: true
- id: CODEX_LOG_LEVEL
target:
type: environment
name: CODEX_LOG_LEVEL
service: codex-node
title: CODEX_LOG_LEVEL
description: >-
Sets the log level, default = `info`. Available options: `info`, `warn`, `error`, `debug`, `trace`. Check the [docs](https://docs.codex.storage/learn/run#logging) for more details.
pattern: "^[A-Za-z-,;:]+$"
patternErrorMessage: Must be a valid log level
required: true
- id: CODEX_API_PORT
target:
type: environment
name: CODEX_API_PORT
service: codex-node
title: CODEX_API_PORT
description: >-
The REST API port, default = `8080`.
pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0][0-9]{1,4})|([0-9]{1,4}))$"
patternErrorMessage: Must be a valid port number
required: false
- id: CODEX_DISC_PORT
target:
type: environment
name: CODEX_DISC_PORT
service: codex-node
title: CODEX_DISC_PORT
description: >-
Discovery (UDP) port, default = `8090`.
pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0][0-9]{1,4})|([0-9]{1,4}))$"
patternErrorMessage: Must be a valid port number
required: false
- id: EXTRA_OPTS
target:
type: environment
name: EXTRA_OPTS
service: codex-node
title: EXTRA_OPTS
description: >-
Extra options to pass to the Codex node. Check the [docs](https://docs.codex.storage/learn/run#cli-options) for more details.
pattern: "^.*$"
patternErrorMessage: Must be a valid string
required: false
- id: portMapping_CODEX_LISTEN_ADDRS
target:
type: portMapping
containerPort: 8070/TCP
service: codex-node
title: Port mapping for Codex Node - CODEX_LISTEN_ADDRS
description: >-
Transport (TCP) port, default = `8070`.
pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0][0-9]{1,4})|([0-9]{1,4}))$"
patternErrorMessage: Must be a valid port number
required: true
- id: portMapping_CODEX_DISC_PORT
target:
type: portMapping
containerPort: 8090/UDP
service: codex-node
title: Port mapping for Codex Node - CODEX_DISC_PORT
description: >-
Discovery (UDP) port, default = `8090`.
pattern: "^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0][0-9]{1,4})|([0-9]{1,4}))$"
patternErrorMessage: Must be a valid port number
required: true