github RunOnFlux/flux v8.1.0

10 hours ago

v8.1.0

Summary

This release introduces graceful SIGTERM handling for improved node lifecycle management, fixes critical authentication issues for private container registries (AWS ECR, Azure ACR, Google GAR), and includes various bug fixes and optimizations.

New Features

🔄 Graceful SIGTERM Handling

  • Smart shutdown detection: Distinguishes between system reboots/shutdowns versus process manager restarts (systemd/pm2)
  • Network-wide notification: Nodes broadcast fluxnodesigterm messages to notify peers of graceful shutdowns
  • Faster app respawning: When a node shuts down gracefully, other nodes can immediately begin respawning affected applications instead of waiting for timeout
  • TTL-managed records: Database records are updated with adjusted expiration times during graceful shutdowns
  • Message verification: SIGTERM broadcasts include timestamp validation (4-minute window) and IP address verification

📦 Running Apps Cache

  • New runningAppsCache global state to track broadcasted running applications
  • Prevents redundant broadcasts and improves synchronization across the network
  • Cache is properly cleaned up during app removal, reinstallation, and uninstallation workflows

Bug Fixes

🔐 Private Registry Authentication

  • testAppInstall: Now correctly passes authentication credentials and specification details to verifyRepository function
  • verifyAndPullImage: Includes previously missing appName parameter for proper credential isolation
  • Bearer token support: Fixed Azure ACR and Google GAR authentication by using pre-obtained OAuth bearer tokens directly rather than attempting token exchange at the registry realm

🐳 Docker Image Validation

  • Optional namespace: Image namespace is now optional since only Docker Hub requires it - AWS ECR, Azure ACR, and Google GAR work correctly without mandatory namespaces

💰 Price Calculator

  • Fixed calculation logic by removing version-specific instance base logic - now consistently subtracts 3 base instances for surcharge calculations

Performance Improvements

  • Adjusted broadcasting intervals from 4/60 minutes to 1/2 minutes for more frequent app status updates
  • Improved cache management reduces unnecessary network traffic

Files Changed

File Changes
fluxCommunication.js +81 - New SIGTERM message handler
fluxCommunicationUtils.js +5 - SIGTERM message type verification
appLifecycle/advancedWorkflows.js +12 - Cache cleanup on reinstall
appLifecycle/appUninstaller.js +6 - Cache removal on uninstall
appMessaging/peerNotification.js +8 - Cache sync during notifications
appLifecycle/appInstaller.js +7 - Auth credentials for testAppInstall
imageVerifier.js +17 - Bearer token support, optional namespace
serviceManager.js -2 - Adjusted broadcast intervals
appUtilities.js -2 - Fixed price calculation
globalState.js +4 - New runningAppsCache

Total: +1,059 additions, -10 deletions across 16 files

Don't miss a new flux release

NewReleases is sending notifications on new releases.