type: update
name: Add SFTP User
user: root
targetNodes:
nodeGroup: cp
settings:
sfpform:
fields:
- type: string
inputType: text
name: root_directory
caption: Root Directory
default: "/var/www/webroot/ROOT"
required: true
- 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]: |-
sudo su
curl -sO https://deploy-proxy.mightybox.io/addons/add-sftp-user/raw/branch/main/add-sftp.sh
chmod +x add-sftp.sh
echo -e "\nMatch User user*\nPasswordAuthentication yes" >> /etc/ssh/sshd_config
chown root:root /var/www/webroot/ROOT
chmod 755 /var/www/webroot/ROOT
- api: environment.control.ApplyNodeGroupData
nodeGroup: cp
data:
restart: true
return: Installation completed successfully!
onUninstall:
- cmd[cp]: rm -f ./add-sftp.sh
actions:
add_sftp_user:
- cmd[cp]: ./add-sftp.sh
- return: sftpSuccess
responses:
sftpSuccess:
type: success
email: |-
Connection Details
SFTP Host: ${globals.sftpHost}
Port: ${globals.sftpPort}
Login Credentials
Username: ${globals.username}
Password: ${globals.password}
message:
en: |-
Connection Details
SFTP Host: ${globals.sftpHost}
Port: ${globals.sftpPort}
Login Credentials
Username: ${globals.username}
Password: ${globals.password}
buttons:
- settings: sfpform
action: add_sftp_user
caption: Add SFTP/SSH User
confirmText: "Are you sure you want to add this SFTP user?"