# Updates & Patch Management

This page describes how Flopsar Technology delivers updates, how their\
authenticity and integrity are guaranteed, and how an operator applies them to\
each component while preserving configuration, keys, and data. Keeping the\
product up to date is the single most important operational security control,\
and the mechanics below are designed to make it safe and predictable.<br>

Providing security updates — promptly, separately from feature changes, and\
in a way the user can apply securely — is an essential requirement of the\
Cyber Resilience Act (Annex I, Part II, point 8; Annex II, point (i)). This\
page is the operator-facing description of how those updates reach you and how\
to install them.

## Update model: operator-controlled, no phone-home

Flopsar is on-premises infrastructure that runs inside your trust boundary. Consistent with that, updates are **operator-controlled**:

* The product does **not** auto-update and does **not** contact Flopsar Technology to check for new versions. You decide when to update, which fits the change-control expectations of the environments Flopsar runs in.
* New versions are **published** by the manufacturer to signed repositories; you **pull** them using the standard package manager of your platform, on your schedule.
* **Security updates are provided free of charge** for the duration of a product line's security support window; see Support & Maintenance Lifecycle.&#x20;

If you prefer automation, you can point your own patch-management tooling (for example `unattended-upgrades` on Debian/Ubuntu or `dnf-automatic` on RHEL-family systems) at the Flopsar repository, just as you would for any other package.

## How updates are distributed

### Signed APT repository (Debian / Ubuntu)

Server packages are served from Flopsar's APT repository. The repository metadata is **GPG-signed** with the Flopsar Technology signing key, so `apt` verifies authenticity and integrity automatically once you have added the repository and imported the public signing key. Reject any package that fails signature verification.

### Signed RPM repository (RHEL family / Fedora / openSUSE)

For RPM-based systems, both the **individual packages** and the **repository metadata** are GPG-signed. After importing the Flopsar public key, `dnf`/`yum` verifies signatures on download and installation.

{% hint style="info" %}
**Why this matters.** Package and repository signing is what makes the update channel itself trustworthy: it prevents a tampered or man-in-the-middle package from being installed. Always import and pin the Flopsar signing key, and never disable signature checks (`gpgcheck`/`[trusted=yes]`) for the Flopsar repository.
{% endhint %}

### Agent artifacts

The Flopsar agent is a native library loaded into the monitored JVM. Updating an agent means deploying the new agent artifact for that line and restarting (or re-attaching to) the JVM so the new version is loaded. Plan agent updates together with the maintenance windows of the applications they instrument.

## Versions and what counts as a security update

Flopsar uses semantic versioning with build metadata (for example `7.0.0`). How to read a version, how to determine exactly which version each component is running, and how to verify release artifacts are covered in Product Identification & Versioning. Which releases address security issues — and which CVE/advisory each fixes — is published in Security Advisories. Use the advisories to decide which updates are security-relevant and how urgently to apply them.

## Applying updates per component

### Flopsar Server (packages)

Update through the package manager, for example:

```bash
# Debian / Ubuntu
apt update && apt install --only-upgrade flopsar-server
# RHEL family / Fedora
dnf upgrade flopsar-server
```

The package's upgrade scripts preserve your existing configuration, TLS material, and master key — the first-install logic that generates `settings.toml`, certificates, and the master key runs only on a fresh install, never on upgrade. The server service is managed by `systemd` and is restarted as part of the upgrade.

{% hint style="warning" %}
Plan for a brief restart. Upgrading restarts the server, which causes a short interruption in ingestion and API availability. Because API session tokens are invalidated on restart, users will need to sign in again after an update; see [Authentication](vscode-file://vscode-app/admin/identity/authentication). Schedule updates in a maintenance window appropriate to your environment.
{% endhint %}

### Flopsar Agent

Deploy the updated agent artifact and restart/re-attach the affected JVMs. Agents and the server are designed to interoperate within a supported line; consult the advisory or release notes for any version-pairing requirements before a major upgrade.

## Configuration, keys, and data across upgrades

* Configuration (`settings.toml`) is not overwritten on upgrade.
* TLS certificate/key and the master key under the `ssl` directory are preserved; they are generated only on first install (the server provides `flopsar-server gencerts` and `flopsar-server genmkey` for generating them, and `flopsar-server config` for generating a default configuration).
* Collected data in the data directory is retained.
* The server runs as an unprivileged system user (`flopsar`), and the key material is owned by that user with restrictive permissions; upgrades do not loosen this.

Always review the release notes for a given update in case a major version introduces a migration step or a changed default.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flopsar.com/7/security/updates-and-patch-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
