-
Notifications
You must be signed in to change notification settings - Fork 0
Complete Helm chart dev mode implementation from PR #47595 with NFS and hot-reload support #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@copilot I encounter "/opt/airflow/dags" not found error when deploy airflow, we need to ensure code PVC is already existed before we run the pre-install hook |
Fixed in commit 93abea8. The code PVC was incorrectly configured as a helm pre-install hook, which caused timing issues where the init-dev-code Job tried to mount the PVC before it was fully bound. Changed the PVC to be a regular resource (like the logs PVC) by removing the Also added the |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions. |
51838fd to
792e0e7
Compare
Co-authored-by: jason810496 <68415893+jason810496@users.noreply.github.com>
Co-authored-by: jason810496 <68415893+jason810496@users.noreply.github.com>
…nstall hook runs The code PVC was using helm.sh/hook annotations which caused it to be created as a hook resource. This led to timing issues where the pre-install hook Job tried to mount the PVC before it was fully bound. Changes: - Removed helm.sh/hook and helm.sh/hook-weight annotations from code PVC - Made code PVC a regular resource (like logs PVC) so it's created before hooks - Added condition to skip PVC creation when existingClaim is specified This ensures the PVC is created and bound before the init-dev-code Job runs. Co-authored-by: jason810496 <68415893+jason810496@users.noreply.github.com>
77fd940 to
0465b2f
Compare
jason810496
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- add a new NFS Server setup for
airflow_code_volume_claimwithReadWriteManyaccess whendevMode.enabled - remove
reload_codebreeze command - add
--devflag for each Airflow components if whendevMode.enabled
…flag support - Added NFS server deployment and service for dev mode code sharing - Updated code PVC to use ReadWriteMany access mode with NFS backend - Removed reload-code breeze command as requested - Added --dev flag to all Airflow component commands when devMode is enabled: - scheduler: airflow scheduler --dev - webserver: airflow webserver --dev (Airflow <3.0) - workers: airflow celery worker --dev - triggerer: airflow triggerer --dev - dag-processor: airflow dag-processor --dev - api-server: airflow api-server --dev - Fixed scheduler deployment missing endif for serviceAccountToken block Co-authored-by: jason810496 <68415893+jason810496@users.noreply.github.com>
Completed all requested changes in commit dc234f7:
The NFS server enables ReadWriteMany access so all pods can share the code volume for hot-reloading with the --dev flag. |
Finish up the Helm chart implementation based on PR apache#47595
This PR implements dev mode support for the Airflow Helm chart to improve the Kubernetes development experience with automatic hot-reloading:
Plan:
Validation Results:
Changes:
The implementation adds:
airflow scheduler --devairflow webserver --dev(Airflow <3.0)airflow celery worker --devairflow triggerer --devairflow dag-processor --devairflow api-server --dev.Values.devMode.persistence.enabledinstead of.Values.devMode.enabledbreeze k8s restartcommand to restart specific or all airflow componentsBenefits:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.