NethServer 8 applications are delivered by public container registries. Any Docker/OCI container image hosting is ok. For example, for the core apps we’re relying on GitHub Registry because it can be easily integrated with the CI/CD pipeline running on GitHub Actions.
Developers eager to share their efforts with the community just need to publish the link to their module, something like ghcr.io/DavidePrincipi/ns8-scratchpad:latest which I presented recently in the webinar 24 Nov 2023 - NethServer 8 Deep Dive: how to run generic containers.
We can easily set up a public index of modules, like the ns8-repomd one that’s for core packages and applications, where with a simple, transparent and PR-based review workflow everyone can submit a new module to the community.
Many of you remember the NethForge of NS7: the idea is similar. I’d configure NethForge as a disabled repository in every NS8 installation. After the NS8 installation procedure, it can be enabled as wanted.
i swear @davidep you just went into my head, and pulled out this question from it.
i was about to ask about this as I have some few small items we are working on for NS8, and the biggest question i had were, how do we go about hosting and maintainance etc for the same, now this solves some questions.
i was thinking, after initla/ first time NS8 Setup, during the setup, there would be a Notice informing the NEw NS8 Admin that they can Enable Nethforge Community Repo and show/point them on how to do it, explaining what the community repo entails.
I’d rather enable NethForge by default. But to do it, we need Software Center displays the source repo by some means because the sysadmin needs to know where the app comes from before installing it.
I don’t see the answer there. The link from that page to “NS8 repository” links to–well, I’m not sure what, exactly, but it definitely doesn’t say anything about NS8 repositories. If the URL is supposed to be https://forge.nethserver.org, that doesn’t work, resulting in this error:
Traceback (most recent call last):
File "/var/lib/nethserver/cluster/actions/add-repository/10validate", line 55, in <module>
with urllib.request.urlopen(url) as req:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 525, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 634, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 563, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
You can set it in metadata.json file.
Unsure if the core just takes any category defined by the app developer.
Currently, the defined categories (AFAIK) are:
storage
monitoring
development
communication
office
collaboration
system_administration
security
web
documentation
database
If a new category is to be defined, then a translation string shall be pushed to the core module.
@alefattorini could we kindly have a publicly listed Apps categories somewhere for reference purposes, even if in the nethforge repo README doc.
Please