Thank you for this wonderful Guide for building Nethserver 8 Modules
the tutorial assumes that the module being built is a standard linux package.
What about if the package is an existing docker based solution, or system thats distributed as a docker file, or docker config script.
How does one go about to implementing and packaging that solution as a module for Nethserver 8.
We already have the guides required for ns7 and they have been working perfectly for years.
is there any guide available on this case scenario. is it just a standard deployment almost similar to how its done on ns8 to install on ns8 and what about to make it into a complete module?
mainly I use container from dockerhub, but you have to create a lot of things after, there is no template system like you know but the database system to store setting exists with redis and Env vars
for template system I use jinja template, but you could use bash to expand configuration file
To start container you must use systemd service either by a pod (a container within other containers are running inside and interacting by the localhost) or by containers directly but in that case the containers must reach together by external TCP ports given by the core and required during the installation, It depends of your need. Traefik can be required to link a FQDN to these external TCP ports
Container could be rootless (simple unix user) or rootfull for some reasons (acces to logs, FW, …) however the good plan is rootless.
after that you must create actions (configure-module,get-configuration) as many you need to configure or retrieve information for the UI, validation steps exist and must be used to validate the input or the output
can i start building modules immediately, or would the best bet be waiting first untill beta 2 is released before starting to create.
wouldnt want to have significant changes that would render what’s already built almost require a rebuild, other than just adding afew parameters.
I am also asking this in relation to the firewall, as thats still in development, and woulnt know how those components are applied as well. to modules in future.