Implementar Floodtide en una flota de Macs

Actualizado el

Lo que funciona hoy, lo que añade la próxima versión y lo que tu MDM necesita saber. Escrito para quien se ocupa de los Macs, no para quien firma la factura.

Cómo están las cosas hoy

Floodtide se distribuye como un DMG firmado y notarizado. Hoy, instalarlo en una flota es la instalación de siempre: copiar Floodtide.app en Aplicaciones en cada Mac, abrirlo una vez e introducir la clave de flota en Ajustes, luego Licencia. Una sola clave para todos los Macs; activa tantos Macs como puestos hayas comprado.

Con un MDM puedes distribuir el DMG, o la app que contiene, igual que distribuyes hoy cualquier app. La clave se sigue introduciendo una vez por Mac hasta que la próxima versión, la 1.4.5, la lea de una preferencia gestionada (más abajo).

Un PKG firmado para la implementación por MDM, con la clave precargada, es el siguiente trabajo para Teams después de eso y hoy no está disponible. Esta página no promete ninguna fecha; se actualiza cuando salga cualquiera de los dos.

Instalar hoy en cada Mac

  • Consigue el DMG. Desde la página de instalación, o distribúyelo con tu MDM. La app está firmada con Developer ID (Team ID 2789Z6VPPC) y notarizada, así que Gatekeeper la abre sin necesidad de hacer clic derecho.
  • Copia Floodtide.app en Aplicaciones. Arrástralo desde el DMG, o deja que tu MDM lo coloque en /Applications. Floodtide se actualiza a sí mismo desde ahí.
  • Introduce la clave de flota una vez. Abre Floodtide, elige Ajustes, luego Licencia, pega la clave y haz clic en Activar. El Mac ocupa un puesto. La misma clave sirve en todos los Macs de la flota.
  • Permite los dos ítems en segundo plano. macOS pide a la persona que usa el Mac que permita el ítem de inicio de Floodtide y, la primera vez que una actualización lo necesite, el instalador de Floodtide. Un MDM puede aprobar los dos de antemano (más abajo).

Precargar la clave con una preferencia gestionada (a partir de la versión 1.4.5)

A partir de la versión 1.4.5, Floodtide lee la clave de licencia de una preferencia, así que un Mac puede llegar ya activado sin que nadie escriba nada. El dominio es com.getfloodtide.floodtide y la clave es FloodtideLicenseKey, una cadena que contiene la clave de flota. Floodtide la lee de /Library/Managed Preferences, donde la coloca un perfil de configuración del MDM, y de /Library/Preferences, donde la escribe el comando de abajo, y se activa la primera vez que se abre.

En un Mac sin MDM, como administrador:

sudo defaults write /Library/Preferences/com.getfloodtide.floodtide FloodtideLicenseKey "FLOODTIDE-XXXXX-XXXXX-XXXXX"

Con un MDM, la misma clave y el mismo valor como ajustes personalizados para el dominio com.getfloodtide.floodtide:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>FloodtideLicenseKey</key>
  <string>FLOODTIDE-XXXXX-XXXXX-XXXXX</string>
</dict>
</plist>

Jamf lo llama “Application and Custom Settings”; Kandji y Mosyle lo aceptan como perfil personalizado; cualquier MDM que escriba preferencias gestionadas puede distribuirlo. Un perfil es la mejor vía: sobrevive a un borrado de /Library/Preferences y se elimina limpiamente cuando el Mac sale de la flota.

Un Mac que ya tiene una clave la conserva; la preferencia solo se lee mientras la app no tiene una licencia propia. Quitar la preferencia no desactiva un Mac: libera su puesto desde la página de la cuenta o desde el propio Mac (más abajo). Las versiones anteriores a la 1.4.5 ignoran la preferencia y siguen pidiendo la clave una vez. La preferencia solo acepta una clave de Floodtide for Teams: una licencia personal colocada ahí se rechaza, y el panel Licencia lo indica.

Un PKG firmado para MDM

Un paquete de instalación firmado y notarizado, que coloque la app en Aplicaciones con la clave precargada y los ítems en segundo plano registrados, es el siguiente trabajo de Teams después de la preferencia gestionada. Hoy no está disponible, y esta página no le pone fecha.

Si lo que necesitas antes de comprar es un PKG, escribe a raf@bhopstudio.com y te diré en qué punto está. La preferencia gestionada de arriba ya elimina el único paso que necesitaba a una persona delante de cada Mac.

Ítems en segundo plano que tu MDM debería aprobar de antemano

Floodtide registra dos ítems en segundo plano, ambos firmados por el mismo equipo de Developer ID, 2789Z6VPPC. En macOS 13 y posterior, se pide a la persona que usa el Mac que permita cada uno en Ajustes del Sistema, en Ítems de inicio y extensiones (Permitir en segundo plano); un perfil de configuración con una carga útil com.apple.servicemanagement los aprueba de antemano y no aparece ninguna solicitud.

  • El ítem de inicio. El propio Floodtide.app, con el identificador de paquete com.getfloodtide.floodtide, para que pueda buscar actualizaciones a las horas que configures y funcionar desde la barra de menús.
  • El instalador de Floodtide. Un daemon con la etiqueta com.getfloodtide.floodtide.helper, que se instala cuando hace falta, la primera vez que una actualización tiene que escribir donde el usuario con la sesión iniciada no puede: una app que pertenece a otra cuenta, un paquete PKG, una actualización del App Store. Es la única parte de Floodtide que se ejecuta como root, y no hace nada hasta que la app se lo pide.

La carga útil, dentro del array PayloadContent de un perfil de configuración:

<dict>
  <key>PayloadType</key>
  <string>com.apple.servicemanagement</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
  <key>PayloadIdentifier</key>
  <string>com.getfloodtide.floodtide.background-items</string>
  <key>PayloadUUID</key>
  <string>7D5E1F2A-6B3C-4E8D-9A0F-1C2B3D4E5F60</string>
  <key>PayloadDisplayName</key>
  <string>Floodtide background items</string>
  <key>Rules</key>
  <array>
    <dict>
      <key>RuleType</key>
      <string>TeamIdentifier</string>
      <key>RuleValue</key>
      <string>2789Z6VPPC</string>
      <key>Comment</key>
      <string>Floodtide login item (com.getfloodtide.floodtide) and helper (com.getfloodtide.floodtide.helper)</string>
    </dict>
  </array>
</dict>

Una sola regla TeamIdentifier cubre los dos ítems y todo lo que Floodtide añada más adelante con el mismo equipo. Si tu MDM crea la carga útil en su propio editor, el tipo de regla es Team Identifier y el valor es 2789Z6VPPC. Un perfil que solo nombre la app por su identificador de paquete dejaría el instalador de Floodtide pendiente de aprobar a mano.

Puestos y activaciones

  • Una clave, tantos puestos como hayas comprado. Cada Mac que se activa ocupa un puesto, entre 5 y 500. Un Mac que se vuelve a activar con la misma clave, por ejemplo tras una reinstalación, conserva su puesto en lugar de ocupar otro.
  • El número de puestos sigue a la suscripción. Añade o quita Macs con “Manage billing” en la página de tu cuenta: Stripe prorratea la diferencia en tu próxima factura y la clave adopta el nuevo número en menos de un minuto, dentro del mismo intervalo de 5 a 500.
  • The Tide está incluido. Todos los Macs de la clave tienen The Tide mientras dura la suscripción; no hay nada que añadir por Mac.
  • Si la suscripción termina. La clave sigue instalando actualizaciones durante 30 días más; después se dejan de instalar y el análisis sigue siendo gratis en todos los Macs. Si vuelves a suscribirte, la misma clave vuelve a funcionar.

Desactivar un Mac

En el propio Mac: Ajustes, luego Licencia, luego Desactivar. El puesto queda libre al instante.

Desde cualquier lugar: inicia sesión en bhopstudio.com/floodtide/account con el correo electrónico con el que se compró la clave. En “Licenses” aparece cada Mac activado con el día en que se vio por última vez, y “Release seat” lo libera. Un Mac vendido, borrado o perdido se libera ahí, y después la misma clave activa el Mac que lo sustituye.

La página de la cuenta muestra una etiqueta opaca por Mac, no su nombre ni su número de serie.

Facturas y pagos

Stripe envía por correo electrónico una factura con IVA por cada pago, el primero y cada renovación, con la dirección de facturación, el número de IVA y el número de orden de compra indicados al pagar. La última factura está enlazada desde el panel Teams de la página de tu cuenta, y “Manage billing” abre allí el portal de Stripe: todas las facturas, la tarjeta guardada, el número de puestos y la cancelación.

Al cancelar, la suscripción termina al final del año ya pagado; no se cobra nada más. En un plazo de 14 días desde cualquier pago también puedes recibir su reembolso íntegro, sin preguntas.

Asistencia

Escribe a raf@bhopstudio.com; el propio desarrollador responde. Si es una pregunta de implementación, indica tu MDM y las versiones de macOS de la flota; si es un problema con la clave, incluye la clave.

Preguntas de administradores de TI

¿Podemos implementar hoy Floodtide de forma silenciosa?

No del todo. Cualquier MDM puede distribuir la app, como DMG o la app que contiene, pero la clave se introduce una vez por Mac hasta que la versión 1.4.5 la lea de la preferencia gestionada FloodtideLicenseKey del dominio com.getfloodtide.floodtide. Un PKG firmado para MDM es el siguiente trabajo después de eso y hoy no está disponible.

¿Qué ítems en segundo plano registra Floodtide?

Dos, ambos firmados por el Team ID 2789Z6VPPC: el ítem de inicio de la propia app (com.getfloodtide.floodtide) y el daemon del instalador de Floodtide (com.getfloodtide.floodtide.helper). Una carga útil com.apple.servicemanagement con una sola regla TeamIdentifier para 2789Z6VPPC aprueba los dos de antemano.

¿Cómo cambiamos el número de Macs?

Inicia sesión en bhopstudio.com/floodtide/account, haz clic en “Manage billing” en el panel Teams y cambia la cantidad, entre 5 y 500. Stripe prorratea la diferencia en la próxima factura y la clave sigue el nuevo número.

¿Necesita Floodtide un servidor o un agente nuestro?

No. Floodtide lee la fuente de actualizaciones propia de cada app en el Mac donde se ejecuta. No hay que mantener ningún servidor propio ni implementar ningún agente aparte de la propia app.