Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a9ec0c9
Add remote WordPress COW mount experiment
adamziel May 1, 2026
20a1323
Add Docker lab for remote COW experiment
adamziel May 1, 2026
9fbbdab
Handle Mac SSH config in Docker lab
adamziel May 1, 2026
f0abd60
Copy SSH target helper into Docker lab image
adamziel May 1, 2026
55b8298
Support SSH command strings in Docker lab
adamziel May 1, 2026
9ea8269
Add Docker DNS diagnostics for remote COW lab
adamziel May 1, 2026
a9f6e8d
Prepend generated SSH target in Docker lab
adamziel May 1, 2026
8ec5f92
Map Docker lab HTTP port dynamically
adamziel May 1, 2026
f15d56b
Keep Docker lab PHP on container port 8080
adamziel May 1, 2026
dc19a4c
Add DB init and cache helpers for Docker lab
adamziel May 1, 2026
38e4952
Add one-command remote COW serve flow
adamziel May 2, 2026
84957db
Pass Docker HTTP port to COW lab
adamziel May 2, 2026
eb7c9f7
Bound remote COW request timeouts
adamziel May 2, 2026
414341e
Materialize WordPress runtime files on serve
adamziel May 2, 2026
beb3446
Add fast COW startup PRD and DB tunnel reads
adamziel May 2, 2026
321ba5a
Make file caching request-driven by default
adamziel May 2, 2026
79ca906
Add splash progress for lazy COW loading
adamziel May 2, 2026
d22621b
Bootstrap WordPress options reads locally
adamziel May 2, 2026
a5e9594
Make remote WordPress COW startup responsive
adamziel May 2, 2026
c0f3d57
Use FrankenPHP in remote COW lab
adamziel May 2, 2026
5754765
Cache warmed remote COW pages
adamziel May 2, 2026
36f916c
Cache remote COW program data, not pages
adamziel May 2, 2026
4482b16
Add remote sever mode for wp-cow clones
adamziel May 2, 2026
c9665f1
Add row-level DB COW planner
adamziel May 3, 2026
878491d
Add MySQL proxy for COW DB routing
adamziel May 3, 2026
7d451e3
Add Codex restart loop helper
adamziel May 3, 2026
fbf714c
Harden remote WordPress COW experiment
adamziel May 3, 2026
c68af24
Speed safe COW rerenders
adamziel May 3, 2026
c247a3d
Keep production DB secrets out of PHP
adamziel May 3, 2026
1ef2ba2
Guard plugin side-effect primitives
adamziel May 3, 2026
83285fc
Speed warmed COW renders
adamziel May 3, 2026
00e7568
Harden remote COW lower helpers
adamziel May 4, 2026
64a6704
Add bounded runtime cache for COW cold starts
adamziel May 4, 2026
e681a3e
Add automatic plugin admission for remote COW clones
adamziel May 5, 2026
165b5c5
Fix proxied HTTPS COW clone redirects
adamziel May 5, 2026
b7c6343
Fix remote WordPress COW replica rendering
adamziel May 6, 2026
0647646
Preserve SG CSS and quarantine stale plugin allows
adamziel May 6, 2026
a79cddb
Tighten remote COW visual parity
adamziel May 6, 2026
b2b690e
Localize frontend content links
adamziel May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions experiments/remote-wp-cow/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/target/
/.adversarial-loop/
/.git/
/.env
/.env.*
!/.env.example
/*.log
/.wp-cow/
67 changes: 67 additions & 0 deletions experiments/remote-wp-cow/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Docker lab defaults for wp-cow.
#
# Copy this file to .env, fill in the remote site values, then run:
# docker compose build
# docker compose up -d
# docker compose exec wp-cow-lab bash

# Host port exposed by Docker Desktop. The container always listens on 8080.
WPCOW_HTTP_PORT=9481

# Clone identity and remote WordPress site.
WPCOW_NAME=example
WPCOW_SSH=
WPCOW_PATH=
WPCOW_REMOTE_URL=

# Leave blank to derive http://localhost:${WPCOW_HTTP_PORT}.
WPCOW_LOCAL_URL=

# Docker Desktop resolver fallback.
WPCOW_DNS1=1.1.1.1
WPCOW_DNS2=8.8.8.8

# Runtime defaults.
WPCOW_WEB_SERVER=frankenphp
WPCOW_SPLASH=1
WPCOW_REMOTE_DB_TUNNEL=0
WPCOW_REMOTE_DB_HELPER=1
WPCOW_RUNTIME_CODE_PACK=1
WPCOW_RUNTIME_CODE_PACK_MAX_MB=256
WPCOW_RUNTIME_CODE_PACK_MAX_FILE_MB=8
WPCOW_RUNTIME_CODE_PACK_MAX_FILES=20000
WPCOW_RUNTIME_CODE_PACK_TIMEOUT_SECS=180
WPCOW_RUNTIME_CODE_PACK_INCLUDE_ADMIN=0
WPCOW_MATERIALIZE_OPTIONS_TABLE=1
WPCOW_REMOTE_QUERY_CACHE=1
WPCOW_REMOTE_QUERY_CACHE_MAX_ROWS=5000
# Keep arbitrary production plugins disabled unless explicitly debugging them.
WPCOW_ENABLE_PLUGINS=0
WPCOW_PLUGIN_MODE=auto
WPCOW_PLUGIN_ADMISSION=1
WPCOW_PLUGIN_ADMISSION_DELAY_SECS=20
WPCOW_PLUGIN_ADMISSION_TIMEOUT_SECS=15
WPCOW_ALLOW_UNSAFE_PLUGIN_SIDE_EFFECTS=0
WPCOW_PHP_DISABLE_FUNCTIONS=exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,mail,fsockopen,pfsockopen,stream_socket_client,curl_exec,curl_multi_exec
WPCOW_CACHE_MAX_FILE_MB=64
WPCOW_REMOTE_STAT_PREFETCH_MAX_KB=0
WPCOW_RUNTIME_SIBLING_PREFETCH_MAX_MB=0
WPCOW_FUSE_TTL_SECS=60
WPCOW_REMOTE_METADATA_CACHE_TTL_SECS=3600
WPCOW_CONTROL_REQUEST_TIMEOUT_SECS=60
WPCOW_REMOTE_COMMAND_TIMEOUT_SECS=20
WPCOW_REMOTE_DB_QUERY_TIMEOUT_SECS=10
WPCOW_SSH_CONNECT_TIMEOUT_SECS=8
WPCOW_PHP_MAX_EXECUTION_SECS=90
WPCOW_PHP_SOCKET_TIMEOUT_SECS=15
WPCOW_PHP_WORKERS=4
WPCOW_OPCACHE_VALIDATE_TIMESTAMPS=0

# Optional local-only admin override used with wp-cow-lab-sever.
# This updates only the local clone DB after the relevant user rows are copied.
WPCOW_LOCAL_ADMIN_LOGIN=
WPCOW_LOCAL_ADMIN_PASSWORD=

# Testing/debug switches.
WPCOW_SKIP_SCHEMA=0
WPCOW_NO_PROBE=0
2 changes: 2 additions & 0 deletions experiments/remote-wp-cow/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/target/
/.env
Loading
Loading