Skip to content

Conversation

janjakubnanista
Copy link
Collaborator

@janjakubnanista janjakubnanista commented Jun 9, 2025

Description

PoC of a core utility that can resolve a launch sequence of a DAG of services (service in this case might be too strong of a word - since any items, non-service ones included, can be nodes in this DAG. I will use the word item instead since node is always a bit problematic in the world of blockchain nodes).

Prerequisites

  • Items have predictable identifiers and provide external services a safe way of constructing these.. This means that, e.g., an EL client module needs to expose a function that can create an item name so that, e.g, a supervisor can specify that it depends on particular EL services to be live
  • Items have launchers with identical signatures. This one is really just hinted here, and I want to let it simmer a bit - in this proposed solution, every item has a launch function that only accepts two arguments - plan and dependencies (a dictionary). In practice, this means that the input arguments would need to be carried inside this launch function.

Loose ends

  • This solution embeds the launch function in the item. My instinct tells me this is not great.
  • The test coverage on this needs to be expanded
  • The error message for dependency cycles is kinda made up - it does not tell you where the dependency cycle is.

janjakubnanista added a commit that referenced this pull request Jun 11, 2025
…321)

**Description**

The launch sequence needs to be reorganized so that the conductors can
receive supervisor URLs (the supervisors need to be running by the time
we launch the conductors so we cannot simply pass the precomputed URLs).

All of this is heavily marked as `hack` since it's a dirty fix. It will
need to be replaced A$AP with a better solution - be it
#318 or another.

Fixes ethereum-optimism/optimism#16366
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant