Skip to content

Commit bc9f4bb

Browse files
committed
fix(telemetry): stop nodes reporting to telemetry.polkadot.io when opted out
1 parent dd76080 commit bc9f4bb

7 files changed

Lines changed: 42 additions & 12 deletions

File tree

‎README.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ version and approximate location.
105105
unless told otherwise; the node appears within a few seconds under the name in
106106
`VALIDATOR_NAME` / `RPC_NAME`.
107107

108-
To opt out, set the variable to empty in the node's `.env` and restart:
108+
To opt out, set the variable to empty in the node's `.env`:
109109

110110
```sh
111111
TELEMETRY_URL=
@@ -117,6 +117,29 @@ To report somewhere else instead, put the whole flag in it:
117117
TELEMETRY_URL=--telemetry-url "wss://telemetry.example/submit/ 0"
118118
```
119119

120+
Either way, **the change needs `up --force-recreate`, not `restart`**:
121+
122+
```sh
123+
docker compose up -d --force-recreate orbinum-rpc-node
124+
```
125+
126+
`restart` restarts the process inside the container that already exists, and a
127+
container's command is fixed when it is created — so the node comes back with
128+
the arguments it had before, and an edited `.env` appears to do nothing.
129+
`docker compose config` is no help here either: it prints what *would* be
130+
applied, not what the running container holds. To see the arguments a live node
131+
actually has:
132+
133+
```sh
134+
docker inspect orbinum-rpc-node --format '{{join .Config.Cmd " "}}'
135+
```
136+
137+
The symptom is confusing, which is why it is worth knowing: the chainspec's
138+
`telemetryEndpoints` still lists `telemetry.polkadot.io`, and `--telemetry-url`
139+
is what overrides it. A container created without that flag therefore reports
140+
to Polkadot's telemetry — so it looks like a node ignoring the setting, rather
141+
than one that never received it.
142+
120143
Three things about that value are load-bearing:
121144

122145
- **The quotes stay.** The node parses `"<url> <level>"` as a single argument;
@@ -132,6 +155,13 @@ Note this reports a node's name, version, block height, peer count and
132155
approximate location. An operator who does not want that published opts out
133156
with the empty value above.
134157

158+
`testnet-spec.json` carries an empty `telemetryEndpoints`, so clearing
159+
`TELEMETRY_URL` really does silence a node. It used to list Parity's endpoint —
160+
inherited from the spec this chain was generated from — which meant opting out
161+
quietly redirected the same data to `telemetry.polkadot.io` instead of stopping
162+
it. The field is metadata read by the client, not part of the genesis state, so
163+
emptying it left the chain's genesis hash untouched.
164+
135165
## Node image
136166

137167
`common/Dockerfile` builds `orbinum-node`. The compose files default to

‎mainnet/rpc/docker-compose.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ services:
77
dns:
88
- 8.8.8.8
99
- 1.1.1.1
10-
# TELEMETRY_URL reports to telemetry.orbinum.network by default. It uses
10+
# TELEMETRY_URL reports to telemetry.orbinum.io by default (the dashboard
11+
# that reads it is telemetry.orbinum.network). It uses
1112
# `${VAR-default}`, NOT `${VAR:-default}`: only the hyphen-alone form
1213
# treats an EMPTY TELEMETRY_URL as "opt out" rather than falling back to
1314
# the default. A comment cannot go inside the `command: >` block below —

‎mainnet/validator/docker-compose.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ services:
66
dns:
77
- 8.8.8.8
88
- 1.1.1.1
9-
# TELEMETRY_URL reports to telemetry.orbinum.network by default. It uses
9+
# TELEMETRY_URL reports to telemetry.orbinum.io by default (the dashboard
10+
# that reads it is telemetry.orbinum.network). It uses
1011
# `${VAR-default}`, NOT `${VAR:-default}`: only the hyphen-alone form
1112
# treats an EMPTY TELEMETRY_URL as "opt out" rather than falling back to
1213
# the default. A comment cannot go inside the `command: >` block below —

‎testnet/chainspec/testnet-spec.json‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,7 @@
66
"/dns/p2p-1.testnet.orbinum.io/tcp/30333/p2p/12D3KooWBzqb1AFLQJd4NooU7q6dSsYBFL85A8RPsJDLesfxHvbW",
77
"/dns/p2p-2.testnet.orbinum.io/tcp/30333/p2p/12D3KooWKiLEh2Z8XZYGejL5ZMR6rwEdZHPTpVDW3nsXfSW8paLt"
88
],
9-
"telemetryEndpoints": [
10-
[
11-
"/dns4/telemetry.polkadot.io/tcp/443/x-parity-wss/%2Fsubmit%2F",
12-
0
13-
]
14-
],
9+
"telemetryEndpoints": [],
1510
"protocolId": "orbinum",
1611
"properties": {
1712
"isEthereum": true,

‎testnet/indexer-rpc/docker-compose.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ services:
2626
dns:
2727
- 8.8.8.8
2828
- 1.1.1.1
29-
# TELEMETRY_URL reports to telemetry.orbinum.network by default. It uses
29+
# TELEMETRY_URL reports to telemetry.orbinum.io by default (the dashboard
30+
# that reads it is telemetry.orbinum.network). It uses
3031
# `${VAR-default}`, NOT `${VAR:-default}`: only the hyphen-alone form
3132
# treats an EMPTY TELEMETRY_URL as "opt out" rather than falling back to
3233
# the default. A comment cannot go inside the `command: >` block below —

‎testnet/rpc/docker-compose.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ services:
77
dns:
88
- 8.8.8.8
99
- 1.1.1.1
10-
# TELEMETRY_URL reports to telemetry.orbinum.network by default. It uses
10+
# TELEMETRY_URL reports to telemetry.orbinum.io by default (the dashboard
11+
# that reads it is telemetry.orbinum.network). It uses
1112
# `${VAR-default}`, NOT `${VAR:-default}`: only the hyphen-alone form
1213
# treats an EMPTY TELEMETRY_URL as "opt out" rather than falling back to
1314
# the default. A comment cannot go inside the `command: >` block below —

‎testnet/validator/docker-compose.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ services:
66
dns:
77
- 8.8.8.8
88
- 1.1.1.1
9-
# TELEMETRY_URL reports to telemetry.orbinum.network by default. It uses
9+
# TELEMETRY_URL reports to telemetry.orbinum.io by default (the dashboard
10+
# that reads it is telemetry.orbinum.network). It uses
1011
# `${VAR-default}`, NOT `${VAR:-default}`: only the hyphen-alone form
1112
# treats an EMPTY TELEMETRY_URL as "opt out" rather than falling back to
1213
# the default. A comment cannot go inside the `command: >` block below —

0 commit comments

Comments
 (0)