cmdbsyncer 4.1.0.dev5__tar.gz → 4.1.0.dev7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/PKG-INFO +1 -1
  2. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/__init__.py +15 -16
  3. cmdbsyncer-4.1.0.dev7/application/buildinfo.txt +1 -0
  4. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v4.1.md +4 -1
  5. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/log/views.py +10 -5
  6. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/inventorize.py +33 -7
  7. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/PKG-INFO +1 -1
  8. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/pyproject.toml +1 -1
  9. cmdbsyncer-4.1.0.dev5/application/buildinfo.txt +0 -1
  10. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/LICENSE +0 -0
  11. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/README.md +0 -0
  12. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/_version.py +0 -0
  13. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/__init__.py +0 -0
  14. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/inventory.py +0 -0
  15. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/objects.py +0 -0
  16. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/rules.py +0 -0
  17. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/syncer.py +0 -0
  18. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/api/views.py +0 -0
  19. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/auth/views.py +0 -0
  20. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/.pages +0 -0
  21. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.10.md +0 -0
  22. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.11.md +0 -0
  23. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.12.md +0 -0
  24. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.5.md +0 -0
  25. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.7.md +0 -0
  26. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.8.md +0 -0
  27. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v3.9.md +0 -0
  28. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/changelog/v4.0.md +0 -0
  29. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/cli.py +0 -0
  30. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/config.py +0 -0
  31. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/docu_links.py +0 -0
  32. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/enterprise.py +0 -0
  33. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/__init__.py +0 -0
  34. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/audit.py +0 -0
  35. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/cron.py +0 -0
  36. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/get_account.py +0 -0
  37. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/inventory.py +0 -0
  38. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/local_config_file.py +0 -0
  39. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/local_config_presets.py +0 -0
  40. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/mongo_keys.py +0 -0
  41. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/notification_channels.py +0 -0
  42. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/notification_dispatch.py +0 -0
  43. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/plugins.py +0 -0
  44. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/sates.py +0 -0
  45. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/sql.py +0 -0
  46. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/syncer_jinja.py +0 -0
  47. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/tablib_formater.py +0 -0
  48. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/tests/__init__.py +0 -0
  49. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/helpers/tests/test_sql.py +0 -0
  50. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/mcp_server.py +0 -0
  51. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/__init__.py +0 -0
  52. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/account.py +0 -0
  53. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/config.py +0 -0
  54. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/cron.py +0 -0
  55. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/field_approval.py +0 -0
  56. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/forms.py +0 -0
  57. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/host.py +0 -0
  58. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/host_inventory_tree.py +0 -0
  59. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/notification_channel.py +0 -0
  60. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/notification_rule.py +0 -0
  61. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/notification_state.py +0 -0
  62. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/saved_search.py +0 -0
  63. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/states.py +0 -0
  64. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/models/user.py +0 -0
  65. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/__init__.py +0 -0
  66. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/custom_attributes/models.py +0 -0
  67. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/custom_attributes/rules.py +0 -0
  68. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/custom_attributes/views.py +0 -0
  69. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/debug.py +0 -0
  70. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/email.py +0 -0
  71. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/inventory/__init__.py +0 -0
  72. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/log/log.py +0 -0
  73. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/log/models.py +0 -0
  74. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/plugin.py +0 -0
  75. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/__init__.py +0 -0
  76. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/filter.py +0 -0
  77. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/match.py +0 -0
  78. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/models.py +0 -0
  79. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/rewrite.py +0 -0
  80. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/rule.py +0 -0
  81. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/rule/views.py +0 -0
  82. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/modules/statefile.py +0 -0
  83. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/notices/strict_certificate_verification.txt +0 -0
  84. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/__init__.py +0 -0
  85. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/__init__.py +0 -0
  86. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/admin_views.py +0 -0
  87. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/inventory.py +0 -0
  88. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/models.py +0 -0
  89. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/playbook_rules.py +0 -0
  90. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/plugin.json +0 -0
  91. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/rules.py +0 -0
  92. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/runner.py +0 -0
  93. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/site_syncer.py +0 -0
  94. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ansible/views.py +0 -0
  95. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/bmc_remedy/__init__.py +0 -0
  96. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/bmc_remedy/bmc_remedy.py +0 -0
  97. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/bmc_remedy/plugin.json +0 -0
  98. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/__init__.py +0 -0
  99. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/admin_views.py +0 -0
  100. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/bi.py +0 -0
  101. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/cmk2.py +0 -0
  102. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/cmk_rules.py +0 -0
  103. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/dcd.py +0 -0
  104. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/downtimes.py +0 -0
  105. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/groups.py +0 -0
  106. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/helpers.py +0 -0
  107. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/import_v1.py +0 -0
  108. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/import_v2.py +0 -0
  109. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/inits.py +0 -0
  110. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/models.py +0 -0
  111. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/notification_rules.py +0 -0
  112. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/passwords.py +0 -0
  113. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/plugin.json +0 -0
  114. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/poolfolder.py +0 -0
  115. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/rules.py +0 -0
  116. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/sites.py +0 -0
  117. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/syncer.py +0 -0
  118. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tags.py +0 -0
  119. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/__init__.py +0 -0
  120. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_bi.py +0 -0
  121. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_cmk2.py +0 -0
  122. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_cmk_rules.py +0 -0
  123. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_dcd.py +0 -0
  124. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_downtimes.py +0 -0
  125. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_groups.py +0 -0
  126. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_helpers.py +0 -0
  127. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_import_v1.py +0 -0
  128. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_import_v2.py +0 -0
  129. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_inventorize.py +0 -0
  130. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_notification_rules.py +0 -0
  131. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_passwords.py +0 -0
  132. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_poolfolder.py +0 -0
  133. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_rules.py +0 -0
  134. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_sites.py +0 -0
  135. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_syncer.py +0 -0
  136. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_tags.py +0 -0
  137. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/tests/test_users.py +0 -0
  138. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/users.py +0 -0
  139. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/checkmk/views.py +0 -0
  140. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/cisco_dna/__init__.py +0 -0
  141. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/cisco_dna/plugin.json +0 -0
  142. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/cisco_dna/syncer.py +0 -0
  143. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/cron.py +0 -0
  144. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/csv/__init__.py +0 -0
  145. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/csv/csv.py +0 -0
  146. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/csv/plugin.json +0 -0
  147. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/file_requests.py +0 -0
  148. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/__init__.py +0 -0
  149. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/admin_views.py +0 -0
  150. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/models.py +0 -0
  151. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/plugin.json +0 -0
  152. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/rules.py +0 -0
  153. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/syncer.py +0 -0
  154. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/idoit/views.py +0 -0
  155. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/__init__.py +0 -0
  156. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/applications.py +0 -0
  157. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/devices.py +0 -0
  158. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/executables.py +0 -0
  159. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/jdisc.py +0 -0
  160. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jdisc/plugin.json +0 -0
  161. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira/__init__.py +0 -0
  162. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira/jira.py +0 -0
  163. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira/plugin.json +0 -0
  164. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira_cloud/__init__.py +0 -0
  165. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira_cloud/jira_cloud.py +0 -0
  166. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/jira_cloud/plugin.json +0 -0
  167. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/json/__init__.py +0 -0
  168. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/json/json.py +0 -0
  169. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/json/plugin.json +0 -0
  170. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ldap/__init__.py +0 -0
  171. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ldap/ldap.py +0 -0
  172. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/ldap/plugin.json +0 -0
  173. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/maintenance/__init__.py +0 -0
  174. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/maintenance/plugin.json +0 -0
  175. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/mssql/__init__.py +0 -0
  176. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/mssql/plugin.json +0 -0
  177. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/mysql/__init__.py +0 -0
  178. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/mysql/mysql.py +0 -0
  179. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/mysql/plugin.json +0 -0
  180. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/__init__.py +0 -0
  181. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/admin_views.py +0 -0
  182. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/cluster.py +0 -0
  183. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/contacts.py +0 -0
  184. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/dataflow.py +0 -0
  185. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/devices.py +0 -0
  186. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/interfaces.py +0 -0
  187. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/ips.py +0 -0
  188. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/models.py +0 -0
  189. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/netbox.py +0 -0
  190. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/networks.py +0 -0
  191. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/plugin.json +0 -0
  192. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/prefixes.py +0 -0
  193. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/rules.py +0 -0
  194. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/views.py +0 -0
  195. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/netbox/virtualmachines.py +0 -0
  196. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/prtg/__init__.py +0 -0
  197. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/prtg/plugin.json +0 -0
  198. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/prtg/prtg.py +0 -0
  199. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/pyodbc/__init__.py +0 -0
  200. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/pyodbc/plugin.json +0 -0
  201. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/pyodbc/pyodbc.py +0 -0
  202. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rest/__init__.py +0 -0
  203. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rest/plugin.json +0 -0
  204. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rest/rest.py +0 -0
  205. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/__init__.py +0 -0
  206. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/admin_views.py +0 -0
  207. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/autorules.py +0 -0
  208. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/models.py +0 -0
  209. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/plugin.json +0 -0
  210. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/rule_definitions.py +0 -0
  211. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/rule_import_export.py +0 -0
  212. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/rules/views.py +0 -0
  213. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/syncer_shell.py +0 -0
  214. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/__init__.py +0 -0
  215. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/admin_views.py +0 -0
  216. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/custom_attributes.py +0 -0
  217. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/models.py +0 -0
  218. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/plugin.json +0 -0
  219. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/rules.py +0 -0
  220. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/views.py +0 -0
  221. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/vmware/vmware.py +0 -0
  222. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/yml/__init__.py +0 -0
  223. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/yml/plugin.json +0 -0
  224. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins/yml/yml.py +0 -0
  225. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/plugins_cli.py +0 -0
  226. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/static/css/cmdbsyncer.css +0 -0
  227. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/static/js/main.js +0 -0
  228. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/static/logo_white.png +0 -0
  229. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/_brand.html +0 -0
  230. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/_theme.html +0 -0
  231. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/_host_tabs.html +0 -0
  232. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/account_pick_type.html +0 -0
  233. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/ansible_playbook_run.html +0 -0
  234. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/ansible_project_detail.html +0 -0
  235. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/ansible_rule_list.html +0 -0
  236. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/bulk_label_form.html +0 -0
  237. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/changelog_archive.html +0 -0
  238. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/checkmk_rule_mngmt_list.html +0 -0
  239. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/checkmk_settings_list.html +0 -0
  240. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/copy_as_new_form.html +0 -0
  241. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/data_quality.html +0 -0
  242. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/file/list.html +0 -0
  243. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/file/modals/form.html +0 -0
  244. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_details.html +0 -0
  245. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_edit.html +0 -0
  246. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_inventory_tree.html +0 -0
  247. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_list.html +0 -0
  248. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_relations_graph.html +0 -0
  249. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/host_timeline.html +0 -0
  250. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/index.html +0 -0
  251. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/local_config_editor.html +0 -0
  252. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/master.html +0 -0
  253. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/model/clone_confirm.html +0 -0
  254. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/model/inline_list_base.html +0 -0
  255. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/object_list.html +0 -0
  256. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/set_cmk_version_form.html +0 -0
  257. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/admin/set_template_form.html +0 -0
  258. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/base.html +0 -0
  259. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/change_password.html +0 -0
  260. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/debug.html +0 -0
  261. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/debug_host.html +0 -0
  262. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/email/newuser.html +0 -0
  263. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/email/notification.html +0 -0
  264. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/email/resetpassword.html +0 -0
  265. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/formular.html +0 -0
  266. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/license_info.html +0 -0
  267. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/login.html +0 -0
  268. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/logout_confirm.html +0 -0
  269. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/request_password.html +0 -0
  270. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/set_2fa.html +0 -0
  271. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/templates/set_theme.html +0 -0
  272. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/themes/dracula.css +0 -0
  273. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/themes/gruvbox-dark.css +0 -0
  274. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/themes/gruvbox-light.css +0 -0
  275. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/themes/nord.css +0 -0
  276. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/themes_registry.py +0 -0
  277. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/_form_fields.py +0 -0
  278. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/_form_sections.py +0 -0
  279. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/account.py +0 -0
  280. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/config.py +0 -0
  281. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/cron.py +0 -0
  282. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/data_quality.py +0 -0
  283. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/default.py +0 -0
  284. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/field_approval.py +0 -0
  285. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/fileadmin.py +0 -0
  286. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/host.py +0 -0
  287. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/host_filters.py +0 -0
  288. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/host_renderers.py +0 -0
  289. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/host_widgets.py +0 -0
  290. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/license.py +0 -0
  291. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/notification_channel.py +0 -0
  292. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/notification_rule.py +0 -0
  293. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/saved_search.py +0 -0
  294. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/application/views/user.py +0 -0
  295. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/SOURCES.txt +0 -0
  296. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/dependency_links.txt +0 -0
  297. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/entry_points.txt +0 -0
  298. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/requires.txt +0 -0
  299. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/cmdbsyncer.egg-info/top_level.txt +0 -0
  300. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/requirements-ansible.txt +0 -0
  301. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/requirements-extras.txt +0 -0
  302. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/requirements.txt +0 -0
  303. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/setup.cfg +0 -0
  304. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/syncerapi/__init__.py +0 -0
  305. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/syncerapi/v1/__init__.py +0 -0
  306. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/syncerapi/v1/core/__init__.py +0 -0
  307. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/syncerapi/v1/inventory/__init__.py +0 -0
  308. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/syncerapi/v1/rest/__init__.py +0 -0
  309. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_api.py +0 -0
  310. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_api_csrf_invariant.py +0 -0
  311. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_default_view.py +0 -0
  312. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_mongo_keys.py +0 -0
  313. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_plugin.py +0 -0
  314. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_plugin_ssti.py +0 -0
  315. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_plugins_cli.py +0 -0
  316. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_rule.py +0 -0
  317. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_rule_match.py +0 -0
  318. {cmdbsyncer-4.1.0.dev5 → cmdbsyncer-4.1.0.dev7}/tests/test_webhook_token_hash.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdbsyncer
3
- Version: 4.1.0.dev5
3
+ Version: 4.1.0.dev7
4
4
  Summary: Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems
5
5
  Author-email: Kuhn & Ruess GmbH <info@kuhn-ruess.de>
6
6
  Maintainer-email: Bastian Kuhn <mail@bastian-kuhn.de>
@@ -31,7 +31,6 @@ if os.getcwd() not in sys.path:
31
31
  sys.path.insert(0, os.getcwd())
32
32
 
33
33
  import importlib
34
- import importlib.util
35
34
  import pkgutil
36
35
  import warnings
37
36
  from logging import config as log_config
@@ -133,21 +132,21 @@ from application import enterprise # noqa: E402
133
132
  from application.enterprise import run_hook as enterprise_hook # noqa: E402
134
133
 
135
134
 
136
- # Load local_config.py via absolute path from cwd, not via ``sys.path``.
137
- # Pip-installed console scripts (``cmdbsyncer …``) trigger
138
- # ``application/__init__.py`` through ``from application.cli import main``
139
- # *before* cli.py's ``sys.path.insert(0, cwd)`` runs so a plain
140
- # ``from local_config import config`` would silently fail and leave
141
- # ``CRYPTOGRAPHY_KEY`` at ``None``, breaking every Account.get_password() call.
142
- _lc_path = os.path.join(os.getcwd(), 'local_config.py')
143
- if os.path.isfile(_lc_path):
144
- _spec = importlib.util.spec_from_file_location('local_config', _lc_path)
145
- _mod = importlib.util.module_from_spec(_spec)
146
- _spec.loader.exec_module(_mod)
147
- sys.modules.setdefault('local_config', _mod)
148
- app.config.update(_mod.config)
149
- else:
150
- logger.warning("local_config.py not found in %s", os.getcwd())
135
+ # Load local_config.py via the standard import path. ``sys.path`` already
136
+ # carries the deployment directory by now: pip console scripts are covered
137
+ # by the cwd-injection at the top of this module, source checkouts get the
138
+ # script directory from Python automatically, and mod_wsgi / gunicorn
139
+ # entries add their own dir from ``app.wsgi``. A missing file is logged
140
+ # (was a silent ``pass``) so a misplaced deployment surfaces immediately
141
+ # instead of leaving CRYPTOGRAPHY_KEY at None.
142
+ try:
143
+ from local_config import config
144
+ app.config.update(config)
145
+ except ModuleNotFoundError:
146
+ logger.warning(
147
+ "local_config.py not importable — sys.path=%s cwd=%s",
148
+ sys.path, os.getcwd(),
149
+ )
151
150
 
152
151
 
153
152
  # REQUIRE_HTTPS is the single switch that controls whether the GUI's
@@ -0,0 +1 @@
1
+ BUILD_DATE=2026-05-11T10:26:20Z
@@ -53,6 +53,8 @@
53
53
  - FEAT: Quick-search on Rule Management matches name and ruleset
54
54
  - FIX: Saving a rule with outcomes that target different rulesets is rejected with a flash
55
55
  - FEAT: New "Manage Notification Rules" view exports notification rules to Checkmk 2.4 / 2.5 with `cmdbsyncer checkmk export_notifications`; admin edits are detected and corrected on the next run
56
+ - FIX: Checkmk HW/SW inventorize multiprocessing pool initialises a fresh MongoDB connection per worker so writes no longer fail with an instant "Timeout error"
57
+ - FIX: Checkmk HW/SW inventory worker errors show the failing hostname, exception type and full traceback instead of a misleading "Timeout error"
56
58
 
57
59
  ### API
58
60
  - FEAT: `/api/v1/objects/<hostname>/relations` reads, adds and removes typed Host relations (CMDB_MODE only)
@@ -83,6 +85,7 @@
83
85
  - FEAT: Set Theme, Set 2FA and Change Password pages now keep the admin navigation
84
86
  - FIX: Settings → License menu entry is hidden on Community Edition installs (no enterprise package present), so admins are not pointed at a page with no upload form and an empty feature table
85
87
  - FIX: PyPI installs ship the bundled theme CSS files (Gruvbox Dark / Light, Nord, Dracula) so the theme picker actually shows themes other than Default
88
+ - FIX: Log details and traceback boxes pick up theme colours so they no longer render as a half-white card on Gruvbox Dark / Nord / Dracula
86
89
 
87
90
  ### Plugin runtime
88
91
  - FIX: HTTP sessions and CA-cert temp files are released even when a plugin's init fails
@@ -90,7 +93,7 @@
90
93
  ### Setup
91
94
  - FEAT: `cmdbsyncer sys self_configure` now creates a default `app.wsgi` so PyPI installs can be served by Apache/mod_wsgi or uWSGI without writing one by hand
92
95
  - FIX: `Edit local_config.py` GUI now writes to the same `local_config.py` Python actually imports. PyPI installs previously wrote into site-packages instead of the deployment directory next to `app.wsgi`
93
- - FIX: PyPI installs now find `local_config.py` reliably — `CRYPTOGRAPHY_KEY` and friends are no longer silently `None`, so Account passwords decrypt correctly when running `cmdbsyncer …` from the deployment directory
96
+ - FIX: `local_config.py` is now found reliably across PyPI console scripts, mod_wsgi / gunicorn and source checkouts — `CRYPTOGRAPHY_KEY` and friends are no longer silently `None`, so Account passwords decrypt correctly. A misplaced deployment now surfaces as a startup warning instead of failing silently
94
97
  - FIX: PyPI installs now ship every plugin's `plugin.json` (was only the `.py` files), and the user `plugins/` directory plus `disabled_plugins.json` next to `app.wsgi` are picked up correctly instead of being looked for inside `site-packages`
95
98
  - FEAT: Offline installation bundle always ships base, extras and ansible Python dependencies plus the default Ansible playbook collection, and the bundled `install.sh` deploys the playbooks to `/opt/cmdbsyncer/ansible` (override via `ANSIBLE_TARGET`, skip with `SKIP_ANSIBLE=1`, replace existing target with `FORCE=1`)
96
99
  - FEAT: New `make release-pre` target ships sequential pre-release builds (`.devN` / `aN` / `bN` / `rcN`) to PyPI without requiring a hand-edit before each upload; `tools/build_offline_bundle.sh --syncer-version 4.1.0.dev3 --enterprise-version 0.3.9.dev1` pins the offline bundle to those pre-releases so QA can test them on air-gapped systems
@@ -17,7 +17,8 @@ def format_log(_view, _ctx, model, _path):
17
17
  rows = ''.join(
18
18
  '<tr>'
19
19
  '<th style="width:1%;vertical-align:top;padding:2px 8px 2px 0;'
20
- f'white-space:nowrap;color:#666;font-weight:600;">{escape(entry.level)}</th>'
20
+ 'white-space:nowrap;color:var(--surface-muted,#666);'
21
+ f'font-weight:600;">{escape(entry.level)}</th>'
21
22
  '<td style="vertical-align:top;word-break:break-word;'
22
23
  f'overflow-wrap:anywhere;white-space:pre-wrap;">{escape(entry.message)}</td>'
23
24
  '</tr>'
@@ -34,19 +35,23 @@ def format_traceback(_view, _ctx, model, _path):
34
35
  """
35
36
  Tracebacks are routinely 30-80 lines and would otherwise blow up the
36
37
  detail card. Render them inside a collapsed `<details>` so the row
37
- stays scannable and the operator can pop it open on click.
38
+ stays scannable and the operator can pop it open on click. Colours
39
+ come from theme tokens so the `<pre>` block doesn't show up as a
40
+ white card on Gruvbox/Nord/Dracula rows.
38
41
  """
39
42
  trace = (model.traceback or '').strip()
40
43
  if not trace or trace == 'NoneType: None':
41
44
  return ''
42
45
  return Markup(
43
46
  '<details style="margin:0;">'
44
- '<summary style="cursor:pointer;color:#2c5d99;'
47
+ '<summary style="cursor:pointer;color:var(--surface-muted,#2c5d99);'
45
48
  'font-family:ui-monospace,monospace;font-size:0.88rem;">'
46
49
  'Show traceback</summary>'
47
50
  '<pre style="margin-top:6px;padding:8px 10px;'
48
- 'background:#f6f8fa;border:1px solid #e2e6ea;border-radius:6px;'
49
- 'font-size:0.82rem;white-space:pre-wrap;'
51
+ 'background:var(--surface-subtle,#f6f8fa);'
52
+ 'border:1px solid var(--surface-border,#e2e6ea);'
53
+ 'color:var(--surface-text,inherit);'
54
+ 'border-radius:6px;font-size:0.82rem;white-space:pre-wrap;'
50
55
  f'overflow-x:auto;">{escape(trace)}</pre>'
51
56
  '</details>'
52
57
  )
@@ -6,9 +6,11 @@ import datetime
6
6
  import hashlib
7
7
  import json
8
8
  import multiprocessing
9
+ import traceback
9
10
 
10
11
  from rich.progress import Progress, SpinnerColumn, TimeElapsedColumn, MofNCompleteColumn
11
12
 
13
+ from application import init_db
12
14
  from application.models.host import Host, app
13
15
  from application.models.host_inventory_tree import (
14
16
  HostInventoryTree,
@@ -140,23 +142,47 @@ class InventorizeHosts(CMK2): # pylint: disable=too-many-instance-attributes
140
142
  *Progress.get_default_columns(),
141
143
  TimeElapsedColumn()) as progress:
142
144
  task1 = progress.add_task("Requesting HW/SW Inventory Data from Checkmk", total=total)
143
- with multiprocessing.Pool() as pool:
145
+ # init_db gives each worker a fresh MongoEngine connection;
146
+ # without it the workers inherit the parent's connection across
147
+ # fork() and the first _save_inventory_tree() write raises
148
+ # immediately (matching the "instant timeout" symptom).
149
+ with multiprocessing.Pool(initializer=init_db) as pool:
150
+ # Pair every async result with its hostname so error output
151
+ # can name the failing host. Previously the hostname was
152
+ # only recoverable from the worker's return tuple, which we
153
+ # never see when the worker raised or timed out.
144
154
  tasks = []
145
155
  for host_resp in response:
146
156
  hostname = host_resp['extensions']['host_name']
147
157
  self.add_host(hostname)
148
- task = pool.apply_async(self.get_hw_sw_inventory_data, args=(hostname,))
149
- tasks.append(task)
158
+ async_result = pool.apply_async(
159
+ self.get_hw_sw_inventory_data, args=(hostname,)
160
+ )
161
+ tasks.append((hostname, async_result))
150
162
 
151
- for task in tasks:
163
+ process_timeout = app.config['PROCESS_TIMEOUT']
164
+ for hostname, task in tasks:
152
165
  try:
153
- hostname, data = task.get(timeout=app.config['PROCESS_TIMEOUT'])
166
+ _host, data = task.get(timeout=process_timeout)
154
167
  except multiprocessing.TimeoutError:
155
- progress.console.print("- ERROR: Timeout for a object")
168
+ progress.console.print(
169
+ f"- {ColorCodes.FAIL}TIMEOUT{ColorCodes.ENDC} "
170
+ f"after {process_timeout}s for {hostname}"
171
+ )
156
172
  except Exception as error: # pylint: disable=broad-exception-caught
173
+ # apply_async preserves the worker traceback on
174
+ # .get(); print it so the operator can see what
175
+ # really blew up instead of a misleading
176
+ # "Timeout error" label. --debug re-raises to abort
177
+ # the run for interactive inspection.
157
178
  if self.debug:
158
179
  raise
159
- progress.console.print(f"- ERROR: Timeout error for object ({error})")
180
+ progress.console.print(
181
+ f"- {ColorCodes.FAIL}ERROR{ColorCodes.ENDC} "
182
+ f"in worker for {hostname}: "
183
+ f"{type(error).__name__}: {error}"
184
+ )
185
+ progress.console.print(traceback.format_exc())
160
186
  else:
161
187
  progress.advance(task1)
162
188
  if data is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdbsyncer
3
- Version: 4.1.0.dev5
3
+ Version: 4.1.0.dev7
4
4
  Summary: Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems
5
5
  Author-email: Kuhn & Ruess GmbH <info@kuhn-ruess.de>
6
6
  Maintainer-email: Bastian Kuhn <mail@bastian-kuhn.de>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cmdbsyncer"
7
- version = "4.1.0.dev5"
7
+ version = "4.1.0.dev7"
8
8
  description = "Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -1 +0,0 @@
1
- BUILD_DATE=2026-05-08T14:17:04Z
File without changes