mirror of
https://github.com/kairos-io/kcrypt-challenger.git
synced 2025-09-26 13:04:30 +00:00
65 lines
2.7 KiB
Bash
65 lines
2.7 KiB
Bash
![]() |
#!/bin/bash
|
||
|
|
||
|
# Example script demonstrating the new CLI interface for kcrypt-challenger
|
||
|
# This makes testing and debugging much easier than using the plugin interface
|
||
|
|
||
|
echo "=== kcrypt-challenger CLI Examples ==="
|
||
|
echo
|
||
|
|
||
|
# Build the binary if it doesn't exist
|
||
|
if [ ! -f "./kcrypt-discovery-challenger" ]; then
|
||
|
echo "Building kcrypt-discovery-challenger..."
|
||
|
go build -o kcrypt-discovery-challenger ./cmd/discovery/
|
||
|
echo
|
||
|
fi
|
||
|
|
||
|
echo "1. Show help:"
|
||
|
./kcrypt-discovery-challenger --help
|
||
|
echo
|
||
|
|
||
|
echo "2. Show version:"
|
||
|
./kcrypt-discovery-challenger --version
|
||
|
echo
|
||
|
|
||
|
echo "3. Test CLI mode with example parameters (will fail without server, but shows the flow):"
|
||
|
echo " Command: ./kcrypt-discovery-challenger --partition-name=/dev/sda2 --partition-uuid=12345-abcde --partition-label=encrypted-data --attempts=1"
|
||
|
echo " Expected: Error connecting to server, but flow detection should work"
|
||
|
echo
|
||
|
./kcrypt-discovery-challenger --partition-name=/dev/sda2 --partition-uuid=12345-abcde --partition-label=encrypted-data --attempts=1 2>&1 || true
|
||
|
echo
|
||
|
|
||
|
echo "4. Test CLI mode with configuration overrides:"
|
||
|
echo " Command: ./kcrypt-discovery-challenger --partition-name=/dev/sda2 --partition-uuid=12345-abcde --partition-label=encrypted-data --challenger-server=https://custom-server.com:8082 --mdns=true --attempts=1"
|
||
|
echo " Expected: Same error but with custom server configuration"
|
||
|
echo
|
||
|
./kcrypt-discovery-challenger --partition-name=/dev/sda2 --partition-uuid=12345-abcde --partition-label=encrypted-data --challenger-server=https://custom-server.com:8082 --mdns=true --attempts=1 2>&1 || true
|
||
|
echo
|
||
|
|
||
|
echo "4. Check the log file for flow detection:"
|
||
|
if [ -f "/tmp/kcrypt-challenger-client.log" ]; then
|
||
|
echo " Log contents:"
|
||
|
cat /tmp/kcrypt-challenger-client.log
|
||
|
echo
|
||
|
else
|
||
|
echo " No log file found"
|
||
|
fi
|
||
|
|
||
|
echo "5. Test plugin mode (for comparison):"
|
||
|
echo " Command: echo '{\"data\": \"{\\\"name\\\": \\\"/dev/sda2\\\", \\\"uuid\\\": \\\"12345-abcde\\\", \\\"filesystemLabel\\\": \\\"encrypted-data\\\"}\"}' | ./kcrypt-discovery-challenger discovery.password"
|
||
|
echo " Expected: Same behavior as CLI mode"
|
||
|
echo
|
||
|
echo '{"data": "{\"name\": \"/dev/sda2\", \"uuid\": \"12345-abcde\", \"filesystemLabel\": \"encrypted-data\"}"}' | ./kcrypt-discovery-challenger discovery.password 2>&1 || true
|
||
|
echo
|
||
|
|
||
|
echo "=== Summary ==="
|
||
|
echo "✅ CLI interface successfully created"
|
||
|
echo "✅ Full compatibility with plugin mode maintained"
|
||
|
echo "✅ Same backend logic used for both interfaces"
|
||
|
echo "✅ Flow detection works in both modes"
|
||
|
echo ""
|
||
|
echo "Benefits:"
|
||
|
echo "- Much easier testing during development"
|
||
|
echo "- Can be used for debugging in production"
|
||
|
echo "- Clear command-line interface with help and examples"
|
||
|
echo "- Maintains full compatibility with kcrypt integration"
|