Alternative implementation of Nua
to explore the design space.
DON'T USE. Useful concepts will be merged into the main Nua
project.
- Purely declarative build system. (Actually: as declarative as possible.)
- Build profiles for ~10 major web technologies.
- What's called
nua-runtime
in Nua is callednua-build-agent
here. - Python sub-packages are called
nua_something
instead ofnua.something
. - Main entry point for the project in the
tasks.py
file.- Run
poetry shell && poetry install
first - Then
invoke install
- Then
invoke build-all
.
- Run
- Every time you edit something in
nua-build-agent
, you need to rebuild the base image- (so either run
invoke build-all
orinvoke build-base
before building specific apps).
- (so either run
- Many apps are not building (yet). Sometimes it's not our fault.
- Debian (actually, Ubuntu) is used as the base image. This causes some issues (TBD).
To work specifically on trying to build a specific app, you can run (from the root of this project):
invoke build-all --only <app-name>
(This will rebuild the base image each time, so any changes to nua-build-agent
will be taken into account.)
No work (yet) on a runtime/orchestrator alternative.
We have to check, at some points, that the images produced are actually working in nua-orchestrator
.
see TODO.md