icinga2/lib/cli
Julian Brost 8e7e687b96 Unify depependency cycle check code.
This commit removes a distinction in how dependency objects are checked for
cycles in the resulting graph depending on whether they are part of the
initially loaded configuration during process startup or as part of a runtime
update.

The DependencyCycleChecker helper class is extended with a mechanism that
allows additional dependencies to be considered during the cycle search. This
allows using it to check for cycles before actually registering the
dependencies with the checkables.

The aforementioned case-distinction for initial/runtime-update config is
removed by making use of the newly added BeforeOnAllConfigLoaded signal to
perform the cycle check at once for each batch of dependencies inside
ConfigItem::CommitNewItems() for both cases now. During the initial config
loading, there can be multiple batches of dependencies as objects from apply
rules are created separately, so parts of the dependency graph might be visited
multiple times now, however that is limited to a minimum as only parts of the
graph that are reachable from the newly added dependencies are searched.
2025-03-12 11:53:30 +01:00
..
CMakeLists.txt Build fix 2020-02-17 18:40:28 +01:00
apisetupcommand.cpp Add --cn parameter to 'api setup' CLI command allowing hostname overrides 2019-04-26 10:52:05 +02:00
apisetupcommand.hpp Add --cn parameter to 'api setup' CLI command allowing hostname overrides 2019-04-26 10:52:05 +02:00
apisetuputility.cpp Deduplicate and stabilize fragile filesystem transactions 2023-01-27 12:03:56 +01:00
apisetuputility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
calistcommand.cpp Add function docs for CA CLI commands 2019-06-07 10:33:55 +02:00
calistcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
caremovecommand.cpp Add function docs for CA CLI commands 2019-06-07 10:33:55 +02:00
caremovecommand.hpp CLI: Update ca remove/restore commands from my review 2019-06-07 10:33:55 +02:00
carestorecommand.cpp Add function docs for CA CLI commands 2019-06-07 10:33:55 +02:00
carestorecommand.hpp CLI: Update ca remove/restore commands from my review 2019-06-07 10:33:55 +02:00
casigncommand.cpp Add function docs for CA CLI commands 2019-06-07 10:33:55 +02:00
casigncommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
clicommand.cpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
clicommand.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
consolecommand.cpp Fix compiler warnings don't move local variables 2022-02-22 17:51:43 +01:00
consolecommand.hpp Use std::mutex, not boost::mutex 2021-02-03 09:54:57 +01:00
daemoncommand.cpp Share "Last reload attempt failed" time across Icinga process tree on *nix 2023-05-08 14:42:21 +02:00
daemoncommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
daemonutility.cpp Unify depependency cycle check code. 2025-03-12 11:53:30 +01:00
daemonutility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
editline.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
featuredisablecommand.cpp Impersonate as Icinga user, not root 2019-04-02 17:05:48 +02:00
featuredisablecommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
featureenablecommand.cpp Impersonate as Icinga user, not root 2019-04-02 17:05:48 +02:00
featureenablecommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
featurelistcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
featurelistcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
featureutility.cpp Replace std/boost::bind() function with lambda expression 2021-03-10 16:29:40 +01:00
featureutility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
i2-cli.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
internalsignalcommand.cpp Fix file endings 2023-05-17 18:05:13 +02:00
internalsignalcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
nodesetupcommand.cpp Include Utility::SetFileOwnership() inside FS transactions 2023-01-27 12:03:59 +01:00
nodesetupcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
nodeutility.cpp Merge pull request #9466 from Icinga/flush-temp-files 2023-02-02 16:29:11 +01:00
nodeutility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
nodewizardcommand.cpp Include Utility::SetFileOwnership() inside FS transactions 2023-01-27 12:03:59 +01:00
nodewizardcommand.hpp CLI: Rename client -> agent 2019-07-20 12:53:19 +02:00
objectlistcommand.cpp icinga2 object list: warn on possibly outdated config 2022-11-24 10:50:17 +01:00
objectlistcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
objectlistutility.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
objectlistutility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkinewcacommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkinewcacommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkinewcertcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkinewcertcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkirequestcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkirequestcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkisavecertcommand.cpp icinga2 pki save-cert: allow to specify --key and --cert 2020-04-28 17:34:00 +02:00
pkisavecertcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkisigncsrcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkisigncsrcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkiticketcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkiticketcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
pkiverifycommand.cpp Allow specifying a CRL in `icinga2 pki verify` 2020-12-09 12:12:01 +01:00
pkiverifycommand.hpp Add `pki verify` CLI command: print, signed by CA, valid CA, CN match 2020-02-17 18:10:51 +01:00
variablegetcommand.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
variablegetcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
variablelistcommand.cpp Fix file endings 2023-05-17 18:05:13 +02:00
variablelistcommand.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
variableutility.cpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00
variableutility.hpp Replace Copyright header with a short version, part I 2019-02-25 14:48:22 +01:00