Files
Jonathan Miller a5a16fb7e3
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
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
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Successful in 8s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Platform: MokoCLI CI / Gate 1: Code Quality (pull_request) Failing after 1m31s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 5s
fix: rename moko-platform to MokoCLI in documentation (#268)
Update all markdown files: README, CHANGELOG, CLAUDE.md, index files,
templates, issue templates, and inline documentation.
2026-06-20 11:39:54 -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