Commit Graph

3035 Commits

Author SHA1 Message Date
Thomas Gelf 15b52a323c AssignFilterHelper: fix error message 2020-02-12 14:52:03 +01:00
Thomas Gelf f7403f43d0 IcingaObjectResolver: use import lists
Fixes an issue with nested inheritance
2020-02-12 13:56:41 +01:00
Thomas Gelf babae3e068 IcingaObjectResolver: support PostgreSQL 2020-02-12 10:59:38 +01:00
Thomas Gelf 421f47d08d IcingaObjectResolver: new for ServicesetController 2020-02-12 10:41:58 +01:00
Thomas Gelf 66fdeec923 DeploymentHook: fix typo, keep compatibility 2020-01-21 20:08:35 +01:00
Thomas Gelf 81ad26fcab DirectorObjectForm: support dbResourceName
fixes #2064
2020-01-17 12:09:33 +01:00
Thomas Gelf 54ec11aec2 Window: workaround for bug in web >= 2.6.3
fixes #2063
2020-01-17 11:58:28 +01:00
Thomas Gelf b75aac7323 PropertyModifierHook: allow to clone rows
fixes #2060
2020-01-17 11:32:04 +01:00
Thomas Gelf d0a01e2102 Implement ListToObject Property Modifier
fixes #2062
2020-01-17 11:01:17 +01:00
Thomas Gelf c12a6baeea Sync: implement update-only policy
fixes #2059
2020-01-17 09:01:25 +01:00
Thomas Gelf f0b96674c9 Import: distinct fetch from store in benchmark 2020-01-10 12:36:13 +01:00
Thomas Gelf 2ef30f5f12 various: formatting, cleanup 2020-01-10 12:33:54 +01:00
Thomas Gelf a7c21743b9 ImportSource: loaded modifiers should be an Array
fixes #2053
2020-01-09 14:15:50 +01:00
Thomas Gelf 668012ac64 ImportSource: allow an imported object with no...
...modifiers to remove existing ones
2020-01-09 14:14:34 +01:00
Thomas Gelf e59bbc1a4d ImportSource: increment modifier counter on import
This fix has no impact on the restored data, but avoids useless
re-creation of the very same property modifiers on restore (in case
there is more than one)
2020-01-09 14:08:52 +01:00
Thomas Gelf 0c2ba62c0b DirectorDatalistEntry: fix Exception namespace
This removes an unused dependency on ext-http

refs #2054
2020-01-09 09:05:27 +01:00
Thomas Gelf 4e54177bfe ObjectsTableEndpoint: show an object type column
fixes #2050
2019-12-18 11:39:43 +01:00
Thomas Gelf 3e98d828e5 OverriddenVarsResolver: externalize lookup logic
This now also takes into account properties overridden on intermediate
Host templates
2019-12-04 12:36:47 +01:00
Mantis Development 596e352761 use sprintf() for InvalidArgumentException 2019-11-28 23:40:43 +01:00
Thomas Gelf be8c1101f2 travis: use phpcs 3.5.2 2019-11-28 07:13:22 +01:00
Thomas Gelf 2a8a641117 ObjectsController: apply search for REST API too
fixes #1889
2019-11-06 13:27:43 +01:00
Thomas Gelf db99a30fa1 ObjectSetTable: search in service names too
fixes #1873
2019-11-06 13:11:31 +01:00
Thomas Gelf 50315d8714 ImportSource: fix cloning
fixes #2005
fixes #1997
2019-11-05 16:50:56 +01:00
Thomas Gelf bbe55f28b6 config: Allow to disable the Director UI
fixes #2007
2019-10-31 15:45:36 +01:00
Thomas Gelf 3996efc3cf IcingaNotification: render service_name
fixes #2006
2019-10-31 15:27:37 +01:00
Christian Jonak 0dfa6a7ba3 Allow ArrayByElementPosition modifier to filter by key name
Fix double brackets


Allow ArrayByElementPosition modifier to filter by key name


Fix double brackets
2019-10-30 15:40:11 +01:00
Thomas Gelf ece50a0947 InspectPackages: new feature
fixes #1995
2019-10-17 03:18:00 +02:00
Thomas Gelf 5dab744b81 Health: do not complain about new jobs...
...that have never been triggered and are not due right now

fixes #1994
2019-10-16 14:49:04 +02:00
Thomas Gelf 1b5ed9699d Db\Migrations: warn about downgrades
fixes #1992
2019-10-16 11:28:29 +02:00
Thomas Gelf c8a3681fa4 CoreApi: more specific type-hint 2019-10-16 10:54:59 +02:00
Thomas Gelf a8db367718 DaemonDb: emit locked status 2019-10-16 07:22:58 +02:00
Thomas Gelf 6ca14a58b0 PropertyModifier: multibyte-safe upper/lowercase
fixes #710
2019-10-14 15:07:45 +02:00
Thomas Gelf d0a29d4716 CloneSyncRuleForm: do not fail
fixes #1982
2019-10-14 14:24:33 +02:00
Thomas Gelf 2c000d4160 DaemonDb: emit 'connecting', fix event name 2019-10-12 17:29:52 +02:00
Thomas Gelf 88e8408a7b GroupMemberTable: allow multi-select for hosts
fixes #1973
2019-10-03 09:44:51 +02:00
Thomas Gelf 3d0497d003 BackgroundDaemonState: move to widgets 2019-10-02 19:55:26 +02:00
Thomas Gelf 660aaf6293 BackgroundDaemon: remove obsolete properties 2019-10-02 19:27:52 +02:00
Thomas Gelf bc1b1e3d29 IcingaObjectgFieldLoader: fix whitespace 2019-10-02 09:59:07 +02:00
Valentina Da Rold 633f4802f0 Correctly manage fields categories whe loading forms 2019-10-02 09:48:30 +02:00
Valentina Da Rold 2d73aad9d1 Add PHPDoc to getCategory function 2019-10-02 09:47:51 +02:00
Valentina Da Rold 062b290ca8 Add category name to datafield and hooks 2019-10-01 18:15:02 +02:00
Valentina Da Rold 575fa88518 Group fields based on category in object fields 2019-10-01 17:43:04 +02:00
Valentina Da Rold 0fbe693544 Use category_name as id in DirectorDatafieldCategory 2019-10-01 16:57:35 +02:00
Valentina Da Rold 90c7bf0dc1 Add DataFieldCategoryController, Tabs and Table 2019-10-01 16:57:10 +02:00
Valentina Da Rold 5e81f0c88c Add Data Field Category Dashlet 2019-10-01 16:56:02 +02:00
Valentina Da Rold 50c477acce Create DirectorDatafieldCategory for DirectorDatafield 2019-10-01 15:33:42 +02:00
Thomas Gelf 7a95f430bf DaemonDb: trigger restart on schema change
fixes #1964
2019-09-30 08:48:55 +02:00
Thomas Gelf 4ba2c21ce9 JobRunner: use modified logproxy 2019-09-29 08:59:23 +02:00
Thomas Gelf cec4b7b57b BackgroundDaemon: mention emitted component level 2019-09-29 08:53:35 +02:00
Thomas Gelf 79243f660a JobRunner: unify log messages 2019-09-29 08:53:04 +02:00
Thomas Gelf aef10a5f80 BackgroundDaemon: set first ready, then running 2019-09-29 08:52:13 +02:00
Thomas Gelf ab8c8b041d IcingaNotification: render host_id as host_name
Does not affect apply rules, just those who enforce host_id via sync
2019-09-27 15:10:31 +02:00
Thomas Gelf 26c272bba9 ImportedrowsTable: sort by correct key column
fixes #1924
fixes #1925
2019-09-25 16:29:44 +02:00
Thomas Gelf dad3b76d50 ProvidedHook/Monitoring: translate links
fixes #1945
2019-09-25 15:55:23 +02:00
Thomas Gelf 95d68aefeb IcingaService: enforce zone for apply rules
fixes #1621
fixes #1634
2019-09-25 14:36:45 +02:00
Thomas Gelf a540a716c2 ImportSource: raise limits when running
fixes #1954
2019-09-25 13:09:57 +02:00
Thomas Gelf f15be1d6d8 DaemonDb: just an empty line, phpcs complains 2019-09-25 12:20:38 +02:00
Thomas Gelf 4ee3ef2fd9 Daemon: new implementation 2019-09-25 12:10:08 +02:00
Thomas Gelf 7f79842ddf DeploymentForms: warn about Icinga issue #7530
fixes #1958
2019-09-24 14:45:51 +02:00
Thomas Gelf 34a38e1f32 RestApiRespons: show part of the result on parse...
...errors
2019-09-22 17:07:22 +02:00
Thomas Gelf 2e29188020 DbObject: logId should show autoinc id in case...
...nothing else is present
2019-09-20 03:39:12 +02:00
Thomas Gelf 7a2a406edb Housekeeping: fix PostgreSQL queries
fixes #282
fixes #12
2019-09-20 02:04:41 +02:00
Thomas Gelf 6d781e09e3 ConfigController: fix search in id-range filtered
...activities

fixes #1381
2019-09-20 01:37:47 +02:00
Thomas Gelf 42ea7a5a05 IcingaHost: explicitly delete related Service/Sets
fixes #623
2019-09-20 00:59:17 +02:00
Thomas Gelf 75b78c5ddb BasketSnapshot: do not double-filter
fixes #1854
2019-09-20 00:44:54 +02:00
Thomas Gelf 906f1b3616 BasketSnapshot: ignore missing objects
fixes #1940
2019-09-20 00:26:57 +02:00
Thomas Gelf ecf56ff1a7 ImportSource: fix property modifier handling when
...restoring baskets

fixes #1949
2019-09-20 00:13:09 +02:00
Thomas Gelf 3f984af534 IcingaServiceSetServiceTable: fix headers for ipl 2019-09-19 23:48:59 +02:00
Thomas Gelf a93d743e8c DbObjectWithSettings: also call setter if just...
...a setter and no getter exists
2019-09-19 23:27:53 +02:00
Thomas Gelf 10be27c9a3 DbObject: provide methods checking for getters...
...and setters
2019-09-19 23:27:06 +02:00
Thomas Gelf 2cfd072739 Basket: sort table, form element 2019-09-19 17:42:29 +02:00
Thomas Gelf f24276ce88 PropertyModifierHook: overridable exportSettings()
fixes #1948
2019-09-19 17:24:31 +02:00
Thomas Gelf 142e3f2c43 PropertyModifierGetPropertyFromOtherImportSource
fixes #1947
2019-09-19 16:49:57 +02:00
Thomas Gelf 5304be4ec0 Core*Table: work with ipl, no header w/o content 2019-09-16 11:30:53 +02:00
Thomas Gelf de2ad48c4f TemplateUsageTable: fix ipl compatibility 2019-09-16 11:16:42 +02:00
Thomas Gelf 1e893e1bc7 DbObject: make key name obvious when setting...
...an invalid property
2019-09-16 10:45:14 +02:00
Thomas Gelf 686f168ee3 ObjectsTableEndpoint: merge arrays, it fails with
...with ipl
2019-09-12 00:15:33 +02:00
Thomas Gelf 961c089170 ExtensibleSet: try to fix problem with nightly PHP 2019-09-11 23:43:41 +02:00
Thomas Gelf 606d71501e Use ipl, try to keep dipl compatibility 2019-09-11 23:02:39 +02:00
Thomas Gelf dbc4699042 Merge branch 'next' 2019-09-11 22:44:27 +02:00
Thomas Gelf 73227bda0f ObjectsTable: style 2019-09-11 22:40:56 +02:00
Thomas Gelf 0e0bc3fb5d various: some little fixes 2019-09-11 22:36:36 +02:00
Thomas Gelf 04f0dc51f1 Widget/Lists: add widget missing in ipl/incubator 2019-09-11 22:35:02 +02:00
Thomas Gelf e1565c9990 Revert "Merge branch 'next'"
This reverts commit f45f925e5e, reversing
changes made to 90c07943e4.

This was too early, need to check for incubator
2019-09-06 09:54:03 +02:00
Thomas Gelf 17f8ef1dd0 Use ipl, try to keep dipl compatibility 2019-09-06 09:48:11 +02:00
Thomas Gelf 7d7c4defdf DirectorJob: do not throw NotFound 2019-09-01 14:27:48 +02:00
Thomas Gelf eaf0a5e92d CoreApi: accept versions prefixed with 'r' 2019-09-01 14:06:11 +02:00
Thomas Gelf d1a06c11cf DataTypeDatalist: set default target type "string" 2019-08-07 14:12:47 +02:00
Thomas Gelf 3c5fa1610c DataTypeDatalist: fix query involving roles
fixes #1885
2019-07-10 18:01:47 +02:00
Thomas Gelf a97f31e657 StoredPassword: new element type -> hidden strings
fixes #1872
2019-07-10 13:11:58 +02:00
Thomas Gelf aad07b3d1d IcingaDependency: fix form and rendering 2019-07-09 10:36:57 +02:00
Thomas Gelf 01f2666ff2 IcingaDependency: drop parent_service_var 2019-07-09 10:36:57 +02:00
Thomas Gelf bb9105e370 IcingaDependency: allow for arrays 2019-07-09 10:36:57 +02:00
Thomas Gelf 05d5152e6f IcingaDependency: cleanup, shorten custom logic 2019-07-09 10:36:57 +02:00
Thomas Gelf adace00df4 Dependency: prepare var rendering, cleanup 2019-07-09 10:36:57 +02:00
Thomas Gelf 8f4a93dd08 IcingaDependency: properties for changed schema 2019-07-09 10:36:57 +02:00
Thomas Gelf 4413a44d65 IcingaServiceForm: allow to set check_command...
...for Service Apply rules, given that admin permissions have been granted.
This also fixes the problem that inherited command names haven't been shown.

fixes #1899
2019-07-08 16:27:44 +02:00
Thomas Gelf 4597ce2836 Text: new form element type, catch type issues
fixes #1200
2019-07-08 15:01:53 +02:00
Markus Frosch e101416b5d ExtensibleSet: Migrate also integers to an array 2019-07-04 13:26:44 +02:00
Bernhard Friedreich 8f871f4afa Fixed phpcs warning else if to elseif 2019-07-04 12:54:48 +02:00
Bernhard Friedreich 03519c25e8 Add action bar with download as json option for service apply rules and templates
related to issue #1811
2019-07-04 12:54:48 +02:00
Gino 64d0d8b618 Fix ambiguous host_id field 2019-07-04 12:16:01 +02:00
Eric Lippmann d9b75c4a86 pgsql: Fix unexpected removal of current deployment
The director automatically removes uncollected deployments if they're
older than the running one. Deployments are uncollected if Icinga 2 did
not write a status file or startup log (yet). This happens when you
manage to ship a deployment while Icinga 2 is already preparing to
restart with a deployed configuration. It also removes deployments
which were forgotten by Icinga 2 because of bugs in previous versions.

If there are uncollected deployments, the check whether they are older
than the running one is based on string comparison of the deployments'
start time. While this works for MySQL and MariaDB where the output of
timestamps is always ISO, it may fail for PostgreSQL because there the
output format is configurable. If the output format is set to report
the day first, the string comparison "fails" and removes every first
deployment of a month:

Deployment timestamp: 01-JUN-19 00:03:37 -07:00
Running timestamp: 31-MAY-19 23:54:53 -07:00

The string comparison now reports the deployment as older than the
running one and removes it.

The fix is as easy as to use timestamps for the comparison.
2019-07-01 15:04:19 +02:00
Thomas Gelf f9ee098f06 ArrayCustomVariablesFilter: accept lists with...
..."Array" target data type

fixes #1241
2019-06-11 11:39:54 +02:00
Thomas Gelf 77bc311c42 DataTypeDatalist: allow strict list item to be...
...NULL at the beginning - or with wrong values. Otherwise the first one
would be chosen
2019-05-29 08:53:49 +02:00
Thomas Gelf 0d405cba98 SyncruleCommand: show number of expected changes
Sample output when there are changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 36
    There are pending changes for this Sync Rule. You should  trigger a new Sync Run.
    Expected modifications: 2x create, 0x modify, 0x delete
    icingaweb2@web:~$ echo $?
    1

...when there are no changes:

    icingaweb2@web:~$ icingacli director syncrule check --id 34
    This Sync Rule is in sync
    icingaweb2@web:~$ echo $?
    0

...and when something failes:

    icingaweb2@web:~$ icingacli director syncrule check --id 32
    This Sync Rule failed: No data has been imported for "Benutzergruppen aus Nagios" yet
    icingaweb2@web:~$ echo $?
    2

fixes #1849
2019-05-27 17:46:43 +02:00
Thomas Gelf cc15cae34a Basket: allow to add external commands and...
...command templates
2019-05-27 17:27:18 +02:00
Thomas Gelf 5839945101 Basket: fix nesting error when modifying baskets 2019-05-27 13:40:27 +02:00
Thomas Gelf 6bf1c30c2f Sync: use string keys for object_name 2019-05-22 17:06:24 +02:00
Markus Frosch 4b68d68554 ActivityLogInfo: Fix loading newProperties for deleted objects
refs #1816
2019-05-21 12:32:46 +02:00
Thomas Gelf 3e80115692 DataTypeDatalist: fix typo 2019-05-20 11:06:08 +02:00
Thomas Gelf a80bdd833e ExtensibleSet: fix exception parameters 2019-05-20 11:04:56 +02:00
Thomas Gelf a14ab4d8a1 ExtensibleSet: do not override validators 2019-05-06 21:25:44 +02:00
Thomas Gelf db8895ae10 DataTypeDatalist: allow to customize behavior
Available options:
* strict: select box
* suggest_strict: auto-completion, allow only list values
* suggest_optional: Allow for values not on the list
* suggest_extend: Extend the list with new values

fixes #1846
2019-05-06 21:25:44 +02:00
Bernhard Friedreich 7177d489ec Fix wrong links for hosts/apply rules based on <something> (#1864) 2019-05-06 21:24:09 +02:00
Thomas Gelf d68c0a0c03 ApplyRulesTable: fix non-service tables...
...as they have no apply_for column

fixes #1866
2019-05-06 21:22:12 +02:00
Bernhard Friedreich 08266a4b92 Sort list of applied services by object_name (#1862) 2019-05-06 19:43:26 +02:00
Thomas Gelf 644853f7a0
Merge pull request #1860 from Icinga/feature/apply-exists
Implement AssignFilterHelper to improve apply/assign matching
2019-05-06 17:07:36 +02:00
Markus Frosch 767296ce6a Display apply_for in apply listings 2019-05-06 14:38:17 +02:00
Markus Frosch 83245f2dd4 IcingaHostAppliedServicesTable: Fix assign rendering 2019-05-06 14:33:07 +02:00
Markus Frosch 4037e22709 Implement AssignFilterHelper to improve apply/assign matching
* is set / is not set - fixes #1483 fixes #1387
* case-insensitive matching when using wildcards '*'
  like match() in Icinga 2
2019-05-06 14:19:29 +02:00
Markus Frosch 92f2f9f44d IcingaConfig: Deprecate magic_apply_for as config feature
fixes #1850
2019-04-30 12:41:53 +02:00
Markus Frosch 7153d8059b
Ensure MySQL data supports timezones (#1840)
Ensure MySQL data supports timezones
2019-04-24 15:18:52 +02:00
Markus Frosch 72d9d47a1b Migrations: Disable max_execution_time on apply 2019-04-24 15:04:08 +02:00
Thomas Gelf 099c53a008
Merge pull request #1843 from gianlucapiccolo/deploy-hook
Add deployment hooks
2019-04-24 13:38:43 +02:00
Gianluca Piccolo 4a4808eea5 Add deployment hooks 2019-04-24 12:17:31 +02:00
Thomas Gelf 6bcb4a461e CoreApi: fix method call 2019-04-24 11:21:16 +02:00
Thomas Gelf da909907fd IcingaMultiEditForm: use IcingaObjectFormHook 2019-04-24 11:20:40 +02:00
Thomas Gelf cdb500134d IcingaObjectFormHook: new generic hook 2019-04-23 18:16:35 +02:00
Thomas Gelf db6deb2a72 QuickForm: allow to call callbacks on success 2019-04-18 17:29:46 +02:00
Markus Frosch a30a28a7a1 Sync: Purge TemplateRepository cache before sync 2019-04-17 10:47:43 +02:00
Markus Frosch 6d3702a893 PrefetchCache: Purge any object cache on forget or initialize 2019-04-17 10:47:16 +02:00
Markus Frosch ef41022a73 IcingaArguments: Mark arguments for removal when setting empty
Without the fix arguments will remain untouched in DB, but appear to be removed in activity log.

fixes #1829
2019-04-15 16:35:40 +02:00
Thomas Gelf 904ec7c435 ScheduledDowntimes: Hosts with Services, optional
schema, form, rendering

fixes #1831
2019-04-12 12:12:32 +02:00
Thomas Gelf 70618169f1 ObjectsTabs: fix tabs for Choices 2019-04-12 11:58:09 +02:00
Thomas Gelf 91fc186077 ScheduledDowntimes: remove templates for now 2019-04-11 11:17:58 +02:00
Thomas Gelf 8106a6ab6e ScheduledDowntime, Form, activity: tweak links 2019-04-11 08:58:19 +02:00
Thomas Gelf 9a21ace300 IcingaObject: scheduled downtime awareness
This is not optimal, but that's how it works right now
2019-04-11 02:53:31 +02:00
Thomas Gelf 54b62c7179 ApplRulesTable: allowto link with names 2019-04-11 02:53:31 +02:00
Thomas Gelf 5a36735400 ObjectsController: allow to override ApplyRulesTbl 2019-04-11 02:53:31 +02:00
Thomas Gelf 3ac99d6be3 IcingaScheduledDowntime: fix rendering 2019-04-11 02:53:10 +02:00
Thomas Gelf 0178bb4718 IcingaScheduledDowntimeRangeTable: introduce, use 2019-04-11 02:53:10 +02:00
Thomas Gelf cb3d13ba3b IcingaObjectFilterHelper: clean up exceptions 2019-04-11 02:53:10 +02:00
Thomas Gelf 90c5a007da IcingaConfig: deploy scheduled downtimes 2019-04-11 02:53:10 +02:00
Thomas Gelf b8f0237708 IcingaScheduledDowntimeRanges: fix property name 2019-04-11 02:53:10 +02:00
Thomas Gelf 9d17984750 QuickForm: get rid of ProgrammingError 2019-04-11 02:34:14 +02:00
Thomas Gelf 12c74df38c DirectorObjectForm: do not require imports...
...for scheduled downtimes
2019-04-11 02:34:14 +02:00
Thomas Gelf b1bf17569b IcingaScheduledDowntime: changdefault zone 2019-04-11 02:34:14 +02:00
Thomas Gelf 5e19d3bada BaseFormElement: move attribute callbacks to...
...dedicated methods, this allows to override them
2019-04-11 02:34:14 +02:00
Thomas Gelf e7fc4d3009 IcingaScheduledDowntime: render object header 2019-04-11 02:34:14 +02:00
Thomas Gelf 6f790dd118 IcingaScheduledDowntimeForm: assignment elements 2019-04-11 02:34:14 +02:00
Thomas Gelf c72b51c538 ScheduledDowntimes: a bunch of url-related changes 2019-04-11 02:34:14 +02:00
Thomas Gelf 0c2cb9e484 ScheduledDowntimes: controllers, first form 2019-04-11 02:34:14 +02:00
Thomas Gelf 34cb7524bc Dashboard: add scheduled downtimes 2019-04-11 02:34:14 +02:00
Thomas Gelf 219958d93f IcingaScheduledDowntime: cleanup, modernize 2019-04-11 02:34:14 +02:00
Thomas Gelf 2615446572 ScheduledDowntime: initial implementation
refs #347
2019-04-11 02:34:14 +02:00
Markus Frosch fb421d3756
Merge pull request #1816 from Icinga/feature/activity-log
Improve ActivityLog for services and servicesets
2019-04-10 13:52:38 +02:00
Markus Frosch 6d4475d89a ActivityLogInfo: Display extra info when objects are related
* Service to Host or ServiceSet
* Set to Host
2019-04-10 13:24:09 +02:00
Markus Frosch 1e5f6b4f76 IcingaServiceSet: Refactor config rendering for sets
* A header is now always rendered and includes assign and description
* Diff is now visible for sets
2019-04-10 13:24:04 +02:00
Markus Frosch db00f1bfc4 ObjectController: Use objects table name to search history
This was mainly a problem for IcingaServiceSet and others that may have
a capital letter where the table name is split by `_`
2019-04-10 10:39:05 +02:00
Markus Frosch cd9d93de3e ActivityLog: Show proper diffs for service of sets
fixes #1287
2019-04-10 10:35:34 +02:00
Markus Frosch c5a79c6e88 ImportSourceHookTable: Apply modifiers when fetching data
This will make sure applying modifiers before initializing the
ArrayDatasource.

Before this change counting and pagination was broken with Black and
Whitelist.
2019-04-09 21:31:40 +02:00
Thomas Gelf ad9b624e92 ImportSourceRestApi: allow to override url 2019-04-05 08:14:58 +02:00
Thomas Gelf ed352ed8cc ImportSourceRestApi: respect SSL + Proxy settings 2019-04-04 15:18:59 +02:00
Thomas Gelf ba3ce7cd17 ImportSourceRestApi: new generic Import Source
fixes #1818
2019-04-04 13:22:39 +02:00
Thomas Gelf 8c04de0a14 ImportsourceHookTable: show malformed data...
...plus some namespacing/cleanup
2019-04-04 13:22:39 +02:00
Markus Frosch 7b9e9f3a2f ActivityLog: Link back to the correct frontend for service and serviceset
fixes #1377
2019-03-28 18:21:38 +01:00
Markus Frosch 6c00d1735d IcingaArguments: Import Icinga DSL in arguments when available from baskets
Icinga 2 will still not dump this, but in Director Baskets it is included.
2019-03-28 11:59:32 +01:00
Markus Frosch 1713dee1c1 IcingaServiceSet: Delete host sets when deleting a set
This allows service sets to be deleted, including their children sets that
are assigned to hosts.

The UI forbids deleting those sets, but we can use it like this for CLI
and purging during sync.
2019-03-26 12:39:06 +01:00
Markus Frosch 2be27ddf3d IcingaObjectInspection: Show flat commands run by the core 2019-03-26 12:15:30 +01:00
Markus Frosch a6e32d763f ObjectPreview: Avoid linking a flat command attribute inside a command 2019-03-26 12:02:55 +01:00
Markus Frosch 6a79436af3 IcingaCommand: Allow command to be rendered as string
Icinga 2 allows this from the beginning.
2019-03-26 12:02:35 +01:00
Thomas Gelf 2aea3ad966 ImportSource: use sprintf() for InvalidArgumentEx
fixes #1810
2019-03-25 08:33:41 +01:00
Markus Frosch f60cb9a515 ConfigHelper: Ensure empty strings are written out quoted
In renderStringWithVariables()
2019-03-21 13:18:22 +01:00
Markus Frosch b3bd671d90 ObjectController: Fix phpcs lint 2019-03-19 15:43:20 +01:00
Markus Frosch de8654fc74 ObjectController: Fix back link for clone action with services 2019-03-19 15:29:08 +01:00
Markus Frosch 43e11879f7 ShowConfigFile: Fix object type being changed in output
fixes #1799
2019-03-08 14:44:44 +01:00
Markus Frosch b8e00e9b8c legacy: Ignore hosts that are disabled or blacklisted properly 2019-03-06 14:58:56 +01:00
Thomas Gelf 429be2dd76 IcingaServiceSet: fix rendering of Sets attached..
...to single Hosts

fixes #1789
2019-02-26 15:03:41 +01:00
Thomas Gelf 89d4af564e IcingaCommandArgument: align toPlainObject method 2019-02-15 01:36:33 +01:00
Thomas Gelf 8046510b1f ServiceapplyrulesController and related changes
fixes #1755
2019-02-15 01:29:43 +01:00
Thomas Gelf 85ed54f932 IcingaServiceSet: skip Service on single host...
...when blacklisted

fixes #1616
2019-02-15 00:48:05 +01:00
Thomas Gelf 7da91d747f IcingaService: blacklisting on Host Templates...
...is now supported

fixes #1707
2019-02-15 00:08:23 +01:00
Thomas Gelf 62c020171a IcingaCommand: import/export with fields
fixes #1747
2019-02-14 22:55:24 +01:00
Thomas Gelf 738e4eeaf1 IcingaTimePeriod: support Basket (ExportInterface)
fixes #1735
2019-02-14 22:42:21 +01:00
Thomas Gelf e961f0eb2a BasketUpload: ignore Datafields, they get special
...treatment
2019-02-14 21:57:10 +01:00
Thomas Gelf 640da36c62 IcingaDependency: allow for basket snapshots
fixes #1739
2019-02-14 21:54:11 +01:00
Thomas Gelf bd16756913 TemplateTree: new loop detection
fixes #1631
2019-02-13 21:43:37 +01:00
Thomas Gelf 15ae2da996 SimpleViewRenderer: fix indentation 2019-02-13 11:56:39 +01:00
Thomas Gelf d35ec0fee6 Tables, Redirector: add highlight for RO users
...and refactor some parts of the code

fixes #1785
2019-02-13 11:41:26 +01:00
Thomas Gelf 44e9ec2867 ProvidedHook/Monitoring: check permissions
fixes #1784
2019-02-13 10:22:40 +01:00
Thomas Gelf af2e86d8b8 host/findservice: new route to readonly view 2019-02-10 11:15:05 +01:00
Thomas Gelf 9237d34aa4 SimpleViewRenderer: deal with early errors
fixes #1742
2019-02-12 11:45:52 +01:00
Thomas Gelf 90b31fc6ca BasketSnapshot: fix upload issue
fixes #1782
2019-02-12 11:28:28 +01:00
Thomas Gelf 0139506494 AssignRenderer: fix and test NOT on root level
fixes #1777
2019-02-08 12:08:06 +01:00
Markus Frosch d2c00c5d39 IcingaService: Fix getOnDeleteUrl() for service sets
So that it redirects back to services of this serviceset.
2019-02-06 13:25:18 +01:00
Thomas Gelf b9c5f94589 IcingaConfigHelper: add missing reserved keywords
fixes #1765
2019-01-23 10:28:29 +01:00
Thomas Gelf 6d46a62085 BasketSnapshot.php: cast objects to an array...
...when uploading a basket
2019-01-22 16:59:20 +01:00
Thomas Gelf 92c05f49a3 ActivityLogTable: filter by host if given
In future we'll have better filtering possibilities, for now this scans all
rows with a matching service name in the table

fixes #1613
2019-01-11 12:24:29 +01:00
Thomas Gelf bb0bdeb737 SyncruleController: provide a preview tab
fixes #1754
2019-01-10 12:11:30 +01:00
Thomas Gelf b1d3bc9b4d Sync, IcingaObjectGroups: avoid generic Exceptions 2019-01-10 12:10:53 +01:00
Klaus Weidenbach 7b189ef3b1 Add PropertyModifierParseURL.
Provide a PropertyModifier for the PHP function parse_url().
2018-12-21 18:44:08 +01:00
Markus Frosch 58c0689005 Import: Improve exception info during storing rows 2018-12-14 09:58:55 +01:00
Thomas Gelf 35318396e8 Basket: do not fail when setting "Custom Selection"
fixes #1733
2018-12-12 10:42:31 +01:00
Thomas Gelf 0c2e3fe1b1 Basket: fix various little issues
fixes #1691
2018-12-10 17:52:56 +01:00
Thomas Gelf b67e0c0017 Basket: add UploadForm
fixes #1731
2018-12-10 15:36:59 +01:00
Markus Frosch 8f09afd31b
Merge pull request #1720 from Icinga/travis
ci: Update travis matrix and vendor test helpers
2018-12-03 11:02:28 +01:00
Thomas Gelf 44af7b3ae3 RestApiClient: do not send Connection: close...
...just throw away the curl handle. Otherwise Icinga v2.9 fails
2018-11-27 19:02:39 +01:00
Markus Frosch 91a62ffbee phpcs: Fix ObjectsController 2018-11-27 11:00:14 +01:00
Thomas Gelf b644a7c6a7 IcingaObject, ..WithSettings: fix Basket-related..
...problems
2018-11-26 00:12:13 +01:00
Thomas Gelf 7926d558ba DataList: load by name, fix basket 2018-11-26 00:11:35 +01:00
Thomas Gelf 264732ba98 Basket: fix adding single objects 2018-11-25 22:05:25 +01:00
Thomas Gelf a3a2b5425b SyncRule: cleanup, remove magic method access 2018-11-24 10:17:18 +01:00
Thomas Gelf 01f82b2d48 RestApiClient: use correct RuntimeException 2018-11-22 08:25:33 +01:00
Thomas Gelf ec11dea8a9 Basket: allow to download for non-primary Instance 2018-11-15 12:50:33 +01:00
Thomas Gelf bb0422c327 Basket: related fixes 2018-11-15 11:14:14 +01:00
Thomas Gelf 4352264b73 ImportSourceCoreApi: import flapping only for 2.8+
fixes #1652
2018-11-14 13:34:39 +01:00
Thomas Gelf 9aab203f59 CoreApi: disconnect after each request for...
...specific Icinga 2 versions

fixes #1695
fixes #1696
2018-11-14 13:25:07 +01:00
Thomas Gelf 6377ed61cc DbObject: remove binary column magic
Binary columns must be configured explicitly, binary keys are now also
possible

fixes #1702
2018-11-14 12:24:31 +01:00
Thomas Gelf 06f5db698f Basket: fix export for Basket and Notifications
fixes #1703
2018-11-14 11:17:44 +01:00
Thomas Gelf 24a7dbcac8 RestApi: remove outdated code, clean up, allow...
...to disconnect curl on demand or after each request
2018-11-14 08:19:25 +01:00
Thomas Gelf ad8a2e04f6 CoreApi: allow to fetch the Icinga Core version 2018-11-14 08:12:58 +01:00
Thomas Gelf 59ff61a277 IcingaUserGroup: do not prefer the global zone...
...but the master zone, like in former versions
2018-11-13 15:32:53 +01:00
Thomas Gelf f3b972e904 Clone..Form: fix for ImportSource and SyncRule 2018-11-08 08:31:38 +01:00
Thomas Gelf cf161f480c SubmitElement: always ignore value 2018-11-06 07:18:34 +01:00
Thomas Gelf 6b4c47a649 IcingaObject: rendered disabled objects should...
...not break comments

fixes #1263
2018-10-30 19:39:44 +01:00
Thomas Gelf 280ed4430e TemplateController: link non-template commands
fixes #1544
2018-10-30 19:08:18 +01:00
Thomas Gelf 46d3800014 IcingaCommandArgument: allow to change type
fixes #1640
2018-10-30 18:20:08 +01:00
Thomas Gelf dfdc7d327b FilterRenderer: support SimpleQuery
fixes #1670
2018-10-30 18:02:32 +01:00
Thomas Gelf a09bd4df95 TemplatesTable: allow to filter by usage
fixes #1339
2018-10-30 17:55:50 +01:00
Thomas Gelf d8184ce373 ZfQueryBasedTable: only search with wildcards...
...when no wildcard has been given
2018-10-30 16:42:55 +01:00
Thomas Gelf dce9770dcd ObjectController: fix adding single Host Templates
...to a Configuration Basket
2018-10-30 16:41:49 +01:00
Thomas Gelf f43c74dc8e CommandUsage: do not throw ProgrammingError 2018-10-30 16:41:19 +01:00
Thomas Gelf cf6e4536ea Util: drop bin2hex/hex2bin helpers
We dropped support for PHP 5.3, this is no longer required
2018-10-30 15:32:17 +01:00
Thomas Gelf bff93725eb ObjectController: fix "add to basket" for Sets 2018-10-25 08:38:24 +02:00
Thomas Gelf ef0499918f Services: fix multiselection for templates 2018-10-25 08:26:09 +02:00
Thomas Gelf 77cbb1040c GroupMemberTable: should work for services also
refs #1682
2018-10-25 08:21:58 +02:00
Gregory Hargreaves 8e38b1e318 Fixed style issue. 2018-10-22 09:42:33 +02:00
Gregory Hargreaves ce4850d2de Reverted back to previous object map storage, however added check for modified groups in RefreshDB and CheckDB this should now pass the current Unit Tests 2018-10-22 09:42:33 +02:00
Gregory Hargreaves 9b0d4b4d84 Added membership tab to servicegroups now the prerequisites are available for this functionality 2018-10-22 09:42:33 +02:00
Gregory Hargreaves fcd4125d71 Fixed bug in GroupMembershipResolver, objects not stored to instance if loading all objects causing mappings to not be stored. 2018-10-22 09:42:33 +02:00
Gregory Hargreaves 2efd90302c Added notifiers for ServiceGroupMembershipResolver to IcingaService & IcingaServiceGroup, created ServiceGroupMembershipResolver 2018-10-22 09:42:33 +02:00
Gregory Hargreaves c7eb34af97 Fixed Bug in ObjectApplyMatches, hard-coded object length broke filter matching for all but hosts 2018-10-22 09:42:33 +02:00
Gregory Hargreaves a8e6f53f70 Added DynamicApplyMatches implementation to remove hard coded Host implementation in GroupMembershipResolver 2018-10-22 09:42:33 +02:00
Thomas Gelf 6132166513 RemoveLinkForm: allow for multiple instances
fixes #1619
2018-10-16 16:09:53 +02:00
Thomas Gelf 5404e32f6d BasketSnapshot: small fix 2018-10-15 15:16:01 +02:00
Thomas Gelf f871e0bd7d basket: cleanup, fix/finish custom selection
fixes #1630
2018-10-15 15:04:14 +02:00
Thomas Gelf 83dc9dc6c3 BasketSnapshotFieldResolver: deal with fields
Also, this fixes Service Sets
2018-10-15 15:03:57 +02:00
Thomas Gelf 5d113b3833 BasketController: allow to download JSON via Web 2018-10-15 15:03:57 +02:00
Thomas Gelf bea52a3091 Basket: load by name 2018-10-15 15:03:57 +02:00
Thomas Gelf eb789162cb Basket/Datafield: map best candidate, fix bindings 2018-10-15 15:03:57 +02:00
Thomas Gelf 2e37758336 BasketSnapshot: add Datafields to the mix 2018-10-15 15:03:57 +02:00
Thomas Gelf f0878a9bcd BasketSnapshotTable: split by day - and more 2018-10-15 15:03:57 +02:00
Thomas Gelf 75787911b5 DbObject: fix insert with unprotected autoinc...
...for PostgreSQL
2018-10-15 15:03:57 +02:00
Thomas Gelf 591afd441e BasketSnapshot: be explicit, make special Service
...treatment obvious
2018-10-15 15:03:57 +02:00
Thomas Gelf 1d550cd442 BasketSnapshot: do not export external objects 2018-10-15 15:03:57 +02:00
Thomas Gelf 50dd49c937 Automation Objects: allow to change their ID 2018-10-15 15:03:57 +02:00
Thomas Gelf affcc54ba3 DbObject: allow specific objects to change their
...autoinc ID
2018-10-15 15:03:57 +02:00
Thomas Gelf 77c4997b88 Various: explicit loading with ID where required
...cleanup, comments
2018-10-15 15:03:57 +02:00
Thomas Gelf 1cbe6741ae BasketSnapshotTable: show '-' when empty 2018-10-15 15:03:57 +02:00
Thomas Gelf 1903f6e097 Objects: import/export for various types 2018-10-15 15:03:57 +02:00
Thomas Gelf 9e74dfcc16 ImportSource, SyncRule: cleanup 2018-10-15 15:03:57 +02:00
Thomas Gelf cd0b275250 DirectorJob: name is key, provide import/export 2018-10-15 15:03:57 +02:00
Thomas Gelf 8f3cf85954 ExportInterface: require getUniqueIdentifier() 2018-10-15 15:03:57 +02:00
Thomas Gelf 26630adb0f BasketSnapshot: defined order, respect inheritance
...and more
2018-10-15 15:03:57 +02:00
Thomas Gelf 6e25c05d89 Migrations: cleanup 2018-10-15 15:03:57 +02:00
Thomas Gelf f32e568b8a SyncRule: make ready for basket
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 063a46ea56 ImportSource: switch key to name, improve import
...of ImportSource definitions

refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 9508cf8acd ImportExport: add ServiceSets 2018-10-15 15:03:57 +02:00
Thomas Gelf 6adc0f7632 DbObjectWithSettings: make sure new ones are...
...sorted
2018-10-15 15:03:57 +02:00
Thomas Gelf 93cbd4f020 Dashboard: introduce "Director" section with...
..."Basket"
2018-10-15 15:03:57 +02:00
Thomas Gelf f4220016d8 Basket: initial import of the main components
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 35acda4865 ObjectController: fix usage link 2018-10-15 15:03:47 +02:00
Thomas Gelf 15a8886db7 IcingaCommandArgument: no need for format...
...when there is no value
2018-10-15 15:03:47 +02:00
Thomas Gelf c119c47864 ObjectApplyMatches: resolve imports/templates
fixes #1676
2018-10-15 15:03:41 +02:00
Thomas Gelf d27615eb57 ConfigHealthItemRenderer: multi-instance support 2018-10-08 13:54:33 +02:00
Thomas Gelf eedb6edff0 ControlsAndContent, js: trigger immediate refresh
...on missing WindowId. This fixes an issue for instances with multiple DB
resources
2018-10-08 13:54:18 +02:00
Thomas Gelf 3632eea164 Html: allow for string/int/float as tag content 2018-10-08 06:36:45 +02:00
Thomas Gelf ba47c39c51 BaseFormElement: '' is null for now 2018-10-08 06:36:38 +02:00
Thomas Gelf b3afe670c8 ImportRowModifier: no more ConfigurationError 2018-10-08 06:36:27 +02:00
Thomas Gelf 75a0797438 SyncUtils: prefer InvalidArgumentException 2018-10-08 06:35:36 +02:00
Thomas Gelf 0cd333006b Health: no Import/Sync/Jobs are OK 2018-10-08 06:35:28 +02:00
Thomas Gelf c93657c42e ZfQueryBasedTable: provide hasSearch() 2018-10-06 17:16:34 +02:00
Thomas Gelf db72931c1e Migrations: cleanup 2018-10-06 16:58:13 +02:00
Thomas Gelf e16d7865c7 DbSelectorForm: submission detection, once more 2018-10-06 16:36:01 +02:00
Thomas Gelf 3d26ab127f DbSelectorForm: do not believe to be submitted...
...when another form has been sent
2018-10-06 16:35:49 +02:00
Thomas Gelf 3839ecda50 Health: change UI layout and output ordering 2018-10-06 12:54:11 +02:00
Thomas Gelf fda7acc855 HealthController: show Health Check in the UI
fixes #1669
2018-10-05 16:00:10 +02:00
Thomas Gelf 72998e4307 IcingaObjectFieldLoader: hooked fields should not
...clear defined ones. There used to be collisions

fixes #1667
2018-10-05 15:13:19 +02:00
Thomas Gelf b9ff77b4bb DeploymentLog: deal with Icinga 2 race condition...
...clean up our DB and Icinga 2 stages via API

fixes #1488
2018-10-05 14:55:48 +02:00
Thomas Gelf dd566dc1be CLI: allow to append/remove from/to Arrays
fixes #1666
2018-10-05 12:10:58 +02:00
Thomas Gelf 33053103e1 IcingaServiceSetTable: do not trust a Servicve Set
...name, as the Template might have been renamed in the meantime - and the
name on the Set "object" has no meaning at all

fixes #1664
2018-10-04 18:30:27 +02:00
Thomas Gelf ea18006819 JobDetails: just a comment 2018-10-04 06:57:09 +02:00
Thomas Gelf 18ab9b4f7c tables: more getId calls removed 2018-10-04 06:56:28 +02:00
Thomas Gelf ac0745445e DirectorObjectForm: use autoinc for ints 2018-10-04 06:54:49 +02:00
Thomas Gelf 8d61fa6347 ImportRowModifier: sort settings 2018-10-04 06:53:55 +02:00
Thomas Gelf 4e42231291 DirectorJob: no magic getter/setter, cleanup 2018-10-04 06:52:35 +02:00
Thomas Gelf 1a0cabf216 ImportSourceHook: no more getId 2018-10-04 06:50:03 +02:00
Thomas Gelf ad46ff9fb0 DbObject: cleanup, phpdoc 2018-10-04 06:49:19 +02:00
Thomas Gelf 4e327ed54d Json: allow null/false 2018-10-04 06:47:50 +02:00