Skip to content

Commit 9177c25

Browse files
authored
Simplify docs (#416)
1 parent b2a20ce commit 9177c25

3 files changed

Lines changed: 2 additions & 70 deletions

File tree

README.md

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ clean: honest-opossum
315315
clean: sacred-giraffe
316316
```
317317

318-
## Telemetry
318+
## Metrics
319319

320320
The Builder Playground includes built-in Prometheus metrics collection. When you run any recipe with the `--with-prometheus` flag, the system automatically deploys a Prometheus server and gathers metrics from all services in your deployment.
321321

@@ -336,65 +336,6 @@ $ builder-playground start l1 --with-prometheus
336336
$ builder-playground start opstack --with-prometheus
337337
```
338338

339-
## Internals
340-
341-
### Execution Flow
342-
343-
The playground executes in three main phases:
344-
345-
1. **Artifact Generation**: Creates all necessary files and configurations (genesis files, keys, etc.)
346-
2. **Manifest Generation**: The recipe creates a manifest describing all services to be deployed, their ports, and configurations
347-
3. **Deployment**: Uses Docker Compose to deploy the services described in the manifest
348-
349-
When running in dry-run mode (`--dry-run` flag), only the first two phases are executed. This is useful for alternative deployment targets - while the playground uses Docker Compose by default, the manifest could be used to deploy to other platforms like Kubernetes.
350-
351-
### System Architecture
352-
353-
The playground is structured in two main layers:
354-
355-
#### Components
356-
357-
Components are the basic building blocks of the system. Each component implements the `Service` interface:
358-
359-
```go
360-
type Service interface {
361-
Run(service *service)
362-
}
363-
```
364-
365-
Components represent individual compute resources like:
366-
367-
- Execution clients (Reth)
368-
- Consensus clients (Lighthouse)
369-
- Sidecar applications (MEV-Boost Relay)
370-
371-
Each component, given its input parameters, outputs a Docker container description with its specific configuration.
372-
373-
#### Recipes
374-
375-
Recipes combine components in specific ways to create complete environments. They implement this interface:
376-
377-
```go
378-
type Recipe interface {
379-
Apply(artifacts *Artifacts) *Manifest
380-
}
381-
```
382-
383-
The key output of a recipe is a `Manifest`, which represents a complete description of the environment to be deployed. A Manifest contains:
384-
385-
- A list of services to deploy
386-
- Their interconnections and dependencies
387-
- Port mappings and configurations
388-
- Volume mounts and environment variables
389-
390-
While the current recipes (L1 and OpStack) are relatively simple, this architecture allows for more complex setups. For example, you could create recipes for:
391-
392-
- Multiple execution clients with a shared bootnode
393-
- Testing specific MEV scenarios
394-
- Interop L2 testing environments
395-
396-
The separation between components and recipes makes it easy to create new environments by reusing and combining existing components in different ways. The Manifest provides an abstraction between the recipe's description of what should be deployed and how it actually gets deployed (Docker Compose, Kubernetes, etc.).
397-
398339
## Design Philosophy
399340

400341
The Builder Playground is focused exclusively on block building testing and development. Unlike general-purpose tools like Kurtosis that support any Ethereum setup, we take an opinionated approach optimized for block building workflows.

docs/architecture.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

docs/telemetry.md renamed to docs/metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# Telemetry
2+
# Metrics
33

44
The Builder Playground includes built-in Prometheus metrics collection. When you run any recipe with the `--with-prometheus` flag, the system automatically deploys a Prometheus server and gathers metrics from all services in your deployment.
55

0 commit comments

Comments
 (0)