Files
MokoCLI/templates/scripts/sftp-config
Jonathan Miller 95880d3e44
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: mokocli CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Failing after 53s
chore: complete namespace cleanup — remove all mokoplatform/MokoStandards/MokoEnterprise refs
390 files: templates, workflows, MCP servers, CLI tools, lib, deploy,
validate, wrappers, configs, docs. Pure find-and-replace.
2026-06-21 01:18:13 -05:00
..

SFTP Deploy Config — Local Setup

This directory (scripts/sftp-config/) holds per-environment SFTP connection configs used by deploy-sftp.php and the deploy-dev / deploy-release GitHub Actions workflows.

This directory is gitignored. Config files contain server hostnames and usernames. Never commit them.


Quick Setup

  1. Copy the example templates from mokocli:

    # From your repo root
    mkdir -p scripts/sftp-config scripts/keys
    cp path/to/mokocli/templates/scripts/deploy/sftp-config.dev.json.example \
       scripts/sftp-config/sftp-config.dev.json
    cp path/to/mokocli/templates/scripts/deploy/sftp-config.rs.json.example \
       scripts/sftp-config/sftp-config.rs.json
    
  2. Fill in your values — edit sftp-config.dev.json:

    {
      "type": "sftp",
      "host": "iad1-shared-b7-01.dreamhost.com",
      "user": "mokoconsulting_dev",
      "ssh_key_file": "jmiller_private.ppk",
      "port": "22",
      "remote_path": "/home/mokoconsulting_dev/dev.example.com/htdocs/custom/mymodule/"
    }
    
  3. Place your SSH key in scripts/keys/:

    scripts/
      keys/
        jmiller_private.ppk    ← gitignored; never committed
    

    ssh_key_file may be a bare filename (resolved from scripts/keys/) or an absolute path (e.g. J:/My Drive/Keys/jmiller_private.ppk).


Files in This Directory

File Purpose
sftp-config.dev.json Dev server connection (used with --env dev)
sftp-config.rs.json Production/release server connection (used with --env rs)

Running the Script

# Preview what would be uploaded (no connection made)
php path/to/mokocli/api/deploy/deploy-sftp.php \
  --path . --env dev --dry-run --verbose

# Deploy src/ to dev
php path/to/mokocli/api/deploy/deploy-sftp.php \
  --path . --env dev

# Deploy src/ to production
php path/to/mokocli/api/deploy/deploy-sftp.php \
  --path . --env rs

For full option reference run:

php path/to/mokocli/api/deploy/deploy-sftp.php --help

Last Updated: 2026-03-13