Skip to content

Commit

Permalink
Merge pull request #117 from NethServer/relnotes-82
Browse files Browse the repository at this point in the history
Release notes for milestone 8.2
  • Loading branch information
DavidePrincipi authored Oct 17, 2024
2 parents 3037d58 + 69dd9b5 commit f75cbd9
Show file tree
Hide file tree
Showing 6 changed files with 236 additions and 98 deletions.
2 changes: 2 additions & 0 deletions backup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ displayed. It is divided into two main sections:
- **Applications**: Define backup destinations, set automated backup
schedules and retention rules, and restore individual applications.

.. _backup-destination:

Backup destination
==================

Expand Down
1 change: 0 additions & 1 deletion index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ NethServer 8 administrator manual
certificates
backup
firewall
updates
software_center
email_notifications

Expand Down
40 changes: 0 additions & 40 deletions modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,43 +29,3 @@ You can install only one instance per node of this kind of applications.
On the contrary, applications that do not require exclusive access to
resources can be installed multiple times on the same node. As an example,
you can install multiple Nextcloud applications on a single node.

.. _move_clone-section:

Clone and move applications
===========================

An application instance can be cloned inside a cluster node.
The clone procedure creates a new application instance that is equivalent to the source one.

The cluster node where the destination instance runs can be the same as
the source instance. Generally, there should be no limitation on running
multiple application instances on the same node. In some cases, the services
provided by the instance might require exclusive access to a particular
system resource, such as binding a fixed TCP port number. In this case
cloning becomes impossible.

In a nutshell the clone procedure

1. creates a new application instance for the destination
2. starts the data transfer between the instances, during this phase the
source is still up and running
3. stops briefly the source instance
4. executes the final data synchronization
5. starts the source and the destination instances

Instead, when moving an application, you must select a target node other
than the one where the instance is currently running.

The move procedure

1. creates a new application instance for the destination
2. starts the data transfer between the instances, during this phase the source is still up&running
3. stops briefly the source instance
4. executes the final data synchronization
5. starts the destination instance and removes the source one

If the moved application is referenced using an FQDN, remember also to change the DNS record and
point it to the address of the target node.

To start moving/cloning an application instance see the :ref:`software_center-section` page.
108 changes: 108 additions & 0 deletions release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,114 @@ NethServer 8 releases
- List of `known bugs <https://github.com/NethServer/dev/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Abug>`_
- Discussions around `possible bugs <http://community.nethserver.org/c/bug>`_

Major changes on 2024-10-16
===========================

- **Disk minimum requirements increased** -- The :ref:`minimum disk
requirements <system-requirements-section>` have been increased to a
40GB SSD. The primary storage, which holds container images, must be
fast, especially during read access, to prevent service startup errors.

- **Cluster node limit removed** -- The four-node cluster limit has been
removed. More nodes can now be added, up to the VPN network size.
However, keep in mind the increased system load on the leader node. See
also :ref:`cluster-section`.

- **Progressive upgrades** -- Starting from Core 3.0.0, application images
can be labeled with a new attribute, min-from_. This ensures that
installed applications will ignore any updates with this label if their
version is lower than the label value.

Similarly, a min-core_ label can be applied to application images,
requiring a minimum core version for installation or updates. If the
core version is below the label value, the image will be ignored.

These labels were developed with Nextcloud in mind, as it only allows
upgrades to the next major version number. Application developers can
use these labels to implement progressive upgrades for their
applications.

- **Cluster log forwarding** -- The Log Settings page now allows
configuring an outgoing stream of logs to an external Syslog server or
the Nethesis Cloud Log Manager (available only with an active
Enterprise Subscription plan).

This feature centralizes external log archiving for all cluster nodes.
Since log streams can be substantial in large clusters, future releases
will include a stream filter to help tailor exported logs to relevant
security events. See :ref:`logs-forwarding-section`.

- **Application certification level** -- The Software Center now displays
a *level badge* for each application, indicating its :ref:`certification
level <certification-levels>`. The application details section also
includes information on the source repository and useful links.
Developers can now use a new terms_url_ metadata attribute to provide a
"Terms and Conditions" link, visible even after installation.

- **Application instance limit per node** -- The Software Center enforces
limits on the number of application instances that can be installed per
cluster node. Developers can define this limit using the max-per-node_
image label. See :ref:`install-applications`.

- **Display of core modules** -- The Software Center now shows additional
details for core components, including the core version of each cluster
node. See :ref:`core_updates-section`.

- **Update application to testing version** -- With Core 3.0.0, the
``Testing`` switch under Settings > Software Repositories has been
removed. This change reduces the risk of using pre-releases for new
installations or updates. If the switch was previously enabled, existing
NS8 installations will no longer receive pre-release versions as
updates.

However, it is still possible to upgrade an application instance to a
testing version from its three-dots menu, by selecting the ``Update to
testing version`` action under Software center > Installed > Instances.
This new procedure allows early access to new features and bug fixes,
but it must be used with caution to avoid data loss. Be sure to
carefully read the pre-release documentation or contact the app
developer before using it. See :ref:`application-instances`.

- **More "generic S3" cloud backup providers** -- The S3 Generic backup
destination now supports additional cloud providers, including OVH,
Wasabi, DigitalOcean, and Synology C2. See :ref:`backup-destination`.

- **Backup and snapshot selection** -- During the application restore
process, users can now select from past backup snapshots generated
according to the backup retention policy. See
:ref:`application_restore-section`.

- **TCP and UDP port reallocation** -- Since Core 3.1.0, application
developers can leverage new core functions that extend the range of TCP
and UDP ports assigned to application instances. Similarly, they can
obtain new ranges while preserving existing allocations, easing the
introduction of new components during application upgrades. For more
information, see `Port allocation`_ in the Developer's manual.

- **NethVoice application** -- :ref:`NethVoice <nethvoice-section>` is a
professional IP telephony solution that offers a host of advanced
features and an intuitive user interface.

- **Webtop application** -- :ref:`Webtop <webtop-section>` now features a
new default UI theme, exclusively available on the NS8 platform.
Administrators can choose to apply the new theme across existing
installations or allow end-users to decide. Additionally, for those on
the Enterprise Subscription plan, the :ref:`PEC bridge <pec-bridge>` is
now available.

- **Nextcloud application** -- Nextcloud version 27 (NC 27), which was the
last version available on NethServer 7, has reached End-of-Life (EOL).
Although migrations will still install NC 27, an update to NC 28 will be
immediately available after migration.

- **Mattermost application** -- Mattermost has been upgraded from the EOL
version 8 to the latest major release, version 9.11 (ESR).

.. _terms_url: https://nethserver.github.io/ns8-core/modules/metadata
.. _max-per-node: https://nethserver.github.io/ns8-core/modules/images/#image-labels
.. _min-from: https://nethserver.github.io/ns8-core/modules/images/#image-labels
.. _min-core: https://nethserver.github.io/ns8-core/modules/images/#image-labels
.. _`Port allocation`: https://nethserver.github.io/ns8-core/modules/port_allocation/

Major changes on 2024-05-31
===========================
Expand Down
131 changes: 126 additions & 5 deletions software_center.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ tracker.
Some applications may include additional Terms and Conditions; if present,
read them carefully.

.. hint::

For detailed information about the installed core components refer to
:ref:`core_updates-section`.

.. _certification-levels:

Expand All @@ -27,8 +31,8 @@ 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 1/5**: The application is hosted by a custom repository (or it
is not part of any 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
Expand All @@ -52,6 +56,7 @@ Certification levels are determined based on the following factors:
subscription plan or not). See :ref:`subscription-section` for more
information.

.. _install-applications:

Install applications
====================
Expand All @@ -66,13 +71,19 @@ To install an additional instance of an existing application, click on the
certain cluster nodes may be restricted due to application policies or
node resource limitations.

.. _application-instances:

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:

- ``Update to testing version``: This action is visible only when a
testing version is available as an instance update. Carefully review the
pre-release documentation or consult the app developer before
proceeding.
- ``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.
Expand Down Expand Up @@ -123,19 +134,129 @@ and fill in the required fields:
repository <https://nethserver.github.io/ns8-core/modules/metadata/>`_.
- ``Status``: Check this option to enable the repository.

Note that if the same application is listed in multiple repositories, the
one from the repository with the higher priority will be considered.
Repository priority is determined by the alphabetical order of the
repository names, with those later in the alphabet (e.g., "Z") having
higher priority than those earlier (e.g., "A").

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

Core applications
=================

NS8 consists of the core and several applications. Each core component has
.. _updates-section:

Updates
=======

If the enabled repositories contain an update for an installed application
instance or any core component, a warning message is displayed at the top
of the Software center page. You can see if there are any available
updates also by accessing the ``Cluster status`` page.

NethServer 8 can handle two different types of updates:

* :ref:`core_updates-section`
* :ref:`module_updates-section`

:ref:`Operating system updates <os_updates-section>` are demanded to the
underlying Linux distribution.

If you have an active subscription, available updates are applied
automatically as described in :ref:`scheduled-updates`.

.. _core_updates-section:

Core updates
------------

NS8 consists of the core and several modules. Each core component has
its own version number, and the Software Center will display a warning
when an update is available.

- *Core* contains the web user interface, the API server, the agents
that manage the containers and backup engines.
- *LDAP proxy* is a proxy server for LDAP TCP connections that handles all
connections from applications to :ref:`User domain providers
<user-domains-section>`.
- :ref:`Loki log server <loki-section>`
- :ref:`Traefik proxy <traefik-section>`
- :ref:`Samba Active Directory <active_directory-section>`
- :ref:`OpenLDAP <openldap-section>`

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.
Click on :guilabel:`Update core` button to apply the updates.

Core module updates are always applied altogether to avoid version
mismatches.

.. _module_updates-section:

.. _application-updates:

Application updates
-------------------

The list of available updates is listed inside the ``Updates`` tab of
:ref:`software_center-section`. The software center displays a card for
each application with available updates.

You can apply all application updates by clicking the :guilabel:`Update all
apps` button.

By clicking the :guilabel:`Review and update` button on the application card, you will
see all module instances that require an update. You can update each
instance separately by clicking on the :guilabel:`Update` button. If you
prefer to update all instances of the same module, just click
:guilabel:`Update all instances` button.


.. _move_clone-section:

Clone and move applications
===========================

An application instance can be cloned to any cluster node. The clone
procedure creates a new application instance that is equivalent to the
source one.

The cluster node where the destination instance runs can be the same as
the source instance. Generally, there should be no limitation on running
multiple application instances on the same node. In some cases, the
services provided by the instance might require exclusive access to a
particular system resource, such as binding a fixed TCP port number. In
this case starting additional instances of the same service becomes
impossible.

In a nutshell the clone procedure:

1. Creates a new application instance for the destination.
2. Starts the data transfer between the instances, during this phase the
source is still up and running.
3. Stops briefly the source instance.
4. Executes the final data synchronization.
5. Starts the source and the destination instances.

Instead, when moving an application, you must select a target node other
than the one where the instance is currently running.

The move procedure

1. Creates a new application instance for the destination.
2. Starts the data transfer between the instances, during this phase the
source is still up and running.
3. Stops briefly the source instance.
4. Executes the final data synchronization.
5. Starts the destination instance and removes the source one.

If the moved application is referenced by a fully qualified domain name
(FQDN), ensure you update the DNS record to point to the address of the
target node.

To start moving/cloning an application instance see the
:ref:`application-instances` section.


.. rubric:: Footnotes
Expand Down
Loading

0 comments on commit f75cbd9

Please sign in to comment.