mb-admin/mbadmin.jps

455 lines
15 KiB
Plaintext
Raw Normal View History

2024-08-22 16:54:52 +00:00
type: update
id: mbadmin
version: '1.5'
name: MB Administration
description: Mighty Box Control Panel Administration
targetNodes:
nodeGroup: cp
menu:
- confirmText: Are you sure you want to sync directories using rsync?
loadingText: Syncing directories...
caption: Sync Directories
action: rsync_directories
settings: rsyncConfig
successText: "Directory synchronized successfully from '${settings.old_directory}' to '/var/www/webroot/ROOT/'."
- confirmText: Are you sure you want to check relay installation?
loadingText: Checking relay installation...
caption: Check Relay Installation
action: check_relay_installation
successText: "${response.out}"
- confirmText: Are you sure you want to check relay status?
loadingText: Checking relay status...
caption: Check Relay Status
action: check_relay_status
successText: "${response.out}"
- confirmText: Are you sure you want to disable the relay?
loadingText: Disabling relay...
caption: Disable Relay
action: disable_relay
successText: "${response.out}"
- confirmText: Are you sure you want to enable the relay?
loadingText: Enabling relay...
caption: Enable Relay
action: enable_relay
successText: "${response.out}"
- confirmText: Are you sure you want to install Relay and OCP?
loadingText: Installing Relay and OCP
caption: Install Relay
action: install_relay
successText: "${response.out}"
- confirmText: Are you sure you want to flush keys for Redis and OCP?
loadingText: Clearing Keys
caption: Flush Keys
action: flush_keys
successText: "${response.out}"
- confirmText: Check the Redis Status?
loadingText: Checking Redis
caption: Check Redis Status
action: redis_status
successText: "${response.out}"
- confirmText: Are you sure you want to disable Redis?
loadingText: Disabling Redis
caption: Disable Redis
action: redis_disable
successText: "${response.out}"
- confirmText: Enable Redis?
loadingText: Enabling Redis
caption: Enable Redis
action: redis_enable
successText: "${response.out}"
- confirmText: Are you sure you want to flush keys for Redis?
loadingText: Clearing Keys
caption: Flush Keys
action: redis_clear_keys
successText: "${response.out}"
- confirmText: Do you want to export the WordPress database?
loadingText: Exporting WordPress Database...
caption: Export WordPress DB
action: export_wp_db
settings: dbExportConfig
successText: "Database exported successfully to /var/www/webroot/ROOT/${settings.db_filename}.sql"
- confirmText: Are you sure you want to import the WordPress database?
loadingText: Importing WordPress Database...
caption: Import WordPress DB
action: import_wp_db
settings: dbImportConfig
successText: "Database imported successfully from /var/www/webroot/ROOT/${settings.db_filename}.sql"
- confirmText: Are you sure you want to perform a search and replace?
loadingText: Performing Search and Replace...
caption: Search and Replace URL
action: search_replace_urls
settings: searchReplaceConfig
successText: "Search and Replace completed successfully for '${settings.old_url}' with '${settings.new_url}' in all tables."
settings:
rsyncConfig:
submitUnchanged: true
fields:
- name: old_directory
type: text
caption: Source Directory
required: true
searchReplaceConfig:
submitUnchanged: true
fields:
- name: old_url
type: text
caption: Old URL
required: true
- name: new_url
type: text
caption: New URL
required: true
dbImportConfig:
submitUnchanged: true
fields:
- name: db_filename
type: text
caption: Import DB Filename (without extension)
default: "wordpress_db"
dbExportConfig:
submitUnchanged: true
fields:
- name: db_filename
type: text
caption: Exported DB Filename (without extension)
default: "wordpress_db"
opcacheConfig:
submitUnchanged: true
fields:
- name: memory_consumption
type: text
caption: OPCache Memory Consumption (MB)
default: "128"
- name: interned_strings_buffer
type: text
caption: Interned Strings Buffer (MB)
default: "8"
- name: max_accelerated_files
type: text
caption: Max Accelerated Files
default: "10000"
- name: revalidate_freq
type: text
caption: Revalidate Frequency (Seconds)
default: "2"
litespeedTTL:
submitUnchanged: true
fields:
- name: sizettl
type: text
caption: Public Page Cache TTL
default: "604800"
cacheExcConfig:
submitUnchanged: true
fields:
- name: cache_exc_paths
type: text
caption: Cache Exclusion Paths
default: "/path-to-exclude"
litespeedConfig:
submitUnchanged: true
fields:
- name: TTL_PUB
type: text
caption: TTL Public (Seconds)
default: "3600"
- name: TTL_PRIV
type: text
caption: TTL Private (Seconds)
default: "1800"
- name: TTL_FRONTPAGE
type: text
caption: TTL Frontpage (Seconds)
default: "900"
- name: TTL_FEED
type: text
caption: TTL Feed (Seconds)
default: "7200"
actions:
rsync_directories:
- cmd[cp]:
commands:
- rsync -avz '${settings.old_directory}' /var/www/webroot/ROOT/
- return:
type: info
message: "Directory synchronized successfully from '${settings.old_directory}' to '/var/www/webroot/ROOT/'."
search_replace_urls:
- cmd[cp]:
commands:
- cd /var/www/webroot/ROOT/
- wp search-replace '${settings.old_url}' '${settings.new_url}' --all-tables
- wp transient delete --all
- wp cache flush
- return:
type: info
message: "Search and Replace completed successfully for '${settings.old_url}' with '${settings.new_url}' in all tables. Deleted Transients and Flushed WP Cache"
import_wp_db:
- cmd[cp]:
commands:
- cd /var/www/webroot/ROOT/
- wp db import /var/www/webroot/ROOT/${settings.db_filename}.sql
- return:
type: info
message: "Database imported successfully from /var/www/webroot/ROOT/${settings.db_filename}.sql"
export_wp_db:
- cmd[cp]:
commands:
- cd /var/www/webroot/ROOT/
- wp db export /var/www/webroot/ROOT/${settings.db_filename}.sql --allow-root
- return:
type: info
message: "Database exported successfully to /var/www/webroot/ROOT/${settings.db_filename}.sql"
enable_opcache:
- cmd[cp]:
user: root
commands:
- OP_INI='/usr/local/lsws/lsphp/etc/php.d/10-opcache.ini'
- sed -i 's/opcache.enable=0/opcache.enable=1/' $OP_INI
- restartNodes:
- nodeGroup: "cp"
reboot: true
- return: enableSuccess
disable_opcache:
- cmd[cp]:
user: root
commands:
- OP_INI='/usr/local/lsws/lsphp/etc/php.d/10-opcache.ini'
- sed -i 's/opcache.enable=1/opcache.enable=0/' $OP_INI
- restartNodes:
- nodeGroup: "cp"
reboot: true
- return: disableSuccess
clear_opcache:
- cmd[cp]:
user: root
commands:
- echo "<?php opcache_reset(); ?>" | php
- return: clearSuccess
opcache_status:
- cmd[cp]:
user: root
commands:
- echo "<?php echo json_encode(['opcache_enabled' => opcache_get_status(false)['opcache_enabled']]); ?>" | php
- return:
type: info
message: "${response.out}"
opcache_summary:
- cmd[cp]:
user: root
commands:
- echo "<?php \$status = opcache_get_status(false); echo json_encode(['memory_usage' => \$status['memory_usage'], 'opcache_statistics' => \$status['opcache_statistics']]); ?>" | php
- return:
type: info
message: "${response.out}"
opcache_statistics:
- cmd[cp]:
user: root
commands:
- echo "<?php \$status = opcache_get_status(true); echo json_encode(['scripts' => \$status['scripts'], 'opcache_statistics' => \$status['opcache_statistics'], 'jit' => \$status['jit']]); ?>" | php
- return:
type: info
message: "${response.out}"
opcache_fetch_settings:
- cmd[cp]:
user: root
commands:
- echo "<?php \$ini = parse_ini_file('/usr/local/lsws/lsphp/etc/php.d/10-opcache.ini'); echo json_encode(['memory_consumption' => \$ini['opcache.memory_consumption'], 'interned_strings_buffer' => \$ini['opcache.interned_strings_buffer'], 'max_accelerated_files' => \$ini['opcache.max_accelerated_files'], 'revalidate_freq' => \$ini['opcache.revalidate_freq']]); ?>" | php
- return:
type: info
message: "${response.out}"
opcache_update_settings:
- cmd[cp]:
user: root
commands:
- bash /home/litespeed/mbmanager/update_opcache_settings.sh "${settings.memory_consumption}" "${settings.interned_strings_buffer}" "${settings.max_accelerated_files}" "${settings.revalidate_freq}"
- restartNodes:
- nodeGroup: "cp"
reboot: true
- return:
type: info
message: "OPCache settings updated successfully."
litespeed_status:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option get cache
- return:
type: info
message: "${response.out}"
litespeed_enable:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option set cache 1
- return:
type: info
message: "LiteSpeed Enabled."
litespeed_disable:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option set cache 0
- return:
type: info
message: "LiteSpeed Disabled."
litespeed_purgeall:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-purge all
- return:
type: info
message: "LiteSpeed Purged Cache."
litespeed_ver:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option get _version
- return:
type: info
message: "${response.out}"
litespeed_ttlpub:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option get cache-ttl_pub
- return:
type: info
message: "${response.out}"
litespeed_set_ttlpub:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option set cache-ttl_pub "${settings.sizettl}"
- return:
type: info
message: "${response.out}"
update_cache_exc:
- cmd[cp]:
commands:
- wp --path=/var/www/webroot/ROOT litespeed-option set cache-exc "${settings.cache_exc_paths}"
- return:
type: info
message: "${response.out}"
get_litespeed_ttl_values:
- cmd[cp]:
commands:
- bash /home/jelastic/mbmanager/litespeed_fetch_settings.sh
- return:
type: info
message: "${response.out}"
litespeed_update_settings:
- cmd[cp]:
commands:
- bash /home/jelastic/mbmanager/litespeed_update_settings.sh "${settings.TTL_PUB}" "${settings.TTL_PRIV}" "${settings.TTL_FRONTPAGE}" "${settings.TTL_FEED}"
- restartNodes:
- nodeGroup: "cp"
reboot: true
- return:
type: info
message: "LiteSpeed cache settings updated successfully."
check_relay_installation:
- cmd[cp]:
user: root
commands:
- bash /home/jelastic/mbmanager/relay/check_relay_installation.sh
- return:
type: info
message: "${response.out}"
check_relay_status:
- cmd[cp]:
user: root
commands:
- bash /home/jelastic/mbmanager/relay/check_relay_status.sh
- return:
type: info
message: "${response.out}"
disable_relay:
- cmd[cp]:
user: root
commands:
- bash /home/jelastic/mbmanager/relay/disable_relay.sh
- return:
type: info
message: "${response.out}"
enable_relay:
- cmd[cp]:
user: root
commands:
- bash /home/jelastic/mbmanager/relay/enable_relay.sh
- return:
type: info
message: "${response.out}"
install_relay:
- cmd[cp]:
commands:
- bash /home/jelastic/mbmanager/relay/install_relay_ocp.sh
- return:
type: info
message: "${response.out}"
flush_keys:
- cmd[cp]:
commands:
- bash /home/jelastic/mbmanager/relay/flush_caches.sh
- return:
type: info
message: "${response.out}"
redis_status:
- cmd[cp]:
commands:
- sudo systemctl list-units --type=service | grep redis
- return:
type: info
message: "${response.out}"
redis_disable:
- cmd[cp]:
commands:
- sudo systemctl stop redis
- return:
type: info
message: "Redis has been stopped successfully"
redis_enable:
- cmd[cp]:
commands:
- sudo systemctl restart redis
- return:
type: info
message: "Redis has been successfully restarted"
redis_clear_keys:
- cmd[cp]:
commands:
- redis-cli -s /var/run/redis/redis.sock FLUSHALL
- return:
type: info
message: "${response.out}"
responses:
enableSuccess:
type: success
message: "OPCache enabled successfully."
disableSuccess:
type: success
message: "OPCache disabled successfully."
clearSuccess:
type: success
message: "OPCache cleared successfully."
buttons:
- settings: opcacheConfig
action: opcache_update_settings
caption: Update OPCache Settings
submitButtonText: Update OpCache
- settings: litespeedTTL
action: litespeed_set_ttlpub
caption: Change TTL for cache-ttl_pub in seconds
submitButtonText: Update TTL
- settings: cacheExcConfig
action: update_cache_exc
caption: Update Cache Exclusion Paths
submitButtonText: Update Paths
- settings: litespeedConfig
action: litespeed_update_settings
caption: Update LiteSpeed Cache Settings
submitButtonText: Update Cache Settings