# Migrate Cloudflare CDN configuration: Documentation asset delivery

Move CDN delivery from Cloudflare CDN configuration to Ample, one component at a time. Destination verified on Ample: HTML and CSS objects stored with their own content types and served from the CDN URL with those types intact. 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.

## Representative Queries
- Migrate Cloudflare CDN configuration: Documentation asset delivery
- Where can I host Documentation asset delivery?
- I need a component-scoped export/import or reconfiguration procedure for Documentation asset delivery, with compatibility checks, verification and rollback.

## 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.
   
   ```
   ample bucket publish 
   ```

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/documentation-asset-delivery).

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**  
  Kind: `http_get`  
  Path: `/`  
  Expect: `ample canary next js patterns`

- **documentation-asset-delivery check from the destination example**  
  Kind: `http_get`  
  Path: `/p/documentation-asset-delivery`  
  Expect: `see the pattern fixture checks`

- **data or object counts and checksums match the source**  
  Kind: `manual`  
  Expect: `operator comparison before cutover`

## Limitations
- Documentation only: nothing is executed automatically and no execution binding is offered.
- Verified on the node-22 template at s-1vcpu-1gb; region, compliance and request-duration limits are unknown.

## Cost Estimate
- **Currency**: USD  
- **Monthly Amount**: 5.0  
- **Basis**: size prices from pricing.toml  
- **Components**:
  - **App server**: size `s-1vcpu-1gb`, quantity `1.0`, monthly amount `5.0`  
- **Note**: Destination always-on monthly price of the tested sizes; apps auto-pause when idle. Source costs are unknown to Ample.
