Voyager.Configuration.Tool
2.2.1-preview.6
See the version list below for details.
dotnet tool install --global Voyager.Configuration.Tool --version 2.2.1-preview.6
dotnet new tool-manifest
dotnet tool install --local Voyager.Configuration.Tool --version 2.2.1-preview.6
#tool dotnet:?package=Voyager.Configuration.Tool&version=2.2.1-preview.6&prerelease
nuke :add-package Voyager.Configuration.Tool --version 2.2.1-preview.6
vconfig - Voyager Configuration Tool
CLI tool for encrypting and decrypting JSON configuration files compatible with Voyager.Configuration.MountPath library.
⚠️ DEPRECATION WARNING Built-in encryption is deprecated. This tool is provided for migration purposes only. For new projects, use Mozilla SOPS instead.
Installation
Install globally as a .NET tool:
dotnet tool install -g Voyager.Configuration.Tool
Update to latest version:
dotnet tool update -g Voyager.Configuration.Tool
Usage
Encrypt JSON Configuration
Encrypts string values in JSON while preserving structure:
# Encrypt file in-place
vconfig encrypt --input config/secrets.json --in-place
# Encrypt to new file
vconfig encrypt --input config/secrets.json --output config/secrets.encrypted.json
Example:
// Input (plain)
{
"ConnectionString": "Server=prod;Password=secret123",
"Timeout": 30
}
// Output (encrypted - structure preserved, only strings encrypted)
{
"ConnectionString": "AgB7CjEyMzQ1Njc4OTBhYmNkZWY...",
"Timeout": 30
}
Decrypt for Migration to SOPS
Decrypt existing encrypted configs to migrate to SOPS:
# Decrypt file
vconfig decrypt --input config/secrets.json --output config/secrets.plain.json
# Then encrypt with SOPS
sops -e config/secrets.plain.json > config/secrets.json
Single Value Operations
Backward compatible with old Voyager.Configuration.Encrypt/Decrypt tools:
# Encrypt single value
vconfig encrypt-value "text to encrypt"
# Decrypt single value
vconfig decrypt-value "AgB7CjEyMzQ1Njc4..."
Encryption Key
The tool reads the encryption key from an environment variable (default: ASPNETCORE_ENCODEKEY):
# Set encryption key
export ASPNETCORE_ENCODEKEY="your-encryption-key"
# Or use custom environment variable
vconfig encrypt --input config.json --key-env MY_KEY_VAR
Commands
encrypt- Encrypt values in JSON file (for library compatibility)decrypt- Decrypt values in JSON file (for SOPS migration)encrypt-value- Encrypt single text valuedecrypt-value- Decrypt single text value
Run vconfig --help or vconfig <command> --help for detailed usage.
Migration Guide
See the complete migration guide for:
- Why encryption is deprecated
- Step-by-step SOPS migration
- Kubernetes and Supervisor deployment examples
- Security best practices
Links
- GitHub: https://github.com/Voyager-Poland/Voyager.Configuration.MountPath
- Library Package: Voyager.Configuration.MountPath
- Documentation: ADR-004: CLI Tool
- License: MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.0 | 106 | 4/29/2026 |
| 2.4.2-preview.1.2 | 58 | 4/29/2026 |
| 2.4.2-preview.1 | 49 | 4/29/2026 |
| 2.4.1 | 101 | 4/29/2026 |
| 2.4.1-preview.5 | 46 | 4/29/2026 |
| 2.4.1-preview.4 | 52 | 4/29/2026 |
| 2.4.1-preview.3 | 60 | 4/29/2026 |
| 2.4.1-preview.2 | 50 | 4/29/2026 |
| 2.4.0 | 101 | 4/28/2026 |
| 2.3.0-preview.1.1 | 50 | 4/28/2026 |
| 2.3.0-preview.1 | 51 | 4/20/2026 |
| 2.2.1-preview.6 | 48 | 4/20/2026 |
| 2.2.1-preview.5 | 69 | 4/20/2026 |
| 2.2.1-preview.4 | 56 | 4/16/2026 |
| 2.2.0 | 105 | 4/16/2026 |
| 2.1.1-preview.3 | 56 | 4/15/2026 |
| 2.1.1-preview.2 | 56 | 4/15/2026 |
| 2.1.1-preview.1 | 60 | 4/15/2026 |
| 2.1.0 | 101 | 4/15/2026 |
| 2.0.1-preview.2 | 51 | 4/15/2026 |