Skip to content

Blacksmith v1.0.9

Choose a tag to compare

@github-actions github-actions released this 24 Aug 19:06
· 72 commits to dev since this release

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 CredentialVCAPRecovery module 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:

  1. A service instance is found without credentials during reconciliation
  2. The Cloud Foundry API is accessible
  3. 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_url in 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 Silicon

macOS/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