86 lines
2.6 KiB
Plaintext
86 lines
2.6 KiB
Plaintext
type: update
|
|
name: Add SFTP User
|
|
|
|
targetNodes:
|
|
nodeGroup: cp
|
|
|
|
settings:
|
|
sfpform:
|
|
fields:
|
|
- type: string
|
|
inputType: text
|
|
name: root_directory
|
|
caption: Root Directory
|
|
default: "/var/www/webroot/ROOT/"
|
|
description: "A user-specific directory will be created under this path."
|
|
required: false
|
|
- type: checkbox
|
|
name: enable_ssh
|
|
caption: Also enable SSH access
|
|
default: false
|
|
|
|
globals:
|
|
username: "user${fn.random(10000,99999)}"
|
|
password: ${fn.password(min)}
|
|
sftpHost: ${env.domain}
|
|
sftpPort: 22
|
|
|
|
onInstall:
|
|
- cmd[cp]: mkdir -p /home/jelastic/add-sftp-user-addon/
|
|
- cmd[cp]: mkdir -p /home/jelastic/add-sftp-user-addon/logs
|
|
- cmd[cp]: wget https://deploy-proxy.mightybox.io/addons/add-sftp-user/raw/branch/main/add-sftp.sh -O /home/jelastic/add-sftp-user-addon/add-sftp.sh
|
|
- cmd[cp]: chmod +x /home/jelastic/add-sftp-user-addon/*.sh
|
|
- cmd[cp]:
|
|
commands:
|
|
- echo -e "\nMatch User user*\nPasswordAuthentication yes" >> /etc/ssh/sshd_config
|
|
user: root
|
|
- cmd[cp]:
|
|
commands:
|
|
- chown root:root /var/www/webroot/ROOT
|
|
- chmod 775 /var/www/webroot/ROOT
|
|
user: root
|
|
- cmd[cp]:
|
|
commands:
|
|
- systemctl restart sshd
|
|
user: root
|
|
- api: environment.control.RestartContainer
|
|
nodeGroup: cp
|
|
nodeid: ${nodes.cp.id}
|
|
- return: installSuccess
|
|
|
|
actions:
|
|
add_sftp_user:
|
|
- cmd[cp]:
|
|
commands: bash /home/jelastic/add-sftp-user-addon/add-sftp.sh ${globals.username} ${globals.password}
|
|
user: root
|
|
- if ("${response.exitStatus}" != "0"):
|
|
return: sftpError
|
|
- return {
|
|
'result': 'success',
|
|
'message': 'Connection Details\n\n' +
|
|
'SFTP Host: ' + '${globals.sftpHost}' + '\n\n' +
|
|
'Port: ' + '${globals.sftpPort}' + '\n\n\n' +
|
|
'Login Credentials\n\n' +
|
|
'Username: ' + '${globals.username}' + '\n\n' +
|
|
'Password: ' + '${globals.password}',
|
|
'email': 'Connection Details' +
|
|
'SFTP Host: ' + '${globals.sftpHost}' + '\n' +
|
|
'Port: ' + '${globals.sftpPort}' + '\n\n' +
|
|
'Login Credentials' +
|
|
'Username: ' + '${globals.username}' + '\n' +
|
|
'Password: ' + '${globals.password}'
|
|
}
|
|
|
|
responses:
|
|
installSuccess:
|
|
type: success
|
|
message: "Installed Successfully"
|
|
sftpError:
|
|
type: error
|
|
message: "Failed to add SFTP user. Please check the server logs for more details."
|
|
|
|
buttons:
|
|
- settings: sfpform
|
|
action: add_sftp_user
|
|
caption: Add SFTP/SSH User
|
|
confirmText: "Are you sure you want to add this SFTP user?" |