mirror of
				https://github.com/appleboy/scp-action.git
				synced 2025-10-31 15:43:48 +00:00 
			
		
		
		
	- Improve and clarify input descriptions for better usability and understanding - Add guidance on defaults, security considerations, and example values in several input descriptions - Reword descriptions to be more user-friendly and precise throughout configuration Signed-off-by: appleboy <appleboy.tw@gmail.com>
		
			
				
	
	
		
			143 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: "SCP Command to Transfer Files"
 | |
| description: "Easily transfer files and folders using the SCP command in Linux."
 | |
| author: "Bo-Yi Wu"
 | |
| inputs:
 | |
|   host:
 | |
|     description: "Remote host address for SCP (e.g., example.com or 192.168.1.1)."
 | |
|   port:
 | |
|     description: "Remote SSH port for SCP. Default: 22."
 | |
|     default: "22"
 | |
|   username:
 | |
|     description: "Username for SSH authentication."
 | |
|   password:
 | |
|     description: "Password for SSH authentication (not recommended; use SSH keys if possible)."
 | |
|   protocol:
 | |
|     description: "IP protocol to use. Valid values: 'tcp', 'tcp4', or 'tcp6'. Default: tcp."
 | |
|     default: "tcp"
 | |
|   timeout:
 | |
|     description: "Timeout for establishing SSH connection to the remote host. Default: 30s."
 | |
|     default: "30s"
 | |
|   command_timeout:
 | |
|     description: "Timeout for the SCP command execution. Default: 10m."
 | |
|     default: "10m"
 | |
|   key:
 | |
|     description: "Content of the SSH private key (e.g., the raw content of ~/.ssh/id_rsa)."
 | |
|   key_path:
 | |
|     description: "Path to the SSH private key file."
 | |
|   passphrase:
 | |
|     description: "Passphrase for the SSH private key, if required."
 | |
|   fingerprint:
 | |
|     description: "SHA256 fingerprint of the host's public key. If not set, host key verification is skipped (not recommended for production)."
 | |
|   use_insecure_cipher:
 | |
|     description: "Enable additional, less secure ciphers for compatibility. Not recommended unless required."
 | |
|   target:
 | |
|     description: "Target directory path on the remote server. Must be a directory."
 | |
|   source:
 | |
|     description: "List of files or directories to transfer (local paths)."
 | |
|   rm:
 | |
|     description: "Remove the target directory on the server before uploading new data."
 | |
|   debug:
 | |
|     description: "Enable debug messages for troubleshooting."
 | |
|   strip_components:
 | |
|     description: "Remove the specified number of leading path elements when extracting files."
 | |
|   overwrite:
 | |
|     description: "Use the --overwrite flag with tar to overwrite existing files."
 | |
|   tar_dereference:
 | |
|     description: "Use the --dereference flag with tar to follow symlinks."
 | |
|   tar_tmp_path:
 | |
|     description: "Temporary path for the tar file on the destination host."
 | |
|   tar_exec:
 | |
|     description: "Path to the tar executable on the destination host. Default: tar."
 | |
|     default: "tar"
 | |
|   proxy_host:
 | |
|     description: "Remote host address for SSH proxy."
 | |
|   proxy_port:
 | |
|     description: "SSH proxy port. Default: 22."
 | |
|     default: "22"
 | |
|   proxy_username:
 | |
|     description: "Username for SSH proxy authentication."
 | |
|   proxy_password:
 | |
|     description: "Password for SSH proxy authentication."
 | |
|   proxy_passphrase:
 | |
|     description: "Passphrase for the SSH proxy private key, if required."
 | |
|   proxy_timeout:
 | |
|     description: "Timeout for establishing SSH connection to the proxy host. Default: 30s."
 | |
|     default: "30s"
 | |
|   proxy_key:
 | |
|     description: "Content of the SSH proxy private key (e.g., the raw content of ~/.ssh/id_rsa)."
 | |
|   proxy_key_path:
 | |
|     description: "Path to the SSH proxy private key file."
 | |
|   proxy_fingerprint:
 | |
|     description: "SHA256 fingerprint of the proxy host's public key. If not set, host key verification is skipped (not recommended for production)."
 | |
|   proxy_use_insecure_cipher:
 | |
|     description: "Enable additional, less secure ciphers for the proxy connection. Not recommended unless required."
 | |
|   curl_insecure:
 | |
|     description: "When true, uses the --insecure option with curl for insecure downloads."
 | |
|     default: "false"
 | |
|   capture_stdout:
 | |
|     description: "When true, captures and returns standard output from the commands as action output."
 | |
|     default: "false"
 | |
|   version:
 | |
|     description: |
 | |
|       The version of drone-scp to use.
 | |
| 
 | |
| outputs:
 | |
|   stdout:
 | |
|     description: "Standard output of the executed commands when capture_stdout is enabled."
 | |
|     value: ${{ steps.entrypoint.outputs.stdout }}
 | |
| 
 | |
| runs:
 | |
|   using: "composite"
 | |
|   steps:
 | |
|     - name: Set GitHub Path
 | |
|       run: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH
 | |
|       shell: bash
 | |
|       env:
 | |
|         GITHUB_ACTION_PATH: ${{ github.action_path }}
 | |
|     - id: entrypoint
 | |
|       name: Run entrypoint.sh
 | |
|       run: entrypoint.sh
 | |
|       shell: bash
 | |
|       env:
 | |
|         GITHUB_ACTION_PATH: ${{ github.action_path }}
 | |
|         INPUT_HOST: ${{ inputs.host }}
 | |
|         INPUT_PORT: ${{ inputs.port }}
 | |
|         INPUT_PROTOCOL: ${{ inputs.protocol }}
 | |
|         INPUT_USERNAME: ${{ inputs.username }}
 | |
|         INPUT_PASSWORD: ${{ inputs.password }}
 | |
|         INPUT_PASSPHRASE: ${{ inputs.passphrase }}
 | |
|         INPUT_KEY: ${{ inputs.key }}
 | |
|         INPUT_KEY_PATH: ${{ inputs.key_path }}
 | |
|         INPUT_FINGERPRINT: ${{ inputs.fingerprint }}
 | |
|         INPUT_PROXY_HOST: ${{ inputs.proxy_host }}
 | |
|         INPUT_PROXY_PORT: ${{ inputs.proxy_port }}
 | |
|         INPUT_PROXY_USERNAME: ${{ inputs.proxy_username }}
 | |
|         INPUT_PROXY_PASSWORD: ${{ inputs.proxy_password }}
 | |
|         INPUT_PROXY_PASSPHRASE: ${{ inputs.proxy_passphrase }}
 | |
|         INPUT_PROXY_KEY: ${{ inputs.proxy_key }}
 | |
|         INPUT_PROXY_KEY_PATH: ${{ inputs.proxy_key_path }}
 | |
|         INPUT_PROXY_FINGERPRINT: ${{ inputs.proxy_fingerprint }}
 | |
|         INPUT_USE_INSECURE_CIPHER: ${{ inputs.use_insecure_cipher }}
 | |
|         INPUT_CIPHER: ${{ inputs.cipher }}
 | |
|         INPUT_PROXY_USE_INSECURE_CIPHER: ${{ inputs.proxy_use_insecure_cipher }}
 | |
|         INPUT_PROXY_CIPHER: ${{ inputs.proxy_cipher }}
 | |
|         INPUT_DEBUG: ${{ inputs.debug }}
 | |
|         INPUT_TIMEOUT: ${{ inputs.timeout }}
 | |
|         INPUT_COMMAND_TIMEOUT: ${{ inputs.command_timeout }}
 | |
|         INPUT_TARGET: ${{ inputs.target }}
 | |
|         INPUT_SOURCE: ${{ inputs.source }}
 | |
|         INPUT_RM: ${{ inputs.rm }}
 | |
|         INPUT_STRIP_COMPONENTS: ${{ inputs.strip_components }}
 | |
|         INPUT_OVERWRITE: ${{ inputs.overwrite }}
 | |
|         INPUT_TAR_DEREFERENCE: ${{ inputs.tar_dereference }}
 | |
|         INPUT_TAR_TMP_PATH: ${{ inputs.tar_tmp_path }}
 | |
|         INPUT_TAR_EXEC: ${{ inputs.tar_exec }}
 | |
|         INPUT_PROXY_TIMEOUT: ${{ inputs.proxy_timeout }}
 | |
|         INPUT_CAPTURE_STDOUT: ${{ inputs.capture_stdout }}
 | |
|         INPUT_CURL_INSECURE: ${{ inputs.curl_insecure }}
 | |
|         DRONE_SCP_VERSION: ${{ inputs.version }}
 | |
| 
 | |
| branding:
 | |
|   icon: "copy"
 | |
|   color: "gray-dark"
 |