Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build / File format / App config file #5

Open
sfermigier opened this issue Jun 3, 2022 · 0 comments
Open

Build / File format / App config file #5

sfermigier opened this issue Jun 3, 2022 · 0 comments

Comments

@sfermigier
Copy link
Member

sfermigier commented Jun 3, 2022

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 sfermigier added this to the M1 milestone Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In progress
Development

No branches or pull requests

1 participant