add-sftp-user/manifest.jps

86 lines
2.6 KiB
Plaintext
Raw Normal View History

2023-10-26 15:54:56 +00:00
type: update
name: Add SFTP User
2023-10-27 15:22:09 +00:00
2023-10-26 15:54:56 +00:00
targetNodes:
nodeGroup: cp
settings:
sfpform:
fields:
- type: string
inputType: text
name: root_directory
caption: Root Directory
2023-10-30 16:13:29 +00:00
default: "/var/www/webroot/ROOT/"
description: "A user-specific directory will be created under this path."
2023-10-30 16:13:29 +00:00
required: false
2023-10-26 15:54:56 +00:00
- type: checkbox
name: enable_ssh
caption: Also enable SSH access
default: false
globals:
2023-10-30 17:09:45 +00:00
username: "user${fn.random(10000,99999)}"
password: ${fn.password(min)}
2023-10-26 15:54:56 +00:00
sftpHost: ${env.domain}
sftpPort: 22
onInstall:
2023-10-30 12:52:48 +00:00
- cmd[cp]: mkdir -p /home/jelastic/add-sftp-user-addon/
- cmd[cp]: mkdir -p /home/jelastic/add-sftp-user-addon/logs
2023-10-30 12:52:48 +00:00
- 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
2023-10-30 12:52:48 +00:00
user: root
- cmd[cp]:
commands:
- systemctl restart sshd
user: root
2023-10-30 13:21:51 +00:00
- api: environment.control.RestartContainer
2023-10-30 13:27:05 +00:00
nodeGroup: cp
nodeid: ${nodes.cp.id}
2023-10-27 15:17:35 +00:00
- return: installSuccess
2023-10-26 15:54:56 +00:00
actions:
add_sftp_user:
2023-10-30 12:52:48 +00:00
- cmd[cp]:
2023-10-30 17:09:45 +00:00
commands: bash /home/jelastic/add-sftp-user-addon/add-sftp.sh ${globals.username} ${globals.password}
2023-10-30 12:52:48 +00:00
user: root
2023-10-30 13:13:03 +00:00
- if ("${response.exitStatus}" != "0"):
2023-10-30 17:09:45 +00:00
return: sftpError
2023-10-31 11:16:03 +00:00
- 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}'
}
2023-10-27 14:37:19 +00:00
responses:
2023-10-27 15:17:35 +00:00
installSuccess:
2023-10-27 16:31:40 +00:00
type: success
2023-10-27 15:17:35 +00:00
message: "Installed Successfully"
2023-10-30 13:13:03 +00:00
sftpError:
type: error
message: "Failed to add SFTP user. Please check the server logs for more details."
2023-10-26 15:54:56 +00:00
buttons:
- settings: sfpform
action: add_sftp_user
caption: Add SFTP/SSH User
2023-10-27 16:31:40 +00:00
confirmText: "Are you sure you want to add this SFTP user?"