# Migrate Cloudflare CDN configuration: Versioned static assets

## Summary
Move CDN delivery from Cloudflare CDN configuration to Ample, one component at a time. Destination verified on Ample: the app built, started and answered on its public HTTPS URL with encrypted configuration delivered. Source procedure: Record page rules, cache rules and the asset paths the app references. Not migrated automatically: Cloudflare cache rules, Workers, Transform Rules and tiered caching are not migrated; Ample verifies delivery of published bucket objects only. Cutover: Redeploy the app with the new asset base URL, verify delivery from the CDN URL, then retire the old cache rules. Rollback: keep the source untouched until you confirm; nothing at the source is changed or deleted by this guide.

## Workload
Versioned static assets

## Migration Source
Cloudflare CDN configuration

## Prerequisites
- Authorized access to the Cloudflare CDN configuration source and its export tooling
- An inventory of every component in scope and out of scope
- A validated backup or copy before any cutover
- An Ample account token with servers:write, buckets:write

## Workflow Steps
1. **Inventory the source**  
   List what Cloudflare CDN configuration provides beyond the component you are moving. Out of scope here: Cloudflare cache rules, Workers, Transform Rules and tiered caching are not migrated; Ample verifies delivery of published bucket objects only.
2. **Source step 1**  
   Record page rules, cache rules and the asset paths the app references.
3. **Source step 2**  
   Copy the public assets into a published Ample bucket under versioned keys with immutable Cache-Control.
4. **Source step 3**  
   Update the app to build asset URLs from the Ample public URL.
5. **Publish the destination bucket**  
   Create and publish the asset bucket, upload versioned assets with immutable Cache-Control, and point the app at the public URL.
6. **Validate before cutover**  
   Run the app's own checks and, for data, compare counts and checksums; the example checks are the pattern self-tests (/p/versioned-static-assets).
7. **Cut over**  
   Redeploy the app with the new asset base URL, verify delivery from the CDN URL, then retire the old cache rules.
8. **Rollback**  
   Point DNS or configuration back to the source. The source was never modified; deletion is a separate, user-executed step after validation.

## Success Checks
- Destination app responds on its public URL.
- Versioned static assets check from the destination example.
- Data or object counts and checksums match the source.

## Limitations
- Documentation only: nothing is executed automatically and no execution binding is offered.
- No full source-product parity is claimed: Cloudflare cache rules, Workers, Transform Rules and tiered caching are not migrated; Ample verifies delivery of published bucket objects only.

## Cost Estimate
- **Currency**: USD  
- **Monthly Amount**: 5.0.
- **Components**: App server, size: s-1vcpu-1gb, quantity: 1.0, monthly amount: 5.0.

## Evidence Summary
Destination side verified: the Next.js pattern fixture deployed on Ample and its checks passed (the app built, started and answered on its public HTTPS URL with encrypted configuration delivered).

## Next Actions
- Browse the catalog index
- Search published recipes by intent, stack and constraints
- Prepare a side-effect-free deployment plan for an authorized project
