Azure / Azure/Moodle

Provide means to reconfigure Apache/PHP/nginx on VMSS after initial deployment

Open
#121 0 comments 0 reactions 0 assignees View on GitHub
enhancement Priority 1 (may address)
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.