Implement an App Requirement Engine #11

Closed
opened 2026-05-04 09:22:44 +02:00 by robert · 1 comment
Collaborator

Each App must have a list of requirements.
Each requirements will be a hook to another app with optional cli commands (executed on a container) to call on the required app before installation (e.g. creating an MQTT user) and before every start (e.g. starting an API).
For longer cli scripts files in the app folder should be created.

If an App is required, it needs to be installed.

To consider:

  • Do we have to avoid circular dependancies? If yes, why and how?
  • apps with dependancies need working default req scripts using .env files for variables
  • User needs to be informed, whenever a required app is installed.
Each App must have a list of requirements. Each requirements will be a hook to another app with optional cli commands (executed on a container) to call on the required app before installation (e.g. creating an MQTT user) and before every start (e.g. starting an API). For longer cli scripts files in the app folder should be created. If an App is required, it needs to be installed. To consider: - Do we have to avoid circular dependancies? If yes, why and how? - apps with dependancies need working default req scripts using .env files for variables - User needs to be informed, whenever a required app is installed. -
Owner

Umgesetzt in 26.17–26.19: requires im Manifest + on_install/on_start-Hooks, längere Skripte unter scripts/ im App-Ordner, benötigte Apps werden automatisch mitinstalliert. Zu den offenen Punkten: Zyklen werden erkannt und abgelehnt (furtka/deps.py), Hook-Variablen kommen per .env/FURTKA_CONSUMER_ENV_*, und das UI zeigt vor der Installation „Installing X also installs Y" mit Bestätigung. Validiert mit mosquitto + zigbee2mqtt.

Umgesetzt in 26.17–26.19: requires im Manifest + on_install/on_start-Hooks, längere Skripte unter scripts/ im App-Ordner, benötigte Apps werden automatisch mitinstalliert. Zu den offenen Punkten: Zyklen werden erkannt und abgelehnt (furtka/deps.py), Hook-Variablen kommen per .env/FURTKA_CONSUMER_ENV_*, und das UI zeigt vor der Installation „Installing X also installs Y" mit Bestätigung. Validiert mit mosquitto + zigbee2mqtt.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: daniel/furtka#11
No description provided.