https://github.com/sgaunet/asdf-helmfile
An asdf plugin for Helmfile - manage Helmfile installations with version management, platform detection, and GitHub releases integration
https://github.com/sgaunet/asdf-helmfile
asdf bash deployment devops helm helmfile kubernetes plugin shell version-manager
Last synced: about 1 month ago
JSON representation
An asdf plugin for Helmfile - manage Helmfile installations with version management, platform detection, and GitHub releases integration
- Host: GitHub
- URL: https://github.com/sgaunet/asdf-helmfile
- Owner: sgaunet
- License: mit
- Created: 2025-09-15T18:58:07.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-15T20:49:47.000Z (9 months ago)
- Last Synced: 2025-09-15T21:23:40.470Z (9 months ago)
- Topics: asdf, bash, deployment, devops, helm, helmfile, kubernetes, plugin, shell, version-manager
- Language: Shell
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# asdf-helmfile
[](https://github.com/sgaunet/asdf-helmfile/actions/workflows/build.yml)
[Helmfile](https://github.com/helmfile/helmfile) plugin for the [asdf version manager](https://asdf-vm.com).
Helmfile is a declarative spec for deploying Helm charts. It lets you keep a directory of chart value files and maintain changes in version control.
## Contents
- [asdf-helmfile](#asdf-helmfile)
- [Contents](#contents)
- [Dependencies](#dependencies)
- [Install](#install)
- [Plugin](#plugin)
- [Helmfile](#helmfile)
- [Environment Variables](#environment-variables)
- [Features](#features)
- [Contributing](#contributing)
- [Development](#development)
- [Testing Locally](#testing-locally)
- [Credits](#credits)
- [License](#license)
## Dependencies
**Required:**
- `bash` (3.2+), `curl`, `tar`, `git`
- [POSIX utilities](https://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html)
**Optional:**
- `sha256sum` or `shasum` - For checksum verification
- `df` - For disk space checking
## Install
### Plugin
```shell
asdf plugin add helmfile
# or
asdf plugin add helmfile https://github.com/sgaunet/asdf-helmfile.git
```
### Helmfile
```shell
# Show all installable versions
asdf list-all helmfile
# Install specific version
asdf install helmfile latest
# Set a version globally (on your ~/.tool-versions file)
asdf global helmfile latest
# Now helmfile commands are available
helmfile version
# Get help
asdf help helmfile
```
Check the [asdf documentation](https://asdf-vm.com/guide/getting-started.html) for more instructions on how to install & manage versions.
## Environment Variables
The plugin supports several environment variables for customization:
| Variable | Default | Description |
|----------|---------|-------------|
| `ASDF_HELMFILE_DEBUG` | `0` | Enable debug output for troubleshooting |
| `ASDF_HELMFILE_MAX_RETRIES` | `3` | Maximum retry attempts for network operations |
| `ASDF_HELMFILE_RETRY_DELAY` | `2` | Delay in seconds between retries |
| `GITHUB_API_TOKEN` | - | GitHub token for higher API rate limits |
## Features
- ✅ **Automatic retries** - Network operations are retried on failure
- ✅ **Checksum verification** - Downloads are verified when checksums are available
- ✅ **Progress indicators** - Visual feedback during downloads
- ✅ **Debug mode** - Detailed logging for troubleshooting
- ✅ **Platform detection** - Automatic detection of OS and architecture
- ✅ **Disk space checking** - Verifies available space before installation
- ✅ **Multi-platform support** - Linux, macOS, Windows (WSL)
- ✅ **Architecture support** - amd64, arm64, 386
## Contributing
Contributions of any kind are welcome! See the [contributing guide](CONTRIBUTING.md).
### Development
This project uses Task for automation:
```shell
# List available tasks
task
# Format code
task format
# Run linting
task lint
# Run tests
task test
```
### Testing Locally
```shell
asdf plugin test [--asdf-tool-version ] [--asdf-plugin-gitref ] [test-command*]
asdf plugin test helmfile https://github.com/sgaunet/asdf-helmfile "helmfile version"
```
Tests are automatically run in GitHub Actions on push and PR.
### Credits
[Thanks goes to these contributors](https://github.com/sgaunet/asdf-helmfile/graphs/contributors)!
## License
See [LICENSE](LICENSE)