op/doma/testnet: add Celestia Alt-DA support (celestiaorg/op-alt-da:v0.15.0)

- Add relay template (templates/relays/celestia.doma.yml) for op-alt-da
- Add celestia relay config to op/doma stack in context.yml
- Add relay: celestia to op/doma testnet in config.yml
- Add op-node.doma.yml template with ALTDA env vars gated on relay_name
- Update op/doma/testnet/rollup.json with complete config including alt_da block

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
rob
2026-06-17 10:40:59 +00:00
parent 4ea0bed344
commit fc03d6ddf6
187 changed files with 283 additions and 232 deletions

View File

@@ -95,8 +95,8 @@ services:
- traefik.http.routers.starknet-mainnet-juno-archive.service=starknet-mainnet-juno-archive
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-juno-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-juno-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-juno-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-juno-archive`) || Path(`/starknet-mainnet-juno-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-juno-archive-ws.rule=(Path(`/starknet-mainnet-juno-archive`) || Path(`/starknet-mainnet-juno-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-juno-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-juno-archive`) || Path(`/starknet-mainnet-juno-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-juno-archive-ws.rule=(Path(`/starknet-mainnet-juno-archive`) || Path(`/starknet-mainnet-juno-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-juno-archive-ws.middlewares=starknet-mainnet-juno-archive-stripprefix, starknet-mainnet-juno-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -95,8 +95,8 @@ services:
- traefik.http.routers.starknet-sepolia-juno-archive.service=starknet-sepolia-juno-archive
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-juno-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-juno-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-juno-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-juno-archive`) || Path(`/starknet-sepolia-juno-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-juno-archive-ws.rule=(Path(`/starknet-sepolia-juno-archive`) || Path(`/starknet-sepolia-juno-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-juno-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-juno-archive`) || Path(`/starknet-sepolia-juno-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-juno-archive-ws.rule=(Path(`/starknet-sepolia-juno-archive`) || Path(`/starknet-sepolia-juno-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-juno-archive-ws.middlewares=starknet-sepolia-juno-archive-stripprefix, starknet-sepolia-juno-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -78,8 +78,8 @@ services:
- traefik.http.routers.starknet-mainnet-madara-archive.service=starknet-mainnet-madara-archive
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-madara-archive`) || Path(`/starknet-mainnet-madara-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-madara-archive-ws.rule=(Path(`/starknet-mainnet-madara-archive`) || Path(`/starknet-mainnet-madara-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-madara-archive`) || Path(`/starknet-mainnet-madara-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-madara-archive-ws.rule=(Path(`/starknet-mainnet-madara-archive`) || Path(`/starknet-mainnet-madara-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-madara-archive-ws.middlewares=starknet-mainnet-madara-archive-stripprefix, starknet-mainnet-madara-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -78,8 +78,8 @@ services:
- traefik.http.routers.starknet-mainnet-madara-pruned.service=starknet-mainnet-madara-pruned
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-pruned-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-pruned-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-madara-pruned`) || Path(`/starknet-mainnet-madara-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-madara-pruned-ws.rule=(Path(`/starknet-mainnet-madara-pruned`) || Path(`/starknet-mainnet-madara-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-madara-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-madara-pruned`) || Path(`/starknet-mainnet-madara-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-madara-pruned-ws.rule=(Path(`/starknet-mainnet-madara-pruned`) || Path(`/starknet-mainnet-madara-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-madara-pruned-ws.middlewares=starknet-mainnet-madara-pruned-stripprefix, starknet-mainnet-madara-pruned-set-ws-path, ipallowlist
volumes:

View File

@@ -78,8 +78,8 @@ services:
- traefik.http.routers.starknet-sepolia-madara-archive.service=starknet-sepolia-madara-archive
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-madara-archive`) || Path(`/starknet-sepolia-madara-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-madara-archive-ws.rule=(Path(`/starknet-sepolia-madara-archive`) || Path(`/starknet-sepolia-madara-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-madara-archive`) || Path(`/starknet-sepolia-madara-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-madara-archive-ws.rule=(Path(`/starknet-sepolia-madara-archive`) || Path(`/starknet-sepolia-madara-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-madara-archive-ws.middlewares=starknet-sepolia-madara-archive-stripprefix, starknet-sepolia-madara-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -78,8 +78,8 @@ services:
- traefik.http.routers.starknet-sepolia-madara-pruned.service=starknet-sepolia-madara-pruned
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-pruned-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-pruned-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-madara-pruned`) || Path(`/starknet-sepolia-madara-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-madara-pruned-ws.rule=(Path(`/starknet-sepolia-madara-pruned`) || Path(`/starknet-sepolia-madara-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-madara-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-madara-pruned`) || Path(`/starknet-sepolia-madara-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-madara-pruned-ws.rule=(Path(`/starknet-sepolia-madara-pruned`) || Path(`/starknet-sepolia-madara-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-madara-pruned-ws.middlewares=starknet-sepolia-madara-pruned-stripprefix, starknet-sepolia-madara-pruned-set-ws-path, ipallowlist
volumes:

View File

@@ -81,8 +81,8 @@ services:
- traefik.http.routers.starknet-mainnet-pathfinder-archive.service=starknet-mainnet-pathfinder-archive
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-archive`) || Path(`/starknet-mainnet-pathfinder-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.rule=(Path(`/starknet-mainnet-pathfinder-archive`) || Path(`/starknet-mainnet-pathfinder-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-archive`) || Path(`/starknet-mainnet-pathfinder-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.rule=(Path(`/starknet-mainnet-pathfinder-archive`) || Path(`/starknet-mainnet-pathfinder-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-pathfinder-archive-ws.middlewares=starknet-mainnet-pathfinder-archive-stripprefix, starknet-mainnet-pathfinder-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -80,8 +80,8 @@ services:
- traefik.http.routers.starknet-mainnet-pathfinder-pruned-history.service=starknet-mainnet-pathfinder-pruned-history
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.rule=(Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.rule=(Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-pathfinder-pruned-history-ws.middlewares=starknet-mainnet-pathfinder-pruned-history-stripprefix, starknet-mainnet-pathfinder-pruned-history-set-ws-path, ipallowlist
volumes:

View File

@@ -81,8 +81,8 @@ services:
- traefik.http.routers.starknet-mainnet-pathfinder-pruned.service=starknet-mainnet-pathfinder-pruned
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.rule=(Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.rule=(Path(`/starknet-mainnet-pathfinder-pruned`) || Path(`/starknet-mainnet-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-mainnet-pathfinder-pruned-ws.middlewares=starknet-mainnet-pathfinder-pruned-stripprefix, starknet-mainnet-pathfinder-pruned-set-ws-path, ipallowlist
volumes:

View File

@@ -81,8 +81,8 @@ services:
- traefik.http.routers.starknet-sepolia-pathfinder-archive.service=starknet-sepolia-pathfinder-archive
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-archive`) || Path(`/starknet-sepolia-pathfinder-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.rule=(Path(`/starknet-sepolia-pathfinder-archive`) || Path(`/starknet-sepolia-pathfinder-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-archive`) || Path(`/starknet-sepolia-pathfinder-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.rule=(Path(`/starknet-sepolia-pathfinder-archive`) || Path(`/starknet-sepolia-pathfinder-archive/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-pathfinder-archive-ws.middlewares=starknet-sepolia-pathfinder-archive-stripprefix, starknet-sepolia-pathfinder-archive-set-ws-path, ipallowlist
volumes:

View File

@@ -80,8 +80,8 @@ services:
- traefik.http.routers.starknet-sepolia-pathfinder-pruned-history.service=starknet-sepolia-pathfinder-pruned-history
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.rule=(Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.rule=(Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-pathfinder-pruned-history-ws.middlewares=starknet-sepolia-pathfinder-pruned-history-stripprefix, starknet-sepolia-pathfinder-pruned-history-set-ws-path, ipallowlist
volumes:

View File

@@ -81,8 +81,8 @@ services:
- traefik.http.routers.starknet-sepolia-pathfinder-pruned.service=starknet-sepolia-pathfinder-pruned
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.rule=(Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:-traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.rule=(Path(`/starknet-sepolia-pathfinder-pruned`) || Path(`/starknet-sepolia-pathfinder-pruned/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.starknet-sepolia-pathfinder-pruned-ws.middlewares=starknet-sepolia-pathfinder-pruned-stripprefix, starknet-sepolia-pathfinder-pruned-set-ws-path, ipallowlist
volumes: