Class PowerSyncProcessControlCoolify

java.lang.Object
br.com.vantroba.bi.transporte.powersync.PowerSyncProcessControlCoolify
All Implemented Interfaces:
PowerSyncProcessControl

@Singleton @Requires(property="powersync.admin.coolify.api-token", pattern=".+") public class PowerSyncProcessControlCoolify extends Object implements PowerSyncProcessControl
Estratégia coolify de PowerSyncProcessControl: reinicia o recurso PowerSync pela API REST do Coolify ao final do reset.

Ativa automaticamente quando COOLIFY_API_TOKEN está set (sem flag de estratégia separada). O ResetarPowersyncService é intocado — só o comportamento de pause()/resume() muda:

  • pause(Consumer) — não para nada (o Mongo é bundled no mesmo recurso Coolify; pará-lo impediria o DROP_MONGO). Apenas resolve o resource-uuid — assim, erro de config/auto-discover falha aqui, antes de qualquer step destrutivo.
  • resume(Consumer) — dispara o restart do recurso via Coolify e faz polling do deployment até concluir ou estourar restart-timeout-secs.

Config incompleta (sem api-url/api-token, ou sem resource-uuid e resource-name): a estratégia degrada para no-op com WARNING — o reset não quebra, mas o PowerSync não é reiniciado automaticamente.

Race conhecida e aceita: entre o DROP_MONGO e o restart, o powersync-sync perde o Mongo e pode ser reiniciado pelo restart: unless-stopped do Docker; o restart explícito do Coolify prevalece.

  • Constructor Details

    • PowerSyncProcessControlCoolify

      public PowerSyncProcessControlCoolify(CoolifyConfig cfg)
      Cria a estratégia coolify lendo a config powersync.admin.coolify.*.
      Parameters:
      cfg - configuração do Coolify (powersync.admin.coolify.*).
  • Method Details