Releases: deeco/Databricks-Apps
Release list
v1.0.25 - App deployment fix
v1.0.24 - Fix app.yaml formatting and app deployment
Changes in v1.0.24
App Deployment Fix
- Fixed app.yaml file formatting with proper YAML syntax
- Removed duplicate command definition from bundle configuration
- Resolved conflict between bundle config and app.yaml file
Technical Details
- Added proper quotes around string values in app.yaml
- Removed command from resources/app.yml to avoid conflicts
- App command now properly defined in src/app/app.yaml
- Should resolve 'Error reading app.yaml file' deployment issue
Expected Behavior
- App should now deploy successfully without YAML parsing errors
- Streamlit app should start properly on the existing cluster
- No more app deployment failures due to configuration conflicts
v1.0.23 - Add cluster tags to improve existing cluster detection
Changes in v1.0.23
Cluster Configuration Enhancement
- Added tags to cluster configuration to help bundle identify existing clusters
- Tags include: bundle name, environment, and purpose
- Should improve bundle's ability to detect and reuse existing 'hello-world-cluster'
Expected Behavior
- Bundle should now better identify existing clusters with matching tags
- Reduced likelihood of creating duplicate clusters
- More reliable cluster reuse across deployments
Technical Details
- Added tags: bundle=hello-world-app-bundle, environment=prod, purpose=app-cluster
- Tags help with resource identification and management
- Improved resource tracking and lifecycle management
v1.0.22 - Fix bundle configuration to properly handle existing clusters
Changes in v1.0.22
Bundle Configuration Fix
- Removed duplicate cluster configuration from databricks.yml
- Ensured bundle properly handles existing clusters with name 'hello-world-cluster'
- Bundle should now reuse existing clusters instead of creating new ones each time
Expected Behavior
- If cluster 'hello-world-cluster' exists: reuse it
- If cluster doesn't exist: create new one with that name
- No more duplicate clusters on each deployment
Technical Details
- Cluster configuration now properly defined in resources/clusters.yml
- Bundle will detect existing clusters by name
- Improved resource management for production deployments
v1.0.21 - Latest Bundle with Simplified Cluster Management
What's Changed
π Latest Bundle Configuration
- Simplified cluster management: Let bundle handle cluster creation and naming
- Fixed app startup: Added app.yaml and improved Streamlit app
- Enhanced debugging: Better cluster visibility and status checks
π Current Bundle Features
- Cluster configuration: Spark 16.3, m5d.large, On-Demand instances
- App configuration: Streamlit app with proper command and error handling
- Job integration: Databricks job that can be triggered from the app
- Bundle deployment: Automated deployment with proper resource management
π§ Technical Details
- Uses Warning: unknown field: apps
at targets.dev.resources
in databricks.yml:20:7
Warning: unknown field: apps
at resources
in resources/app.yml:2:3
Warning: unknown field: clusters
at resources
in resources/clusters.yml:2:3
Error: cannot resolve bundle auth configuration: validate: more than one authorization method configured: oauth and pat. Config: host=https://ias-dataplatform-dev.cloud.databricks.com/, token=, client_id=your-client-id, client_secret=. Env: DATABRICKS_HOST, DATABRICKS_TOKEN, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET for cluster lifecycle
- 120-second wait for cluster readiness
- Proper app.yaml configuration for Streamlit
- Enhanced error handling in app.py
- OAuth authentication throughout
π‘ Expected Results
This release should:
- β Create cluster with correct name - hello-world-cluster
- β Start Streamlit app properly - No more python app.py errors
- β Provide clear debugging - Better visibility into deployment process
- β Handle all edge cases - Robust error handling and recovery
Monitor the deployment in GitHub Actions and Databricks UI for the hello-world-cluster.
v1.0.20 - Let Bundle Handle Cluster Creation and Naming
What's Changed
π Bug Fixes
- Simplified cluster management: Removed manual cluster creation to let bundle handle it properly
- Fixed cluster naming: Bundle should now apply the name from clusters.yml correctly
- Reduced complexity: Eliminated manual cluster detection and creation logic
π Technical Details
- Removed manual cluster creation commands from workflow
- Let Warning: unknown field: apps
at targets.dev.resources
in databricks.yml:20:7
Warning: unknown field: apps
at resources
in resources/app.yml:2:3
Warning: unknown field: clusters
at resources
in resources/clusters.yml:2:3
Error: cannot resolve bundle auth configuration: validate: more than one authorization method configured: oauth and pat. Config: host=https://ias-dataplatform-dev.cloud.databricks.com/, token=, client_id=your-client-id, client_secret=. Env: DATABRICKS_HOST, DATABRICKS_TOKEN, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET handle cluster lifecycle
- Maintained 120-second wait for cluster readiness
- Kept debugging cluster list for visibility
π‘ Why This Should Fix the Naming Issue
The previous approach was creating clusters manually, which bypassed the bundle's cluster configuration. Now:
- β Bundle creates cluster - Uses the name from
- β Proper configuration - All settings from the bundle resource are applied
- β Simplified workflow - Less complexity, fewer failure points
- β Correct naming - The should now be applied
This release should ensure the cluster is created with the correct name as specified in the bundle configuration.
v1.0.19 - Fix Cluster Recognition and Add Debugging
What's Changed
π Bug Fixes
- Fixed cluster recognition: Improved JSON parsing to properly detect existing clusters
- Enhanced debugging: Added detailed logging to show all available clusters
- Better error handling: More robust cluster detection logic
π Technical Details
- Added step for debugging
- Improved jq query with fallback for better null handling
- Added visual indicators (β
π
β οΈ β) for better log readability - Shows all available clusters when target cluster is not found
π‘ Why This Should Fix the Issue
The previous cluster detection was failing due to JSON parsing issues. This release:
- β Shows all clusters - Displays what clusters actually exist
- β Better JSON parsing - Uses more robust jq queries
- β Clear debugging - Shows exactly why cluster detection succeeds or fails
- β Prevents unnecessary creation - Should recognize existing clusters properly
This release should prevent the creation of duplicate clusters and properly use existing ones.
v1.0.18 - Fix App Startup and Streamlit Command
What's Changed
π Bug Fixes
- Fixed app startup: Added to ensure Databricks uses the correct command
- Improved Streamlit app: Added title, error handling, and better feedback in
- Centralized configuration: Ensured all app settings are in the right place for Databricks to pick up
π Technical Details
- Added with the correct command to the app source directory
- Improved for robustness and better user experience
- Maintained all previous cluster and deployment improvements
π‘ Why This Should Fix the Issue
The previous error was caused by Databricks running instead of . This release:
- β Forces the correct command via
- β Improves app robustness and error feedback
- β Should allow the app to start and run as a Streamlit app
Monitor the deployment in GitHub Actions and Databricks. If the error persists, the new logs will be more informative for further debugging.
v1.0.17 - Comprehensive Cluster Management
What's Changed
π New Features
- Comprehensive cluster management: Automatically start existing cluster or create new one if needed
- Smart cluster state detection: Checks if cluster is TERMINATED, RUNNING, or in other states
- Enhanced debugging: Detailed logging of cluster operations and states
π Technical Details
- Cluster existence check: Uses to find existing cluster
- State-aware management:
- If TERMINATED β Starts the cluster
- If RUNNING β Leaves it running
- If doesn't exist β Creates new cluster with full configuration
- Automatic cluster creation: Uses with JSON configuration
- Extended wait time: 90 seconds for cluster readiness
π‘ Why This Solves the Issue
The previous approach only tried to start existing clusters. This new approach:
- β Checks if cluster exists - Uses proper JSON parsing
- β Handles all cluster states - TERMINATED, RUNNING, etc.
- β Creates cluster if missing - Full configuration with On-Demand instances
- β Provides detailed logging - Shows exactly what's happening
This release should ensure a cluster is always available and running for the app deployment.
v1.0.16 - Fix app.yaml Parsing Error
What's Changed
π Bug Fixes
- Fixed app.yaml parsing error: Moved app command configuration to bundle resource
- Removed problematic app.yaml file: Eliminated the file that was causing parsing errors
- Improved app configuration: Centralized app settings in the bundle resource
π Technical Details
- Added to
- Deleted file that was causing parsing errors
- Maintained all other configurations (cluster, job, etc.)
π‘ Why This Fixes the Issue
The persistent 'Error reading app.yaml file' was caused by the separate file format. By moving the command configuration directly into the bundle resource:
- β Eliminates parsing errors - No separate YAML file to parse
- β Centralizes configuration - All app settings in one place
- β Uses bundle-native approach - Leverages Databricks Asset Bundle features
This release should resolve the app deployment issues and allow the app to start properly.