Skip to content

chore(ansible): remove anvil devnet support completely - #19

Merged
thiras merged 3 commits into
mainfrom
worktree-remove-anvil-support
Jul 11, 2026
Merged

thiras merged 3 commits into
mainfrom
worktree-remove-anvil-support

Conversation

@thiras

@thiras thiras commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Context

The repo shipped two Ansible deployments over a shared baseline role: 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

  • Roles: anvil/, caddy/, contracts/ (the stub was anvil-coupled and orphaned without the devnet)
  • Playbooks: anvil.yml, add-dev-user.yml
  • ansible/molecule/ (only tested the anvil+caddy stack) and .github/workflows/molecule.yml
  • inventory/group_vars/anvil_devnet.yml
  • community.general from requirements.yml — unused by the kept roles (baseline uses ansible.posix + devsec.hardening; decdn_node is ansible.builtin only)

Edited

  • Makefiles — dropped check-anvil/deploy-anvil/add-dev/molecule targets (root + ansible/)
  • ci.yml — syntax-check now covers only site.yml
  • inventory, both .gitignores — removed anvil mnemonic / Caddy basic-auth / Cloudflare tunnel / anvil-state / Foundry patterns
  • Docs & comments — AGENTS.md, root + ansible/ READMEs (removed the anvil deploy section + appendix), CONTRIBUTING.md, galaxy/*, and role READMEs, rewritten for the single deployment

The 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

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>
Copilot AI review requested due to automatic review settings July 11, 2026 16:13
@coderabbitai

coderabbitai Bot commented Jul 11, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@thiras, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 45 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Free

Run ID: 6d4c5aeb-15dc-45f8-bb4a-f1d9c90c16a8

📥 Commits

Reviewing files that changed from the base of the PR and between a6e19be and 0f037eb.

📒 Files selected for processing (45)
  • .github/workflows/ci.yml
  • .github/workflows/molecule.yml
  • .gitignore
  • .pre-commit-config.yaml
  • AGENTS.md
  • CONTRIBUTING.md
  • Makefile
  • README.md
  • ansible/.ansible-lint
  • ansible/.gitignore
  • ansible/Makefile
  • ansible/README.md
  • ansible/ansible.cfg
  • ansible/galaxy/README.md
  • ansible/galaxy/build.sh
  • ansible/galaxy/galaxy.yml
  • ansible/inventory/group_vars/all.yml
  • ansible/inventory/group_vars/anvil_devnet.yml
  • ansible/inventory/hosts.yml.example
  • ansible/molecule/default/converge.yml
  • ansible/molecule/default/molecule.yml
  • ansible/molecule/default/verify.yml
  • ansible/playbooks/add-dev-user.yml
  • ansible/playbooks/anvil.yml
  • ansible/requirements.yml
  • ansible/roles/anvil/defaults/main.yml
  • ansible/roles/anvil/handlers/main.yml
  • ansible/roles/anvil/meta/main.yml
  • ansible/roles/anvil/tasks/main.yml
  • ansible/roles/anvil/templates/anvil-state-guard.sh.j2
  • ansible/roles/anvil/templates/anvil.service.j2
  • ansible/roles/baseline/README.md
  • ansible/roles/baseline/handlers/main.yml
  • ansible/roles/baseline/templates/nftables.conf.j2
  • ansible/roles/caddy/README.md
  • ansible/roles/caddy/defaults/main.yml
  • ansible/roles/caddy/handlers/main.yml
  • ansible/roles/caddy/meta/main.yml
  • ansible/roles/caddy/tasks/add_user.yml
  • ansible/roles/caddy/tasks/install.yml
  • ansible/roles/caddy/tasks/main.yml
  • ansible/roles/caddy/templates/Caddyfile.j2
  • ansible/roles/contracts/README.md
  • ansible/roles/contracts/tasks/main.yml
  • ansible/roles/decdn_node/README.md

Note

🎁 Summarized by CodeRabbit Free

Your 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 @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.general collection from ansible/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.

Comment thread ansible/galaxy/build.sh Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

thiras and others added 2 commits July 11, 2026 19:18
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
@thiras
thiras merged commit 5bbce04 into main Jul 11, 2026
7 checks passed
@thiras
thiras deleted the worktree-remove-anvil-support branch July 11, 2026 16:21
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.

2 participants