Skip to content

Commit

Permalink
Merge pull request #114 from NethServer/feat-sci
Browse files Browse the repository at this point in the history
Docs change for Software Center improvements

Refs NethServer/dev#6956
  • Loading branch information
DavidePrincipi authored Sep 27, 2024
2 parents 705acfe + 0b1ec78 commit 58b7912
Show file tree
Hide file tree
Showing 3 changed files with 169 additions and 74 deletions.
5 changes: 3 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,9 @@ Add warnings with ::

Other conventions:

* use double backtick to quote labels and links from the web user interface
* use ``guilabel`` markup for buttons
* use double backtick \``, to quote labels and links from the web
user interface, e.g. ````some link````
* use ``guilabel`` markup for buttons, e.g. ``:guilabel:`some label```

You can find more info about **RST Inline Markup** here: rst-cheatsheet_

Expand Down
178 changes: 119 additions & 59 deletions software_center.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,81 +4,141 @@
Software center
===============

The software center lists applications available from all repositories
[#fileserver]_\ .

To install a new application just click on the :guilabel:`Install` button.
If the cluster has multiple nodes, you will be alse required to select the
target node.

To install another instance of an existing application, click on the
``Instances`` link inside the application card. Then click on
:guilabel:`Install new instance`.

.. note::

Be careful! The user interface does not currently check if an
application supports multiple instances on the same node.
The Software Center displays and manages applications available from all
configured repositories [#fileserver]_\ .

Application information
========================

Each application is represented by a card displaying its name, level of
certification, and category. Click on the application's name to view
detailed information such as screenshots, author, latest version,
container images, and links to documentation, source code, and bug
tracker.

Some applications may include additional Terms and Conditions; if present,
read them carefully.


.. _certification-levels:

Levels of certification
=======================

Applications are certified at the following levels:

- **Level 1/5**: The application is hosted by a custom repository and is
not certified.
- **Level 2/5**: The application is hosted by the ``nethforge`` repository
and certified by the NethServer community.
- **Level 3/5**: The application is hosted by the ``default`` or
``subscription`` repositories and is certified by Nethesis.
- **Level 4/5**: The application is developed and maintained by Nethesis
developers.
- **Level 5/5**: The application is developed and maintained by Nethesis
developers and is covered by Nethesis support.

Certification levels are determined based on the following factors:

1. **Repository**: To be listed in a public repository, an application
must undergo a review process. Being listed in a public repository
establishes the base certification level of the application.
2. **Origin**: The container image registry hosting the application
identifies the person or organization distributing it. Currently, the
recognized registries are ``ghcr.io/nethserver`` and
``ghcr.io/nethesis``.
3. **Support**: If the cluster has an active subscription and paid support
is available for the application (whether included in the current
subscription plan or not). See :ref:`subscription-section` for more
information.


Install applications
====================

To install a new application, simply click the :guilabel:`Install` button
of the application card. If your cluster has multiple nodes, you will also
need to select the target node.

To install an additional instance of an existing application, click on the
``Instances`` link within the application's card. Then, select
:guilabel:`Install new instance`. Note that in some cases, installation on
certain cluster nodes may be restricted due to application policies or
node resource limitations.

Application instances
======================

Once an application has one or more installed instances, click on the
``Instances`` link within the application's card. You can perform various
actions on each instance by clicking on its three-dots menu:

- ``Add to favorites``: The application will always be listed at the top
of the application drawer.
- ``Edit instance label``: Add a custom name to the instance.
- ``Clone``: Clone the application. See :ref:`move_clone-section`.
- ``Move``: Move the application to another node. See
:ref:`move_clone-section`.
- ``Uninstall``: Remove the application and all related data.

.. |bento| image:: _static/bento.png
:alt: application drawer

Installed applications are always available from the application drawer,
by clicking on the |bento| menu in the top right corner.

You can also perform multiple actions on installed applications by
clicking on the three-dots menu:

- ``Add to favorites``: the application will be always listed on top of
the application drawer

- ``Edit instance label``: add a name to the instance

- ``Clone``: clone the application, see :ref:`move_clone-section`

- ``Move``: move the application to another node, see
:ref:`move_clone-section`

- ``Uninstall``: remove the application and all related data
Installed application instances are also accessible from the application
drawer by clicking on the |bento| menu in the top-right corner of the
screen.

.. _software_repositories-section:

Software repositories
=====================

Software repositories contain applications metadata, which is constituted
by the index of applications, along with their descriptions and additional
information on how to obtain them.
An NS8 software repository is an index of applications and a collection of
their metadata.

The list of configured repositories is accessible by different ways:
You can access the list of configured repositories in several ways:

* In the ``Settings`` page: click the ``Software repositories`` card.
* In the ``Software Center`` page: click the ``Software repositories``
item in the three-dots menu at the top-right corner.

NS8 includes a default set of software repositories, some enabled and
others disabled:

- ``default``: Contains applications developed and maintained mainly by
NethServer developers. It also tracks updates for NS8 core modules and
the core itself.
- ``nethforge``: A repository of applications built and maintained by the
NethServer community. It is initially disabled.
- ``subscription``: Added and enabled when the cluster has an active
subscription. It overrides the contents of the ``default`` repository
with an update schedule managed by Nethesis. See
:ref:`subscription-section` for details.

To add a custom repository, click on the :guilabel:`Add repository` button
and fill in the required fields:

- ``Name``: A unique name for the repository.
- ``URL``: The public URL of the repository. It must be a valid `NS8
repository <https://nethserver.github.io/ns8-core/modules/metadata/>`_.
- ``Status``: Check this option to enable the repository.

You can refresh the metadata by clicking on the :guilabel:`Reload
repositories` button.

* In the ``Software Center`` page: click the ``Software repository`` item
under the three-dots menu on the top right corner of the page.

NethServer comes with a default set of software repositories in both
enabled and disabled state.

NethForge is a repository of applications built by the NethServer
community, initially set in a disabled state.

To add your own repository click on the :guilabel:`Add repository` button.
Then fill all required fields:

- ``Name`` a unique name for the repository

- ``URL`` public URL of the repository, it must be a valid `NS8 repository
<https://nethserver.github.io/ns8-core/modules/metadata/>`_
Core applications
=================

- ``Status`` check this option to enable the repository
NS8 consists of the core and several applications. Each core component has
its own version number, and the Software Center will display a warning
when an update is available.

- ``Testing`` check this option to access also non-stable releases of
modules from this repository
You can review the components currently installed in the cluster at any
time. To do this, click on the three-dots menu in the top-right corner of
the ``Software Center`` page, then select the ``Core apps`` option.

You can force the metadata refresh by clicking on the :guilabel:`Reload
repositories` button.

.. rubric:: Footnotes

.. [#fileserver] Except for :ref:`file-server-section`, that is installed
with :ref:`active_directory-section`
.. [#fileserver] Except for :ref:`file-server-section`, that is provided
by a core module, installed with :ref:`active_directory-section`
60 changes: 47 additions & 13 deletions subscription.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,29 +51,63 @@ button.
If the procedure is successful the Subscription page displays the ``System
ID``, ``Plan`` type and ``Expiration`` date.

.. _terms-and-conditions:

Terms and Conditions
====================

Please read the Terms and Conditions carefully. By maintaining an active
NethServer 8 subscription, you confirm that you accept the Terms and
Conditions and agree to abide by them. If you do not agree to these Terms
and Conditions, you may not activate or continue your subscription.

Details of subscription plans can be found on the `NethServer website`_.

.. _NethServer website: https://www.nethserver.org/subscription

Personal identification information is stored and processed when necessary
to fulfill a contract to which the data subject is a party, or to take
steps at the request of the data subject prior to entering into a
contract. This information may also be used to share updates and news
related to the subscribed service.

The data controller is Nethesis S.r.l unipersonale CF/PI/RI IT
02734760412, located at Strada degli Olmi 8 -- 61122 Pesaro (PU) -- Italy.

Any requests concerning the processing of personal identification
information (PII) may be addressed to [email protected].


.. _scheduled-updates:

Scheduled updates
=================

An overnight scheduled task installs software updates available from
managed software repositories. The task runs daily, from Tuesday through
Friday, within a randomly selected time slot between midnight and 6 AM.
This variability helps distribute the load on the network and servers.
Updates concern:
A scheduled overnight task automatically installs software updates
available from Nethesis-managed repositories. This task runs daily from
Tuesday through Friday, within a randomly selected time slot between
midnight and 6 AM. The randomization helps distribute the load on network
and server resources. The updates include:

- **Operating system**: updates are sourced from Nethesis managed
repositories, specifically from DNF repositories labeled as
``ns-baseos`` and ``ns-appstream``. These repositories provide delayed
snapshots of Rocky Linux repositories, aiming to prevent the
distribution of updates that may lead to unexpected issues.
- **Operating system**: Updates are sourced from the DNF repositories
labeled ``ns-baseos`` and ``ns-appstream``. These repositories provide
delayed snapshots of Rocky Linux repositories to avoid distributing
updates that could cause unexpected issues.

- **Core components**: Updates are fetched from the ``subscription``
repository
repository.

- **Applications**: Updates are also sourced from the ``subscription``
repository.

Managed repositories follow a conservative update policy to ensure
stability and thorough testing of updates, making them suitable for
automated updates.

- **Applications**: Updates are fetched from the ``subscription``
repository
It is possible to override the managed update policy by manually
installing or updating core components or applications via the Software
Center page. The metadata for applications and core components from the
``subscription`` repository is refreshed hourly in the Software Center.


Remove the subscription
Expand Down

0 comments on commit 58b7912

Please sign in to comment.