cmdbsyncer 3.12.6__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 (208) hide show
  1. cmdbsyncer-3.12.6/LICENSE +21 -0
  2. cmdbsyncer-3.12.6/PKG-INFO +316 -0
  3. cmdbsyncer-3.12.6/README.md +265 -0
  4. cmdbsyncer-3.12.6/application/__init__.py +354 -0
  5. cmdbsyncer-3.12.6/application/_version.py +8 -0
  6. cmdbsyncer-3.12.6/application/api/__init__.py +92 -0
  7. cmdbsyncer-3.12.6/application/api/objects.py +282 -0
  8. cmdbsyncer-3.12.6/application/api/syncer.py +145 -0
  9. cmdbsyncer-3.12.6/application/api/views.py +44 -0
  10. cmdbsyncer-3.12.6/application/auth/views.py +240 -0
  11. cmdbsyncer-3.12.6/application/buildinfo.txt +1 -0
  12. cmdbsyncer-3.12.6/application/cli.py +31 -0
  13. cmdbsyncer-3.12.6/application/config.py +199 -0
  14. cmdbsyncer-3.12.6/application/docu_links.py +11 -0
  15. cmdbsyncer-3.12.6/application/enterprise.py +55 -0
  16. cmdbsyncer-3.12.6/application/helpers/__init__.py +0 -0
  17. cmdbsyncer-3.12.6/application/helpers/cron.py +46 -0
  18. cmdbsyncer-3.12.6/application/helpers/get_account.py +88 -0
  19. cmdbsyncer-3.12.6/application/helpers/inventory.py +95 -0
  20. cmdbsyncer-3.12.6/application/helpers/plugins.py +132 -0
  21. cmdbsyncer-3.12.6/application/helpers/sates.py +26 -0
  22. cmdbsyncer-3.12.6/application/helpers/sql.py +36 -0
  23. cmdbsyncer-3.12.6/application/helpers/syncer_jinja.py +181 -0
  24. cmdbsyncer-3.12.6/application/helpers/tablib_formater.py +16 -0
  25. cmdbsyncer-3.12.6/application/models/__init__.py +0 -0
  26. cmdbsyncer-3.12.6/application/models/account.py +164 -0
  27. cmdbsyncer-3.12.6/application/models/config.py +11 -0
  28. cmdbsyncer-3.12.6/application/models/cron.py +101 -0
  29. cmdbsyncer-3.12.6/application/models/forms.py +59 -0
  30. cmdbsyncer-3.12.6/application/models/host.py +593 -0
  31. cmdbsyncer-3.12.6/application/models/states.py +14 -0
  32. cmdbsyncer-3.12.6/application/models/user.py +142 -0
  33. cmdbsyncer-3.12.6/application/modules/__init__.py +0 -0
  34. cmdbsyncer-3.12.6/application/modules/custom_attributes/models.py +27 -0
  35. cmdbsyncer-3.12.6/application/modules/custom_attributes/rules.py +35 -0
  36. cmdbsyncer-3.12.6/application/modules/custom_attributes/views.py +37 -0
  37. cmdbsyncer-3.12.6/application/modules/debug.py +100 -0
  38. cmdbsyncer-3.12.6/application/modules/email.py +52 -0
  39. cmdbsyncer-3.12.6/application/modules/log/log.py +65 -0
  40. cmdbsyncer-3.12.6/application/modules/log/models.py +33 -0
  41. cmdbsyncer-3.12.6/application/modules/log/views.py +80 -0
  42. cmdbsyncer-3.12.6/application/modules/plugin.py +424 -0
  43. cmdbsyncer-3.12.6/application/modules/rule/__init__.py +0 -0
  44. cmdbsyncer-3.12.6/application/modules/rule/filter.py +45 -0
  45. cmdbsyncer-3.12.6/application/modules/rule/match.py +110 -0
  46. cmdbsyncer-3.12.6/application/modules/rule/models.py +214 -0
  47. cmdbsyncer-3.12.6/application/modules/rule/rewrite.py +102 -0
  48. cmdbsyncer-3.12.6/application/modules/rule/rule.py +328 -0
  49. cmdbsyncer-3.12.6/application/modules/rule/views.py +727 -0
  50. cmdbsyncer-3.12.6/application/modules/statefile.py +99 -0
  51. cmdbsyncer-3.12.6/application/plugins/__init__.py +4 -0
  52. cmdbsyncer-3.12.6/application/plugins/ansible/__init__.py +260 -0
  53. cmdbsyncer-3.12.6/application/plugins/ansible/admin_views.py +41 -0
  54. cmdbsyncer-3.12.6/application/plugins/ansible/inventory.py +137 -0
  55. cmdbsyncer-3.12.6/application/plugins/ansible/models.py +75 -0
  56. cmdbsyncer-3.12.6/application/plugins/ansible/rest_api/ansible.py +38 -0
  57. cmdbsyncer-3.12.6/application/plugins/ansible/rules.py +24 -0
  58. cmdbsyncer-3.12.6/application/plugins/ansible/site_syncer.py +82 -0
  59. cmdbsyncer-3.12.6/application/plugins/ansible/views.py +20 -0
  60. cmdbsyncer-3.12.6/application/plugins/bmc_remedy/__init__.py +21 -0
  61. cmdbsyncer-3.12.6/application/plugins/bmc_remedy/bmc_remedy.py +95 -0
  62. cmdbsyncer-3.12.6/application/plugins/checkmk/__init__.py +578 -0
  63. cmdbsyncer-3.12.6/application/plugins/checkmk/admin_views.py +204 -0
  64. cmdbsyncer-3.12.6/application/plugins/checkmk/bi.py +170 -0
  65. cmdbsyncer-3.12.6/application/plugins/checkmk/cmk2.py +181 -0
  66. cmdbsyncer-3.12.6/application/plugins/checkmk/cmk_rules.py +422 -0
  67. cmdbsyncer-3.12.6/application/plugins/checkmk/dcd.py +181 -0
  68. cmdbsyncer-3.12.6/application/plugins/checkmk/downtimes.py +323 -0
  69. cmdbsyncer-3.12.6/application/plugins/checkmk/groups.py +296 -0
  70. cmdbsyncer-3.12.6/application/plugins/checkmk/helpers.py +34 -0
  71. cmdbsyncer-3.12.6/application/plugins/checkmk/import_v1.py +69 -0
  72. cmdbsyncer-3.12.6/application/plugins/checkmk/import_v2.py +64 -0
  73. cmdbsyncer-3.12.6/application/plugins/checkmk/inits.py +443 -0
  74. cmdbsyncer-3.12.6/application/plugins/checkmk/inventorize.py +317 -0
  75. cmdbsyncer-3.12.6/application/plugins/checkmk/models.py +716 -0
  76. cmdbsyncer-3.12.6/application/plugins/checkmk/passwords.py +91 -0
  77. cmdbsyncer-3.12.6/application/plugins/checkmk/poolfolder.py +38 -0
  78. cmdbsyncer-3.12.6/application/plugins/checkmk/rules.py +330 -0
  79. cmdbsyncer-3.12.6/application/plugins/checkmk/sites.py +39 -0
  80. cmdbsyncer-3.12.6/application/plugins/checkmk/syncer.py +1265 -0
  81. cmdbsyncer-3.12.6/application/plugins/checkmk/tags.py +401 -0
  82. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/__init__.py +3 -0
  83. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_bi.py +122 -0
  84. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_cmk2.py +262 -0
  85. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_cmk_rules.py +238 -0
  86. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_dcd.py +207 -0
  87. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_downtimes.py +148 -0
  88. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_groups.py +159 -0
  89. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_helpers.py +108 -0
  90. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_import_v1.py +93 -0
  91. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_import_v2.py +154 -0
  92. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_inventorize.py +148 -0
  93. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_passwords.py +118 -0
  94. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_poolfolder.py +114 -0
  95. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_rules.py +244 -0
  96. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_sites.py +66 -0
  97. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_syncer.py +1060 -0
  98. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_tags.py +240 -0
  99. cmdbsyncer-3.12.6/application/plugins/checkmk/tests/test_users.py +190 -0
  100. cmdbsyncer-3.12.6/application/plugins/checkmk/users.py +105 -0
  101. cmdbsyncer-3.12.6/application/plugins/checkmk/views.py +1095 -0
  102. cmdbsyncer-3.12.6/application/plugins/cisco_dna/__init__.py +67 -0
  103. cmdbsyncer-3.12.6/application/plugins/cisco_dna/syncer.py +227 -0
  104. cmdbsyncer-3.12.6/application/plugins/cron.py +198 -0
  105. cmdbsyncer-3.12.6/application/plugins/csv/__init__.py +156 -0
  106. cmdbsyncer-3.12.6/application/plugins/csv/csv.py +95 -0
  107. cmdbsyncer-3.12.6/application/plugins/file_requests.py +39 -0
  108. cmdbsyncer-3.12.6/application/plugins/idoit/__init__.py +143 -0
  109. cmdbsyncer-3.12.6/application/plugins/idoit/admin_views.py +17 -0
  110. cmdbsyncer-3.12.6/application/plugins/idoit/models.py +69 -0
  111. cmdbsyncer-3.12.6/application/plugins/idoit/rules.py +43 -0
  112. cmdbsyncer-3.12.6/application/plugins/idoit/syncer.py +320 -0
  113. cmdbsyncer-3.12.6/application/plugins/idoit/views.py +51 -0
  114. cmdbsyncer-3.12.6/application/plugins/jdisc/__init__.py +153 -0
  115. cmdbsyncer-3.12.6/application/plugins/jdisc/applications.py +56 -0
  116. cmdbsyncer-3.12.6/application/plugins/jdisc/devices.py +169 -0
  117. cmdbsyncer-3.12.6/application/plugins/jdisc/executables.py +52 -0
  118. cmdbsyncer-3.12.6/application/plugins/jdisc/jdisc.py +114 -0
  119. cmdbsyncer-3.12.6/application/plugins/jira/__init__.py +19 -0
  120. cmdbsyncer-3.12.6/application/plugins/jira/jira.py +74 -0
  121. cmdbsyncer-3.12.6/application/plugins/jira_cloud/__init__.py +25 -0
  122. cmdbsyncer-3.12.6/application/plugins/jira_cloud/jira_cloud.py +109 -0
  123. cmdbsyncer-3.12.6/application/plugins/json/__init__.py +21 -0
  124. cmdbsyncer-3.12.6/application/plugins/json/json.py +12 -0
  125. cmdbsyncer-3.12.6/application/plugins/ldap/__init__.py +38 -0
  126. cmdbsyncer-3.12.6/application/plugins/ldap/ldap.py +123 -0
  127. cmdbsyncer-3.12.6/application/plugins/maintenance/__init__.py +365 -0
  128. cmdbsyncer-3.12.6/application/plugins/mssql/__init__.py +53 -0
  129. cmdbsyncer-3.12.6/application/plugins/mysql/__init__.py +33 -0
  130. cmdbsyncer-3.12.6/application/plugins/mysql/mysql.py +93 -0
  131. cmdbsyncer-3.12.6/application/plugins/netbox/__init__.py +530 -0
  132. cmdbsyncer-3.12.6/application/plugins/netbox/admin_views.py +64 -0
  133. cmdbsyncer-3.12.6/application/plugins/netbox/cluster.py +41 -0
  134. cmdbsyncer-3.12.6/application/plugins/netbox/contacts.py +30 -0
  135. cmdbsyncer-3.12.6/application/plugins/netbox/dataflow.py +179 -0
  136. cmdbsyncer-3.12.6/application/plugins/netbox/devices.py +192 -0
  137. cmdbsyncer-3.12.6/application/plugins/netbox/interfaces.py +124 -0
  138. cmdbsyncer-3.12.6/application/plugins/netbox/ips.py +112 -0
  139. cmdbsyncer-3.12.6/application/plugins/netbox/models.py +486 -0
  140. cmdbsyncer-3.12.6/application/plugins/netbox/netbox.py +389 -0
  141. cmdbsyncer-3.12.6/application/plugins/netbox/networks.py +22 -0
  142. cmdbsyncer-3.12.6/application/plugins/netbox/prefixes.py +22 -0
  143. cmdbsyncer-3.12.6/application/plugins/netbox/rules.py +441 -0
  144. cmdbsyncer-3.12.6/application/plugins/netbox/views.py +202 -0
  145. cmdbsyncer-3.12.6/application/plugins/netbox/virtualmachines.py +189 -0
  146. cmdbsyncer-3.12.6/application/plugins/prtg/__init__.py +42 -0
  147. cmdbsyncer-3.12.6/application/plugins/prtg/prtg.py +168 -0
  148. cmdbsyncer-3.12.6/application/plugins/pyodbc/__init__.py +52 -0
  149. cmdbsyncer-3.12.6/application/plugins/pyodbc/pyodbc.py +97 -0
  150. cmdbsyncer-3.12.6/application/plugins/rest/__init__.py +31 -0
  151. cmdbsyncer-3.12.6/application/plugins/rest/rest.py +131 -0
  152. cmdbsyncer-3.12.6/application/plugins/rules/__init__.py +56 -0
  153. cmdbsyncer-3.12.6/application/plugins/rules/admin_views.py +16 -0
  154. cmdbsyncer-3.12.6/application/plugins/rules/autorules.py +170 -0
  155. cmdbsyncer-3.12.6/application/plugins/rules/models.py +23 -0
  156. cmdbsyncer-3.12.6/application/plugins/rules/rule_definitions.py +44 -0
  157. cmdbsyncer-3.12.6/application/plugins/rules/rule_import_export.py +142 -0
  158. cmdbsyncer-3.12.6/application/plugins/rules/views.py +76 -0
  159. cmdbsyncer-3.12.6/application/plugins/syncer_shell.py +245 -0
  160. cmdbsyncer-3.12.6/application/plugins/vmware/__init__.py +83 -0
  161. cmdbsyncer-3.12.6/application/plugins/vmware/admin_views.py +18 -0
  162. cmdbsyncer-3.12.6/application/plugins/vmware/custom_attributes.py +170 -0
  163. cmdbsyncer-3.12.6/application/plugins/vmware/models.py +64 -0
  164. cmdbsyncer-3.12.6/application/plugins/vmware/rules.py +29 -0
  165. cmdbsyncer-3.12.6/application/plugins/vmware/views.py +15 -0
  166. cmdbsyncer-3.12.6/application/plugins/vmware/vmware.py +38 -0
  167. cmdbsyncer-3.12.6/application/plugins/yml/__init__.py +55 -0
  168. cmdbsyncer-3.12.6/application/plugins/yml/yml.py +167 -0
  169. cmdbsyncer-3.12.6/application/plugins_cli.py +222 -0
  170. cmdbsyncer-3.12.6/application/static/js/main.js +3 -0
  171. cmdbsyncer-3.12.6/application/static/logo_white.png +0 -0
  172. cmdbsyncer-3.12.6/application/templates/admin/file/list.html +197 -0
  173. cmdbsyncer-3.12.6/application/templates/admin/index.html +264 -0
  174. cmdbsyncer-3.12.6/application/templates/admin/master.html +466 -0
  175. cmdbsyncer-3.12.6/application/templates/admin/set_cmk_version_form.html +14 -0
  176. cmdbsyncer-3.12.6/application/templates/admin/set_template_form.html +21 -0
  177. cmdbsyncer-3.12.6/application/templates/base.html +202 -0
  178. cmdbsyncer-3.12.6/application/templates/debug.html +100 -0
  179. cmdbsyncer-3.12.6/application/templates/debug_host.html +168 -0
  180. cmdbsyncer-3.12.6/application/templates/email/newuser.html +10 -0
  181. cmdbsyncer-3.12.6/application/templates/email/resetpassword.html +9 -0
  182. cmdbsyncer-3.12.6/application/templates/formular.html +10 -0
  183. cmdbsyncer-3.12.6/application/templates/license_info.html +81 -0
  184. cmdbsyncer-3.12.6/application/templates/login.html +22 -0
  185. cmdbsyncer-3.12.6/application/templates/set_2fa.html +63 -0
  186. cmdbsyncer-3.12.6/application/views/account.py +238 -0
  187. cmdbsyncer-3.12.6/application/views/config.py +29 -0
  188. cmdbsyncer-3.12.6/application/views/cron.py +137 -0
  189. cmdbsyncer-3.12.6/application/views/default.py +210 -0
  190. cmdbsyncer-3.12.6/application/views/fileadmin.py +28 -0
  191. cmdbsyncer-3.12.6/application/views/host.py +1648 -0
  192. cmdbsyncer-3.12.6/application/views/license.py +39 -0
  193. cmdbsyncer-3.12.6/application/views/user.py +55 -0
  194. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/PKG-INFO +316 -0
  195. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/SOURCES.txt +206 -0
  196. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/dependency_links.txt +1 -0
  197. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/entry_points.txt +3 -0
  198. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/requires.txt +19 -0
  199. cmdbsyncer-3.12.6/cmdbsyncer.egg-info/top_level.txt +2 -0
  200. cmdbsyncer-3.12.6/pyproject.toml +100 -0
  201. cmdbsyncer-3.12.6/setup.cfg +4 -0
  202. cmdbsyncer-3.12.6/syncerapi/__init__.py +0 -0
  203. cmdbsyncer-3.12.6/syncerapi/v1/__init__.py +9 -0
  204. cmdbsyncer-3.12.6/syncerapi/v1/core/__init__.py +7 -0
  205. cmdbsyncer-3.12.6/syncerapi/v1/inventory/__init__.py +1 -0
  206. cmdbsyncer-3.12.6/syncerapi/v1/rest/__init__.py +2 -0
  207. cmdbsyncer-3.12.6/tests/test_plugin.py +382 -0
  208. cmdbsyncer-3.12.6/tests/test_rule_match.py +220 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Kuhn & Ruess GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,316 @@
1
+ Metadata-Version: 2.4
2
+ Name: cmdbsyncer
3
+ Version: 3.12.6
4
+ Summary: Rule-based modular synchronizer for Checkmk, Netbox, Ansible, I-DOIT, Jira CMDB and 15+ other CMDB/monitoring systems
5
+ Author-email: Kuhn & Ruess GmbH <info@kuhn-ruess.de>
6
+ Maintainer-email: Bastian Kuhn <mail@bastian-kuhn.de>
7
+ License: MIT
8
+ Project-URL: Homepage, https://cmdbsyncer.de
9
+ Project-URL: Documentation, https://docs.cmdbsyncer.de
10
+ Project-URL: Repository, https://github.com/kuhn-ruess/cmdbsyncer
11
+ Project-URL: Issues, https://github.com/kuhn-ruess/cmdbsyncer/issues
12
+ Project-URL: Changelog, https://github.com/kuhn-ruess/cmdbsyncer/tree/main/changelog
13
+ Keywords: cmdb,checkmk,netbox,ansible,i-doit,jira,infrastructure,automation,synchronization,monitoring
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Web Environment
16
+ Classifier: Framework :: Flask
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: Intended Audience :: Information Technology
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Topic :: System :: Systems Administration
26
+ Classifier: Topic :: System :: Monitoring
27
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
+ Requires-Python: >=3.10
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Requires-Dist: Flask==3.1.0
32
+ Requires-Dist: Authlib==1.5.2
33
+ Requires-Dist: email_validator==2.2.0
34
+ Requires-Dist: Flask-Bootstrap4==4.0.2
35
+ Requires-Dist: Flask-Login==0.6.3
36
+ Requires-Dist: Flask-Mail==0.10.0
37
+ Requires-Dist: flask-mongoengine-3==1.1.0
38
+ Requires-Dist: flask-restx==1.3.0
39
+ Requires-Dist: Flask-WTF==1.2.2
40
+ Requires-Dist: pyotp==2.9.0
41
+ Requires-Dist: requests==2.32.3
42
+ Requires-Dist: rich==14.0.0
43
+ Requires-Dist: pynetbox==7.4.1
44
+ Requires-Dist: python-slugify==8.0.4
45
+ Requires-Dist: tablib==3.8.0
46
+ Requires-Dist: sortedcontainers==2.4.0
47
+ Requires-Dist: pyyml==0.0.2
48
+ Requires-Dist: Flask-Admin==2.0.2
49
+ Requires-Dist: pylint==4.0.5
50
+ Dynamic: license-file
51
+
52
+ # CMDBsyncer
53
+
54
+ A rule-based and modular system to synchronize hosts between Checkmk, Netbox, and other systems. The main goal is the complete organization of hosts based on CMDB systems with flexible rules and automation.
55
+
56
+ ## πŸ”— Links
57
+
58
+ * [🌐 Homepage](https://cmdbsyncer.de)
59
+ * [πŸ“– Documentation](https://docs.cmdbsyncer.de)
60
+
61
+ ## πŸ“‹ Table of Contents
62
+
63
+ - [Overview](#overview)
64
+ - [Features](#features)
65
+ - [Quick Start](#quick-start)
66
+ - [Supported Systems](#supported-systems)
67
+ - [Installation](#installation)
68
+ - [Main Functions](#main-functions)
69
+ - [Screenshots](#screenshots)
70
+ - [Contributing](#contributing)
71
+ - [License](#license)
72
+
73
+ ## 🎯 Overview
74
+
75
+ CMDBsyncer is a powerful, web-based tool designed to solve the complex challenge of managing host inventories across multiple IT management systems. Whether you're synchronizing between Checkmk, Netbox, I-DOIT, or other platforms, CMDBsyncer provides a unified approach with rule-based automation.
76
+
77
+ ### Key Benefits
78
+ - **Centralized Management**: Single interface for all your CMDB synchronization needs
79
+ - **Rule-Based Logic**: Flexible rules for host organization and attribute management
80
+ - **Multi-Platform**: Support for 15+ systems including Checkmk, Netbox, Ansible, and more
81
+ - **Scalable**: Tested with 140,000+ hosts
82
+ - **Secure**: Built-in authentication, 2FA, and encryption of sensitive data
83
+
84
+ ## ⚑ Quick Start
85
+
86
+ Get started quickly using Docker Compose:
87
+
88
+ ```bash
89
+ # Clone the repository
90
+ git clone https://github.com/your-username/cmdbsyncer.git
91
+ cd cmdbsyncer
92
+
93
+ # Start the application
94
+ ./helper up
95
+
96
+ # Access the container
97
+ ./helper shell
98
+
99
+ # Create your first user
100
+ ./helper create_user 'your-email@example.com'
101
+
102
+ # Access the web interface
103
+ # Open http://your-host:5003 in your browser
104
+ ```
105
+
106
+ This runs a development version that you can use to test everything.
107
+
108
+ ## πŸ“Έ Screenshots
109
+
110
+ ![Rules Configuration](https://user-images.githubusercontent.com/899110/201333967-2d7f3f35-cc69-4cad-931f-1da096f94056.png)
111
+ *Rule-based synchronization configuration interface*
112
+
113
+ ![Debug Options](https://user-images.githubusercontent.com/899110/201333725-d699d50f-a5eb-4539-a3af-3db3e0647ebb.png)
114
+ *Comprehensive debug and testing options*
115
+
116
+ ## πŸš€ Main Functions
117
+
118
+ ### Core Features
119
+ - **🌐 Web Interface** - Complete web-based management with login, 2FA, and user management
120
+ - **βš™οΈ Configuration Management** - All configuration handled through the web interface (except initial installation)
121
+ - **πŸ”Œ Plugin API** - Simple API to integrate custom data sources
122
+ - **πŸ› Debug Tools** - Various debug options available via the `./cmdbsyncer` command
123
+ - **πŸ” Security** - Encryption of secrets and secure credential management
124
+ - **⏰ Scheduling** - Built-in cron management for automated synchronization
125
+ - **πŸ“Š Monitoring** - Integration with monitoring systems
126
+ - **🎯 Template Support** - Jinja2 templating for configuration and rules
127
+ - **πŸ”„ REST API** - Full REST API for automation and integration
128
+
129
+ ### Rule Engine
130
+ - **πŸ“ Attribute Control** - Rules based on host attributes
131
+ - **✏️ Attribute Rewrites** - Dynamic modification of host attributes
132
+ - **πŸ” Filters** - Advanced filtering for hosts and attributes
133
+ - **⚑ Action Rules** - Automated actions in Ansible, Checkmk, Netbox, etc.
134
+
135
+ ### Ansible Integration
136
+ - **πŸ“‹ Inventory Source** - Use CMDBsyncer as dynamic Ansible inventory
137
+
138
+ ## πŸ”§ Supported Systems
139
+
140
+ ### Checkmk
141
+ **Complete lifecycle management for monitoring systems**
142
+
143
+ - βœ… **Host Management** - Full host lifecycle (creation, labels, folders, deletion, rules)
144
+ - πŸ“ˆ **Scalability** - Tested with more than 140,000 hosts
145
+ - 🏷️ **Attribute Sync** - Sync and update all host attributes, tags, and labels
146
+ - ⚑ **Performance** - Full support of API bulk operations and multiprocessing
147
+ - πŸ“ **Folder Management** - Complete Checkmk folder management with pool features
148
+ - πŸ‘₯ **Groups** - Creation of host, contact, and service groups
149
+ - 🎯 **Tags** - Create host tags and host tag groups
150
+ - πŸ“Š **BI Integration** - Create BI aggregations
151
+ - πŸ“‹ **Rules** - Create all types of setup rules
152
+ - πŸ”„ **Updates** - Smart update controls to prevent excessive changes
153
+ - πŸ€– **Agents** - Commands to activate configuration, bake and sign agents
154
+ - πŸ‘€ **User Management** - Manage Checkmk users (create/delete/reset password)
155
+ - πŸ“¦ **Inventory** - Host attributes inventory for Ansible integration
156
+ - πŸ” **Password Store** - Create and manage encrypted password entries
157
+ - 🎯 **DCD Rules** - Create Data Collection Rules
158
+ - πŸ” **Version Detection** - Automatic Checkmk version detection for correct API usage
159
+
160
+ ### Ansible
161
+ **Automation and configuration management**
162
+
163
+ - πŸ“‹ **Inventory** - Rule-based inventory source
164
+ - πŸ–₯️ **Agent Management** - Complete Checkmk agent management (Linux & Windows)
165
+ - Installation and TLS registration
166
+ - Bakery registration
167
+ - πŸ—οΈ **Site Management** - OMD site management (updates, creation)
168
+ - Automatic Checkmk version downloads
169
+
170
+ ### Netbox
171
+ **Network infrastructure management**
172
+
173
+ - πŸ”„ **Bidirectional Sync** - Rule-based export and import of devices and VMs
174
+ - πŸ—οΈ **Auto-Creation** - Automatic category creation
175
+ - πŸ—ΊοΈ **Infrastructure** - Export sites, interfaces, IPAM data
176
+ - πŸ‘₯ **Contacts** - Contact management
177
+ - πŸ“ **Location Management** - Comprehensive location handling
178
+
179
+ ### I-DOIT
180
+ **IT documentation and CMDB**
181
+
182
+ - πŸ“Š **Template-Based** - Rule-based export and import using templates
183
+ - πŸ”„ **Bidirectional** - Full import/export capabilities
184
+
185
+ ### Other Integrations
186
+
187
+ #### **PRTG** - Network monitoring
188
+ - πŸ“₯ **Object Import** - Import monitoring objects to sync with Checkmk
189
+
190
+ #### **BMC Remedy** - IT Service Management
191
+ - πŸ“Š **Limited Import** - Basic import functionality
192
+
193
+ #### **Cisco DNA** - Network management
194
+ - 🌐 **Device Import** - Import devices and interface information
195
+
196
+ #### **CSV Files** - Data management
197
+ - πŸ“„ **Host Management** - Manage hosts based on CSV files
198
+ - βž• **Data Enhancement** - Add additional information from CSV files
199
+
200
+ #### **LDAP** - Directory services
201
+ - πŸ‘₯ **Object Import** - Import objects from LDAP directories
202
+
203
+ #### **REST APIs** - Custom integrations
204
+ - πŸ”Œ **Custom APIs** - Import from custom REST API endpoints
205
+
206
+ #### **JSON** - File-based data
207
+ - πŸ“„ **File Import** - Import JSON file structures
208
+
209
+ #### **Jira CMDB** - Atlassian integration
210
+ - ☁️ **Cloud & On-Prem** - Support for both deployment types
211
+ - πŸ“₯ **Object Import** - Import CMDB objects
212
+
213
+ #### **JDISC** - Network discovery
214
+ - πŸ” **Discovery Import** - Import discovered objects
215
+
216
+ #### **VMware** - Virtualization
217
+ - πŸ“Š **Attribute Management** - Import and export VM attributes
218
+ - πŸ”„ **Bidirectional** - Full import/export to VMware VMs
219
+
220
+ #### **Database Systems**
221
+ - **MySQL** - Import and inventory database tables
222
+ - **MSSQL/FreeTDS/ODBC** - Support for all ODBC-based database connections
223
+
224
+ ## πŸ› οΈ Installation
225
+
226
+ ### Prerequisites
227
+ - Docker and Docker Compose
228
+ - Python 3.11+ (for development)
229
+ - Web browser (for the management interface)
230
+
231
+ ### Production Installation
232
+
233
+ 1. **Clone the repository**
234
+ ```bash
235
+ git clone https://github.com/your-username/cmdbsyncer.git
236
+ cd cmdbsyncer
237
+ ```
238
+
239
+ 2. **Configure environment**
240
+ ```bash
241
+ # Copy and edit configuration files
242
+ cp docker-compose.prod.yml docker-compose.yml
243
+ # Edit the configuration as needed
244
+ ```
245
+
246
+ 3. **Start the application**
247
+ ```bash
248
+ docker-compose up -d
249
+ ```
250
+
251
+ 4. **Create admin user**
252
+ ```bash
253
+ ./helper create_user 'admin@your-domain.com'
254
+ ```
255
+
256
+ ### Development Installation
257
+
258
+ For development and testing purposes:
259
+
260
+ ```bash
261
+ # Start development environment
262
+ ./helper up
263
+
264
+ # Access container shell
265
+ ./helper shell
266
+
267
+ # Create test user
268
+ ./helper create_user 'test@example.com'
269
+
270
+ # Access at http://localhost:5003
271
+ ```
272
+
273
+ ## πŸ“‹ Requirements
274
+
275
+ ### System Requirements
276
+ - **Memory**: Minimum 2GB RAM, recommended 4GB+
277
+ - **Storage**: Minimum 10GB free space
278
+ - **Network**: HTTPS access to target systems (Checkmk, Netbox, etc.)
279
+
280
+ ### Supported Target Systems
281
+ - **Checkmk**: All current versions (automatic detection)
282
+ - **Netbox**: v2.8+
283
+ - **Ansible**: v2.9+
284
+ - **I-DOIT**: v1.12+
285
+ - **And many more** - see [full compatibility matrix](https://docs.cmdbsyncer.de)
286
+
287
+ ## 🀝 Contributing
288
+
289
+ We welcome contributions! Please follow these steps:
290
+
291
+ 1. **Fork the repository**
292
+ 2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)
293
+ 3. **Commit your changes** (`git commit -m 'Add amazing feature'`)
294
+ 4. **Push to the branch** (`git push origin feature/amazing-feature`)
295
+ 5. **Open a Pull Request**
296
+
297
+ ### Development Guidelines
298
+ - Follow existing code style
299
+ - Add tests for new features
300
+ - Update documentation as needed
301
+ - Test with multiple target systems
302
+
303
+ ## πŸ“„ License
304
+
305
+ This project is licensed under the [MIT License](LICENSE) - see the LICENSE file for details.
306
+
307
+ ## πŸ†˜ Support
308
+
309
+ - πŸ“– **Documentation**: [docs.cmdbsyncer.de](https://docs.cmdbsyncer.de)
310
+ - 🌐 **Homepage**: [cmdbsyncer.de](https://cmdbsyncer.de)
311
+ - πŸ› **Issues**: [GitHub Issues](https://github.com/kuhn-ruess/cmdbsyncer/issues)
312
+ - πŸ’¬ **Discussions**: [GitHub Discussions](https://github.com/kuhn-ruess/cmdbsyncer/discussions)
313
+
314
+ ---
315
+
316
+ ⭐ **If you find this project helpful, please give it a star!** ⭐
@@ -0,0 +1,265 @@
1
+ # CMDBsyncer
2
+
3
+ A rule-based and modular system to synchronize hosts between Checkmk, Netbox, and other systems. The main goal is the complete organization of hosts based on CMDB systems with flexible rules and automation.
4
+
5
+ ## πŸ”— Links
6
+
7
+ * [🌐 Homepage](https://cmdbsyncer.de)
8
+ * [πŸ“– Documentation](https://docs.cmdbsyncer.de)
9
+
10
+ ## πŸ“‹ Table of Contents
11
+
12
+ - [Overview](#overview)
13
+ - [Features](#features)
14
+ - [Quick Start](#quick-start)
15
+ - [Supported Systems](#supported-systems)
16
+ - [Installation](#installation)
17
+ - [Main Functions](#main-functions)
18
+ - [Screenshots](#screenshots)
19
+ - [Contributing](#contributing)
20
+ - [License](#license)
21
+
22
+ ## 🎯 Overview
23
+
24
+ CMDBsyncer is a powerful, web-based tool designed to solve the complex challenge of managing host inventories across multiple IT management systems. Whether you're synchronizing between Checkmk, Netbox, I-DOIT, or other platforms, CMDBsyncer provides a unified approach with rule-based automation.
25
+
26
+ ### Key Benefits
27
+ - **Centralized Management**: Single interface for all your CMDB synchronization needs
28
+ - **Rule-Based Logic**: Flexible rules for host organization and attribute management
29
+ - **Multi-Platform**: Support for 15+ systems including Checkmk, Netbox, Ansible, and more
30
+ - **Scalable**: Tested with 140,000+ hosts
31
+ - **Secure**: Built-in authentication, 2FA, and encryption of sensitive data
32
+
33
+ ## ⚑ Quick Start
34
+
35
+ Get started quickly using Docker Compose:
36
+
37
+ ```bash
38
+ # Clone the repository
39
+ git clone https://github.com/your-username/cmdbsyncer.git
40
+ cd cmdbsyncer
41
+
42
+ # Start the application
43
+ ./helper up
44
+
45
+ # Access the container
46
+ ./helper shell
47
+
48
+ # Create your first user
49
+ ./helper create_user 'your-email@example.com'
50
+
51
+ # Access the web interface
52
+ # Open http://your-host:5003 in your browser
53
+ ```
54
+
55
+ This runs a development version that you can use to test everything.
56
+
57
+ ## πŸ“Έ Screenshots
58
+
59
+ ![Rules Configuration](https://user-images.githubusercontent.com/899110/201333967-2d7f3f35-cc69-4cad-931f-1da096f94056.png)
60
+ *Rule-based synchronization configuration interface*
61
+
62
+ ![Debug Options](https://user-images.githubusercontent.com/899110/201333725-d699d50f-a5eb-4539-a3af-3db3e0647ebb.png)
63
+ *Comprehensive debug and testing options*
64
+
65
+ ## πŸš€ Main Functions
66
+
67
+ ### Core Features
68
+ - **🌐 Web Interface** - Complete web-based management with login, 2FA, and user management
69
+ - **βš™οΈ Configuration Management** - All configuration handled through the web interface (except initial installation)
70
+ - **πŸ”Œ Plugin API** - Simple API to integrate custom data sources
71
+ - **πŸ› Debug Tools** - Various debug options available via the `./cmdbsyncer` command
72
+ - **πŸ” Security** - Encryption of secrets and secure credential management
73
+ - **⏰ Scheduling** - Built-in cron management for automated synchronization
74
+ - **πŸ“Š Monitoring** - Integration with monitoring systems
75
+ - **🎯 Template Support** - Jinja2 templating for configuration and rules
76
+ - **πŸ”„ REST API** - Full REST API for automation and integration
77
+
78
+ ### Rule Engine
79
+ - **πŸ“ Attribute Control** - Rules based on host attributes
80
+ - **✏️ Attribute Rewrites** - Dynamic modification of host attributes
81
+ - **πŸ” Filters** - Advanced filtering for hosts and attributes
82
+ - **⚑ Action Rules** - Automated actions in Ansible, Checkmk, Netbox, etc.
83
+
84
+ ### Ansible Integration
85
+ - **πŸ“‹ Inventory Source** - Use CMDBsyncer as dynamic Ansible inventory
86
+
87
+ ## πŸ”§ Supported Systems
88
+
89
+ ### Checkmk
90
+ **Complete lifecycle management for monitoring systems**
91
+
92
+ - βœ… **Host Management** - Full host lifecycle (creation, labels, folders, deletion, rules)
93
+ - πŸ“ˆ **Scalability** - Tested with more than 140,000 hosts
94
+ - 🏷️ **Attribute Sync** - Sync and update all host attributes, tags, and labels
95
+ - ⚑ **Performance** - Full support of API bulk operations and multiprocessing
96
+ - πŸ“ **Folder Management** - Complete Checkmk folder management with pool features
97
+ - πŸ‘₯ **Groups** - Creation of host, contact, and service groups
98
+ - 🎯 **Tags** - Create host tags and host tag groups
99
+ - πŸ“Š **BI Integration** - Create BI aggregations
100
+ - πŸ“‹ **Rules** - Create all types of setup rules
101
+ - πŸ”„ **Updates** - Smart update controls to prevent excessive changes
102
+ - πŸ€– **Agents** - Commands to activate configuration, bake and sign agents
103
+ - πŸ‘€ **User Management** - Manage Checkmk users (create/delete/reset password)
104
+ - πŸ“¦ **Inventory** - Host attributes inventory for Ansible integration
105
+ - πŸ” **Password Store** - Create and manage encrypted password entries
106
+ - 🎯 **DCD Rules** - Create Data Collection Rules
107
+ - πŸ” **Version Detection** - Automatic Checkmk version detection for correct API usage
108
+
109
+ ### Ansible
110
+ **Automation and configuration management**
111
+
112
+ - πŸ“‹ **Inventory** - Rule-based inventory source
113
+ - πŸ–₯️ **Agent Management** - Complete Checkmk agent management (Linux & Windows)
114
+ - Installation and TLS registration
115
+ - Bakery registration
116
+ - πŸ—οΈ **Site Management** - OMD site management (updates, creation)
117
+ - Automatic Checkmk version downloads
118
+
119
+ ### Netbox
120
+ **Network infrastructure management**
121
+
122
+ - πŸ”„ **Bidirectional Sync** - Rule-based export and import of devices and VMs
123
+ - πŸ—οΈ **Auto-Creation** - Automatic category creation
124
+ - πŸ—ΊοΈ **Infrastructure** - Export sites, interfaces, IPAM data
125
+ - πŸ‘₯ **Contacts** - Contact management
126
+ - πŸ“ **Location Management** - Comprehensive location handling
127
+
128
+ ### I-DOIT
129
+ **IT documentation and CMDB**
130
+
131
+ - πŸ“Š **Template-Based** - Rule-based export and import using templates
132
+ - πŸ”„ **Bidirectional** - Full import/export capabilities
133
+
134
+ ### Other Integrations
135
+
136
+ #### **PRTG** - Network monitoring
137
+ - πŸ“₯ **Object Import** - Import monitoring objects to sync with Checkmk
138
+
139
+ #### **BMC Remedy** - IT Service Management
140
+ - πŸ“Š **Limited Import** - Basic import functionality
141
+
142
+ #### **Cisco DNA** - Network management
143
+ - 🌐 **Device Import** - Import devices and interface information
144
+
145
+ #### **CSV Files** - Data management
146
+ - πŸ“„ **Host Management** - Manage hosts based on CSV files
147
+ - βž• **Data Enhancement** - Add additional information from CSV files
148
+
149
+ #### **LDAP** - Directory services
150
+ - πŸ‘₯ **Object Import** - Import objects from LDAP directories
151
+
152
+ #### **REST APIs** - Custom integrations
153
+ - πŸ”Œ **Custom APIs** - Import from custom REST API endpoints
154
+
155
+ #### **JSON** - File-based data
156
+ - πŸ“„ **File Import** - Import JSON file structures
157
+
158
+ #### **Jira CMDB** - Atlassian integration
159
+ - ☁️ **Cloud & On-Prem** - Support for both deployment types
160
+ - πŸ“₯ **Object Import** - Import CMDB objects
161
+
162
+ #### **JDISC** - Network discovery
163
+ - πŸ” **Discovery Import** - Import discovered objects
164
+
165
+ #### **VMware** - Virtualization
166
+ - πŸ“Š **Attribute Management** - Import and export VM attributes
167
+ - πŸ”„ **Bidirectional** - Full import/export to VMware VMs
168
+
169
+ #### **Database Systems**
170
+ - **MySQL** - Import and inventory database tables
171
+ - **MSSQL/FreeTDS/ODBC** - Support for all ODBC-based database connections
172
+
173
+ ## πŸ› οΈ Installation
174
+
175
+ ### Prerequisites
176
+ - Docker and Docker Compose
177
+ - Python 3.11+ (for development)
178
+ - Web browser (for the management interface)
179
+
180
+ ### Production Installation
181
+
182
+ 1. **Clone the repository**
183
+ ```bash
184
+ git clone https://github.com/your-username/cmdbsyncer.git
185
+ cd cmdbsyncer
186
+ ```
187
+
188
+ 2. **Configure environment**
189
+ ```bash
190
+ # Copy and edit configuration files
191
+ cp docker-compose.prod.yml docker-compose.yml
192
+ # Edit the configuration as needed
193
+ ```
194
+
195
+ 3. **Start the application**
196
+ ```bash
197
+ docker-compose up -d
198
+ ```
199
+
200
+ 4. **Create admin user**
201
+ ```bash
202
+ ./helper create_user 'admin@your-domain.com'
203
+ ```
204
+
205
+ ### Development Installation
206
+
207
+ For development and testing purposes:
208
+
209
+ ```bash
210
+ # Start development environment
211
+ ./helper up
212
+
213
+ # Access container shell
214
+ ./helper shell
215
+
216
+ # Create test user
217
+ ./helper create_user 'test@example.com'
218
+
219
+ # Access at http://localhost:5003
220
+ ```
221
+
222
+ ## πŸ“‹ Requirements
223
+
224
+ ### System Requirements
225
+ - **Memory**: Minimum 2GB RAM, recommended 4GB+
226
+ - **Storage**: Minimum 10GB free space
227
+ - **Network**: HTTPS access to target systems (Checkmk, Netbox, etc.)
228
+
229
+ ### Supported Target Systems
230
+ - **Checkmk**: All current versions (automatic detection)
231
+ - **Netbox**: v2.8+
232
+ - **Ansible**: v2.9+
233
+ - **I-DOIT**: v1.12+
234
+ - **And many more** - see [full compatibility matrix](https://docs.cmdbsyncer.de)
235
+
236
+ ## 🀝 Contributing
237
+
238
+ We welcome contributions! Please follow these steps:
239
+
240
+ 1. **Fork the repository**
241
+ 2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)
242
+ 3. **Commit your changes** (`git commit -m 'Add amazing feature'`)
243
+ 4. **Push to the branch** (`git push origin feature/amazing-feature`)
244
+ 5. **Open a Pull Request**
245
+
246
+ ### Development Guidelines
247
+ - Follow existing code style
248
+ - Add tests for new features
249
+ - Update documentation as needed
250
+ - Test with multiple target systems
251
+
252
+ ## πŸ“„ License
253
+
254
+ This project is licensed under the [MIT License](LICENSE) - see the LICENSE file for details.
255
+
256
+ ## πŸ†˜ Support
257
+
258
+ - πŸ“– **Documentation**: [docs.cmdbsyncer.de](https://docs.cmdbsyncer.de)
259
+ - 🌐 **Homepage**: [cmdbsyncer.de](https://cmdbsyncer.de)
260
+ - πŸ› **Issues**: [GitHub Issues](https://github.com/kuhn-ruess/cmdbsyncer/issues)
261
+ - πŸ’¬ **Discussions**: [GitHub Discussions](https://github.com/kuhn-ruess/cmdbsyncer/discussions)
262
+
263
+ ---
264
+
265
+ ⭐ **If you find this project helpful, please give it a star!** ⭐