Skip to content

registry: add aqua backends for HashiCorp tools#7408

Merged
jdx merged 3 commits intomainfrom
registry/hashicorp-aqua
Dec 19, 2025
Merged

registry: add aqua backends for HashiCorp tools#7408
jdx merged 3 commits intomainfrom
registry/hashicorp-aqua

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Dec 19, 2025

Summary

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)

Notes

  • serf remains asdf-only due to lack of arm64 binaries (last binary release was 0.8.2 in 2019)
  • sentinel and tfc-agent don't have GitHub repos, so version listing falls back to asdf; however, direct version installation works (e.g., mise install sentinel@0.40.0)
  • The asdf fallback is kept for all tools to ensure compatibility

Test plan

  • Tested mise install sentinel@0.40.0 - works
  • Tested mise install nomad-pack@0.4.1 - works
  • Verified installed tools run correctly

🤖 Generated with Claude Code


Note

Adds aqua backends and registry entries for HashiCorp nomad-pack, sentinel, and tfc-agent, adds aqua backend for mc, and removes serf.

  • Registry entries (aqua):
    • Add crates/aqua-registry/aqua-registry/pkgs/hashicorp/nomad-pack/registry.yaml (HTTP download + SHA256SUMS).
    • Add crates/aqua-registry/aqua-registry/pkgs/hashicorp/sentinel/registry.yaml (HTTP download + SHA256SUMS).
    • Add crates/aqua-registry/aqua-registry/pkgs/hashicorp/tfc-agent/registry.yaml (HTTP download + SHA256SUMS; linux/amd64 only).
  • registry.toml updates:
    • tools.nomad-pack: add backend aqua:hashicorp/nomad-pack.
    • tools.sentinel: add backend aqua:hashicorp/sentinel.
    • tools.tfc-agent: add backend aqua:hashicorp/tfc-agent.
    • tools.mc: add backend aqua:minio/mc.
    • Remove tools.serf section.

Written by Cursor Bugbot for commit 689e2ee. This will update automatically on new commits. Configure here.

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>
Copilot AI review requested due to automatic review settings December 19, 2025 00:49
Copy link
Contributor

Copilot AI left a comment

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 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.

Comment on lines +9 to +10
- linux
- amd64
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

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.

Suggested change
- linux
- amd64
- linux/amd64

Copilot uses AI. Check for mistakes.
Comment on lines +9 to +11
- darwin
- linux
- amd64
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

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.

Suggested change
- darwin
- linux
- amd64
- darwin/amd64
- linux/amd64

Copilot uses AI. Check for mistakes.
Comment on lines +9 to +13
- darwin
- linux
- amd64
checksum:
type: http
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

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

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.

Suggested change
- darwin
- linux
- amd64
checksum:
type: http
- darwin/amd64
- linux/amd64
checksum:
type: http
type: http

Copilot uses AI. Check for mistakes.
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]
Copy link

Choose a reason for hiding this comment

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

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.

Fix in Cursor Fix in Web

description: HCP Terraform Agents allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure
supported_envs:
- linux
- amd64
Copy link

Choose a reason for hiding this comment

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

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).

Fix in Cursor Fix in Web

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>
@github-actions
Copy link

Hyperfine Performance

mise x -- echo

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 ⚠️ 4250ms -93%

⚠️ Warning: task-ls cached performance variance is -93%

@jdx jdx merged commit 5aa4342 into main Dec 19, 2025
27 of 34 checks passed
@jdx jdx deleted the registry/hashicorp-aqua branch December 19, 2025 01:16
jekis913 added a commit to jekis913/mise that referenced this pull request Dec 19, 2025
* upstream/main:
  registry: add aqua backends for HashiCorp tools (jdx#7408)
  registry: use pipx backend for gallery-dl (jdx#7409)
  registry: use gem backend for cocoapods (jdx#7411)
  registry: add github backend for zprint (jdx#7410)
jdx pushed a commit that referenced this pull request Dec 19, 2025
### 🚀 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)
vikramreddym added a commit to vikramreddym/mise that referenced this pull request Jan 22, 2026
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
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