# Despliegue de FINAZ en Cloudflare

## Recursos

| Recurso | Destino |
| --- | --- |
| Directorio estático | `sites/finaz-logo` |
| Proyecto Cloudflare Pages | `finaz-logo` |
| Dominio personalizado | `finaz-logo.iort.io` |
| Bucket R2 | `iort-technical-help` |
| Guía de la galería en R2 | `finaz-logo/downloads/galeria-finaz.md` |
| Guía de despliegue en R2 | `finaz-logo/downloads/despliegue-cloudflare.md` |

## Credenciales

El archivo autorizado de credenciales está en `/home/user/Documentos/cloudfare.env`.
Su variable `CLOUDFLARE_TOKEN` se asigna a `CLOUDFLARE_API_TOKEN` en memoria antes
de ejecutar Wrangler. El token es de cuenta, según la comprobación `whoami`.
No se incluye el archivo de credenciales en el directorio publicado.

Los comandos siguientes presuponen que un proceso seguro ya ha cargado
`CLOUDFLARE_API_TOKEN` y `CLOUDFLARE_ACCOUNT_ID` en su entorno. No añadas el token
a argumentos, archivos del sitio ni mensajes de registro.

## Publicar la galería

Wrangler 4.148.0 se comprobó con Node.js 24.18.0.

```bash
rtk proxy wrangler whoami
rtk proxy wrangler pages project list
```

Si el proyecto no existe, créalo mediante la API de Pages:

```text
POST /accounts/{account_id}/pages/projects
{"name":"finaz-logo","production_branch":"main"}
```

Wrangler 4.148.0 puede redirigir la creación de un proyecto nuevo hacia Workers.
La API de Pages permite crear explícitamente el recurso solicitado. Para un
proyecto Pages ya existente, publica en la rama de producción:

```bash
rtk proxy wrangler pages deploy sites/finaz-logo --project-name finaz-logo --branch main
```

El `wrangler.jsonc` de la raíz fija `name` a `finaz-logo` y
`pages_build_output_dir` a `./sites/finaz-logo`.

## Guardar las guías en R2

```bash
rtk proxy wrangler r2 object put iort-technical-help/finaz-logo/downloads/galeria-finaz.md --file sites/finaz-logo/downloads/galeria-finaz.md --content-type 'text/markdown; charset=utf-8' --remote
rtk proxy wrangler r2 object put iort-technical-help/finaz-logo/downloads/despliegue-cloudflare.md --file sites/finaz-logo/downloads/despliegue-cloudflare.md --content-type 'text/markdown; charset=utf-8' --remote
```

`--remote` dirige la operación al bucket real. La galería ofrece también copias
locales de estas guías en `/downloads/`, servidas por Pages, sin depender de
que R2 tenga acceso público.

## Vincular el dominio

Asocia `finaz-logo.iort.io` al proyecto Pages mediante la API de dominios de Pages
o el panel de Cloudflare. Después crea o comprueba el CNAME de ese subdominio
hacia el subdominio `pages.dev` que devuelve el proyecto. Comprueba que Pages
ha activado el dominio y que HTTPS sirve la galería.

Documentación oficial:

- [Comandos Pages de Wrangler](https://developers.cloudflare.com/workers/wrangler/commands/pages/)
- [Comandos R2 de Wrangler](https://developers.cloudflare.com/workers/wrangler/commands/r2/)
- [Dominios personalizados de Pages](https://developers.cloudflare.com/pages/configuration/custom-domains/)

## Verificar la publicación

```bash
rtk proxy curl --fail --silent --show-error --output /dev/null --write-out '%{http_code}\n' https://finaz-logo.iort.io/
```

Comprueba también los 24 PNG y las dos guías. Para verificar R2, descarga cada
objeto con `wrangler r2 object get --remote --file` y compara su SHA-256 con el
archivo local. Ninguna comprobación de la URL pública necesita credenciales.
