I’d like to contribute a few missing apps to the Community train. I’d prefer to see them in the train rather than defining custom apps so that other folks can share the benefits of my work and so that the apps can benefit from many eyes and many hands.
I’ve read the Contributions.md document in the TrueNAS Apps GitHub project, https://github.com/truenas/apps/tree/master
, and/but I’m left with a few questions.
-
It seems like a App requires a set of configuration files, many of which seem to contain redundant info.
It feels as if some of the files are programmatically generated from others files, which is supported by the docs in
Contributions.md
that say that theci.py
script will create anitems.yaml
and twiddle some parts of theapp.yaml
.Is there any documentation, or a minimal example, of how this should work?
-
ci.py
will let me “test”, but it sounds more like it’s running it for me to interact with, rather than running a scripted test and comparing the outputs.Is that accurate?
-
Is there an official method to test drive new work in the GUI?
Based on the observation that
/mnt/.ix-apps
is a clone ofhttps://github.com/truenas/apps
, it seems like I should be able to fork that project, manually update the configuration in/mnt/.ix-apps
dir so that the remote points to my fork, then fetch and checkout mynew-app
branch.Is that a reasonable approach or am I going to break some subtle magic?
If it’s not a good idea, what’s the alternative?