Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
include::product-attributes.adoc[]
:trento: Trento

=== Containerized deployment
:revdate: 2025-08-05
== Containerized deployment


A containerized deployment of {trserver} is identical to the systemd
A containerized deployment of {trento} is identical to the systemd
deployment. However, the web and check engine components are deployed as
Docker containers.

Follow the steps in <<sec-systemd-deployment>>, but skip the *Install
Trento using RPM packages* step and follow the procedures as described below.
Follow the steps in link:https://www.trento-project.io/docs/user-guide/trento-install-server.html#sec-systemd-deployment[systemd installation], but skip the *Install
{trento} using RPM packages* step and follow the procedures as described below.

==== Install Trento using Docker
=== Install Trento using Docker

===== Install Docker container runtime
==== Install Docker container runtime

. Enable the containers module (replace `15.x` with the correct Service Pack version):
+
Expand All @@ -35,9 +33,9 @@ zypper install docker
systemctl enable --now docker
----

===== Create a dedicated Docker network for Trento
==== Create a dedicated Docker network for {trento}

. Create the Trento Docker network:
. Create the {trento} Docker network:
+
[source,bash]
----
Expand All @@ -61,7 +59,7 @@ The output should be similar to this (the exact address may vary):
. Open the _/var/lib/pgsql/data/pg_hba.conf_ file for editing and replace `0.0.0.0/0` with the address returned by the command in the previous step.
. Restart the PostgreSQL server using the `systemctl restart postgresql` command.

===== Install Trento on Docker
==== Install {trento} on Docker

. Create secret environment variables:
+
Expand Down Expand Up @@ -104,6 +102,7 @@ docker run -d --name wanda \
-e AMQP_URL=amqp://trento_user:trento_user_password@host.docker.internal/vhost \
-e DATABASE_URL=ecto://wanda_user:wanda_password@host.docker.internal/wanda \
-e OAS_SERVER_URL=https://trento.example.com/wanda \
-e AUTH_SERVER_URL=http://localhost:4000 \
--restart always \
--entrypoint /bin/sh \
registry.suse.com/trento/trento-wanda:latest \
Expand All @@ -121,7 +120,7 @@ the UI.
[NOTE]
====
Add `+CHARTS_ENABLED=false+` if Prometheus is not installed, or you do
not want to use Trento's charts functionality.
not want to use {trento}'s charts functionality.
====
+
[source,bash]
Expand Down
1 change: 1 addition & 0 deletions trento-docs-site/modules/developer/nav_developer.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
** Internal Notes
*** xref:internal-notes/pr-env-ssl-certificate-setup.adoc[SSL Certificate creation and setup Guide for Pull Request Environments]
*** xref:internal-notes/release.adoc[Release Process]
*** xref:internal-notes/trento-container-install.adoc[Containerized deployment]

** Trento Documentation Page
*** xref:trento-docs-site/README.adoc[Documentation Page]
Expand Down
2 changes: 1 addition & 1 deletion trento/adoc/trento-install-agents.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ amqp://trento:trento@TRENTO_SERVER_HOSTNAME:5672/. If the default
RabbitMQ username and password (`+trento:trento+`) were updated using
Helm, the parameter must use a user-defined value.
+
In a systemd or containerized deployment, the correct value is
In a systemd deployment, the correct value is
`+amqp://TRENTO_USER:TRENTO_USER_PASSWORD@TRENTO_SERVER_HOSTNAME:5672/vhost+`.
If `+TRENTO_USER+` and `+TRENTO_USER_PASSWORD+` have been replaced with
custom values, you must use them.
Expand Down
1 change: 0 additions & 1 deletion trento/adoc/trento-install-server.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@ include::product-attributes.adoc[]

include::trento-kubernetes-install.adoc[]
include::trento-systemd-install.adoc[]
include::trento-container-install.adoc[]
include::trento-ansible-install.adoc[]
4 changes: 2 additions & 2 deletions trento/adoc/trento-lifecycle.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ include::product-attributes.adoc[]
+
Delivery mechanism::: RPM package for {sles4sap} 15 SP3 and newer.

Supported runtime::: Supported in {sles4sap} 15 SP3 and newer on x86_64 and ppc64le architectures.
Supported runtime::: Supported in {sles4sap} 15 SP4 and newer, and {sles4sap} 16.0, on x86_64 and ppc64le architectures.

// Variable List for trserver
{trserver}::
Expand All @@ -25,4 +25,4 @@ Delivery mechanisms::: A set of container images from the {suse} public registry
* If you don't have a {k8s} cluster, and need enterprise support, {suse} recommends {suse} {rke} (RKE) version 1 or 2.
* If you do not have a {k8s} enterprise solution but you want to try {trento}, {suse} Rancher's K3s provides you with an easy way to get started. But keep in mind that K3s default installation process deploys a single node {k8s} cluster, which is not a recommended setup for a stable Trento production instance.

systemd and containerized deployments::: Supported in {sles4sap} 15 SP3 and newer.
systemd deployments::: Supported in {sles4sap} 15 SP4 and newer, and {sles4sap} 16.0.
9 changes: 2 additions & 7 deletions trento/adoc/trento-report-issue.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,21 @@ include::product-attributes.adoc[]
:revdate: 2025-10-27


{suse} customers with registered {sles4sap}{nbsp}15 (SP3 or higher)
{suse} customers with registered {sles4sap}{nbsp}15 (SP4 or higher) or {sles4sap} 16.0
distributions can report {trento} issues either directly in the {scc}
or through the corresponding vendor, depending on their licensing model.
Problems must be reported under {sles4sap}{nbsp}15 and component
trento.

When opening a support case for {trento}, provide the relevant
deployment option for {trserver}: {k8s}, systemd or containerized ({docker}-based).
deployment option for {trserver}: {k8s}, or systemd RPM installation.

In case of a {k8s} deployment, provide the output of the {trento}
support script as explained in section
<<sec-trento-problemanalysis>>.

In case of a systemd deployment, provide the output of the {trento} support plugin, as explained in section <<sec-trento-problemanalysis>>.

In case of a containerized deployment, provide the logs of the
trento-web and trento-wanda containers. Use `+docker ps+` to retrieve
the IDs of both containers, then `+docker logs CONTAINER_ID+` to
retrieve the corresponding logs.

For issues with a particular {tragent}, or a component discovered by a
particular {tragent}, also provide the following:

Expand Down
4 changes: 2 additions & 2 deletions trento/adoc/trento-requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Running all the {trserver} components requires a minimum of 4 GB of RAM, two CPU

{trento} is based on event-driven technology. Registered events are stored in a {postgresql} database with a default retention period of 10 days. For each host registered with {trento}, you need to allocate at least 1.5GB of space in the {postgresql} database.

{trserver} supports different deployment scenarios: {k8s}, systemd, and containers. A {k8s}-based deployment of {trserver} is cloud-native and OS-agnostic. It can be performed on the following services:
{trserver} supports different deployment scenarios: {k8s} and systemd. A {k8s}-based deployment of {trserver} is cloud-native and OS-agnostic. It can be performed on the following services:

* RKE1 ({rancher_k8s_engine} version 1)
* RKE2
Expand Down Expand Up @@ -56,5 +56,5 @@ Similarly, the clusters must have unique authkeys in order to be registered in {
[[sec-trento-installation-prerequisites]]
=== Installation prerequisites

* *{trserver}* For a {k8s}-based deployment, you must have access to {suse} public registry for the deployment of {trserver} containers. For a systemd deployment, you must have a registered {sles4sap} 15 (SP3 or higher) distribution. The same applies to a containerized deployment.
* *{trserver}* For a {k8s}-based deployment, you must have access to {suse} public registry for the deployment of {trserver} containers. For a systemd deployment, you must have a registered {sles4sap} 15 (SP4 or higher) or {sles4sap} 16.0 distribution.
* *{tragent}s* A registered {sles4sap} 15 (SP3 or higher) distribution.
134 changes: 0 additions & 134 deletions trento/adoc/trento-sso-integration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -93,44 +93,6 @@ OIDC_CALLBACK_URL=<OIDC_CALLBACK_URL>
+
. Restart the application.

==== Enabling OpenID Connect when using Docker images

To enable OIDC when using Docker images, proceed as follows:

[arabic]
. If `+trento-web+` container is already running stop and delete the
container before continuing. For that run:
+
[source,bash]
----
docker stop trento-web
docker rm trento-web
----
. Provide the following environment variables to the Docker container
via the `+-e+` option:
+
[source,bash]
----
docker run -d \
-p 4000:4000 \
--name trento-web \
--network trento-net \
--add-host "host.docker.internal:host-gateway" \

...[other settings]...

# Required:
-e ENABLE_OIDC=true \
-e OIDC_CLIENT_ID=<OIDC_CLIENT_ID> \
-e OIDC_CLIENT_SECRET=<OIDC_CLIENT_SECRET> \
-e OIDC_BASE_URL=<OIDC_BASE_URL> \

# Optional:
-e OIDC_CALLBACK_URL=<OIDC_CALLBACK_URL> \

...[other settings]...
----

==== Available variables for OpenID Connect

OIDC_CLIENT_ID::
Expand Down Expand Up @@ -216,48 +178,6 @@ OAUTH2_CALLBACK_URL=<OAUTH2_CALLBACK_URL>
+
. Restart the application.

[[enabling-oauth-20-when-using-docker-images]]
==== Enabling OAuth 2.0 when using Docker images

To enable OAuth 2.0 when using Docker images, proceed as follows:

[arabic]
. If `+trento-web+` container is already running stop and delete the
container before continuing. For that run:
+
[source,bash]
----
docker stop trento-web
docker rm trento-web
----
. Use the following environment variables to the Docker container via
the `+-e+` option:
+
[source,bash]
----
docker run -d \
-p 4000:4000 \
--name trento-web \
--network trento-net \
--add-host "host.docker.internal:host-gateway" \

...[other settings]...

-e ENABLE_OAUTH2=true \
-e OAUTH2_CLIENT_ID=<OAUTH2_CLIENT_ID> \
-e OAUTH2_CLIENT_SECRET=<OAUTH2_CLIENT_SECRET> \
-e OAUTH2_BASE_URL=<OAUTH2_BASE_URL> \
-e OAUTH2_AUTHORIZE_URL=<OAUTH2_AUTHORIZE_URL> \
-e OAUTH2_TOKEN_URL=<OAUTH2_TOKEN_URL> \
-e OAUTH2_USER_URL=<OAUTH2_USER_URL> \

# Optional:
-e OAUTH2_SCOPES=<OAUTH2_SCOPES> \
-e OAUTH2_CALLBACK_URL=<OAUTH2_CALLBACK_URL> \

...[other settings]...
----

[[available-variables-for-oauth-20]]
==== Available variables for OAuth 2.0

Expand Down Expand Up @@ -496,60 +416,6 @@ SAML_SIGNED_ENVELOPES=<SAML_SIGNED_ENVELOPES>
+
. Restart the application.

==== Enabling SAML when using Docker images

To enable SAML when using Docker images, proceed as follows:

[arabic]
. If `+trento-web+` container is already running stop and delete the
container before continuing. For that run:
+
[source,bash]
----
docker stop trento-web
docker rm trento-web
----
. Use the following environment variables to the Docker container via
the `+-e+` option:
+
[source,bash]
----
docker run -d \
-p 4000:4000 \
--name trento-web \
--network trento-net \
--add-host "host.docker.internal:host-gateway" \

...[other settings]...

-e ENABLE_SAML=true
-e SAML_IDP_ID=<SAML_IDP_ID> \
-e SAML_SP_ID=<SAML_SP_ID> \
# Only SAML_METADATA_URL or SAML_METADATA_CONTENT must by provided
-e SAML_METADATA_URL=<SAML_METADATA_URL> \
-e SAML_METADATA_CONTENT=<SAML_METADATA_CONTENT> \

# Optional:
-e SAML_IDP_NAMEID_FORMAT=<SAML_IDP_NAMEID_FORMAT> \
-e SAML_SP_DIR=<SAML_SP_DIR> \
-e SAML_SP_ENTITY_ID=<SAML_SP_ENTITY_ID> \
-e SAML_SP_CONTACT_NAME=<SAML_SP_CONTACT_NAME> \
-e SAML_SP_CONTACT_EMAIL=<SAML_SP_CONTACT_EMAIL> \
-e SAML_SP_ORG_NAME=<SAML_SP_ORG_NAME> \
-e SAML_SP_ORG_DISPLAYNAME=<SAML_SP_ORG_DISPLAYNAME> \
-e SAML_SP_ORG_URL=<SAML_SP_ORG_URL> \
-e SAML_USERNAME_ATTR_NAME=<SAML_USERNAME_ATTR_NAME> \
-e SAML_EMAIL_ATTR_NAME=<SAML_EMAIL_ATTR_NAME> \
-e SAML_FIRSTNAME_ATTR_NAME=<SAML_FIRSTNAME_ATTR_NAME> \
-e SAML_LASTNAME_ATTR_NAME=<SAML_LASTNAME_ATTR_NAME> \
-e SAML_SIGN_REQUESTS=<SAML_SIGN_REQUESTS> \
-e SAML_SIGN_METADATA=<SAML_SIGN_METADATA> \
-e SAML_SIGNED_ASSERTION=<SAML_SIGNED_ASSERTION> \
-e SAML_SIGNED_ENVELOPES=<SAML_SIGNED_ENVELOPES> \

...[other settings]...
----

==== Available variables for SAML

SAML_IDP_ID::
Expand Down
11 changes: 1 addition & 10 deletions trento/adoc/trento-systemd-install.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ useful information about the CPU load and memory.
====
If you choose not to install Prometheus, set `+CHARTS_ENABLED+` to
`+false+` in the {trento} web RPM configuration file stored in
`+/etc/trento/trento-web+`, or when it is provided to the {trento} web
container. To use an existing Prometheus installation, set `+CHARTS_ENABLED+` to
`+/etc/trento/trento-web+`. To use an existing Prometheus installation, set `+CHARTS_ENABLED+` to
`+true+`
====

Expand All @@ -48,14 +47,6 @@ container. To use an existing Prometheus installation, set `+CHARTS_ENABLED+` to

Minimal required Prometheus version is *2.28.0*.

If you have a
https://prometheus.io/docs/prometheus/latest/installation/[existing
Prometheus server], ensure to set the PROMETHEUS_URL environment
variable to your Prometheus server's URL as part of the Docker command
when creating the `+trento-web+` container or configuring the RPM
packages. Use <<prometheus-packagehub>> as a reference to
adjust the Prometheus configuration.

[[prometheus-packagehub, Install Prometheus using the *unsupported* PackageHub repository]]
====== Install Prometheus using the *unsupported* PackageHub repository

Expand Down
2 changes: 1 addition & 1 deletion trento/adoc/trento-uninstall-trento-server.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ include::product-attributes.adoc[]


The procedure to uninstall the {trserver} depends on the deployment
type: {k8s}, systemd or containerized. The section covers {k8s}
type: {k8s} or systemd. The section covers {k8s}
deployments.

If {trserver} was deployed manually, you need to uninstall it manually.
Expand Down
17 changes: 2 additions & 15 deletions trento/adoc/trento-update-trento-checks.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ catalog in their setup whenever updates to existing checks and new
checks are released, without waiting for a new version release cycle.

The procedure of updating the configuration checks depends on the
{trserver} deployment type: {k8s}, systemd or containerized.
{trserver} deployment type: {k8s} or systemd.

In a {k8s} deployment, checks are delivered as a container image, and
you can use Helm with the following options to pull the latest image:
Expand All @@ -33,17 +33,4 @@ can use Zypper to update your checks catalog:
{prompt_sudo}zypper ref
{prompt_sudo}zypper update trento-checks
----
====

In a containerized deployment, checks are delivered as a container
image, and you can user Docker to pull the latest version into the
trento-checks volume created during the installation process:

====
[source,bash,subs="attributes"]
----
{prompt_user}docker run \
-v trento-checks:/usr/share/trento/checks \
registry.suse.com/trento/trento-checks:latest
----
====
====
10 changes: 1 addition & 9 deletions trento/adoc/trento-update-trento-server.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ include::product-attributes.adoc[]


The procedure to update {trserver} depends on the chosen deployment
option: {k8s}, systemd, or containerized.
option: {k8s} or systemd.

Consider the following when performing an update:

Expand Down Expand Up @@ -66,11 +66,3 @@ In a system deployment, you can use zypper to update {trserver}:
systemctl restart trento-wanda
----
====

In a containerized deployment, you can use the same Docker commands as
for the installation. Keep in mind that the volume for the {trento}
checks already exists, so there is no need to create it. Also, the web
and wanda containers must be stopped and removed before they can be
redeployed with the latest version. Also make sure to include in the
Docker commands any other options that you have enabled after the
original installation.