Saltar a contenido

Alta de un dispositivo Edge

Responde: ¿cómo se registra una Raspberry Pi en el sistema y cómo se le emite su credencial?

Es el paso previo a instalar el stack en la planta. El runbook de instalación pide una clave de API y un identificador de máquina: acá es donde se obtienen.

Se hace desde la interfaz, con un usuario que tenga los permisos de abajo. Esta página explica el modelo y las trampas; los campos exactos y los formatos los define el repositorio del Cloud.

El orden correcto

flowchart LR
  A["1 · Crear el<br/>dispositivo"] --> B["2 · Emitir la<br/>clave de API"]
  B --> C["3 · Anotar<br/>el secreto<br/><i>se muestra una vez</i>"]
  C --> D["4 · Instalar<br/>el stack en la Pi"]
  D --> E["5 · Verificar<br/>que entrega datos"]

  classDef cloud fill:#1168bd,stroke:#0b4884,color:#fff
  classDef pi fill:#438dd5,stroke:#2e6295,color:#fff
  classDef warn fill:#c0392b,stroke:#7b241c,color:#fff
  class A,B,E cloud
  class D pi
  class C warn

Los pasos 1 a 3 y el 5 son en la nube; el 4 es en la planta. No se puede invertir el orden: sin dispositivo registrado no hay clave, y sin clave el Edge arranca en modo degradado.

1. Crear el dispositivo

Los datos que lo definen:

Dato Para qué sirve
Nombre y descripción Identificación humana en la interfaz
Identificador de máquina El dato crítico. Ver la advertencia de abajo
URL base de la Raspberry La dirección que el Cloud usa para consultar el estado del dispositivo
Dirección del PLC Informativa
Tipo Hoy solo admite un valor: Raspberry con PLC

El identificador de máquina es único dentro del tenant, no globalmente: dos clientes distintos pueden tener un dispositivo con el mismo nombre de máquina sin conflicto.

El identificador de máquina tiene que coincidir, carácter por carácter, con el de la Pi

Es el error de instalación más costoso del sistema, y el más difícil de diagnosticar, porque todo parece funcionar.

El Cloud compara el identificador que viene en cada evento contra el del dispositivo al que pertenece la clave de API. Si no coinciden, rechaza el evento como fallo de validación — y ése es un código terminal: el Edge no lo reintenta, lo manda a su cola de eventos muertos.

Lo que se ve si hay una diferencia de un carácter:

  • El Edge reporta su estado sano y alcanza al Cloud.
  • El outbox drena con normalidad, porque los eventos se van descartando.
  • Nunca aparece un dato en el dashboard.
  • Los datos de ese período se pierden definitivamente: quedan en la cola de muertos y se purgan a los 30 días.
  • La alarma que el Edge genera para avisar del descarte lleva el mismo identificador de máquina, así que se rechaza exactamente igual y tampoco llega.

La única señal observable es que el dispositivo nunca registra actividad: el Cloud solo actualiza la marca de "visto por última vez" cuando persiste al menos un evento del lote. Un dispositivo que entrega lotes rechazados en su totalidad queda, para la interfaz, como si nunca hubiera hablado.

Cómo diagnosticarlo está en troubleshooting.

2. Emitir la clave de API

La clave se emite para un dispositivo concreto, y resuelve a ese dispositivo y a su tenant. El dispositivo no puede escribir en nombre de otro.

El secreto se muestra una sola vez y no se puede recuperar

Solo se persiste su hash. Listar las claves de un dispositivo devuelve metadatos, nunca el secreto: identificador, fecha de creación, vencimiento y estado.

Si se pierde, no hay recuperación: hay que emitir una clave nueva y revocar la anterior.

Anotarla donde va a vivir —el archivo de configuración de esa Pi— antes de cerrar la pantalla. No pegarla en un chat, un ticket ni un commit.

Las claves admiten revocación y vencimiento, y el Cloud respeta además el estado del dispositivo: deshabilitarlo invalida sus claves sin tener que revocarlas una por una.

El diseño de la credencial —entropía, hash, comparación en tiempo constante y por qué todos los fallos devuelven el mismo error— está en seguridad.

3. Rotar una clave sin cortar la ingesta

Emitir la nueva antes de revocar la vieja, y en este orden:

  1. Emitir la clave nueva. Las dos quedan válidas a la vez.
  2. Actualizar la configuración de la Pi y reiniciar el contenedor del Edge.
  3. Verificar que el dispositivo vuelve a registrar actividad.
  4. Revocar la clave vieja.

Invertir los pasos 1 y 4 corta la ingesta. No la pierde —el Edge acumula en su outbox y reintenta, porque un rechazo de credencial es reintentable, no terminal— pero el outbox crece mientras dure el corte.

La caché de claves retarda la revocación

El Cloud cachea las claves resueltas unos segundos para no consultar la base en cada petición del camino caliente. Una revocación puede tardar ese tiempo en hacerse efectiva.

Para la rotación no importa. Para una revocación de emergencia —una clave filtrada— sí: deshabilitar el dispositivo es la acción más contundente.

Permisos necesarios

Operación Permiso
Ver dispositivos y metadatos de sus claves perm_edge_devices_view
Crear un dispositivo perm_edge_devices_create
Modificar, habilitar o deshabilitar; emitir o revocar claves perm_edge_devices_manage
Disparar una consulta de estado o de salud perm_edge_devices_check

Emitir y revocar claves requiere manage, no view: son operaciones que otorgan acceso de escritura a la ingesta. Listarlas alcanza con view, porque no expone el secreto.

El permiso de consulta de estado es independiente de manage, y se otorga también a operario: ver el estado de una máquina es parte de la operación diaria, administrarla no.

Lo que esta página no puede resolver

No hay procedimiento de baja de un dispositivo

Se puede deshabilitar, y eso invalida sus claves. Pero no hay nada documentado ni implementado sobre qué hacer con sus mediciones históricas, ni un camino de borrado.

Para un sistema instalado en clientes, "qué pasa cuando se retira una máquina" es una pregunta que va a aparecer. Hoy no tiene respuesta.

Tampoco hay registro de rotación de claves: no consta si alguna se rotó alguna vez.

Siguiente paso

Instalación en planta, que usa la clave y el identificador de máquina que salieron de acá.