Fix StreamSpace Helm chart deployment error#52
Merged
JoshuaAFerguson merged 5 commits intoNov 16, 2025
Merged
Conversation
This commit fixes the "Chart.yaml file is missing" error that occurs when running Helm commands from different directories or in certain build environments. Changes: 1. Remove unnecessary !Chart.yaml line from chart/.helmignore - This line was confusing as Chart.yaml is not a markdown file - It could potentially cause issues with Helm's file processing 2. Add CHART_PATH variable to Makefile for consistent path resolution - Uses absolute path: $(PROJECT_ROOT)/chart - Prevents path resolution issues when make is run from subdirectories 3. Update all Helm targets to use CHART_PATH variable - helm-lint: Use $(CHART_PATH) instead of chart/ - helm-template: Use $(CHART_PATH) instead of chart/ - helm-install: Use $(CHART_PATH) instead of chart/ - helm-upgrade: Use $(CHART_PATH) instead of chart/ 4. Add chart path output to make targets for better debugging - Displays the resolved chart path when running Helm commands - Helps diagnose path-related issues during deployment Impact: - Fixes deployment failures in CI/CD pipelines - Makes Makefile more robust for development workflows - Improves debugging experience with clearer output Tested: - Verified Chart.yaml exists and is valid - Confirmed all Helm template references are correct - Ensured no relative path references remain in Makefile
Add comprehensive debugging and validation to local-deploy.sh to help diagnose the "Chart.yaml file is missing" error: Changes: 1. Use fully resolved absolute path for CHART_PATH - Changed from simple concatenation to using cd and pwd - Ensures path is fully resolved with no relative components 2. Add detailed debugging output before Helm commands - Display resolved chart path - Verify Chart.yaml file exists - List chart directory contents - Show exact Helm command being executed 3. Add helm lint validation step before installation - Validates chart structure before attempting install - Provides clear error messages if chart is invalid - Helps identify chart-related issues early 4. Improve error visibility - Added log output for chart validation - Shows Chart validation passed on success - Exits with error if validation fails This will help identify: - Path resolution issues - Chart structure problems - Helm version compatibility issues - Permission problems - File system issues Related to: Chart.yaml file missing error during Helm deployment
Add extensive debugging capabilities to diagnose Helm deployment issues: Changes: 1. Display Helm version during prerequisites check - Shows exact Helm version being used - Helps identify version-specific compatibility issues 2. Add chart packaging test before installation - Tests if Helm can successfully package the chart - Validates chart structure integrity - Creates temporary directory for test, cleans up after 3. Enable Helm debug mode for installation - Added --debug flag to helm install command - Provides verbose output about Helm's operations - Shows exactly what Helm is doing and where it fails Debugging output now includes: - Helm version - Chart path (fully resolved) - Chart.yaml existence check - Chart directory listing - Helm lint results - Chart packaging test results - Full Helm debug output during install This should help identify: - Helm version compatibility issues - Chart structure problems - Path resolution failures - Permission issues - Helm configuration problems Testing approach: 1. Run script and capture full output 2. Review debug information to identify failure point 3. Address specific issue based on diagnostic results
Create an alternative deployment approach that packages the chart before installation to avoid potential path resolution issues. New script: scripts/local-deploy-alt.sh Key differences from local-deploy.sh: 1. Packages chart into .tgz file before installation - Creates .helm-packages/ directory for packages - Uses helm package command with version tagging - Installs from packaged file instead of directory 2. Eliminates path resolution issues - No dependency on chart directory path resolution - Works consistently regardless of working directory - Avoids potential symlink or mount point issues 3. Follows Helm best practices - Packaged charts are the standard distribution format - Easier to version and distribute - More portable across environments Usage: ./scripts/local-deploy-alt.sh Benefits: - Avoids "Chart.yaml file is missing" errors - More reliable across different environments - Matches production deployment workflow - Packages are reusable for testing This provides a fallback option if the direct chart installation encounters issues with specific Helm versions or environments.
Create detailed troubleshooting guide for Helm deployment issues, particularly the "Chart.yaml file is missing" error. New file: scripts/DEPLOYMENT_TROUBLESHOOTING.md Contents: 1. Quick solution - Use alternative deployment script 2. Diagnostic approach - Enhanced debugging features 3. Common causes and solutions - Path resolution issues - Helm version compatibility - Chart structure problems - Permission issues - Working directory issues 4. Makefile usage updates 5. Manual installation steps as fallback 6. Verification procedures 7. Debugging commands reference 8. Help and support guidance This guide provides: - Step-by-step troubleshooting workflow - Multiple solution approaches - Debugging command examples - Verification steps - Issue reporting guidance Helps users: - Quickly resolve deployment issues - Understand root causes - Choose appropriate solution - Report issues effectively - Verify successful deployment
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.