migrate-project

Migrate a Django project between fleet VPS hosts with staged check, apply, and cutover workflows.

1|Updated Sep 6, 2024
One-click install
npx skills add https://github.com/carlos18bp/gym_project --skill migrate-project
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-project
Source: https://github.com/carlos18bp/gym_project/tree/main/.agents/skills/migrate-project
Command: npx skills add https://github.com/carlos18bp/gym_project --skill migrate-project

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents risky, downtime-causing migrations by guiding a safe, staged transfer of a single Django project from one VPS to another within the fleet.

Core Features & Use Cases

  • Three-gate migration workflow: supports --check (preflight dry-run), --apply (clone + setup + snapshot + transfer without stopping origin), and --cutover --confirm-downtime (stop origin, finalize delta dump, start target, and guide DNS flip).
  • Per-project migration using fleet environment controls: performs migration by composing the existing scripts with FORCE_SINGLE_PROJECT and FORCE_PROJECTS, rather than migrating an entire VPS.
  • Host-aware invocation: detects whether you’re running from a dev workstation, the target VPS, or the origin VPS, and aborts when invoked from the origin to reduce operational risk.
  • Operational safety during cutover: includes smoke tests and a commit of the projects.yml flip, with an explicit downtime target (≤5 min HTTP / ~0 min with SSL blue-green).

Quick Start

Run the migrate-project skill in apply mode for your project and target VPS by executing: migrate-project <project_name> <target_vps_alias> --apply.

Frequently Asked Questions about migrate-project

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a Django project to a new VPS with zero downtime?

To migrate a Django project with zero downtime, use a staged workflow that clones the project to the target VPS, transfers a snapshot without stopping the origin, and performs a coordinated DNS cutover. This process minimizes service disruption to an explicit target of five minutes or less.

What is the safest way to move a single Django app between fleet hosts without taking everything offline?

The safest way to move a single Django app is using fleet environment controls like FORCE_SINGLE_PROJECT to scope the migration. This isolates the transfer to one project rather than moving the entire VPS, allowing staged setup and safe cutover on the target host.

Can I run a VPS migration script from the origin server I am moving away from?

You cannot run the VPS migration from the origin server. Host-aware invocation detects whether you are on a dev workstation, target VPS, or origin VPS, and automatically aborts when invoked from the origin to reduce operational risk during the cutover process.

How do I verify a Django server transfer before committing to the final DNS cutover?

To verify a Django server transfer before cutover, run a preflight dry-run using the check mode. This validates the setup on the target VPS without stopping the origin, allowing you to execute smoke tests and confirm readiness before finalizing the DNS flip.

What are the limitations of a staged fleet VPS migration for Django applications?

A limitation of staged fleet VPS migration is the required downtime window during the final cutover phase. While the target aims for zero downtime with SSL blue-green setups, standard HTTP configurations may experience up to five minutes of service disruption when stopping the origin.