Actores y roles
Al ser un blog estático sin autenticación, no existen roles ni permisos dentro de la aplicación: cualquier visitante ve el mismo contenido público. Los "actores" son personas y sistemas que intervienen alrededor del repo.
Actores humanos
| Actor | Rol | Permisos / alcance | Evidencia |
|---|---|---|---|
| Autor (Arturo Navarro) | Crea y edita contenido, opera el despliegue | Escritura en el repo Gitea; despliegue manual a Cloud Run | package.json:6, git remote, .github/workflows/deploy.yml |
| Visitante anónimo | Lee el sitio | Solo lectura, contenido público, sin login | Dockerfile:14-17, tecnico/06-seguridad.md |
| Operador (= autor) | Ejecuta build, deploy manual y recordatorios locales | Acceso a GCP (Cloud Run, Artifact Registry) | .github/workflows/deploy.yml:39-52, scripts/domain-reminder.sh |
No hay distinción de roles dentro del sitio (sin panel de administración, sin usuarios registrados): DESCONOCIDO: no aplica, el modelo es público-por-diseño.
Actores sistema
| Sistema | Función | Evidencia |
|---|---|---|
Gitea (localhost:3000/arturo) | Hosting del repositorio git | git remote |
Google Cloud Run (europe-west1) | Hosting de ejecución del contenedor estático | .github/workflows/deploy.yml:11, 41-52 |
Google Artifact Registry (europe-southwest1) | Registro de la imagen personal-blog | .github/workflows/deploy.yml:13, 30-37 |
| nginx (en el contenedor) | Sirve los estáticos y responde /healthz | nginx.conf:1-34, Dockerfile:14-20 |
| Navegador del visitante | Renderiza el sitio y ejecuta la redirección por idioma | index.md:6-15 |
| Google Cloud DNS | Resolución del dominio | README.md:10 |
| Fuentes externas (Google Fonts) | Tipografías Inter y JetBrains Mono | .vitepress/config.mts:30-32 |
| LaunchAgent de macOS | Dispara el recordatorio de expiración del dominio | scripts/com.navarro-bores.domain-reminder.plist, scripts/domain-reminder.sh:4 |