chore(ansible): remove anvil devnet support completely - #19
Conversation
Excise the internal anvil EVM devnet and everything that existed only to serve it, leaving a single-purpose deCDN-node deployment project. Delete: the anvil, caddy, and contracts roles; the anvil.yml and add-dev-user.yml playbooks; the molecule/ test tree and its CI workflow; the anvil_devnet inventory group; and community.general from requirements.yml (unused by the kept baseline/decdn_node roles). Edit: strip anvil-specific Makefile targets, gitignore blocks, and CI syntax-check entries; rewrite docs and inline comments to describe the single node deployment. The node's own admin RPC (9191) and metrics (9090) are unrelated to anvil and are preserved throughout. Verified: yamllint, ansible-lint (production profile), site.yml syntax-check, make build, and galaxy-importer all pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (45)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
There was a problem hiding this comment.
Pull request overview
This PR removes the internal Anvil devnet deployment (and all supporting roles, playbooks, tests, CI, inventory, and docs) so the repository becomes a single-purpose Ansible project for deploying the public deCDN node (playbooks/site.yml → baseline + decdn_node).
Changes:
- Deleted the Anvil/Caddy/Contracts roles, devnet playbooks, Molecule scenario, and the Molecule GitHub Actions workflow.
- Simplified CI, Make targets, inventory, gitignores, and documentation to only reference the node deployment and Galaxy collection build/check.
- Removed the unused
community.generalcollection fromansible/requirements.yml.
Reviewed changes
Copilot reviewed 44 out of 45 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| README.md | Removes Molecule badge and updates repo docs to reflect single node-only deployment. |
| Makefile | Drops molecule target and keeps only node/collection-related targets. |
| CONTRIBUTING.md | Updates contributor docs to remove Molecule/anvil references and reflect current CI. |
| ansible/README.md | Removes anvil deployment/testing sections; documents node-only deployment and packaging. |
| ansible/Makefile | Removes anvil/caddy/molecule convenience targets; keeps node deploy + collection build targets. |
| ansible/ansible.cfg | Updates project description comment to node-only usage. |
| ansible/requirements.yml | Removes community.general dependency now that anvil/caddy are gone. |
| ansible/.ansible-lint | Updates rationale comment for var-naming skip to match remaining roles. |
| ansible/.gitignore | Removes Molecule scratch ignores; keeps Ansible scratch patterns. |
| ansible/inventory/hosts.yml.example | Removes anvil_devnet inventory example group. |
| ansible/inventory/group_vars/all.yml | Rewords to node deployment overrides; removes anvil/foundry-related commented knobs. |
| ansible/inventory/group_vars/anvil_devnet.yml | Deleted (anvil devnet group vars removed). |
| ansible/playbooks/anvil.yml | Deleted (anvil devnet playbook removed). |
| ansible/playbooks/add-dev-user.yml | Deleted (caddy basic-auth user minting playbook removed). |
| ansible/molecule/default/molecule.yml | Deleted (Molecule scenario removed). |
| ansible/molecule/default/converge.yml | Deleted (Molecule converge removed). |
| ansible/molecule/default/verify.yml | Deleted (Molecule verification removed). |
| .github/workflows/molecule.yml | Deleted (Molecule CI workflow removed). |
| .github/workflows/ci.yml | Syntax-check step updated to only check playbooks/site.yml. |
| ansible/roles/anvil/templates/anvil.service.j2 | Deleted (anvil role removed). |
| ansible/roles/anvil/templates/anvil-state-guard.sh.j2 | Deleted (anvil role removed). |
| ansible/roles/anvil/tasks/main.yml | Deleted (anvil role removed). |
| ansible/roles/anvil/defaults/main.yml | Deleted (anvil role removed). |
| ansible/roles/anvil/handlers/main.yml | Deleted (anvil role removed). |
| ansible/roles/anvil/meta/main.yml | Deleted (anvil role removed). |
| ansible/roles/caddy/templates/Caddyfile.j2 | Deleted (caddy role removed). |
| ansible/roles/caddy/tasks/main.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/tasks/install.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/tasks/add_user.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/defaults/main.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/handlers/main.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/meta/main.yml | Deleted (caddy role removed). |
| ansible/roles/caddy/README.md | Deleted (caddy role removed). |
| ansible/roles/contracts/tasks/main.yml | Deleted (contracts role removed). |
| ansible/roles/contracts/README.md | Deleted (contracts role removed). |
| ansible/roles/decdn_node/README.md | Updates role README to remove references to the (now removed) anvil tooling. |
| ansible/roles/baseline/README.md | Updates baseline README wording to node-only deployment context. |
| ansible/roles/baseline/templates/nftables.conf.j2 | Updates comment to remove anvil/caddy references; keeps node metrics/admin loopback guidance. |
| ansible/roles/baseline/handlers/main.yml | Generalizes a comment that referenced anvil flush_handlers. |
| ansible/galaxy/README.md | Removes note about internal anvil tooling not shipping (now irrelevant). |
| ansible/galaxy/galaxy.yml | Updates overlay comments to reflect only baseline+decdn_node remain. |
| ansible/galaxy/build.sh | Updates overlay comment to remove anvil/molecule references. |
| AGENTS.md | Updates repo hard rules/docs to remove anvil devnet references and reflect node-only scope. |
| .pre-commit-config.yaml | Updates comment to remove Molecule mention from “heavier checks”. |
| .gitignore | Removes ignores that existed only for anvil/caddy/tunnel/devnet state; keeps generic secret-related ignores. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Code Review
This pull request removes the internal Anvil devnet deployment tooling, including the anvil, caddy, and contracts roles, as well as their associated playbooks, Molecule tests, and configuration files. The repository has been simplified to focus exclusively on the deployment of the public deCDN node. All documentation, Makefiles, and CI configurations have been updated to reflect this change. I have no feedback to provide as there are no review comments.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
The tool list dropped from three items to two when molecule was removed; join the remaining two with "and" so the plural subject reads cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-support # Conflicts: # ansible/roles/decdn_node/README.md
Context
The repo shipped two Ansible deployments over a shared
baselinerole: the public deCDN node (playbooks/site.yml→ baseline + decdn_node) and an internal anvil EVM devnet (playbooks/anvil.yml→ baseline + anvil + caddy basic-auth proxy). Anvil was team tooling, not the product. This PR removes it and everything that existed only to serve it, so the repo becomes a clean single-purpose deCDN-node deployment project.Deleted
anvil/,caddy/,contracts/(the stub was anvil-coupled and orphaned without the devnet)anvil.yml,add-dev-user.ymlansible/molecule/(only tested the anvil+caddy stack) and.github/workflows/molecule.ymlinventory/group_vars/anvil_devnet.ymlcommunity.generalfromrequirements.yml— unused by the kept roles (baseline usesansible.posix+devsec.hardening; decdn_node isansible.builtinonly)Edited
check-anvil/deploy-anvil/add-dev/moleculetargets (root +ansible/)ci.yml— syntax-check now covers onlysite.yml.gitignores — removed anvil mnemonic / Caddy basic-auth / Cloudflare tunnel / anvil-state / Foundry patternsAGENTS.md, root +ansible/READMEs (removed the anvil deploy section + appendix),CONTRIBUTING.md,galaxy/*, and role READMEs, rewritten for the single deploymentThe node's own admin RPC (9191) and metrics (9090) are unrelated to anvil and are preserved throughout.
Verification
All green:
yamllint,ansible-lint(production profile),site.yml --syntax-check,make build(collection ships exactly baseline + decdn_node),make galaxy-check(galaxy-importer), and markdownlint.Net: +118 / −1416 lines.
🤖 Generated with Claude Code