Skip to content

Commit

Permalink
cleanup: port replica-healthcheck to chain-mon
Browse files Browse the repository at this point in the history
This ports the `replica-healthcheck` service to the `chain-mon`
package. The idea is that all of the simple typescript services
that monitor the chain should live in the same package. This was
the final package that was not following this standard. This way
it will be easier to run the various monitoring services since
they will all be the same docker image, given different entrypoints.
It will also be easier to isolate and update the deps.
  • Loading branch information
tynes committed Jul 26, 2023
1 parent 90111ed commit 3d0178e
Show file tree
Hide file tree
Showing 20 changed files with 20 additions and 553 deletions.
8 changes: 0 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ jobs:
- "packages/common-ts/node_modules"
- "packages/contracts-bedrock/node_modules"
- "packages/core-utils/node_modules"
- "packages/replica-healthcheck/node_modules"
- "packages/sdk/node_modules"
- "packages/contracts-ts/node_modules"
- run:
Expand Down Expand Up @@ -1298,13 +1297,6 @@ workflows:
dependencies: "(common-ts|contracts-bedrock|core-utils)"
requires:
- pnpm-monorepo
- js-lint-test:
name: replica-healthcheck-tests
coverage_flag: replica-healthcheck-tests
package_name: replica-healthcheck
dependencies: "(common-ts|core-utils)"
requires:
- pnpm-monorepo
- js-lint-test:
name: sdk-tests
coverage_flag: sdk-tests
Expand Down
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
/packages/common-ts @ethereum-optimism/typescript-reviewers
/packages/contracts-bedrock @ethereum-optimism/contract-reviewers
/packages/core-utils @ethereum-optimism/legacy-reviewers
/packages/replica-healthcheck @ethereum-optimism/legacy-reviewers
/packages/sdk @ethereum-optimism/devxpod

# Bedrock codebases
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release-docker-canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
balance-mon: ${{ steps.packages.outputs.balance-mon }}
drippie-mon: ${{ steps.packages.outputs.drippie-mon }}
wd-mon: ${{ steps.packages.outputs.wd-mon }}
replica-healthcheck: ${{ steps.packages.outputs.replica-healthcheck }}
replica-mon: ${{ steps.packages.outputs.replica-mon }}
canary-docker-tag: ${{ steps.docker-image-name.outputs.canary-docker-tag }}
op-exporter: ${{ steps.packages.outputs.op-exporter }}
endpoint-monitor: ${{ steps.packages.outputs.endpoint-monitor }}
Expand Down Expand Up @@ -151,10 +151,10 @@ jobs:
push: true
tags: ethereumoptimism/wd-mon:${{ needs.canary-publish.outputs.canary-docker-tag }}

replica-healthcheck:
name: Publish Replica Healthcheck Version ${{ needs.canary-publish.outputs.canary-docker-tag }}
replica-mon:
name: Publish replica-mon Version ${{ needs.canary-publish.outputs.canary-docker-tag }}
needs: canary-publish
if: needs.canary-publish.outputs.replica-healthcheck != ''
if: needs.canary-publish.outputs.replica-mon != ''
runs-on: ubuntu-latest

steps:
Expand All @@ -174,9 +174,9 @@ jobs:
with:
context: .
file: ./ops/docker/Dockerfile.packages
target: replica-healthcheck
target: replica-mon
push: true
tags: ethereumoptimism/replica-healthcheck:${{ needs.canary-publish.outputs.canary-docker-tag }}
tags: ethereumoptimism/replica-mon:${{ needs.canary-publish.outputs.canary-docker-tag }}

op-exporter:
name: Publish op-exporter Version ${{ needs.canary-publish.outputs.canary-docker-tag }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
balance-mon: ${{ steps.packages.outputs.drippie-mon }}
drippie-mon: ${{ steps.packages.outputs.drippie-mon }}
wd-mon: ${{ steps.packages.outputs.wd-mon }}
replica-healthcheck: ${{ steps.packages.outputs.replica-healthcheck }}
replica-mon: ${{ steps.packages.outputs.replica-mon }}
op-exporter: ${{ steps.packages.outputs.op-exporter }}
endpoint-monitor: ${{ steps.packages.outputs.endpoint-monitor }}
# Permissions necessary for Changesets to push a new branch and open PRs
Expand Down Expand Up @@ -213,10 +213,10 @@ jobs:
push: true
tags: ethereumoptimism/drippie-mon:${{ needs.release.outputs.drippie-mon }},ethereumoptimism/drippie-mon:latest

replica-healthcheck:
name: Publish Replica Healthcheck Version ${{ needs.release.outputs.replica-healthcheck }}
replica-mon:
name: Publish Replica Healthcheck Version ${{ needs.release.outputs.replica-mon }}
needs: release
if: needs.release.outputs.replica-healthcheck != ''
if: needs.release.outputs.replica-mon != ''
runs-on: ubuntu-latest

steps:
Expand All @@ -236,9 +236,9 @@ jobs:
with:
context: .
file: ./ops/docker/Dockerfile.packages
target: replica-healthcheck
target: replica-mon
push: true
tags: ethereumoptimism/replica-healthcheck:${{ needs.release.outputs.replica-healthcheck }},ethereumoptimism/replica-healthcheck:latest
tags: ethereumoptimism/replica-mon:${{ needs.release.outputs.replica-mon }},ethereumoptimism/replica-mon:latest

endpoint-monitor:
name: Publish endpoint-monitor Version ${{ needs.release.outputs.endpoint-monitor}}
Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ Refer to the Directory Structure section below to understand which packages are
│ ├── <a href="./packages/contracts-bedrock">contracts-bedrock</a>: Bedrock smart contracts.
│ ├── <a href="./packages/core-utils">core-utils</a>: Low-level utilities that make building Optimism easier
│ ├── <a href="./packages/chain-mon">chain-mon</a>: Chain monitoring services
│ ├── <a href="./packages/replica-healthcheck">replica-healthcheck</a>: Service for monitoring the health of a replica node
│ └── <a href="./packages/sdk">sdk</a>: provides a set of tools for interacting with Optimism
├── <a href="./op-bindings">op-bindings</a>: Go bindings for Bedrock smart contracts.
├── <a href="./op-batcher">op-batcher</a>: L2-Batch Submitter, submits bundles of batches to L1
Expand All @@ -79,7 +78,6 @@ Refer to the Directory Structure section below to understand which packages are
│ ├── <a href="./packages/common-ts">common-ts</a>: Common tools for building apps in TypeScript
│ ├── <a href="./packages/core-utils">core-utils</a>: Low-level utilities that make building Optimism easier
│ ├── <a href="./packages/chain-mon">chain-mon</a>: Chain monitoring services
│ ├── <a href="./packages/replica-healthcheck">replica-healthcheck</a>: Service for monitoring the health of a replica node
│ └── <a href="./packages/sdk">sdk</a>: provides a set of tools for interacting with Optimism
├── <a href="./indexer">indexer</a>: indexes and syncs transactions
├── <a href="./op-exporter">op-exporter</a>: A prometheus exporter to collect/serve metrics from an Optimism node
Expand Down
1 change: 0 additions & 1 deletion codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,4 @@ flag_management:
- name: core-utils-tests
- name: dtl-tests
- name: chain-mon-tests
- name: replica-healthcheck-tests
- name: sdk-tests
6 changes: 3 additions & 3 deletions ops/docker/Dockerfile.packages
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ RUN git submodule update --init --recursive

RUN pnpm build

FROM base as replica-healthcheck
WORKDIR /opt/optimism/packages/replica-healthcheck
ENTRYPOINT ["pnpm", "run", "start"]
FROM base as replica-mon
WORKDIR /opt/optimism/packages/chain-mon
ENTRYPOINT ["pnpm", "run", "start:replica-mon"]

FROM base as balance-mon
WORKDIR /opt/optimism/packages/chain-mon
Expand Down
1 change: 1 addition & 0 deletions packages/chain-mon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"start:drippie-mon": "ts-node ./src/drippie-mon/service.ts",
"start:wd-mon": "ts-node ./src/wd-mon/service.ts",
"start:fault-mon": "ts-node ./src/fault-mon/service.ts",
"start:replica-mon": "ts-node ./src/replica-mon/service.ts",
"test": "hardhat test",
"test:coverage": "nyc hardhat test && nyc merge .nyc_output coverage.json",
"build": "tsc -p ./tsconfig.json",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ Copy `.env.example` into a new file named `.env`, then set the environment varia
You can view a list of all environment variables and descriptions for each via:

```
pnpm start --help
pnpm start:replica-mon --help
```

Once your environment variables have been set, run the relayer via:
Once your environment variables have been set, run the healthcheck service via:

```
pnpm start
pnpm start:replica-mon
```
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
} from '@eth-optimism/common-ts'
import { sleep } from '@eth-optimism/core-utils'

import { version } from '../package.json'
import { version } from '../../package.json'

type HealthcheckOptions = {
referenceRpcProvider: Provider
Expand Down
2 changes: 0 additions & 2 deletions packages/replica-healthcheck/.env.example

This file was deleted.

3 changes: 0 additions & 3 deletions packages/replica-healthcheck/.eslintrc.js

This file was deleted.

2 changes: 0 additions & 2 deletions packages/replica-healthcheck/.gitignore

This file was deleted.

2 changes: 0 additions & 2 deletions packages/replica-healthcheck/.lintstagedrc.yml

This file was deleted.

3 changes: 0 additions & 3 deletions packages/replica-healthcheck/.prettierrc.js

This file was deleted.

Loading

0 comments on commit 3d0178e

Please sign in to comment.