nua icon indicating copy to clipboard operation
nua copied to clipboard

Build / File format / App config file

Open sfermigier opened this issue 2 years ago • 0 comments

General organisation

Each app "spec" is a directory with the following files:

  • nua-config.toml: metadata about the project

  • Dockerfile (mandatory for M1, optional afterwards)

  • optional scripts that with be run during the app lifecycle:

    • build
    • deloy
    • start
    • stop
    • backup...

    (This is really on top of my head. Maybe we need 'pre-...' and 'post-...' scripts for instance. We will see while we build the first packages).

  • OR: this could be provided by a single python module with identified hook points ?

  • Marketing material (used by the Marketplace): screenshots, etc.

    • Translations ?
  • Patches (if an app needs to be patched for Nua)

This general approach should be compared to historical approaches (.rpm, .deb. Homebrew, Arch...) but also to the standards set by mobile app stores (Apple and Android) and PaaS providers (Heroku & friends).

Details of a nua-config.toml

The nua-config.toml file provides metadata relevant to:

  • Marketing time (the Marketplace)
  • Build time
  • Run time

TODO: draft the specs.

There should be a schema to allow validation using either JSON-schema (https://json-schema.org/specification.html) or something similar.

sfermigier avatar Jun 03 '22 06:06 sfermigier