Repository navigation
Blacksmith v1.0.9
Release Notes
v1.0.9 - Service Recovery & UI Enhancements
π New Features
Automatic Credential Recovery from Cloud Foundry
- VCAP_SERVICES Integration: Blacksmith can now automatically recover missing service credentials from Cloud Foundry application environments
- Smart Recovery: When service instances are found without credentials in Vault during reconciliation, the system automatically searches for and recovers credentials from bound CF applications
- Service-Specific Handling: Intelligent credential normalization for different service types (RabbitMQ, Redis, PostgreSQL, MySQL, etc.)
- Audit Trail: All recovered credentials include metadata tracking the recovery source, timestamp, and originating application
RabbitMQ Dashboard Integration
- Dashboard URL Discovery: Automatically extracts and stores RabbitMQ management dashboard URLs from service credentials
- Metadata Storage: Dashboard URLs are stored in instance metadata and displayed in the Service Instance Details view
- Direct Access: One-click access to RabbitMQ management consoles from the Blacksmith UI
π Bug Fixes
SSH Connection Routing
- Fixed: SSH connections now correctly route to the selected VM instance instead of always connecting to instance 0
- Impact: Multi-instance deployments can now properly SSH to any instance through the web interface
Service Filter Display
- Fixed: Service dropdown filter now displays human-readable service names instead of service GUIDs
- Fixed: Filter state persistence - selected filters remain active after table refreshes
- Improved: Graceful handling when service catalog data is unavailable
π§ Technical Improvements
CF Manager Enhancements
- Added
GetAppEnvironmentWithVCAP()method for fetching complete app environments including VCAP_SERVICES - Added
FindAppsByServiceInstance()method to discover applications bound to specific service instances - Improved error handling and logging throughout CF operations
Reconciler Improvements
- Enhanced VaultUpdater with Cloud Foundry integration support
- New
CredentialVCAPRecoverymodule for credential recovery operations - Improved metadata management for service instances
- Better error recovery and retry logic
UI/UX Enhancements
- Improved WebSocket URL building for SSH connections with proper instance indexing
- Enhanced service filtering logic with better catalog integration
- State preservation across data refreshes for better user experience
- More informative error messages when operations fail
π Configuration
No configuration changes are required for this release. The credential recovery feature activates automatically when:
- A service instance is found without credentials during reconciliation
- The Cloud Foundry API is accessible
- Applications are bound to the service instance
β οΈ Known Issues
- Credential recovery requires at least one Cloud Foundry application to be bound to the service instance
- Dashboard URLs are only available for RabbitMQ services that include the
api_urlin their credentials
π Migration Notes
This release is fully backward compatible. No migration steps are required.
π Compatibility
- Cloud Foundry: Compatible with CF API v2 and v3
- BOSH: Compatible with BOSH Director v2.0+
- Vault: Compatible with HashiCorp Vault v1.0+
- Browsers: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
π Acknowledgments
Thanks to all contributors who helped identify and resolve these issues, particularly around the SSH routing and service filtering improvements.
π Commits since v1.0.8
- feat: credential recovery from VCAP_SERVICES and UI improvements (Wayne E. Seguin)
- fix: use correct VM instance index for blacksmith SSH connections (Wayne E. Seguin)
π¦ Release Artifacts
| File | Description | SHA256 |
|---|---|---|
blacksmith-1.0.9.tar.gz |
Server Distribution (includes UI and all platform binaries, gzip) | af9261e0... |
blacksmith-1.0.9.tar.bz2 |
Server Distribution (includes UI and all platform binaries, bzip2) | 8270feb8... |
blacksmith-darwin-amd64 |
macOS Intel | e90aaa00... |
blacksmith-darwin-arm64 |
macOS Apple Silicon (M1/M2/M3) | 5488dfaa... |
blacksmith-linux-amd64 |
Linux AMD64 | 0caf1326... |
π Installation
Server Distribution
# Download gzip version (smaller, faster decompression)
wget https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/blacksmith-1.0.9.tar.gz
tar -xzf blacksmith-1.0.9.tar.gz
# OR download bzip2 version (better compression)
wget https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/blacksmith-1.0.9.tar.bz2
tar -xjf blacksmith-1.0.9.tar.bz2
# Extract contains platform-specific binaries:
cd blacksmith-1.0.9/
ls blacksmith-* # Shows: blacksmith-linux-amd64, blacksmith-darwin-amd64, blacksmith-darwin-arm64
# Use the appropriate binary for your platform:
./blacksmith-linux-amd64 --version # For Linux
./blacksmith-darwin-amd64 --version # For macOS Intel
./blacksmith-darwin-arm64 --version # For macOS Apple SiliconmacOS/Linux Binary
# Download the appropriate binary for your system
# macOS Apple Silicon
curl -LO https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/blacksmith-darwin-arm64
# macOS Intel
curl -LO https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/blacksmith-darwin-amd64
# Linux AMD64
curl -LO https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/blacksmith-linux-amd64
# Make executable and verify
chmod +x blacksmith-*
./blacksmith-* --versionπ Verification
Download the checksums file and verify your download:
curl -LO https://github.com/blacksmith-community/blacksmith/releases/download/v1.0.9/checksums.sha256
sha256sum -c checksums.sha256