Provide means to reconfigure Apache/PHP/nginx on VMSS after initial deployment
- Dominant language
- Shell
- Stars
- 184
- Forks
- 186
- PR merge metrics
- No merged PRs in 30d
Description
Currently it's not easy to reconfigure Apache/PHP/nginx on VMSS after initial deployment. #120 introduced a hook for a custom script (`/moodle/bin/update-vmss-config`) to run every minute. However, the author of such a script must be careful making the script idempotent (that is, executing the script multiple times should be the same as executing it just once, because it's run as a cron job), and make sure to delete the script after all the VMSS instances are updated. Deleting the script would be still problematic because any newly created instances will not be able to run the script. At this point, implementing idempotency in the script seems to be the only solution.
We should provide a better means to allow users to reconfigure Apache/PHP/nginx on VMSS after initial deployment. The html content update is done by `/usr/local/bin/sync_moodle_html_local_copy_if_modified.sh` that's triggered by `update_last_modified_time.moodle_on_azure.sh` on the controller machine. We should integrate these two into one and provide a uniform way of updating both the html content (php scripts) and the Apache/PHP/nginx configs as well. This is also related to #79, as we'll ultimately need some configuration file that'll control initial installation and later updates.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading #120 and #79, then compare /moodle/bin/update-vmss-config with /usr/local/bin/sync_moodle_html_local_copy_if_modified.sh and update_last_modified_time.moodle_on_azure.sh. Done means a uniform mechanism exists for updating HTML content and Apache/PHP/nginx configuration after deployment, including newly created VMSS instances.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- apache, azure, nginx, php, shell
- Domain
- cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100