• 26.19-alpha e1968facef

    26.19-alpha
    All checks were successful
    Build ISO / build-iso (push) Successful in 19m56s
    Deploy site / deploy (push) Successful in 4s
    CI / lint (push) Successful in 23s
    CI / test (push) Successful in 1m18s
    CI / validate-json (push) Successful in 21s
    CI / markdown-links (push) Successful in 13s
    Release / release (push) Successful in 12m36s
    Pre-release

    daniel released this 2026-08-23 16:05:43 +02:00 | 0 commits to main since this release

    Fixed

    • App installs now copy subdirectories, so dependency hooks actually
      ship.
      install_from() only copied an app's top-level files, so the
      scripts/ folder — where a provider's on_install/on_start dependency
      hooks live — never reached /var/lib/furtka/apps/<app>/, and every hooked
      dependency failed at reconcile with hook ... missing in provider. The
      whole app folder is copied now (rmtree + copytree, so a reinstall also
      drops files that were removed upstream). Found during the first real
      end-to-end run of the mosquitto + zigbee2mqtt pair on a test VM.
    • furtka app install <name> now runs on_install hooks. Named CLI
      installs copied the app folders and then ran a bare reconcile, which fires
      on_start but never on_install — so a CLI install of a consumer brought
      its provider up without ever provisioning it (no account created, empty
      MQTT_* values in the consumer's .env). Named installs now go through
      install_runner.run_install (writing the plan file first), the same docker
      phase the API dispatches, so providers come up before consumers and
      on_install hooks run. Path-based installs keep the copy + reconcile
      dev/test path.
    Downloads