CaptainCore Update #14 – Snapshots 📦

A few highlights from last month.

  • 📦 New snapshot management – Snapshot download links will auto expire after 24hrs. New links can be generated at anything time.
  • 📦 New default recipes – Replacement for default plugins.
  • 🔧 Renamed WordPress plugin – CaptainCore GUI is now just CaptainCore.

New Snapshot management

Previously in CaptainCore you could a generate and download a snapshot for any website. Now those snapshots will be keep in a list and re-downloadable at a later date. The snapshots are stored in a B2 Bucket. Links to the actual file are kept hidden and never revealed. Only the CaptainCore specific temporary link is revealed.

New snapshot section

WordPress plugin name change

Dropping the GUI from the name was partial in preparation as I plan to reuse the CaptainCore WordPress plugin within the internals of the CaptainCore CLI. Also it just feel cleaner to call it CaptainCore rather than CaptainCore GUI.

CaptainCore CLI currently uses a copy of WordPress locally as it’s datastore. This keeps the codebase somewhat reusable. However I want to take it a step further and actually use all of the same data structure that comes with the main CaptainCore WordPress plugin within the CLI itself. That includes all of the custom tables like wp_captaincore_environments. That will be a project for another day. 🏋️‍♂️

New Default Recipes

The new recipe sections has been integrated into the revamped default section. This replaces the legacy default plugins as recipes are more powerful and flexible. See deploying paid plugins as an example.

Other small improvements and DB backup bug fix

Looking over my commit logs for August and there was mostly a bunch of small improvements and bug fixes. That said my month was distracted by a bizarre performance bug affecting large WordPress sites on Kinsta.

The standard WP-CLI database backup wp db export was causing sporadic 502/504 outages as it was using up all of the PHP workers. I was able to workaround the issues by using the mysqldump instead of wp db export as noted here. Still a mystery if this is a new bug with PHP, WP-CLI or with Kinsta’s platform. But I’m happy I was able to get this resolved. 😅

Until next month!