Skip to content

Watchers should include it's version in requests towards ChildChain block.get #1710

@InoMurko

Description

@InoMurko

So that we have some information about clients in the network and how our releases are used, we should include the release version (version-SHA) as a HTTP header sent to the childchain.

Specs

Childchain

Feature: Process `X-Watcher-Version` HTTP header
  The `X-Watcher-Version` enables the operator to understand what clients are making the requests
  and is used to develop maintenance strategy e.g. versioning and upgrade path.

Rule: A request is processed if it contains `X-Watcher-Version` HTTP header

Scenario: Alice sends a `X-Watcher-Version` header with a valid watcher version
Scenario: Alice sends a `X-Watcher-Version` header with an arbitrary value
Scenario: Alice sends a request without the `X-Watcher-Version` header

# We cannot enable this rule yet since most running watchers would not have implemented this yet.
@wip
Rule: A request is rejected if it does not contain `X-Watcher-Version` HTTP header

Scenario: Alice sends a `X-Watcher-Version` header with an arbitrary value
Scenario: Alice sends a request without the `X-Watcher-Version` header

Rule: Each `X-Watcher-Version` value is counted and submitted as a metric to Datadog

Scenario: Alice sends a `X-Watcher-Version` header with a valid watcher version
Scenario: Alice sends a `X-Watcher-Version` header with a different watcher version
Scenario: Alice sends a `X-Watcher-Version` header with an arbitrary value
Scenario: Alice sends a request without the `X-Watcher-Version` header

Watcher

Feature: Submit `X-Watcher-Version` HTTP header with all requests to the childchain
  The `X-Watcher-Version` enables the operator to understand what clients are making the requests
  and is used to develop maintenance strategy e.g. versioning and upgrade path.

Rule: Each childchain request sent must contain the `X-Watcher-Version` with the value being the watcher version

Scenario: Alice sends a request to the childchain
Scenario: Alice sends a request to a rootchain node

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions