registry: add aqua backends for HashiCorp tools#7408
Conversation
Add aqua registry entries for HashiCorp tools that were previously only available via the asdf:mise-plugins/mise-hashicorp plugin: - sentinel: Policy as code tool (downloads from releases.hashicorp.com) - nomad-pack: Templating tool for Nomad - tfc-agent: HCP Terraform agent (Linux only) Note: serf remains asdf-only due to lack of arm64 binaries. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR adds aqua backend support for three HashiCorp tools (sentinel, nomad-pack, and tfc-agent) that were previously only available through the asdf plugin. The aqua backends download binaries directly from releases.hashicorp.com, while maintaining asdf as a fallback for compatibility.
- Adds aqua registry entries for sentinel, nomad-pack, and tfc-agent
- Updates registry.toml to list aqua as the primary backend with asdf fallback
- Implements platform-specific support constraints based on available binaries
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| registry.toml | Updates backend lists to include aqua for nomad-pack, sentinel, and tfc-agent |
| crates/aqua-registry/aqua-registry/pkgs/hashicorp/tfc-agent/registry.yaml | Defines aqua package configuration for tfc-agent with Linux-only support |
| crates/aqua-registry/aqua-registry/pkgs/hashicorp/sentinel/registry.yaml | Defines aqua package configuration for sentinel with darwin/linux support |
| crates/aqua-registry/aqua-registry/pkgs/hashicorp/nomad-pack/registry.yaml | Defines aqua package configuration for nomad-pack with darwin/linux support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - linux | ||
| - amd64 |
There was a problem hiding this comment.
The supported_envs configuration is incorrect. It should specify OS and architecture pairs, not a flat list. This should be structured as '- linux/amd64' to properly indicate Linux on AMD64 architecture.
| - linux | |
| - amd64 | |
| - linux/amd64 |
| - darwin | ||
| - linux | ||
| - amd64 |
There was a problem hiding this comment.
The supported_envs configuration is incorrect. It should specify OS and architecture pairs, not a flat list. This should be structured as '- darwin/amd64' and '- linux/amd64' to properly indicate the supported platform combinations.
| - darwin | |
| - linux | |
| - amd64 | |
| - darwin/amd64 | |
| - linux/amd64 |
| - darwin | ||
| - linux | ||
| - amd64 | ||
| checksum: | ||
| type: http |
There was a problem hiding this comment.
The supported_envs configuration is incorrect. It should specify OS and architecture pairs, not a flat list. This should be structured as '- darwin/amd64' and '- linux/amd64' to properly indicate the supported platform combinations.
| - darwin | |
| - linux | |
| - amd64 | |
| checksum: | |
| type: http | |
| - darwin/amd64 | |
| - linux/amd64 | |
| checksum: | |
| type: http | |
| type: http |
Serf hasn't had a binary release since 2019 (v0.8.2) and lacks arm64 support. The tool appears abandoned. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| description = "A command line utility to work with Sentry" | ||
| test = ["sentry-cli --version", "sentry-cli {{version}}"] | ||
|
|
||
| [tools.serf] |
There was a problem hiding this comment.
Bug: Serf tool accidentally removed despite PR description
The [tools.serf] entry was completely removed from registry.toml, but the PR description explicitly states "serf remains asdf-only due to lack of arm64 binaries." This contradicts the stated intent and breaks the serf tool for users who rely on it. The entry with backends = ["asdf:mise-plugins/mise-hashicorp"] appears to have been accidentally deleted when making the other changes.
| description: HCP Terraform Agents allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure | ||
| supported_envs: | ||
| - linux | ||
| - amd64 |
There was a problem hiding this comment.
Bug: tfc-agent supported_envs allows non-Linux platforms incorrectly
The supported_envs configuration includes both - linux and - amd64, but the PR description explicitly states tfc-agent is "Linux only". In aqua's pattern, - amd64 alone matches amd64 on all operating systems (including darwin/amd64 and windows/amd64). This means macOS and Windows amd64 users would see their platform as "supported" but then get a confusing download error when the binary doesn't exist. For a Linux-only tool, the config should just be - linux (or - linux/amd64 if only amd64 is supported).
Add aqua:minio/mc as primary backend for minio client tool, keeping asdf as fallback. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2025.12.12 x -- echo |
20.6 ± 0.5 | 19.4 | 23.8 | 1.00 |
mise x -- echo |
21.1 ± 0.9 | 19.8 | 29.1 | 1.02 ± 0.05 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2025.12.12 env |
19.9 ± 0.5 | 19.0 | 21.9 | 1.00 |
mise env |
20.7 ± 0.7 | 19.3 | 22.8 | 1.04 ± 0.04 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2025.12.12 hook-env |
20.1 ± 0.6 | 19.0 | 22.2 | 1.00 |
mise hook-env |
20.8 ± 0.8 | 19.3 | 23.6 | 1.03 ± 0.05 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2025.12.12 ls |
17.6 ± 0.6 | 16.7 | 22.7 | 1.00 |
mise ls |
18.2 ± 0.7 | 17.1 | 20.5 | 1.03 ± 0.05 |
xtasks/test/perf
| Command | mise-2025.12.12 | mise | Variance |
|---|---|---|---|
| install (cached) | 110ms | 111ms | +0% |
| ls (cached) | 68ms | 69ms | -1% |
| bin-paths (cached) | 74ms | 74ms | +0% |
| task-ls (cached) | 289ms | -93% |
### 🚀 Features - **(tera)** add haiku() function for random name generation by @jdx in [#7399](#7399) - implement independent versioning for subcrates by @jdx in [#7402](#7402) ### 🐛 Bug Fixes - **(ci)** improve GHA cache efficiency and fix registry-ci bug by @jdx in [#7404](#7404) - **(ci)** use !cancelled() instead of always() for registry-ci by @jdx in [#7435](#7435) - **(test)** update backend_arg test to use clojure instead of poetry by @jdx in [#7436](#7436) ### 📚 Documentation - add link to COPR package page for Fedora/RHEL by @jdx in [bc8ac73](bc8ac73) - improve installation documentation by @jdx in [#7403](#7403) - add comprehensive glossary by @jdx in [#7401](#7401) ### 🧪 Testing - rename duplicate 'ci' job names for clarity by @jdx in [#7398](#7398) - add token pool integration for rate limit distribution by @jdx in [#7397](#7397) ### 📦 Registry - add github backend for swiftformat by @jdx in [#7396](#7396) - use pipx backend for azure-cli by @jdx in [#7406](#7406) - use pipx backend for dvc by @jdx in [#7413](#7413) - add github backend for zprint by @jdx in [#7410](#7410) - use gem backend for cocoapods by @jdx in [#7411](#7411) - use pipx backend for gallery-dl by @jdx in [#7409](#7409) - add aqua backends for HashiCorp tools by @jdx in [#7408](#7408) - use npm backend for danger-js by @jdx in [#7407](#7407) - use pipx backend for pipenv by @jdx in [#7415](#7415) - use pipx backend for poetry by @jdx in [#7416](#7416) - add github backend for xcodegen ([github:yonaskolb/XcodeGen](https://github.com/yonaskolb/XcodeGen)) by @jdx in [#7417](#7417) - use npm backend for heroku by @jdx in [#7418](#7418) - add aqua backend for setup-envtest by @jdx in [#7421](#7421) - add github backend for xcresultparser ([github:a7ex/xcresultparser](https://github.com/a7ex/xcresultparser)) by @jdx in [#7422](#7422) - add aqua backend for tomcat by @jdx in [#7423](#7423) - use npm backend for serverless by @jdx in [#7424](#7424) - add github backend for daytona ([github:daytonaio/daytona](https://github.com/daytonaio/daytona)) by @jdx in [#7412](#7412) - add github backend for flyway ([github:flyway/flyway](https://github.com/flyway/flyway)) by @jdx in [#7414](#7414) - add github backend for schemacrawler ([github:schemacrawler/SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler)) by @jdx in [#7419](#7419) - add github backend for codeql by @jdx in [#7420](#7420) - use pipx backend for mitmproxy by @jdx in [#7425](#7425) - use pipx backend for sshuttle by @jdx in [#7426](#7426) - add github backend for quarkus by @jdx in [#7428](#7428) - add github backend for smithy by @jdx in [#7430](#7430) - add github backend for xchtmlreport ([github:XCTestHTMLReport/XCTestHTMLReport](https://github.com/XCTestHTMLReport/XCTestHTMLReport)) by @jdx in [#7431](#7431) - add github backend for grails by @jdx in [#7429](#7429) - use npm backend for esy by @jdx in [#7434](#7434) - add github backend for micronaut by @jdx in [#7433](#7433) - add github backend for dome by @jdx in [#7432](#7432) - use vfox backend for poetry by @jdx in [#7438](#7438) ### Chore - **(docker)** add Node LTS to mise Docker image by @jdx in [#7405](#7405) - rename mise-tools to mise-versions by @jdx in [ab3e1b8](ab3e1b8) - s/mise task/mise tasks/g in docs and tests by @muzimuzhi in [#7400](#7400) ### New Contributors - @muzimuzhi made their first contribution in [#7400](#7400)
The aqua backends for sentinel, nomad-pack, and tfc-agent were added in jdx#7408 but don't exist in upstream aqua-registry. Since the release process re-clones from upstream, these local additions are wiped on every release. Reverts these tools to use only the asdf:mise-plugins/mise-hashicorp backend until upstream aqua-registry adds support for them. Fixes: Installation of hashicorp tools sentinel, nomad-pack and tfc-agent after 2025.12.13 release
Summary
Add aqua registry entries for HashiCorp tools that were previously only available via the
asdf:mise-plugins/mise-hashicorpplugin:Notes
mise install sentinel@0.40.0)Test plan
mise install sentinel@0.40.0- worksmise install nomad-pack@0.4.1- works🤖 Generated with Claude Code
Note
Adds aqua backends and registry entries for HashiCorp
nomad-pack,sentinel, andtfc-agent, adds aqua backend formc, and removesserf.crates/aqua-registry/aqua-registry/pkgs/hashicorp/nomad-pack/registry.yaml(HTTP download + SHA256SUMS).crates/aqua-registry/aqua-registry/pkgs/hashicorp/sentinel/registry.yaml(HTTP download + SHA256SUMS).crates/aqua-registry/aqua-registry/pkgs/hashicorp/tfc-agent/registry.yaml(HTTP download + SHA256SUMS; linux/amd64 only).tools.nomad-pack: add backendaqua:hashicorp/nomad-pack.tools.sentinel: add backendaqua:hashicorp/sentinel.tools.tfc-agent: add backendaqua:hashicorp/tfc-agent.tools.mc: add backendaqua:minio/mc.tools.serfsection.Written by Cursor Bugbot for commit 689e2ee. This will update automatically on new commits. Configure here.