Skip to content

new helm-chart - #17

Merged
saadqbal merged 3 commits into
mainfrom
develop
Mar 4, 2026
Merged

new helm-chart#17
saadqbal merged 3 commits into
mainfrom
develop

Conversation

@saadqbal

@saadqbalsaadqbal commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

Note

High Risk
High risk because it changes Kubernetes deployment manifests (RBAC, Secrets, security contexts, PVC retention, and OpenShift SCCs) across multiple charts and adds privileged one-command installers that can impact user environments.

Overview
Adds GitHub Actions automation to lint, schema-check, unit-test, and kubeconform-validate the unified tracebloc Helm chart on PRs, plus a release workflow that packages the chart and publishes/merges index.yaml on gh-pages and uploads .tgz assets to GitHub Releases.

Updates the legacy per-platform charts (aks, bm, eks) to 1.0.4/appVersion 1.24.14 and hardens/standardizes their manifests: consistent labels/helpers and generated secret/registry names, required clientPassword, container securityContext + resource requests/limits, MySQL probes and split ConfigMap/Service, optional nodeSelector, narrowed RBAC bindings to a dedicated ServiceAccount, and PVCs marked helm.sh/resource-policy: keep (plus tighter StorageClass mount permissions).

Introduces a new OpenShift oc chart (also marked deprecated in favor of tracebloc) with namespaced RBAC option, a resource-monitor DaemonSet, and an optional custom SCC + binding to allow read-only /proc and /sys hostPath mounts; docs/README are updated with production install guidance and a new one-command local k3d/k3s Kubernetes (+ GPU) installer for macOS/Linux and Windows.

Written by Cursor Bugbot for commit 5edaf1d. This will update automatically on new commits. Configure here.

* Add initial Helm chart for tracebloc on OpenShift, including deployment templates, RBAC roles, and persistent volume claims. Introduced .helmignore for build optimizations.
* Add values.yaml configuration for OpenShift deployment, including jobs manager settings, storage class, PVCs for client data, logs, and MySQL, along with RBAC and secrets management.
* Update OpenShift deployment configurations: enable resource monitor, adjust image references to include docker.io, and enhance RBAC roles for improved access control.
* Enhance resource monitor DaemonSet configuration: update security context annotations, add custom SecurityContextConstraints for hostPath access, and improve documentation in values.yaml.
* Add JOB_IMAGE_HOST environment variable to jobs-manager-deployment.yaml for Docker image reference
* Remove CLIENT_ENV variable from values.yaml files for aks, bm, eks, and oc configurations to streamline environment settings for jobs manager.
* Update Helm chart versions to 1.0.4 for aks, bm, eks, and oc; increment appVersion to 1.24.14, add new chart files for aks, bm, eks, and oc, and remove outdated chart files for bm and eks in index.yaml.
* Enhance Helm chart for tracebloc deployment across multiple environments
- Updated .gitignore to include environment-specific secrets and Helm deployment value files.
- Added MySQL PersistentVolumeClaim and ConfigMap for configuration management.
- Introduced MySQL Deployment and Service templates for better database management.
- Enhanced jobs-manager-deployment with security context, resource requests, and environment variable management.
- Updated RBAC roles to include service account creation and improved access control.
- Added resource monitor DaemonSet configuration and associated settings.
- Improved documentation in NOTES.txt for deployment verification and component overview.
* Refactor Helm chart for unified tracebloc deployment
- Introduced a new Helm CI workflow for automated linting, templating, and validation across multiple platforms.
- Added deprecation notices for legacy charts (aks, bm, eks, oc) in favor of the unified tracebloc chart.
- Updated templates to utilize a centralized registry secret name for improved consistency.
- Enhanced values schema and default values for better configuration management.
- Added tests for jobs manager and MySQL deployment to ensure template integrity and functionality.
- Improved documentation in values.yaml and NOTES.txt for clarity on deployment configurations.
* Remove deprecated image registry and node selector configurations from Helm chart
- Eliminated `imageRegistry` and `nodeSelector` settings from various configuration files to streamline deployment.
- Updated templates to default to `docker.io` for image references, ensuring consistency across environments.
- Added PodDisruptionBudgets for jobs manager and MySQL deployments to enhance availability during maintenance.
- Improved deployment configurations with termination grace periods for better resource management.
- Enhanced documentation in NOTES.txt for clearer deployment instructions and component overview.
* Refactor Helm chart configuration for improved clarity and consistency
- Updated `MIGRATION.md` to reflect changes in cluster role configuration, replacing `useClusterScope` with `clusterScope`.
- Revised `values.schema.json` to streamline required properties and enhance descriptions for environment variables, PVCs, and RBAC settings.
- Modified `values.yaml` to consolidate environment variable settings and clarify PVC configurations.
- Enhanced template files to utilize new helper functions for PVC names and storage sizes, ensuring consistency across deployments.
- Improved test configurations to align with updated schema and values, ensuring robust validation of deployments.
* Add Kubernetes installation scripts and GPU support
- Introduced `install-k8s.sh` for a one-command Kubernetes installation on macOS and Linux, utilizing k3d for lightweight clusters.
- Added various helper scripts in the `lib` directory for GPU detection, driver installation, and cluster management.
- Enhanced `.gitignore` to exclude unnecessary files while including the `scripts/lib` directory.
- Implemented logging and utility functions for better user feedback during installation and setup processes.
- Provided a summary script to display cluster status and common commands post-installation.
* Enhance cluster management and storage configuration
- Added creation of host data directory in `_create_new_cluster` if it doesn't exist.
- Updated `HOST_DATA_DIR` default value to `$HOME/.tracebloc` for better user experience.
- Modified summary output to include volume mount information for clarity.
- Revised `MIGRATION.md` to reflect new host path structure for data, logs, and MySQL.
- Updated `values.schema.json` to change property names from `dataPath`, `logsPath`, and `mysqlPath` to `dataDir`, `logsDir`, and `mysqlDir` for consistency.
- Enhanced template files to utilize new helper functions for host path management in PVC configurations.
* Update default agent count in cluster configuration from 2 to 1 for streamlined deployment
* Update default cluster name from 'k3s-local' to 'tracebloc' for improved clarity in configuration
* Enhance AMD ROCm installation script for better package detection
- Added functions to detect Ubuntu codename and RHEL version for dynamic package retrieval.
- Implemented a method to scrape the ROCm repository for the latest .deb and .rpm files.
- Improved error handling for unsupported distributions and missing packages.
- Updated installation logic to support both Ubuntu and RHEL/CentOS systems more effectively.
* Enhance Linux setup script for improved package installation
- Updated package manager installation commands to include options for handling configuration file changes during upgrades.
- Set environment variables to ensure non-interactive installations and manage restart behavior during the setup process.
* Refactor cluster management functions for improved clarity and functionality
- Introduced `_merge_kubeconfig` to handle kubeconfig updates and context switching.
- Added `_wait_for_api` to ensure the Kubernetes API server is reachable before proceeding.
- Streamlined the `create_cluster` function by delegating kubeconfig merging and API readiness checks to the new helper functions.
* Add claimRef to PVC templates for better resource management
- Introduced claimRef with name and namespace fields in logs-pvc.yaml, mysql-storage-pvc.yaml, and shared-images-pvc.yaml to enhance the association of PersistentVolumeClaims with their respective resources.
* Update installation instructions and add bootstrap installer script
- Revised the README to include a quick installation guide for setting up a local Kubernetes cluster with GPU support using a single command.
- Introduced a new `install.sh` script that downloads necessary installation scripts and executes the Kubernetes installation process.
- Updated the `install-k8s.sh` script reference in the comments to point to the new bootstrap installer for clarity.
* Update install script to support branch selection for dynamic downloads
- Modified the `install.sh` script to allow users to specify a branch for downloading the installer, defaulting to 'main'.
- Enhanced the download message to indicate the selected branch for better user clarity.
* Fix repository URL in install script to correctly reference branch for dynamic downloads
* Fix repository URL in install script to ensure correct branch reference for dynamic downloads
* Update download message in install script for improved clarity
* Enhance macOS setup script for Docker installation
- Updated the Docker installation process to force install the application if not already present.
- Improved waiting mechanism for Docker engine startup with a configurable maximum wait time.
- Added user guidance for accepting the Docker license agreement on first launch to prevent errors during setup.
* Add Windows bootstrap installer and enhance installation scripts
- Introduced a new `install.ps1` script for Windows that downloads and executes the `install-k8s.ps1` script.
- Updated `install.sh` to include instructions for Windows users, directing them to use the new PowerShell installer.
- Enhanced error handling and retry logic in various scripts to improve robustness during downloads.
- Improved help messages and usage instructions across installation scripts for better user guidance.
* Refactor install-k8s.ps1 for improved readability and error handling
- Standardized comment formatting and improved clarity in usage instructions.
- Enhanced error messages for better user feedback during installation.
- Updated logging and banner display for a more consistent user experience.
- Refined GPU detection logic and added error handling for missing NVIDIA drivers.
* Enhance WSL setup in install-k8s.ps1 for better error handling and user guidance
- Added WSL update command with error handling to ensure the latest version is used.
- Improved feedback messages for setting WSL2 as the default version, including instructions for manual updates if necessary.
* Enhance WSL installation process in install-k8s.ps1 for improved user experience
- Implemented asynchronous WSL update with progress feedback to enhance user guidance during installation.
- Improved logic for selecting a WSL2 distribution, prioritizing Ubuntu and providing fallback options.
- Updated commands to ensure compatibility and clarity in executing WSL commands within the script.
* Refine WSL2 distribution detection and command execution in install-k8s.ps1
- Adjusted console encoding to properly handle WSL output, ensuring accurate retrieval of available distributions.
- Enhanced logic for selecting a WSL2 distribution, improving fallback behavior when no Ubuntu distro is found.
- Updated command execution for kubectl and helm to ensure compatibility and clearer output handling.
* Enhance macOS Docker installation process to detect architecture
- Added logic to determine the real hardware architecture on macOS, ensuring the correct version of Docker Desktop is installed.
- Updated the installation script to download the appropriate Docker DMG based on the detected architecture.
- Implemented verification to warn users if the installed Docker binary does not match the hardware architecture.
* Implement spinner functionality for command execution feedback
- Added a spinner utility to provide visual feedback during long-running commands in the installation scripts.
- Updated Docker, kubectl, k3d, and helm installation processes to use the new spinner functionality, enhancing user experience by indicating progress.
- Refactored existing command execution to improve clarity and maintainability.
* Enhance macOS Docker installation script with first-time setup guidance
- Introduced a check for fresh Docker installations, prompting users with setup instructions on first launch.
- Improved architecture verification to warn users if the installed Docker binary does not match their hardware.
- Adjusted waiting mechanism for Docker engine startup, reducing maximum wait time for improved responsiveness.
* Add preflight sudo check to installation scripts for macOS and Linux
- Introduced a new `preflight_sudo` function to warm the credential cache for sudo, preventing interactive prompts during installations.
- Integrated the `preflight_sudo` call at the start of both `install_macos` and `install_linux` functions to ensure necessary privileges are obtained before proceeding with installations.
- Enhanced user experience by providing clear messaging regarding administrator privileges required for the installation process.
* Add download progress bar for Docker installation in macOS setup script
- Introduced a new `download_with_progress` function to provide a visual progress bar during the download of Docker Desktop, enhancing user experience.
- Updated the `install_docker_desktop` function to utilize the new download function, replacing the previous download command with a retry mechanism for improved reliability.
- The progress bar displays percentage and size information, working seamlessly on both macOS and Linux.
* Enhance Docker startup feedback in macOS setup script
- Improved the waiting mechanism for Docker Desktop to include a visual spinner, providing real-time feedback while waiting for the Docker engine to start.
- Added informative messages to guide users if Docker is not responding, ensuring clarity on what to check during the startup process.
- Enhanced user experience by replacing static messages with dynamic updates during the waiting period.
* Implement cleanup for lingering Docker Desktop processes in macOS setup script
- Added a new function to identify and terminate any lingering Docker Desktop processes that may block a clean startup.
- Integrated the cleanup function into the Docker installation process to ensure a smooth user experience during setup.
- Enhanced overall reliability of the installation script by preventing potential startup issues related to Docker.
* Enhance installation scripts with architecture detection and validation improvements
- Introduced a new function to determine the Windows architecture, ensuring the correct binaries are downloaded for Docker Desktop and kubectl installations.
- Enhanced input validation for configuration parameters, including stricter checks for CLUSTER_NAME, SERVERS, AGENTS, HTTP_PORT, and HTTPS_PORT.
- Implemented checksum verification for downloaded binaries to ensure integrity and prevent tampering.
- Added a tool directory initialization function to streamline the installation process and ensure necessary paths are set correctly.
* Enhance install-k8s.ps1 and cluster scripts with new parameters and validation improvements
- Added a -NoReboot switch to the install-k8s.ps1 script to allow users to skip the reboot prompt after enabling Windows features.
- Updated K8S_VERSION default to a pinned version (v1.29.4-k3s1) for better stability, with clear instructions on using the latest version.
- Improved validation for HOST_DATA_DIR to ensure it is under USERPROFILE and not a system path, enhancing security.
- Refined cluster creation logic in cluster.sh to ensure exact cluster name matching and improved handling of existing clusters.
- Enhanced GPU plugin deployment scripts to download manifests to a temporary file for better integrity checks and error handling.
* Enhance installation scripts with improved messaging and new parameters
- Added TRACEBLOC_SKIP_REBOOT_PROMPT parameter to install-k8s.sh to allow skipping the reboot prompt after NVIDIA driver installation.
- Updated common.sh to provide specific feedback for Docker first-time setup, improving user guidance during installation.
- Enhanced setup-macos.sh to clarify Docker Desktop setup instructions and signal expected exit behavior for first-time installations.
* Refactor Docker Desktop installation messaging in setup-macos.sh
- Improved user guidance for first-time Docker Desktop setup, clarifying steps and expectations.
- Enhanced feedback during Docker startup with dynamic waiting messages and increased maximum wait time.
- Updated error handling to inform users if Docker does not start in the expected timeframe.
* Enhance Docker Desktop installation logic in setup-macos.sh
- Added architecture detection to ensure the correct version of Docker Desktop is installed based on the user's hardware.
- Implemented checks to remove existing Docker installations that do not match the detected architecture, improving compatibility for Apple Silicon users.
- Streamlined the installation process by consolidating architecture checks and installation conditions.
* Improve Docker Desktop installation process in setup-macos.sh
- Updated the hdiutil command to use the -nobrowse option for better handling of mounted volumes.
- Added xattr command to remove extended attributes from the Docker.app, ensuring a smoother installation experience.
* Refactor HOST_DATA_DIR validation in common.sh
- Updated the validation logic for HOST_DATA_DIR to resolve the parent directory first, improving error handling and ensuring the directory is correctly set even if the target does not exist initially.
- Enhanced error messages to provide clearer feedback when the parent directory cannot be resolved, improving user guidance during configuration.
* Implement headless Docker setup using Colima in setup-macos.sh
- Added a new function to detect headless environments and install Colima as the Docker runtime when no GUI session is available.
- Enhanced the Docker installation process to check for existing installations and start the Colima Docker daemon if necessary.
- Updated messaging to inform users about the headless setup and provide guidance on potential issues with Docker daemon startup.
* Refactor headless detection in setup-macos.sh
- Renamed the function for detecting GUI sessions to improve clarity and reliability.
- Updated the logic to check for GUI sessions using the ownership of /dev/console, enhancing detection accuracy for headless environments.
- Adjusted the Docker installation process to utilize the new function, ensuring proper handling of headless setups.
* Enhance Docker architecture validation in setup-macos.sh and common.sh
- Added a new function to check Docker Desktop architecture on macOS, providing clear instructions for users if the installed version does not match their hardware.
- Updated the Docker installation process to prompt users before replacing incorrect architecture installations, improving user experience and guidance.
- Enhanced messaging to inform users about potential performance issues related to architecture mismatches, ensuring better clarity during setup.
* Update Docker architecture detection in common.sh and setup-macos.sh
- Refactored the Docker binary path detection to use the correct main executable, improving accuracy in architecture validation.
- Enhanced the logic to check for the Docker binary's architecture, ensuring compatibility with both Intel and ARM architectures on macOS.
* Update Docker removal command in setup-macos.sh to use sudo
- Modified the Docker removal command to include 'sudo' for proper permissions, ensuring successful removal of Docker.app during installation.
- This change enhances the installation process by preventing potential permission issues when removing existing Docker installations.
* Update Docker removal comments in setup-macos.sh for clarity
- Added comments to clarify the need for 'sudo' when removing Docker.app due to protected paths.
- Noted that the official uninstall script is not used to avoid blocking issues during non-interactive runs, enhancing the installation process documentation.
* Enhance installer messaging and banner in scripts
- Updated echo statements in install.sh to provide clearer context about the Tracebloc client installer.
- Improved the banner in common.sh to reflect the Tracebloc branding and provide additional information about the setup process.
- Adjusted summary messages in summary.sh to emphasize the readiness of the Tracebloc client and the Kubernetes cluster, enhancing user feedback.
* Update zypper package manager commands in setup-linux.sh
- Modified the zypper update command to remove the '-q' flag for improved output clarity during package refresh.
- Ensured the installation command retains the '-y' flag for non-interactive installations, maintaining user experience consistency.
* Refactor k3d installation process in setup-linux.sh
- Added a fast-path check to see if k3d is already installed, improving efficiency.
- Implemented a fallback to use the openSUSE/SLES package manager (zypper) for installation when available, enhancing compatibility.
- Maintained checksum verification for downloaded k3d releases to ensure integrity, with improved error handling for checksum fetching.
- Updated success and warning messages for better user feedback during the installation process.
* Improve k3d installation fallback in setup-linux.sh
- Enhanced the fallback mechanism for k3d installation on openSUSE/SLES to log errors quietly when the package is not found.
- Updated warning messages for better clarity regarding the fallback to the upstream GitHub installer, improving user feedback during the installation process.
* Refactor k3d installation process in setup-linux.sh
- Replaced the fallback mechanism for k3d installation with the official installer script for improved reliability and simplicity.
- Removed the previous zypper installation logic and checksum verification, streamlining the installation process.
- Added error handling to ensure k3d is available on PATH after installation, enhancing user feedback and installation success verification.
* Add production-ready installation guide for tracebloc Helm chart
- Introduced a new section in README.md detailing the installation of the tracebloc Helm chart for production environments.
- Created INSTALL.md to provide comprehensive installation instructions, including prerequisites, installation methods, required configurations, and upgrade/rollback procedures.
- Added a GitHub Actions workflow for packaging and publishing the tracebloc Helm chart to GitHub Pages, ensuring users can easily access the chart for installation.
* Update README.md and jobs-manager-pdb.yaml configuration
- Removed outdated PVC identifiers from README.md for clarity and conciseness.
- Changed the 'minAvailable' setting to 'maxUnavailable' in jobs-manager-pdb.yaml to align with updated deployment strategies.

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment threadoc/templates/resource-monitor-daemonset.yaml
Comment threadmysql.yaml
* Enhance Helm chart for tracebloc deployment across multiple environments
- Updated .gitignore to include environment-specific secrets and Helm deployment value files.
- Added MySQL PersistentVolumeClaim and ConfigMap for configuration management.
- Introduced MySQL Deployment and Service templates for better database management.
- Enhanced jobs-manager-deployment with security context, resource requests, and environment variable management.
- Updated RBAC roles to include service account creation and improved access control.
- Added resource monitor DaemonSet configuration and associated settings.
- Improved documentation in NOTES.txt for deployment verification and component overview.
* Refactor Helm chart for unified tracebloc deployment
- Introduced a new Helm CI workflow for automated linting, templating, and validation across multiple platforms.
- Added deprecation notices for legacy charts (aks, bm, eks, oc) in favor of the unified tracebloc chart.
- Updated templates to utilize a centralized registry secret name for improved consistency.
- Enhanced values schema and default values for better configuration management.
- Added tests for jobs manager and MySQL deployment to ensure template integrity and functionality.
- Improved documentation in values.yaml and NOTES.txt for clarity on deployment configurations.
* Remove deprecated image registry and node selector configurations from Helm chart
- Eliminated `imageRegistry` and `nodeSelector` settings from various configuration files to streamline deployment.
- Updated templates to default to `docker.io` for image references, ensuring consistency across environments.
- Added PodDisruptionBudgets for jobs manager and MySQL deployments to enhance availability during maintenance.
- Improved deployment configurations with termination grace periods for better resource management.
- Enhanced documentation in NOTES.txt for clearer deployment instructions and component overview.
* Refactor Helm chart configuration for improved clarity and consistency
- Updated `MIGRATION.md` to reflect changes in cluster role configuration, replacing `useClusterScope` with `clusterScope`.
- Revised `values.schema.json` to streamline required properties and enhance descriptions for environment variables, PVCs, and RBAC settings.
- Modified `values.yaml` to consolidate environment variable settings and clarify PVC configurations.
- Enhanced template files to utilize new helper functions for PVC names and storage sizes, ensuring consistency across deployments.
- Improved test configurations to align with updated schema and values, ensuring robust validation of deployments.
* Add Kubernetes installation scripts and GPU support
- Introduced `install-k8s.sh` for a one-command Kubernetes installation on macOS and Linux, utilizing k3d for lightweight clusters.
- Added various helper scripts in the `lib` directory for GPU detection, driver installation, and cluster management.
- Enhanced `.gitignore` to exclude unnecessary files while including the `scripts/lib` directory.
- Implemented logging and utility functions for better user feedback during installation and setup processes.
- Provided a summary script to display cluster status and common commands post-installation.
* Enhance cluster management and storage configuration
- Added creation of host data directory in `_create_new_cluster` if it doesn't exist.
- Updated `HOST_DATA_DIR` default value to `$HOME/.tracebloc` for better user experience.
- Modified summary output to include volume mount information for clarity.
- Revised `MIGRATION.md` to reflect new host path structure for data, logs, and MySQL.
- Updated `values.schema.json` to change property names from `dataPath`, `logsPath`, and `mysqlPath` to `dataDir`, `logsDir`, and `mysqlDir` for consistency.
- Enhanced template files to utilize new helper functions for host path management in PVC configurations.
* Update default agent count in cluster configuration from 2 to 1 for streamlined deployment
* Update default cluster name from 'k3s-local' to 'tracebloc' for improved clarity in configuration
* Enhance AMD ROCm installation script for better package detection
- Added functions to detect Ubuntu codename and RHEL version for dynamic package retrieval.
- Implemented a method to scrape the ROCm repository for the latest .deb and .rpm files.
- Improved error handling for unsupported distributions and missing packages.
- Updated installation logic to support both Ubuntu and RHEL/CentOS systems more effectively.
* Enhance Linux setup script for improved package installation
- Updated package manager installation commands to include options for handling configuration file changes during upgrades.
- Set environment variables to ensure non-interactive installations and manage restart behavior during the setup process.
* Refactor cluster management functions for improved clarity and functionality
- Introduced `_merge_kubeconfig` to handle kubeconfig updates and context switching.
- Added `_wait_for_api` to ensure the Kubernetes API server is reachable before proceeding.
- Streamlined the `create_cluster` function by delegating kubeconfig merging and API readiness checks to the new helper functions.
* Add claimRef to PVC templates for better resource management
- Introduced claimRef with name and namespace fields in logs-pvc.yaml, mysql-storage-pvc.yaml, and shared-images-pvc.yaml to enhance the association of PersistentVolumeClaims with their respective resources.
* Update installation instructions and add bootstrap installer script
- Revised the README to include a quick installation guide for setting up a local Kubernetes cluster with GPU support using a single command.
- Introduced a new `install.sh` script that downloads necessary installation scripts and executes the Kubernetes installation process.
- Updated the `install-k8s.sh` script reference in the comments to point to the new bootstrap installer for clarity.
* Update install script to support branch selection for dynamic downloads
- Modified the `install.sh` script to allow users to specify a branch for downloading the installer, defaulting to 'main'.
- Enhanced the download message to indicate the selected branch for better user clarity.
* Fix repository URL in install script to correctly reference branch for dynamic downloads
* Fix repository URL in install script to ensure correct branch reference for dynamic downloads
* Update download message in install script for improved clarity
* Enhance macOS setup script for Docker installation
- Updated the Docker installation process to force install the application if not already present.
- Improved waiting mechanism for Docker engine startup with a configurable maximum wait time.
- Added user guidance for accepting the Docker license agreement on first launch to prevent errors during setup.
* Add Windows bootstrap installer and enhance installation scripts
- Introduced a new `install.ps1` script for Windows that downloads and executes the `install-k8s.ps1` script.
- Updated `install.sh` to include instructions for Windows users, directing them to use the new PowerShell installer.
- Enhanced error handling and retry logic in various scripts to improve robustness during downloads.
- Improved help messages and usage instructions across installation scripts for better user guidance.
* Refactor install-k8s.ps1 for improved readability and error handling
- Standardized comment formatting and improved clarity in usage instructions.
- Enhanced error messages for better user feedback during installation.
- Updated logging and banner display for a more consistent user experience.
- Refined GPU detection logic and added error handling for missing NVIDIA drivers.
* Enhance WSL setup in install-k8s.ps1 for better error handling and user guidance
- Added WSL update command with error handling to ensure the latest version is used.
- Improved feedback messages for setting WSL2 as the default version, including instructions for manual updates if necessary.
* Enhance WSL installation process in install-k8s.ps1 for improved user experience
- Implemented asynchronous WSL update with progress feedback to enhance user guidance during installation.
- Improved logic for selecting a WSL2 distribution, prioritizing Ubuntu and providing fallback options.
- Updated commands to ensure compatibility and clarity in executing WSL commands within the script.
* Refine WSL2 distribution detection and command execution in install-k8s.ps1
- Adjusted console encoding to properly handle WSL output, ensuring accurate retrieval of available distributions.
- Enhanced logic for selecting a WSL2 distribution, improving fallback behavior when no Ubuntu distro is found.
- Updated command execution for kubectl and helm to ensure compatibility and clearer output handling.
* Enhance macOS Docker installation process to detect architecture
- Added logic to determine the real hardware architecture on macOS, ensuring the correct version of Docker Desktop is installed.
- Updated the installation script to download the appropriate Docker DMG based on the detected architecture.
- Implemented verification to warn users if the installed Docker binary does not match the hardware architecture.
* Implement spinner functionality for command execution feedback
- Added a spinner utility to provide visual feedback during long-running commands in the installation scripts.
- Updated Docker, kubectl, k3d, and helm installation processes to use the new spinner functionality, enhancing user experience by indicating progress.
- Refactored existing command execution to improve clarity and maintainability.
* Enhance macOS Docker installation script with first-time setup guidance
- Introduced a check for fresh Docker installations, prompting users with setup instructions on first launch.
- Improved architecture verification to warn users if the installed Docker binary does not match their hardware.
- Adjusted waiting mechanism for Docker engine startup, reducing maximum wait time for improved responsiveness.
* Add preflight sudo check to installation scripts for macOS and Linux
- Introduced a new `preflight_sudo` function to warm the credential cache for sudo, preventing interactive prompts during installations.
- Integrated the `preflight_sudo` call at the start of both `install_macos` and `install_linux` functions to ensure necessary privileges are obtained before proceeding with installations.
- Enhanced user experience by providing clear messaging regarding administrator privileges required for the installation process.
* Add download progress bar for Docker installation in macOS setup script
- Introduced a new `download_with_progress` function to provide a visual progress bar during the download of Docker Desktop, enhancing user experience.
- Updated the `install_docker_desktop` function to utilize the new download function, replacing the previous download command with a retry mechanism for improved reliability.
- The progress bar displays percentage and size information, working seamlessly on both macOS and Linux.
* Enhance Docker startup feedback in macOS setup script
- Improved the waiting mechanism for Docker Desktop to include a visual spinner, providing real-time feedback while waiting for the Docker engine to start.
- Added informative messages to guide users if Docker is not responding, ensuring clarity on what to check during the startup process.
- Enhanced user experience by replacing static messages with dynamic updates during the waiting period.
* Implement cleanup for lingering Docker Desktop processes in macOS setup script
- Added a new function to identify and terminate any lingering Docker Desktop processes that may block a clean startup.
- Integrated the cleanup function into the Docker installation process to ensure a smooth user experience during setup.
- Enhanced overall reliability of the installation script by preventing potential startup issues related to Docker.
* Enhance installation scripts with architecture detection and validation improvements
- Introduced a new function to determine the Windows architecture, ensuring the correct binaries are downloaded for Docker Desktop and kubectl installations.
- Enhanced input validation for configuration parameters, including stricter checks for CLUSTER_NAME, SERVERS, AGENTS, HTTP_PORT, and HTTPS_PORT.
- Implemented checksum verification for downloaded binaries to ensure integrity and prevent tampering.
- Added a tool directory initialization function to streamline the installation process and ensure necessary paths are set correctly.
* Enhance install-k8s.ps1 and cluster scripts with new parameters and validation improvements
- Added a -NoReboot switch to the install-k8s.ps1 script to allow users to skip the reboot prompt after enabling Windows features.
- Updated K8S_VERSION default to a pinned version (v1.29.4-k3s1) for better stability, with clear instructions on using the latest version.
- Improved validation for HOST_DATA_DIR to ensure it is under USERPROFILE and not a system path, enhancing security.
- Refined cluster creation logic in cluster.sh to ensure exact cluster name matching and improved handling of existing clusters.
- Enhanced GPU plugin deployment scripts to download manifests to a temporary file for better integrity checks and error handling.
* Enhance installation scripts with improved messaging and new parameters
- Added TRACEBLOC_SKIP_REBOOT_PROMPT parameter to install-k8s.sh to allow skipping the reboot prompt after NVIDIA driver installation.
- Updated common.sh to provide specific feedback for Docker first-time setup, improving user guidance during installation.
- Enhanced setup-macos.sh to clarify Docker Desktop setup instructions and signal expected exit behavior for first-time installations.
* Refactor Docker Desktop installation messaging in setup-macos.sh
- Improved user guidance for first-time Docker Desktop setup, clarifying steps and expectations.
- Enhanced feedback during Docker startup with dynamic waiting messages and increased maximum wait time.
- Updated error handling to inform users if Docker does not start in the expected timeframe.
* Enhance Docker Desktop installation logic in setup-macos.sh
- Added architecture detection to ensure the correct version of Docker Desktop is installed based on the user's hardware.
- Implemented checks to remove existing Docker installations that do not match the detected architecture, improving compatibility for Apple Silicon users.
- Streamlined the installation process by consolidating architecture checks and installation conditions.
* Improve Docker Desktop installation process in setup-macos.sh
- Updated the hdiutil command to use the -nobrowse option for better handling of mounted volumes.
- Added xattr command to remove extended attributes from the Docker.app, ensuring a smoother installation experience.
* Refactor HOST_DATA_DIR validation in common.sh
- Updated the validation logic for HOST_DATA_DIR to resolve the parent directory first, improving error handling and ensuring the directory is correctly set even if the target does not exist initially.
- Enhanced error messages to provide clearer feedback when the parent directory cannot be resolved, improving user guidance during configuration.
* Implement headless Docker setup using Colima in setup-macos.sh
- Added a new function to detect headless environments and install Colima as the Docker runtime when no GUI session is available.
- Enhanced the Docker installation process to check for existing installations and start the Colima Docker daemon if necessary.
- Updated messaging to inform users about the headless setup and provide guidance on potential issues with Docker daemon startup.
* Refactor headless detection in setup-macos.sh
- Renamed the function for detecting GUI sessions to improve clarity and reliability.
- Updated the logic to check for GUI sessions using the ownership of /dev/console, enhancing detection accuracy for headless environments.
- Adjusted the Docker installation process to utilize the new function, ensuring proper handling of headless setups.
* Enhance Docker architecture validation in setup-macos.sh and common.sh
- Added a new function to check Docker Desktop architecture on macOS, providing clear instructions for users if the installed version does not match their hardware.
- Updated the Docker installation process to prompt users before replacing incorrect architecture installations, improving user experience and guidance.
- Enhanced messaging to inform users about potential performance issues related to architecture mismatches, ensuring better clarity during setup.
* Update Docker architecture detection in common.sh and setup-macos.sh
- Refactored the Docker binary path detection to use the correct main executable, improving accuracy in architecture validation.
- Enhanced the logic to check for the Docker binary's architecture, ensuring compatibility with both Intel and ARM architectures on macOS.
* Update Docker removal command in setup-macos.sh to use sudo
- Modified the Docker removal command to include 'sudo' for proper permissions, ensuring successful removal of Docker.app during installation.
- This change enhances the installation process by preventing potential permission issues when removing existing Docker installations.
* Update Docker removal comments in setup-macos.sh for clarity
- Added comments to clarify the need for 'sudo' when removing Docker.app due to protected paths.
- Noted that the official uninstall script is not used to avoid blocking issues during non-interactive runs, enhancing the installation process documentation.
* Enhance installer messaging and banner in scripts
- Updated echo statements in install.sh to provide clearer context about the Tracebloc client installer.
- Improved the banner in common.sh to reflect the Tracebloc branding and provide additional information about the setup process.
- Adjusted summary messages in summary.sh to emphasize the readiness of the Tracebloc client and the Kubernetes cluster, enhancing user feedback.
* Update zypper package manager commands in setup-linux.sh
- Modified the zypper update command to remove the '-q' flag for improved output clarity during package refresh.
- Ensured the installation command retains the '-y' flag for non-interactive installations, maintaining user experience consistency.
* Refactor k3d installation process in setup-linux.sh
- Added a fast-path check to see if k3d is already installed, improving efficiency.
- Implemented a fallback to use the openSUSE/SLES package manager (zypper) for installation when available, enhancing compatibility.
- Maintained checksum verification for downloaded k3d releases to ensure integrity, with improved error handling for checksum fetching.
- Updated success and warning messages for better user feedback during the installation process.
* Improve k3d installation fallback in setup-linux.sh
- Enhanced the fallback mechanism for k3d installation on openSUSE/SLES to log errors quietly when the package is not found.
- Updated warning messages for better clarity regarding the fallback to the upstream GitHub installer, improving user feedback during the installation process.
* Refactor k3d installation process in setup-linux.sh
- Replaced the fallback mechanism for k3d installation with the official installer script for improved reliability and simplicity.
- Removed the previous zypper installation logic and checksum verification, streamlining the installation process.
- Added error handling to ensure k3d is available on PATH after installation, enhancing user feedback and installation success verification.
* Add production-ready installation guide for tracebloc Helm chart
- Introduced a new section in README.md detailing the installation of the tracebloc Helm chart for production environments.
- Created INSTALL.md to provide comprehensive installation instructions, including prerequisites, installation methods, required configurations, and upgrade/rollback procedures.
- Added a GitHub Actions workflow for packaging and publishing the tracebloc Helm chart to GitHub Pages, ensuring users can easily access the chart for installation.
* Update README.md and jobs-manager-pdb.yaml configuration
- Removed outdated PVC identifiers from README.md for clarity and conciseness.
- Changed the 'minAvailable' setting to 'maxUnavailable' in jobs-manager-pdb.yaml to align with updated deployment strategies.
* Refactor hostPath configuration in values.schema.json and values.yaml
- Renamed configuration keys from 'dataDir', 'logsDir', and 'mysqlDir' to 'dataPath', 'logsPath', and 'mysqlPath' for clarity.
- Updated descriptions to reflect the new key names and their usage in path rendering.
- Adjusted helper template functions to utilize the new key names for generating paths.
- Modified test cases to align with the updated configuration structure, ensuring proper functionality for hostPath settings.
@saadqbal
saadqbal merged commit 06a10bf into mainMar 4, 2026
11 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@saadqbal