Commit graph

2621 commits

Author SHA1 Message Date
Johannes Meyer
82259c4750 Notifications/V1/Source: Skip binary behavior application 2026-05-11 13:53:26 +02:00
Johannes Meyer
1670ad768c
Release v1.3.1 (#1352) 2026-04-01 11:03:40 +02:00
Johannes Meyer
43f8cee2ca module.info: Raise version to 1.3.1 2026-04-01 11:02:09 +02:00
Johannes Meyer
b1a415712b Update CHANGELOG.md 2026-04-01 11:02:01 +02:00
Eric Lippmann
4bbacbbfda Loosen monitoring module integration (#1346)
For compatibility reasons, Icinga DB Web also applies hooks provided
for the monitoring module, so existing modules do not need to implement
new hook interfaces. The code paths that consume these hooks are already
guarded by installation checks, so no hook is applied if the `monitoring`
module is not installed.

Previously, when the `monitoring` module was not enabled, Icinga DB Web
would search module directories manually to register its autoloader,
logging an error if the module could not be located. This produced
noise in setups where the `monitoring` module is simply not installed.

The autoloader registration now uses the module manager directly and
is skipped entirely if the `monitoring` module is not installed.

(cherry picked from commit 04e0428888)
2026-04-01 10:40:39 +02:00
Sukhwinder Dhillon
15cb8d97f8 Fix leading comma in JSON export (#1349)
When exporting JSON with a limit and a page > 1 set, a leading comma is added
before the first item because `$offset !== 0` evaluates to true, resulting in
invalid JSON.

Replace the offset‑based condition with a `$first` flag to track whether any
item has been written yet.

(cherry picked from commit b60448bc77)
2026-04-01 10:40:26 +02:00
Bastian Lederer
fb9c2b65fa Ensure forward compatibility with ipl-orm by adding return types (#1340)
Add explicit return types to `ipl-orm`-derived methods to prepare for strict
typing. These additions are safe, as they only annotate existing methods that
previously lacked return type declarations.

(cherry picked from commit f8d4f92566)
2026-04-01 10:40:13 +02:00
Johannes Meyer
6897a56c1b Revert "ContinueWith: Disable button if the query with filter returns no results (#1300)"
This reverts commit 92a28df146.
2026-03-06 15:41:23 +01:00
Johannes Meyer
7daaaadccf Revert "module.info: Require ipl v0.19.0"
This reverts commit 5339531a90.
2026-03-06 15:41:03 +01:00
Gianluca Piccolo
cf85671053 Fix translated status (#1328)
(cherry picked from commit bdb3861a95)
2026-03-06 15:39:23 +01:00
Johannes Meyer
88db56e17b Optimize restriction application to avoid multiple or needless sub-queries (#1329)
2cd1f96c Fixes that a condition, to keep redundancy groups in the result
(as they cannot be subjected to restrictions), lead to expensive and
irrelevant sub-queries in cases where redundancy groups were not
fetched. (e.g. usergroups)

6cb15efc Changes restriction application so that restrictions of
multiple roles are merged together instead of being processed
individually. This helps the ORM to generate less sub-queries and I
suspect performance will also be improved, even if just slightly.

fixes #1294

(cherry picked from commit 3b77b1c956)
2026-03-02 14:59:35 +01:00
Johannes Meyer
02ddff84f4 SlaReport: Disconnect from the database when done
This hook usually runs isolated and no-one else requires a connection.
Makes only a difference in case of reporting triggering this as part
of a scheduled report and prevents the database connection from being
left open unnecessarily and failing upon re-use.

(cherry picked from commit e56d8a68ca)
2026-03-02 14:48:14 +01:00
Johannes Meyer
514f3cf266 Backend: Also escape …FROM user in case of pgsql
Still hacky, but at least the combined str_replace
should compensate the preg_replace :D

I stopped thinking about a proper fix, as between the
time the original quick fix was implemented and now,
nothing has fundamentally changed in ipl-orm.

fixes #1330

(cherry picked from commit ab5304d4b0)
2026-03-02 14:42:34 +01:00
Johannes Meyer
5339531a90 module.info: Require ipl v0.19.0
due to 9cabfd59

(cherry picked from commit c1ff12c3ac)
2026-03-02 14:42:23 +01:00
Sukhwinder Dhillon
92a28df146 ContinueWith: Disable button if the query with filter returns no results (#1300)
fixes #1299

requires https://github.com/Icinga/ipl-web/pull/334

(cherry picked from commit 9cabfd5968)
2026-03-02 14:39:33 +01:00
Johannes Meyer
2963fd60b8 VolatileStateResults: Fetch individual redis results for the actual current item
Previously, only the second and other subsequent item was updated with redis
results. Not sure why this wasn't discovered until recently, as the issue
was already part of the initial fix meant for a very similar issue, affecting
*all* items. Hell, maybe because my initial analysis this time also led me
into the wrong direction, so when reviewing this, proper testing and result
verification is key!

fixes #1318

(cherry picked from commit f70f60bf66)
2026-03-02 14:38:39 +01:00
Johannes Meyer
0589146756
Release 1.3.0 (#1308)
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
2025-11-19 13:03:54 +01:00
Johannes Meyer
d8ec34ccaf module.info: Raise version to 1.3.0 2025-11-19 12:28:43 +01:00
Johannes Meyer
e582f3b091 Update CHANGELOG.md 2025-11-19 12:28:32 +01:00
Johannes Meyer
23be2afd00 Raise dependencies 2025-11-19 12:28:22 +01:00
Johannes Meyer
b13cd53b8e Release 1.2.4 (#1307)
(cherry picked from commit edfa225f4d)
2025-11-19 11:59:44 +01:00
Bastian Lederer
3c130b73a7
Only include requested columns in CSV/JSON exports when using ?columns=… (#1301)
resolves: #1011
2025-11-19 11:40:44 +01:00
Johannes Meyer
2590556303 Auth: Merge variable denylists and protections from multiple roles 2025-11-19 08:50:39 +01:00
Johannes Meyer
b8c33d6a32 Require Icinga Web 2.12 as minimum now
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
We were somewhat *compatible* with 2.9. Though, our packages
never allowed to install Icinga Web < 2.12 together with
Icinga DB Web >= 1.2. The latter requires PHP 8.2 as a minimum
and only Icinga Web 2.12 is compatible with it. It's now time
to hard require Icinga Web 2.12, althoug you might argue that
we should have done that already with v1.2…
2025-11-17 15:46:00 +01:00
Johannes Meyer
601753a76b Drop user, users, usergroup and usergroups endpoints 2025-11-17 13:21:32 +01:00
Johannes Meyer
555f1417bd Drop class Icinga\Module\Icingadb\Model\Behavior\BoolCast 2025-11-17 13:20:36 +01:00
jrauh01
3c7228686c
Print redis config file if saving failed (#1272)
If saving the Redis settings fails due to a write error, the desired
configuration file content is now displayed so that the user can deploy
it manually (Same behavior as with database configuration).

For that a catch block is introduced on the `NotWritableError` that is
added to `IniWriter::write()` in
https://github.com/Icinga/icingaweb2/pull/5404.

Refs https://github.com/Icinga/icingaweb2/pull/5404
Resolves #1269
2025-11-17 13:19:13 +01:00
Jan Schuppik
c7cc328bf2
Enhancement/improve column opening behaviour (#1293)
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
This PR improves the UX in the IcingaDB Web interface by:
- Enhancing the page opening behavior in column views for smoother
navigation.
- Adding a search bar to the tabs Host Services, Host History and
Service History

## Resolves
- #981
- #1288
2025-11-14 12:36:11 +01:00
Sukhwinder Dhillon
6f6c5700a9 Hide list selection-count and action list hint in minimal layout
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
- Mobile only supports single-column layouts, so multiple selection and navigation are not available.
2025-11-13 09:10:12 +01:00
Johannes Meyer
cb5dd3f417
Fix failover handling of chunked api commands (#1295)
Some checks are pending
L10n Update / update (push) Waiting to run
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Waiting to run
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Waiting to run
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Waiting to run
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Waiting to run
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Waiting to run
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Waiting to run
fixes #1292
2025-11-12 15:29:13 +01:00
Johannes Meyer
f2da48219c tests: Enhance command transport tests 2025-11-12 15:15:10 +01:00
Johannes Meyer
6af3c7e595 CommandTransport: Implement chunked transmission handling
Previously, command forms were responsible for this. But they
don't have any notion of fallback handling and are unable to
ensure proper re-submission of failed batches.
2025-11-12 15:15:10 +01:00
Johannes Meyer
d5b1ba7f33 CommandTransport: Do not render failed commands again
Rendering may only be possible once, depending on the
command type.
2025-11-12 15:15:10 +01:00
Johannes Meyer
27f0d0f680 CommandTransportException: Allow to attach the failed command 2025-11-12 15:15:10 +01:00
Johannes Meyer
17b4d96744 ObjectsCommand: Introduce property $chunkSize 2025-11-07 15:12:12 +01:00
Johannes Meyer
2c1b4dd5db ObjectsCommand: Expect instances of Iterator as objects 2025-11-07 14:34:26 +01:00
Johannes Meyer
f88b6449b7 migrate: Drop search migration
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
2025-11-06 09:44:32 +01:00
Johannes Meyer
f23525a4e5
Remove migration assistance (#1275)
It's time to get rid of this. Anyone who didn't migrate yet won't be
convinced by this anymore either.
2025-11-06 09:37:05 +01:00
Johannes Meyer
6c31feb523 doc: Mention migration removal 2025-11-06 09:04:46 +01:00
Johannes Meyer
5d068666d3 migrate: Drop monitoring url preview 2025-11-06 09:04:46 +01:00
Johannes Meyer
c2543454b1 migrate: Drop backend selection 2025-11-06 09:04:46 +01:00
Johannes Meyer
0d414c2f4f
Provide integration for Icinga Notifications Web (#1289)
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
The supplement to
https://github.com/Icinga/icinga-notifications-web/pull/373
2025-10-28 15:09:46 +01:00
Johannes Meyer
a0c9f03a78 Provide integration for Icinga Notifications Web 2025-10-27 11:11:23 +01:00
Johannes Meyer
0a3b0b9afb Introduce new route icingadb/suggest/restriction-column 2025-10-27 11:11:23 +01:00
Johannes Meyer
e906b1d632 ObjectSuggestions: Allow to use a fixed set of columns 2025-10-27 11:11:23 +01:00
Johannes Meyer
eb85337fc7
Release v1.2.3
Some checks failed
L10n Update / update (push) Has been cancelled
PHP Tests / Static analysis for php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Static analysis for php 8.4 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.2 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.3 on ubuntu-latest (push) Has been cancelled
PHP Tests / Unit tests with php 8.4 on ubuntu-latest (push) Has been cancelled
2025-10-16 09:34:27 +02:00
Johannes Meyer
3a77af6df4 module.info: Raise version to 1.2.3 2025-10-16 08:45:10 +02:00
Johannes Meyer
5fb51de64b Update CHANGELOG.md 2025-10-16 08:45:10 +02:00
Johannes Meyer
ab4dafe4f2 module.info: Raise ipl requirement 2025-10-16 08:45:10 +02:00
Johannes Meyer
5e982dad40
Merge commit from fork
* Auth: Add method `assertColumnRestrictions`

* ObjectSuggestions: Do not suggest protected variables

`assertColumnRestrictions` does not allow to use them
anymore, hence we should not suggest them in searches
as well to not to let the user run into an error by
accepting a suggestion. Though, when fetching values
as well, we still have to obfuscate, otherwise protected
vars won't show up in details anymore.

* Introduce Icinga\Module\Icingadb\Common\Model

Must be used as base for all models, to ensure
column restrictions are asserted on filters.

* Utilize `Icinga\Module\Icingadb\Common\Model` where applicable
2025-10-16 08:42:51 +02:00