wp-performance-cluster/scripts/events.jps

67 lines
2.2 KiB
Plaintext
Executable File

type: update
id: wordpress-cluster-events
name: WordPress Cluster Events
baseUrl: https://deploy.mightybox.io/kits/wp-performance-cluster/raw/branch/main/
onAfterScaleOut[nodeGroup:bl]: setupCacheSync
onAfterScaleIn[bl]: setupCacheSync
onAfterScaleIn[cp]: updateTriggers
onAfterScaleOut[nodeGroup:cp]: updateTriggers
onAfterStart:
cmd[cp]: sudo jem service restart
onAfterInstallAddon [nodeGroup:bl, id:letsencrypt-ssl-addon]:
- cmd[${nodes.bl.master.id}]: source /opt/letsencrypt/settings && echo $domain
- cmd[${nodes.cp.master.id}]: bash ~/bin/setupWP.sh --url https://${response.out};
onAfterClone:
- install: /scripts/setupHA4LB.jps?_r=${fn.random}
envName: ${event.response.env.envName}
- install: /scripts/balancerRebuild.jps?_r=${fn.random}
envName: ${event.response.env.envName}
- install: /scripts/setupDomain.jps?_r=${fn.random}
envName: ${event.response.env.envName}
settings:
domain: ${event.response.env.domain}
- install: /scripts/cacheClean.jps?_r=${fn.random}
envName: ${event.response.env.envName}
- script: delete MANIFEST.id; return {result:0, jps:MANIFEST};
- install: ${response.jps}
envName: ${event.response.env.envName}
onBeforeMigrate:
- cmd[${nodes.cp.master.id}]: wp option get siteurl --path=/var/www/webroot/ROOT | cut -d'/' -f3;
- if (/${response.out}/.test(env.domain)):
cmd[${nodes.cp.master.id}]: echo true > ~/migrate
- else:
cmd[${nodes.cp.master.id}]: echo false > ~/migrate
onAfterMigrate:
- install: /scripts/setupHA4LB.jps?_r=${fn.random}
- install: /scripts/balancerRebuild.jps?_r=${fn.random}
- cmd[${nodes.cp.master.id}]: if test -f ~/migrate; then cat ~/migrate; fi
- if (/${response.out}/.test(true)):
- install: /scripts/setupDomain.jps?_r=${fn.random}
settings:
domain: ${env.domain}
- install: /scripts/cacheClean.jps?_r=${fn.random}
actions:
setupCacheSync:
- if (/litespeed/.test("${nodes.bl.nodeType}")):
- install: /scripts/setupHA4LB.jps?_r=${fn.random}
updateTriggers:
if (!${event.params.auto:true}):
- log: update scaling trigger
- script: /scripts/updateTriggers.js
count: ${nodes.cp.length}