New Changes

main
Anthony 2024-09-21 02:51:01 +08:00
parent b9b56619bc
commit 68a87feca3
2 changed files with 35 additions and 42 deletions

View File

@ -1,5 +1,5 @@
jpsType: install jpsType: install
jpsVersion: '1.7.2' jpsVersion: '0.1'
id: wordpress id: wordpress
name: MightyBox WordPress Kit name: MightyBox WordPress Kit
categories: categories:
@ -25,42 +25,38 @@ mixins:
- /scripts/common.yml - /scripts/common.yml
globals: globals:
isSingleDeploy: true isSingleDeploy: ${settings.isSingleDeploy:true}
BASE_URL: https://deploy.mightybox.io/kits/wp-mb-kit/raw/branch/main BASE_URL: https://deploy.mightybox.io/kits/wp-mb-kit/raw/branch/main
DB_USER: user-${fn.random} DB_USER: ${settings.DB_USER:user-[fn.random]}
DB_PASS: ${fn.password(10)} DB_PASS: ${settings.DB_PASS:[fn.password(10)]}
DB_HOST: 127.0.0.1 DB_HOST: 127.0.0.1
PROTOCOL: http PROTOCOL: http
WP_ADMIN_PASS: ${fn.password(10)} WP_ADMIN_PASS: ${settings.WP_ADMIN_PASS:[fn.password(10)]}
SUCCESS: default SUCCESS: default
le-addon: true
DOMAIN: ${env.domain}
WP_ADMIN_PASS: ${fn.password(10)}
WP_TITLE: ${env.domain}
WP_URL: ${globals.PROTOCOL}://${globals.DOMAIN}/
onInstall: onInstall:
- addLimits - addLimits
- addMetadata - addMetadata
- initLEsettings - initLEsettings
- setupNode - setupNode:
nodeId: cp
- if (${globals.isSingleDeploy}): - if (${globals.isSingleDeploy}):
- setProtocol - setProtocol
- setDomain - setDomain
- createUserDB - createUserDB
- installWordpress - installWordpress
- if (${globals.le-addon}): - if (${settings.le-addon:false}):
- installLEaddon - installLEaddon
- setupLEdomain - setupLEdomain
- installMBaddons - installMBaddons
- install: - install:
- jps: /scripts/events.jps?_r=${fn.random} - jps: /scripts/events.jps?_r=${fn.random}
- jps: ${globals.BASE_URL}/scripts/addons.jps?_r=${fn.random} - jps: ${globals.BASE_URL}/scripts/addons.jps?_r=${fn.random}
- if ('${settings.success_email}' != 'false'): - if ('${settings.success_email}' != 'false'):
- return: - return:
type: success type: success
message: /success/text/success-${globals.SUCCESS}.md?_r=${fn.random} message: /success/text/success-${globals.SUCCESS}.md?_r=${fn.random}
email: /success/email/success-${nodes.cp.master.nodeType}-${globals.SUCCESS}.md?_r=${fn.random} email: /success/email/success-${nodes.cp.master.nodeType}-${globals.SUCCESS}.md?_r=${fn.random}
actions: actions:
addLimits: addLimits:
@ -73,17 +69,16 @@ actions:
script: | script: |
var metadata = { project: "${settings.project:default}", projectScope: "${settings.projectScope:production}" }; var metadata = { project: "${settings.project:default}", projectScope: "${settings.projectScope:production}" };
return api.env.control.ApplyEnvProperty ? return api.env.control.ApplyEnvProperty ?
api.env.control.ApplyEnvProperty('${env.envName}', session, metadata) : api.env.control.ApplyEnvProperty('${env.name}', session, metadata) :
api.env.control.ApplyNodeGroupData('${env.envName}', session, 'cp', metadata); api.env.control.ApplyNodeGroupData('${env.name}', session, 'cp', metadata);
setProtocol: setProtocol:
- script: | - script: |
var resp = jelastic.billing.account.GetQuotas('environment.jelasticssl.enabled');
return { return {
result: resp.result, result:0,
ssl: resp.array[0] ? resp.array[0].value : false ssl: jelastic.billing.account.GetQuotas('environment.jelasticssl.enabled').array[0].value
}; }
- if (${response.ssl} || ${globals.le-addon}): - if (${response.ssl} || ${settings.le-addon:false}):
setGlobals: setGlobals:
PROTOCOL: https PROTOCOL: https
@ -94,7 +89,7 @@ actions:
DOMAIN: ${response.domains} DOMAIN: ${response.domains}
installLEaddon: installLEaddon:
- install: https://raw.githubusercontent.com/jelastic-jps/lets-encrypt/master/manifest.jps?_r=${fn.random} - install: https://github.com/jelastic-jps/lets-encrypt/blob/master/manifest.jps?_r=${fn.random}
nodeGroup: cp nodeGroup: cp
skipEmail: true skipEmail: true
settings: settings:
@ -105,11 +100,10 @@ actions:
initLEsettings: initLEsettings:
- script: | - script: |
var resp = jelastic.billing.account.GetQuotas('environment.externalip.enabled');
return { return {
result: resp.result, result:0,
extIP: resp.array[0] ? Boolean(resp.array[0].value) : false extIP: Boolean(jelastic.billing.account.GetQuotas('environment.externalip.enabled').array[0].value)
}; }
- setGlobals: - setGlobals:
isExtIP: ${response.extIP} isExtIP: ${response.extIP}
@ -124,8 +118,7 @@ actions:
setupLEdomain: setupLEdomain:
- cmd[cp]: |- - cmd[cp]: |-
source /opt/letsencrypt/settings; source /opt/letsencrypt/settings;
bash ~/bin/setupWP.sh --url https://${globals.DOMAIN}; bash ~/bin/setupWP.sh --url https://${domain};
user: root
installWordpress: installWordpress:
- install: ${globals.BASE_URL}/scripts/installWP.jps - install: ${globals.BASE_URL}/scripts/installWP.jps
@ -152,12 +145,12 @@ actions:
- install: https://raw.githubusercontent.com/jelastic/templates/master/config_v2.jps?_r=${fn.random} - install: https://raw.githubusercontent.com/jelastic/templates/master/config_v2.jps?_r=${fn.random}
settings: settings:
targetGroup: cp targetGroup: cp
targetNodes: ${nodes.cp.id} targetNodes: ${this.nodeId}
optimization: wordpress optimization: wordpress
createUserDB: createUserDB:
- log: Create user for DataBase - log: Create user for DataBase
- cmd[cp]: |- - cmd [cp]: |-
wget https://raw.githubusercontent.com/jelastic-jps/wordpress-cluster/master/configs/sqldb/wordpress.cnf -O /etc/mysql/conf.d/wordpress.cnf &>> /var/log/run.log; wget https://raw.githubusercontent.com/jelastic-jps/wordpress-cluster/master/configs/sqldb/wordpress.cnf -O /etc/mysql/conf.d/wordpress.cnf &>> /var/log/run.log;
wget https://deploy-proxy.mightybox.io/kits/wp-mb-kit/raw/branch/main/scripts/setupUser.sh -O ~/setupUser.sh &>> /var/log/run.log; wget https://deploy-proxy.mightybox.io/kits/wp-mb-kit/raw/branch/main/scripts/setupUser.sh -O ~/setupUser.sh &>> /var/log/run.log;
bash ~/setupUser.sh ${globals.DB_USER} ${globals.DB_PASS} &>> /var/log/run.log; bash ~/setupUser.sh ${globals.DB_USER} ${globals.DB_PASS} &>> /var/log/run.log;

View File

@ -3,10 +3,10 @@ var isLS = jelastic.dev.apps.GetApp(lsAppid);
// Define settings statically // Define settings statically
var settings = { var settings = {
phpVersion: "php8.3", // Match variable name phpVersion: "php8.3",
lsAddon: true, // Simplify and match name lsAddon: true,
wafAddon: true, // Simplify and match name wafAddon: true,
wpProtectAddon: true // Simplify and match name wpProtectAddon: true
}; };
return { return {