infrahub-server 1.3.5__tar.gz → 1.3.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 (815) hide show
  1. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/PKG-INFO +1 -1
  2. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/db.py +25 -0
  3. infrahub_server-1.3.6/backend/infrahub/cli/db_commands/check_inheritance.py +284 -0
  4. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/manager.py +2 -2
  5. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/node_duplicate.py +26 -3
  6. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/node.py +13 -0
  7. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/model.py +13 -13
  8. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/relationship.py +1 -1
  9. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/pyproject.toml +1 -1
  10. infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  11. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/LICENSE.txt +0 -0
  12. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/README.md +0 -0
  13. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/__init__.py +0 -0
  14. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/__init__.py +0 -0
  15. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/constants.py +0 -0
  16. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/gather.py +0 -0
  17. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/models.py +0 -0
  18. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/parsers.py +0 -0
  19. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/schema.py +0 -0
  20. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/tasks.py +0 -0
  21. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/actions/triggers.py +0 -0
  22. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/__init__.py +0 -0
  23. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/artifact.py +0 -0
  24. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/auth.py +0 -0
  25. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/dependencies.py +0 -0
  26. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/diff/__init__.py +0 -0
  27. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/diff/diff.py +0 -0
  28. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/diff/validation_models.py +0 -0
  29. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/exception_handlers.py +0 -0
  30. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/exceptions.py +0 -0
  31. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/file.py +0 -0
  32. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/internal.py +0 -0
  33. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/menu.py +0 -0
  34. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/oauth2.py +0 -0
  35. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/oidc.py +0 -0
  36. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/query.py +0 -0
  37. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/schema.py +0 -0
  38. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  39. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  40. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/static/swagger-ui.css +0 -0
  41. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/storage.py +0 -0
  42. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/api/transformation.py +0 -0
  43. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/artifacts/__init__.py +0 -0
  44. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/artifacts/models.py +0 -0
  45. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/artifacts/tasks.py +0 -0
  46. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/auth.py +0 -0
  47. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/branch/__init__.py +0 -0
  48. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/branch/tasks.py +0 -0
  49. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/branch/triggers.py +0 -0
  50. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/__init__.py +0 -0
  51. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/constants.py +0 -0
  52. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/context.py +0 -0
  53. {infrahub_server-1.3.5/backend/infrahub/computed_attribute → infrahub_server-1.3.6/backend/infrahub/cli/db_commands}/__init__.py +0 -0
  54. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/events.py +0 -0
  55. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/git_agent.py +0 -0
  56. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/patch.py +0 -0
  57. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/server.py +0 -0
  58. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/tasks.py +0 -0
  59. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/cli/upgrade.py +0 -0
  60. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/components.py +0 -0
  61. {infrahub_server-1.3.5/backend/infrahub/constants → infrahub_server-1.3.6/backend/infrahub/computed_attribute}/__init__.py +0 -0
  62. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/constants.py +0 -0
  63. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/gather.py +0 -0
  64. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/models.py +0 -0
  65. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/tasks.py +0 -0
  66. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/triggers.py +0 -0
  67. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/config.py +0 -0
  68. {infrahub_server-1.3.5/backend/infrahub/core/changelog → infrahub_server-1.3.6/backend/infrahub/constants}/__init__.py +0 -0
  69. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/constants/database.py +0 -0
  70. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/context.py +0 -0
  71. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/__init__.py +0 -0
  72. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/account.py +0 -0
  73. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/attribute.py +0 -0
  74. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/branch/__init__.py +0 -0
  75. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/branch/enums.py +0 -0
  76. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/branch/models.py +0 -0
  77. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/branch/tasks.py +0 -0
  78. {infrahub_server-1.3.5/backend/infrahub/core/constraint → infrahub_server-1.3.6/backend/infrahub/core/changelog}/__init__.py +0 -0
  79. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/changelog/diff.py +0 -0
  80. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/changelog/models.py +0 -0
  81. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constants/__init__.py +0 -0
  82. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constants/database.py +0 -0
  83. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  84. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constants/relationship_label.py +0 -0
  85. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constants/schema.py +0 -0
  86. {infrahub_server-1.3.5/backend/infrahub/core/constraint/node → infrahub_server-1.3.6/backend/infrahub/core/constraint}/__init__.py +0 -0
  87. {infrahub_server-1.3.5/backend/infrahub/core/convert_object_type → infrahub_server-1.3.6/backend/infrahub/core/constraint/node}/__init__.py +0 -0
  88. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/constraint/node/runner.py +0 -0
  89. {infrahub_server-1.3.5/backend/infrahub/core/diff → infrahub_server-1.3.6/backend/infrahub/core/convert_object_type}/__init__.py +0 -0
  90. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/convert_object_type/conversion.py +0 -0
  91. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/convert_object_type/schema_mapping.py +0 -0
  92. {infrahub_server-1.3.5/backend/infrahub/core/diff/artifacts → infrahub_server-1.3.6/backend/infrahub/core/diff}/__init__.py +0 -0
  93. {infrahub_server-1.3.5/backend/infrahub/core/diff/enricher → infrahub_server-1.3.6/backend/infrahub/core/diff/artifacts}/__init__.py +0 -0
  94. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  95. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/branch_differ.py +0 -0
  96. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/calculator.py +0 -0
  97. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/combiner.py +0 -0
  98. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  99. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  100. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  101. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/coordinator.py +0 -0
  102. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  103. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/diff_locker.py +0 -0
  104. {infrahub_server-1.3.5/backend/infrahub/core/diff/merger → infrahub_server-1.3.6/backend/infrahub/core/diff/enricher}/__init__.py +0 -0
  105. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  106. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  107. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  108. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  109. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  110. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  111. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  112. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/exceptions.py +0 -0
  113. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  114. {infrahub_server-1.3.5/backend/infrahub/core/diff/model → infrahub_server-1.3.6/backend/infrahub/core/diff/merger}/__init__.py +0 -0
  115. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/merger.py +0 -0
  116. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/model.py +0 -0
  117. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  118. {infrahub_server-1.3.5/backend/infrahub/core/diff/query → infrahub_server-1.3.6/backend/infrahub/core/diff/model}/__init__.py +0 -0
  119. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/diff.py +0 -0
  120. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/field_specifiers_map.py +0 -0
  121. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/path.py +0 -0
  122. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/models.py +0 -0
  123. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  124. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/payload_builder.py +0 -0
  125. {infrahub_server-1.3.5/backend/infrahub/core/diff/repository → infrahub_server-1.3.6/backend/infrahub/core/diff/query}/__init__.py +0 -0
  126. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  127. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/artifact.py +0 -0
  128. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  129. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  130. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  131. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/drop_nodes.py +0 -0
  132. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  133. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  134. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/filters.py +0 -0
  135. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  136. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  137. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/merge.py +0 -0
  138. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  139. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  140. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/save.py +0 -0
  141. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  142. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  143. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  144. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query_parser.py +0 -0
  145. {infrahub_server-1.3.5/backend/infrahub/core/integrity → infrahub_server-1.3.6/backend/infrahub/core/diff/repository}/__init__.py +0 -0
  146. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  147. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/repository/repository.py +0 -0
  148. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/diff/tasks.py +0 -0
  149. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/enums.py +0 -0
  150. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/graph/__init__.py +0 -0
  151. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/graph/constraints.py +0 -0
  152. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/graph/index.py +0 -0
  153. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/graph/schema.py +0 -0
  154. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/initialization.py +0 -0
  155. {infrahub_server-1.3.5/backend/infrahub/core/integrity/object_conflict → infrahub_server-1.3.6/backend/infrahub/core/integrity}/__init__.py +0 -0
  156. {infrahub_server-1.3.5/backend/infrahub/core/ipam → infrahub_server-1.3.6/backend/infrahub/core/integrity/object_conflict}/__init__.py +0 -0
  157. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  158. {infrahub_server-1.3.5/backend/infrahub/core/migrations/schema → infrahub_server-1.3.6/backend/infrahub/core/ipam}/__init__.py +0 -0
  159. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/constants.py +0 -0
  160. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  161. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/model.py +0 -0
  162. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/reconciler.py +0 -0
  163. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/size.py +0 -0
  164. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/tasks.py +0 -0
  165. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/utilization.py +0 -0
  166. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/merge.py +0 -0
  167. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/__init__.py +0 -0
  168. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/__init__.py +0 -0
  169. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  170. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  171. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  172. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  173. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  174. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  175. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  176. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  177. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  178. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  179. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  180. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  181. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  182. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  183. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  184. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  185. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  186. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  187. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  188. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  189. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  190. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  191. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  192. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  193. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  194. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  195. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +0 -0
  196. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +0 -0
  197. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m029_duplicates_cleanup.py +0 -0
  198. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m030_illegal_edges.py +0 -0
  199. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m031_check_number_attributes.py +0 -0
  200. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py +0 -0
  201. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py +0 -0
  202. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m034_find_orphaned_schema_fields.py +0 -0
  203. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  204. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  205. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  206. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  207. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  208. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  209. {infrahub_server-1.3.5/backend/infrahub/core/node/constraints → infrahub_server-1.3.6/backend/infrahub/core/migrations/schema}/__init__.py +0 -0
  210. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  211. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/models.py +0 -0
  212. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  213. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  214. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  215. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  216. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  217. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  218. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/shared.py +0 -0
  219. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/models.py +0 -0
  220. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/__init__.py +0 -0
  221. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/base.py +0 -0
  222. {infrahub_server-1.3.5/backend/infrahub/core/node/resource_manager → infrahub_server-1.3.6/backend/infrahub/core/node/constraints}/__init__.py +0 -0
  223. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  224. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  225. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/interface.py +0 -0
  226. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/create.py +0 -0
  227. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/delete_validator.py +0 -0
  228. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/ipam.py +0 -0
  229. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/permissions.py +0 -0
  230. {infrahub_server-1.3.5/backend/infrahub/core/relationship/constraints → infrahub_server-1.3.6/backend/infrahub/core/node/resource_manager}/__init__.py +0 -0
  231. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  232. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  233. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  234. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/node/standard.py +0 -0
  235. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/path.py +0 -0
  236. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/property.py +0 -0
  237. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/protocols.py +0 -0
  238. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/protocols_base.py +0 -0
  239. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/__init__.py +0 -0
  240. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/attribute.py +0 -0
  241. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/branch.py +0 -0
  242. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/delete.py +0 -0
  243. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/diff.py +0 -0
  244. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/ipam.py +0 -0
  245. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/relationship.py +0 -0
  246. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/resource_manager.py +0 -0
  247. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/standard_node.py +0 -0
  248. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/subquery.py +0 -0
  249. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/task.py +0 -0
  250. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/task_log.py +0 -0
  251. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/query/utils.py +0 -0
  252. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/registry.py +0 -0
  253. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/__init__.py +0 -0
  254. {infrahub_server-1.3.5/backend/infrahub/core/schema/definitions → infrahub_server-1.3.6/backend/infrahub/core/relationship/constraints}/__init__.py +0 -0
  255. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  256. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  257. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  258. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_parent.py +0 -0
  259. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_relatives.py +0 -0
  260. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  261. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/root.py +0 -0
  262. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/__init__.py +0 -0
  263. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/attribute_parameters.py +0 -0
  264. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  265. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  266. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  267. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/constants.py +0 -0
  268. {infrahub_server-1.3.5/backend/infrahub/core/schema/generated → infrahub_server-1.3.6/backend/infrahub/core/schema/definitions}/__init__.py +0 -0
  269. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  270. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  271. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  272. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  273. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  274. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  275. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  276. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  277. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  278. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  279. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  280. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  281. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  282. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  283. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  284. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  285. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  286. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  287. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  288. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  289. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  290. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  291. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  292. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  293. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/dropdown.py +0 -0
  294. {infrahub_server-1.3.5/backend/infrahub/core/validators/attribute → infrahub_server-1.3.6/backend/infrahub/core/schema/generated}/__init__.py +0 -0
  295. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  296. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  297. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  298. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  299. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  300. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generic_schema.py +0 -0
  301. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/manager.py +0 -0
  302. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/node_schema.py +0 -0
  303. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/profile_schema.py +0 -0
  304. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  305. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/schema_branch.py +0 -0
  306. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  307. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/schema/template_schema.py +0 -0
  308. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/task/__init__.py +0 -0
  309. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/task/task.py +0 -0
  310. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/task/task_log.py +0 -0
  311. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/task/user_task.py +0 -0
  312. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/timestamp.py +0 -0
  313. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/utils.py +0 -0
  314. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/__init__.py +0 -0
  315. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  316. {infrahub_server-1.3.5/backend/infrahub/core/validators/models → infrahub_server-1.3.6/backend/infrahub/core/validators/attribute}/__init__.py +0 -0
  317. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  318. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  319. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  320. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/length.py +0 -0
  321. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/min_max.py +0 -0
  322. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/number_pool.py +0 -0
  323. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  324. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  325. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  326. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/checks_runner.py +0 -0
  327. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/determiner.py +0 -0
  328. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/enum.py +0 -0
  329. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/interface.py +0 -0
  330. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/model.py +0 -0
  331. {infrahub_server-1.3.5/backend/infrahub/core/validators/node → infrahub_server-1.3.6/backend/infrahub/core/validators/models}/__init__.py +0 -0
  332. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  333. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/models/violation.py +0 -0
  334. {infrahub_server-1.3.5/backend/infrahub/core/validators/relationship → infrahub_server-1.3.6/backend/infrahub/core/validators/node}/__init__.py +0 -0
  335. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/attribute.py +0 -0
  336. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  337. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  338. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  339. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/relationship.py +0 -0
  340. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/query.py +0 -0
  341. {infrahub_server-1.3.5/backend/infrahub/core/validators/uniqueness → infrahub_server-1.3.6/backend/infrahub/core/validators/relationship}/__init__.py +0 -0
  342. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/count.py +0 -0
  343. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  344. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  345. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/shared.py +0 -0
  346. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/tasks.py +0 -0
  347. {infrahub_server-1.3.5/backend/infrahub/dependencies → infrahub_server-1.3.6/backend/infrahub/core/validators/uniqueness}/__init__.py +0 -0
  348. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  349. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  350. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  351. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  352. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/__init__.py +0 -0
  353. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/index.py +0 -0
  354. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/memgraph.py +0 -0
  355. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/metrics.py +0 -0
  356. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/neo4j.py +0 -0
  357. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/database/validation.py +0 -0
  358. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/constraint → infrahub_server-1.3.6/backend/infrahub/dependencies}/__init__.py +0 -0
  359. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/constraint/grouped → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint}/__init__.py +0 -0
  360. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/constraint/node → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/grouped}/__init__.py +0 -0
  361. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  362. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/constraint/relationship_manager → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/node}/__init__.py +0 -0
  363. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  364. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  365. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/constraint/schema → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/relationship_manager}/__init__.py +0 -0
  366. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  367. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  368. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_parent.py +0 -0
  369. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_relatives.py +0 -0
  370. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  371. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/diff → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/schema}/__init__.py +0 -0
  372. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  373. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  374. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  375. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  376. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  377. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  378. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  379. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  380. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  381. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  382. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  383. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  384. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  385. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  386. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_peer.py +0 -0
  387. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  388. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/diff/enricher → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/diff}/__init__.py +0 -0
  389. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  390. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  391. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  392. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  393. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  394. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  395. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  396. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  397. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  398. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  399. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/ip → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/diff/enricher}/__init__.py +0 -0
  400. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  401. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  402. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  403. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  404. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  405. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  406. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  407. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/locker.py +0 -0
  408. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  409. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  410. {infrahub_server-1.3.5/backend/infrahub/dependencies/builder/node → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/ip}/__init__.py +0 -0
  411. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  412. {infrahub_server-1.3.5/backend/infrahub/dependencies/component → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/node}/__init__.py +0 -0
  413. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  414. {infrahub_server-1.3.5/backend/infrahub/generators → infrahub_server-1.3.6/backend/infrahub/dependencies/component}/__init__.py +0 -0
  415. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  416. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/component/registry.py +0 -0
  417. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/interface.py +0 -0
  418. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/dependencies/registry.py +0 -0
  419. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/__init__.py +0 -0
  420. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/artifact_action.py +0 -0
  421. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/branch_action.py +0 -0
  422. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/constants.py +0 -0
  423. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/generator.py +0 -0
  424. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/group_action.py +0 -0
  425. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/models.py +0 -0
  426. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/node_action.py +0 -0
  427. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/repository_action.py +0 -0
  428. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/schema_action.py +0 -0
  429. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/utils.py +0 -0
  430. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/events/validator_action.py +0 -0
  431. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/exceptions.py +0 -0
  432. {infrahub_server-1.3.5/backend/infrahub/git_credential → infrahub_server-1.3.6/backend/infrahub/generators}/__init__.py +0 -0
  433. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/generators/models.py +0 -0
  434. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/generators/tasks.py +0 -0
  435. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/__init__.py +0 -0
  436. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/base.py +0 -0
  437. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/constants.py +0 -0
  438. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/directory.py +0 -0
  439. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/integrator.py +0 -0
  440. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/models.py +0 -0
  441. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/repository.py +0 -0
  442. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/tasks.py +0 -0
  443. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/utils.py +0 -0
  444. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git/worktree.py +0 -0
  445. {infrahub_server-1.3.5/backend/infrahub/graphql → infrahub_server-1.3.6/backend/infrahub/git_credential}/__init__.py +0 -0
  446. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git_credential/askpass.py +0 -0
  447. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/git_credential/helper.py +0 -0
  448. {infrahub_server-1.3.5/backend/infrahub/graphql/api → infrahub_server-1.3.6/backend/infrahub/graphql}/__init__.py +0 -0
  449. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/analyzer.py +0 -0
  450. {infrahub_server-1.3.5/backend/infrahub/graphql/auth → infrahub_server-1.3.6/backend/infrahub/graphql/api}/__init__.py +0 -0
  451. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/api/dependencies.py +0 -0
  452. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/api/endpoints.py +0 -0
  453. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/app.py +0 -0
  454. {infrahub_server-1.3.5/backend/infrahub/graphql/auth/query_permission_checker → infrahub_server-1.3.6/backend/infrahub/graphql/auth}/__init__.py +0 -0
  455. {infrahub_server-1.3.5/backend/infrahub/graphql/loaders → infrahub_server-1.3.6/backend/infrahub/graphql/auth/query_permission_checker}/__init__.py +0 -0
  456. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  457. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  458. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  459. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  460. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  461. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  462. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  463. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/constants.py +0 -0
  464. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/context.py +0 -0
  465. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/directives.py +0 -0
  466. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/enums.py +0 -0
  467. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/initialization.py +0 -0
  468. {infrahub_server-1.3.5/backend/infrahub/graphql/mutations → infrahub_server-1.3.6/backend/infrahub/graphql/loaders}/__init__.py +0 -0
  469. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/node.py +0 -0
  470. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/peers.py +0 -0
  471. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/shared.py +0 -0
  472. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/manager.py +0 -0
  473. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/metrics.py +0 -0
  474. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/models.py +0 -0
  475. {infrahub_server-1.3.5/backend/infrahub/graphql/mutations/node_getter → infrahub_server-1.3.6/backend/infrahub/graphql/mutations}/__init__.py +0 -0
  476. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/account.py +0 -0
  477. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/action.py +0 -0
  478. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  479. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  480. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/branch.py +0 -0
  481. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  482. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/convert_object_type.py +0 -0
  483. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/diff.py +0 -0
  484. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  485. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/generator.py +0 -0
  486. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  487. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  488. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/main.py +0 -0
  489. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/menu.py +0 -0
  490. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/models.py +0 -0
  491. {infrahub_server-1.3.5/backend/infrahub/graphql/queries/diff → infrahub_server-1.3.6/backend/infrahub/graphql/mutations/node_getter}/__init__.py +0 -0
  492. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  493. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  494. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  495. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  496. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  497. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/repository.py +0 -0
  498. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  499. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/schema.py +0 -0
  500. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  501. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  502. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/parser.py +0 -0
  503. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/permissions.py +0 -0
  504. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/__init__.py +0 -0
  505. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/account.py +0 -0
  506. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/branch.py +0 -0
  507. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/convert_object_type_mapping.py +0 -0
  508. {infrahub_server-1.3.5/backend/infrahub/graphql/resolvers → infrahub_server-1.3.6/backend/infrahub/graphql/queries/diff}/__init__.py +0 -0
  509. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  510. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/event.py +0 -0
  511. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/internal.py +0 -0
  512. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/ipam.py +0 -0
  513. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/relationship.py +0 -0
  514. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  515. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/search.py +0 -0
  516. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/status.py +0 -0
  517. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/task.py +0 -0
  518. {infrahub_server-1.3.5/backend/infrahub/groups → infrahub_server-1.3.6/backend/infrahub/graphql/resolvers}/__init__.py +0 -0
  519. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  520. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  521. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  522. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/schema.py +0 -0
  523. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  524. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/events.py +0 -0
  525. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  526. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/__init__.py +0 -0
  527. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/attribute.py +0 -0
  528. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/branch.py +0 -0
  529. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/common.py +0 -0
  530. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/context.py +0 -0
  531. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/enums.py +0 -0
  532. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/event.py +0 -0
  533. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/interface.py +0 -0
  534. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/node.py +0 -0
  535. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/permission.py +0 -0
  536. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/relationship.py +0 -0
  537. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/standard_node.py +0 -0
  538. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/task.py +0 -0
  539. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/task_log.py +0 -0
  540. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/graphql/utils.py +0 -0
  541. {infrahub_server-1.3.5/backend/infrahub/menu → infrahub_server-1.3.6/backend/infrahub/groups}/__init__.py +0 -0
  542. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/groups/ancestors.py +0 -0
  543. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/groups/models.py +0 -0
  544. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/groups/parsers.py +0 -0
  545. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/groups/tasks.py +0 -0
  546. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/helpers.py +0 -0
  547. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/lock.py +0 -0
  548. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/log.py +0 -0
  549. {infrahub_server-1.3.5/backend/infrahub/patch → infrahub_server-1.3.6/backend/infrahub/menu}/__init__.py +0 -0
  550. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/constants.py +0 -0
  551. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/generator.py +0 -0
  552. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/menu.py +0 -0
  553. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/models.py +0 -0
  554. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/repository.py +0 -0
  555. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/menu/utils.py +0 -0
  556. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/__init__.py +0 -0
  557. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  558. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  559. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  560. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  561. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  562. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  563. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  564. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  565. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  566. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  567. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  568. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  569. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  570. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  571. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  572. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/message_bus/types.py +0 -0
  573. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/middleware.py +0 -0
  574. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/models.py +0 -0
  575. {infrahub_server-1.3.5/backend/infrahub/patch/queries → infrahub_server-1.3.6/backend/infrahub/patch}/__init__.py +0 -0
  576. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/constants.py +0 -0
  577. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_adder.py +0 -0
  578. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_deleter.py +0 -0
  579. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_updater.py +0 -0
  580. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/models.py +0 -0
  581. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/plan_reader.py +0 -0
  582. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/plan_writer.py +0 -0
  583. {infrahub_server-1.3.5/backend/infrahub/pools → infrahub_server-1.3.6/backend/infrahub/patch/queries}/__init__.py +0 -0
  584. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/queries/base.py +0 -0
  585. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  586. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/runner.py +0 -0
  587. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_adder.py +0 -0
  588. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_deleter.py +0 -0
  589. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_updater.py +0 -0
  590. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/__init__.py +0 -0
  591. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/backend.py +0 -0
  592. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/constants.py +0 -0
  593. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/globals.py +0 -0
  594. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/local_backend.py +0 -0
  595. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/manager.py +0 -0
  596. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/report.py +0 -0
  597. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/permissions/types.py +0 -0
  598. {infrahub_server-1.3.5/backend/infrahub/prefect_server → infrahub_server-1.3.6/backend/infrahub/pools}/__init__.py +0 -0
  599. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/address.py +0 -0
  600. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/models.py +0 -0
  601. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/number.py +0 -0
  602. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/prefix.py +0 -0
  603. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/registration.py +0 -0
  604. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pools/tasks.py +0 -0
  605. {infrahub_server-1.3.5/backend/infrahub/proposed_change → infrahub_server-1.3.6/backend/infrahub/prefect_server}/__init__.py +0 -0
  606. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/app.py +0 -0
  607. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/database.py +0 -0
  608. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/events.py +0 -0
  609. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/models.py +0 -0
  610. {infrahub_server-1.3.5/backend/infrahub/schema → infrahub_server-1.3.6/backend/infrahub/proposed_change}/__init__.py +0 -0
  611. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  612. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/constants.py +0 -0
  613. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/models.py +0 -0
  614. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/tasks.py +0 -0
  615. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/pytest_plugin.py +0 -0
  616. {infrahub_server-1.3.5/backend/infrahub/services/adapters → infrahub_server-1.3.6/backend/infrahub/schema}/__init__.py +0 -0
  617. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/schema/tasks.py +0 -0
  618. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/schema/triggers.py +0 -0
  619. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/serve/__init__.py +0 -0
  620. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/serve/gunicorn_config.py +0 -0
  621. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/serve/log.py +0 -0
  622. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/serve/worker.py +0 -0
  623. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/server.py +0 -0
  624. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/__init__.py +0 -0
  625. {infrahub_server-1.3.5/backend/infrahub/task_manager → infrahub_server-1.3.6/backend/infrahub/services/adapters}/__init__.py +0 -0
  626. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  627. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  628. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  629. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  630. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  631. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  632. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  633. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  634. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  635. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  636. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  637. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  638. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  639. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/component.py +0 -0
  640. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/protocols.py +0 -0
  641. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/services/scheduler.py +0 -0
  642. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/storage.py +0 -0
  643. {infrahub_server-1.3.5/backend/infrahub/tasks → infrahub_server-1.3.6/backend/infrahub/task_manager}/__init__.py +0 -0
  644. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/task_manager/constants.py +0 -0
  645. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/task_manager/event.py +0 -0
  646. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/task_manager/models.py +0 -0
  647. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/task_manager/task.py +0 -0
  648. {infrahub_server-1.3.5/backend/infrahub/telemetry → infrahub_server-1.3.6/backend/infrahub/tasks}/__init__.py +0 -0
  649. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/artifact.py +0 -0
  650. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/check.py +0 -0
  651. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/dummy.py +0 -0
  652. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/keepalive.py +0 -0
  653. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/recurring.py +0 -0
  654. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/tasks/registry.py +0 -0
  655. {infrahub_server-1.3.5/backend/infrahub/transformations → infrahub_server-1.3.6/backend/infrahub/telemetry}/__init__.py +0 -0
  656. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/constants.py +0 -0
  657. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/database.py +0 -0
  658. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/models.py +0 -0
  659. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/task_manager.py +0 -0
  660. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/tasks.py +0 -0
  661. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/telemetry/utils.py +0 -0
  662. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trace.py +0 -0
  663. {infrahub_server-1.3.5/backend/infrahub/trigger → infrahub_server-1.3.6/backend/infrahub/transformations}/__init__.py +0 -0
  664. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/transformations/constants.py +0 -0
  665. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/transformations/models.py +0 -0
  666. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/transformations/tasks.py +0 -0
  667. {infrahub_server-1.3.5/backend/infrahub/validators → infrahub_server-1.3.6/backend/infrahub/trigger}/__init__.py +0 -0
  668. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trigger/catalogue.py +0 -0
  669. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trigger/constants.py +0 -0
  670. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trigger/models.py +0 -0
  671. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trigger/setup.py +0 -0
  672. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/trigger/tasks.py +0 -0
  673. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/types.py +0 -0
  674. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/utils.py +0 -0
  675. {infrahub_server-1.3.5/backend/infrahub/webhook → infrahub_server-1.3.6/backend/infrahub/validators}/__init__.py +0 -0
  676. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/validators/events.py +0 -0
  677. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/validators/tasks.py +0 -0
  678. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/visuals.py +0 -0
  679. {infrahub_server-1.3.5/backend/infrahub/workers → infrahub_server-1.3.6/backend/infrahub/webhook}/__init__.py +0 -0
  680. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/webhook/gather.py +0 -0
  681. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/webhook/models.py +0 -0
  682. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/webhook/tasks.py +0 -0
  683. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/webhook/triggers.py +0 -0
  684. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/worker.py +0 -0
  685. {infrahub_server-1.3.5/backend/infrahub/workflows → infrahub_server-1.3.6/backend/infrahub/workers}/__init__.py +0 -0
  686. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workers/infrahub_async.py +0 -0
  687. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workers/utils.py +0 -0
  688. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/ctl → infrahub_server-1.3.6/backend/infrahub/workflows}/__init__.py +0 -0
  689. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workflows/catalogue.py +0 -0
  690. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workflows/constants.py +0 -0
  691. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workflows/initialization.py +0 -0
  692. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workflows/models.py +0 -0
  693. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/backend/infrahub/workflows/utils.py +0 -0
  694. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/__init__.py +0 -0
  695. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/_importer.py +0 -0
  696. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  697. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  698. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/batch.py +0 -0
  699. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/branch.py +0 -0
  700. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/checks.py +0 -0
  701. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/client.py +0 -0
  702. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/config.py +0 -0
  703. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/constants.py +0 -0
  704. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/context.py +0 -0
  705. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/protocols_generator → infrahub_server-1.3.6/python_sdk/infrahub_sdk/ctl}/__init__.py +0 -0
  706. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  707. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  708. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  709. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  710. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  711. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  712. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  713. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  714. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  715. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  716. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  717. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  718. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  719. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  720. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  721. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  722. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  723. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  724. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  725. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/data.py +0 -0
  726. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/diff.py +0 -0
  727. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  728. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/generator.py +0 -0
  729. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/graphql.py +0 -0
  730. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/groups.py +0 -0
  731. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  732. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/__init__.py +0 -0
  733. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/attribute.py +0 -0
  734. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/constants.py +0 -0
  735. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/node.py +0 -0
  736. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/parsers.py +0 -0
  737. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/property.py +0 -0
  738. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/related_node.py +0 -0
  739. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/relationship.py +0 -0
  740. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/object_store.py +0 -0
  741. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/operation.py +0 -0
  742. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/playback.py +0 -0
  743. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols.py +0 -0
  744. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  745. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/pytest_plugin → infrahub_server-1.3.6/python_sdk/infrahub_sdk/protocols_generator}/__init__.py +0 -0
  746. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/constants.py +0 -0
  747. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  748. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  749. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/spec → infrahub_server-1.3.6/python_sdk/infrahub_sdk/pytest_plugin}/__init__.py +0 -0
  750. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  751. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  752. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  753. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  754. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  755. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  756. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  757. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  758. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  759. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  760. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  761. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/queries.py +0 -0
  762. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  763. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/recorder.py +0 -0
  764. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/repository.py +0 -0
  765. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  766. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  767. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  768. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/testing → infrahub_server-1.3.6/python_sdk/infrahub_sdk/spec}/__init__.py +0 -0
  769. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  770. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  771. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/store.py +0 -0
  772. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  773. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  774. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  775. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  776. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/models.py +0 -0
  777. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  778. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  779. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  780. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/models.py +0 -0
  781. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/testing/schemas → infrahub_server-1.3.6/python_sdk/infrahub_sdk/testing}/__init__.py +0 -0
  782. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  783. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  784. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/transfer → infrahub_server-1.3.6/python_sdk/infrahub_sdk/testing/schemas}/__init__.py +0 -0
  785. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  786. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  787. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  788. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  789. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/transfer/exporter → infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer}/__init__.py +0 -0
  790. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  791. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  792. {infrahub_server-1.3.5/python_sdk/infrahub_sdk/transfer/importer → infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer/exporter}/__init__.py +0 -0
  793. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  794. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  795. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  796. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  797. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  798. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transforms.py +0 -0
  799. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/types.py +0 -0
  800. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/utils.py +0 -0
  801. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  802. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/yaml.py +0 -0
  803. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  804. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  805. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  806. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/docker-compose-cluster.test.yml +0 -0
  807. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +0 -0
  808. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  809. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  810. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  811. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  812. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  813. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/performance_test.py +0 -0
  814. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  815. {infrahub_server-1.3.5 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.3.5
3
+ Version: 1.3.6
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  License: Apache-2.0
6
6
  Author: OpsMill
@@ -56,6 +56,7 @@ from infrahub.services.adapters.message_bus.local import BusSimulator
56
56
  from infrahub.services.adapters.workflow.local import WorkflowLocalExecution
57
57
 
58
58
  from .constants import ERROR_BADGE, FAILED_BADGE, SUCCESS_BADGE
59
+ from .db_commands.check_inheritance import check_inheritance
59
60
  from .patch import patch_app
60
61
 
61
62
 
@@ -178,6 +179,30 @@ async def migrate_cmd(
178
179
  await dbdriver.close()
179
180
 
180
181
 
182
+ @app.command(name="check-inheritance")
183
+ async def check_inheritance_cmd(
184
+ ctx: typer.Context,
185
+ fix: bool = typer.Option(False, help="Fix the inheritance of any invalid nodes."),
186
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
187
+ ) -> None:
188
+ """Check the database for any vertices with incorrect inheritance"""
189
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
190
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
191
+ logging.getLogger("prefect").setLevel(logging.ERROR)
192
+
193
+ config.load_and_exit(config_file_name=config_file)
194
+
195
+ context: CliContext = ctx.obj
196
+ dbdriver = await context.init_db(retry=1)
197
+ await initialize_registry(db=dbdriver)
198
+
199
+ success = await check_inheritance(db=dbdriver, fix=fix)
200
+ if not success:
201
+ raise typer.Exit(code=1)
202
+
203
+ await dbdriver.close()
204
+
205
+
181
206
  @app.command(name="update-core-schema")
182
207
  async def update_core_schema_cmd(
183
208
  ctx: typer.Context,
@@ -0,0 +1,284 @@
1
+ from __future__ import annotations
2
+
3
+ from collections import defaultdict
4
+ from dataclasses import dataclass
5
+ from typing import TYPE_CHECKING, Any
6
+
7
+ from rich import print as rprint
8
+ from rich.console import Console
9
+ from rich.table import Table
10
+
11
+ from infrahub.core import registry
12
+ from infrahub.core.branch.models import Branch
13
+ from infrahub.core.constants import InfrahubKind
14
+ from infrahub.core.migrations.query.node_duplicate import NodeDuplicateQuery, SchemaNodeInfo
15
+ from infrahub.core.query import Query, QueryType
16
+ from infrahub.core.schema import SchemaRoot, internal_schema
17
+ from infrahub.core.schema.manager import SchemaManager
18
+ from infrahub.log import get_logger
19
+
20
+ from ..constants import FAILED_BADGE, SUCCESS_BADGE
21
+
22
+ if TYPE_CHECKING:
23
+ from infrahub.core.schema.node_schema import NodeSchema
24
+ from infrahub.database import InfrahubDatabase
25
+
26
+ log = get_logger()
27
+
28
+
29
+ class GetSchemaWithUpdatedInheritance(Query):
30
+ """
31
+ Get the name, namespace, and branch of any SchemaNodes with _updated_ inheritance
32
+ This query will only return schemas that have had `inherit_from` updated after they were created
33
+ """
34
+
35
+ name = "get_schema_with_updated_inheritance"
36
+ type = QueryType.READ
37
+ insert_return = False
38
+
39
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
40
+ query = """
41
+ // find inherit_from attributes that have been updated
42
+ MATCH p = (schema_node:SchemaNode)-[has_attr_e:HAS_ATTRIBUTE {status: "active"}]->(a:Attribute {name: "inherit_from"})
43
+ WHERE has_attr_e.to IS NULL
44
+ CALL (a) {
45
+ // only get branches on which the value was updated, we can ignore the initial create
46
+ MATCH (a)-[e:HAS_VALUE]->(:AttributeValue)
47
+ ORDER BY e.from ASC
48
+ // tail leaves out the earliest one, which is the initial create
49
+ RETURN tail(collect(e.branch)) AS branches
50
+ }
51
+ WITH schema_node, a, branches
52
+ WHERE size(branches) > 0
53
+ UNWIND branches AS branch
54
+ WITH DISTINCT schema_node, a, branch
55
+
56
+ //get branch details
57
+ CALL (branch) {
58
+ MATCH (b:Branch {name: branch})
59
+ RETURN b.branched_from AS branched_from, b.hierarchy_level AS branch_level
60
+ }
61
+
62
+ // get the namespace for the schema
63
+ CALL (schema_node, a, branch, branched_from, branch_level) {
64
+ MATCH (schema_node)-[e1:HAS_ATTRIBUTE]-(:Attribute {name: "namespace"})-[e2:HAS_VALUE]->(av)
65
+ WHERE (
66
+ e1.branch = branch OR
67
+ (e1.branch_level < branch_level AND e1.from <= branched_from)
68
+ ) AND e1.to IS NULL
69
+ AND e1.status = "active"
70
+ AND (
71
+ e2.branch = branch OR
72
+ (e2.branch_level < branch_level AND e2.from <= branched_from)
73
+ ) AND e2.to IS NULL
74
+ AND e2.status = "active"
75
+ ORDER BY e2.branch_level DESC, e1.branch_level DESC, e2.from DESC, e1.from DESC
76
+ RETURN av.value AS namespace
77
+ LIMIT 1
78
+ }
79
+
80
+ // get the name for the schema
81
+ CALL (schema_node, a, branch, branched_from, branch_level) {
82
+ MATCH (schema_node)-[e1:HAS_ATTRIBUTE]-(:Attribute {name: "name"})-[e2:HAS_VALUE]->(av)
83
+ WHERE (
84
+ e1.branch = branch OR
85
+ (e1.branch_level < branch_level AND e1.from <= branched_from)
86
+ ) AND e1.to IS NULL
87
+ AND e1.status = "active"
88
+ AND (
89
+ e2.branch = branch OR
90
+ (e2.branch_level < branch_level AND e2.from <= branched_from)
91
+ ) AND e2.to IS NULL
92
+ AND e2.status = "active"
93
+ ORDER BY e2.branch_level DESC, e1.branch_level DESC, e2.from DESC, e1.from DESC
94
+ RETURN av.value AS name
95
+ LIMIT 1
96
+ }
97
+ RETURN name, namespace, branch
98
+ """
99
+ self.return_labels = ["name", "namespace", "branch"]
100
+ self.add_to_query(query)
101
+
102
+ def get_updated_inheritance_kinds_by_branch(self) -> dict[str, list[str]]:
103
+ kinds_by_branch: dict[str, list[str]] = defaultdict(list)
104
+ for result in self.results:
105
+ name = result.get_as_type(label="name", return_type=str)
106
+ namespace = result.get_as_type(label="namespace", return_type=str)
107
+ branch = result.get_as_type(label="branch", return_type=str)
108
+ kinds_by_branch[branch].append(f"{namespace}{name}")
109
+ return kinds_by_branch
110
+
111
+
112
+ @dataclass
113
+ class KindLabelCount:
114
+ kind: str
115
+ labels: frozenset[str]
116
+ num_nodes: int
117
+
118
+
119
+ @dataclass
120
+ class KindLabelCountCorrected(KindLabelCount):
121
+ node_schema: NodeSchema
122
+
123
+
124
+ class GetAllKindsAndLabels(Query):
125
+ """
126
+ Get the kind, labels, and number of nodes for the given kinds and branch
127
+ """
128
+
129
+ name = "get_all_kinds_and_labels"
130
+ type = QueryType.READ
131
+ insert_return = False
132
+
133
+ def __init__(self, kinds: list[str] | None = None, **kwargs: Any) -> None:
134
+ super().__init__(**kwargs)
135
+ self.kinds = kinds
136
+
137
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
138
+ self.params["branch_name"] = self.branch.name
139
+ self.params["branched_from"] = self.branch.get_branched_from()
140
+ self.params["branch_level"] = self.branch.hierarchy_level
141
+ kinds_str = "Node"
142
+ if self.kinds:
143
+ kinds_str = "|".join(self.kinds)
144
+ query = """
145
+ MATCH (n:%(kinds_str)s)-[r:IS_PART_OF]->(:Root)
146
+ WHERE (
147
+ r.branch = $branch_name OR
148
+ (r.branch_level < $branch_level AND r.from <= $branched_from)
149
+ )
150
+ AND r.to IS NULL
151
+ AND r.status = "active"
152
+ RETURN DISTINCT n.kind AS kind, labels(n) AS labels, count(*) AS num_nodes
153
+ ORDER BY kind ASC
154
+ """ % {"kinds_str": kinds_str}
155
+ self.return_labels = ["kind", "labels", "num_nodes"]
156
+ self.add_to_query(query)
157
+
158
+ def get_kind_label_counts(self) -> list[KindLabelCount]:
159
+ kind_label_counts: list[KindLabelCount] = []
160
+ for result in self.results:
161
+ kind = result.get_as_type(label="kind", return_type=str)
162
+ num_nodes = result.get_as_type(label="num_nodes", return_type=int)
163
+ labels: list[str] = result.get_as_type(label="labels", return_type=list)
164
+ # we can ignore the Node label and the label that matches the kind
165
+ cleaned_labels = frozenset(str(lbl) for lbl in labels if lbl not in ["Node", "CoreNode", kind])
166
+ kind_label_counts.append(KindLabelCount(kind=kind, labels=cleaned_labels, num_nodes=num_nodes))
167
+ return kind_label_counts
168
+
169
+
170
+ def display_kind_label_counts(kind_label_counts_by_branch: dict[str, list[KindLabelCountCorrected]]) -> None:
171
+ console = Console()
172
+
173
+ table = Table(title="Incorrect Inheritance Nodes")
174
+
175
+ table.add_column("Branch")
176
+ table.add_column("Kind")
177
+ table.add_column("Incorrect Labels")
178
+ table.add_column("Num Nodes")
179
+
180
+ for branch_name, kind_label_counts in kind_label_counts_by_branch.items():
181
+ for kind_label_count in kind_label_counts:
182
+ table.add_row(
183
+ branch_name, kind_label_count.kind, str(list(kind_label_count.labels)), str(kind_label_count.num_nodes)
184
+ )
185
+
186
+ console.print(table)
187
+
188
+
189
+ async def check_inheritance(db: InfrahubDatabase, fix: bool = False) -> bool:
190
+ """
191
+ Run migrations to update the inheritance of any nodes with incorrect inheritance from a failed migration
192
+ 1. Identifies node schemas that have had their inheritance updated after they were created
193
+ a. includes the kind and branch of the inheritance update
194
+ 2. Checks nodes of the given kinds on the given branch to verify their inheritance is correct
195
+ 3. Displays counts of any kinds with incorrect inheritance on the given branch
196
+ 4. If fix is True, runs migrations to update the inheritance of any nodes with incorrect inheritance
197
+ on the correct branch
198
+ """
199
+
200
+ updated_inheritance_query = await GetSchemaWithUpdatedInheritance.init(db=db)
201
+ await updated_inheritance_query.execute(db=db)
202
+ updated_inheritance_kinds_by_branch = updated_inheritance_query.get_updated_inheritance_kinds_by_branch()
203
+
204
+ if not updated_inheritance_kinds_by_branch:
205
+ rprint(f"{SUCCESS_BADGE} No schemas have had their inheritance updated")
206
+ return True
207
+
208
+ schema_manager = SchemaManager()
209
+ registry.schema = schema_manager
210
+ schema = SchemaRoot(**internal_schema)
211
+ schema_manager.register_schema(schema=schema)
212
+ branches_by_name = {b.name: b for b in await Branch.get_list(db=db)}
213
+
214
+ kind_label_counts_by_branch: dict[str, list[KindLabelCountCorrected]] = defaultdict(list)
215
+ for branch_name, kinds in updated_inheritance_kinds_by_branch.items():
216
+ rprint(f"Checking branch: {branch_name}", end="...")
217
+ branch = branches_by_name[branch_name]
218
+ schema_branch = await schema_manager.load_schema_from_db(db=db, branch=branch)
219
+ kind_label_query = await GetAllKindsAndLabels.init(db=db, branch=branch, kinds=kinds)
220
+ await kind_label_query.execute(db=db)
221
+ kind_label_counts = kind_label_query.get_kind_label_counts()
222
+
223
+ for kind_label_count in kind_label_counts:
224
+ node_schema = schema_branch.get_node(name=kind_label_count.kind, duplicate=False)
225
+ correct_labels = frozenset(node_schema.inherit_from)
226
+ if kind_label_count.labels == correct_labels:
227
+ continue
228
+
229
+ kind_label_counts_by_branch[branch_name].append(
230
+ KindLabelCountCorrected(
231
+ kind=kind_label_count.kind,
232
+ labels=kind_label_count.labels,
233
+ num_nodes=kind_label_count.num_nodes,
234
+ node_schema=node_schema,
235
+ )
236
+ )
237
+ rprint("done")
238
+
239
+ if not kind_label_counts_by_branch:
240
+ rprint(f"{SUCCESS_BADGE} All nodes have the correct inheritance")
241
+ return True
242
+
243
+ display_kind_label_counts(kind_label_counts_by_branch)
244
+
245
+ if not fix:
246
+ rprint(f"{FAILED_BADGE} Use the --fix flag to fix the inheritance of any invalid nodes")
247
+ return False
248
+
249
+ for branch_name, kind_label_counts_corrected in kind_label_counts_by_branch.items():
250
+ for kind_label_count in kind_label_counts_corrected:
251
+ rprint(f"Fixing kind {kind_label_count.kind} on branch {branch_name}", end="...")
252
+ node_schema = kind_label_count.node_schema
253
+ migration_query = await NodeDuplicateQuery.init(
254
+ db=db,
255
+ branch=branches_by_name[branch_name],
256
+ previous_node=SchemaNodeInfo(
257
+ name=node_schema.name,
258
+ namespace=node_schema.namespace,
259
+ branch_support=node_schema.branch.value,
260
+ labels=list(kind_label_count.labels) + [kind_label_count.kind, InfrahubKind.NODE],
261
+ kind=kind_label_count.kind,
262
+ ),
263
+ new_node=SchemaNodeInfo(
264
+ name=node_schema.name,
265
+ namespace=node_schema.namespace,
266
+ branch_support=node_schema.branch.value,
267
+ labels=list(node_schema.inherit_from) + [kind_label_count.kind, InfrahubKind.NODE],
268
+ kind=kind_label_count.kind,
269
+ ),
270
+ )
271
+ await migration_query.execute(db=db)
272
+ rprint("done")
273
+
274
+ rprint(f"{SUCCESS_BADGE} All nodes have the correct inheritance")
275
+
276
+ if registry.default_branch in kind_label_counts_by_branch:
277
+ kinds = [kind_label_count.kind for kind_label_count in kind_label_counts_by_branch[registry.default_branch]]
278
+ rprint(
279
+ "[bold cyan]Note that migrations were run on the default branch for the following schema kinds: "
280
+ f"{', '.join(kinds)}. You should rebase any branches that include/will include changes using "
281
+ "the migrated schemas[/bold cyan]"
282
+ )
283
+
284
+ return True
@@ -400,7 +400,7 @@ class NodeManager:
400
400
 
401
401
  results = []
402
402
  for peer in peers_info:
403
- result = await Relationship(schema=schema, branch=branch, at=at, node_id=peer.source_id).load(
403
+ result = Relationship(schema=schema, branch=branch, at=at, node_id=peer.source_id).load(
404
404
  db=db,
405
405
  id=peer.rel_node_id,
406
406
  db_id=peer.rel_node_db_id,
@@ -408,7 +408,7 @@ class NodeManager:
408
408
  data=peer,
409
409
  )
410
410
  if fetch_peers:
411
- await result.set_peer(value=peer_nodes[peer.peer_id])
411
+ result.set_peer(value=peer_nodes[peer.peer_id])
412
412
  results.append(result)
413
413
 
414
414
  return results
@@ -21,6 +21,13 @@ class SchemaNodeInfo(BaseModel):
21
21
 
22
22
 
23
23
  class NodeDuplicateQuery(Query):
24
+ """
25
+ Duplicates a Node to use a new kind or inheritance.
26
+ Creates a copy of each affected Node and sets the new kind/inheritance.
27
+ Adds duplicate edges to the new Node that match all the active edges on the old Node.
28
+ Sets all the edges on the old Node to deleted.
29
+ """
30
+
24
31
  name = "node_duplicate"
25
32
  type = QueryType.WRITE
26
33
  insert_return: bool = False
@@ -38,11 +45,26 @@ class NodeDuplicateQuery(Query):
38
45
 
39
46
  def render_match(self) -> str:
40
47
  labels_str = ":".join(self.previous_node.labels)
41
- query = f"""
48
+ query = """
42
49
  // Find all the active nodes
43
- MATCH (node:{labels_str})
50
+ MATCH (node:%(labels_str)s)
44
51
  WITH DISTINCT node
45
- """
52
+ // ----------------
53
+ // Filter out nodes that have already been migrated
54
+ // ----------------
55
+ CALL (node) {
56
+ WITH labels(node) AS node_labels
57
+ UNWIND node_labels AS n_label
58
+ ORDER BY n_label ASC
59
+ WITH collect(n_label) AS sorted_labels
60
+
61
+ RETURN (
62
+ node.kind = $new_node.kind AND
63
+ sorted_labels = $new_sorted_labels
64
+ ) AS already_migrated
65
+ }
66
+ WITH node WHERE already_migrated = FALSE
67
+ """ % {"labels_str": labels_str}
46
68
 
47
69
  return query
48
70
 
@@ -111,6 +133,7 @@ class NodeDuplicateQuery(Query):
111
133
 
112
134
  self.params["new_node"] = self.new_node.model_dump()
113
135
  self.params["previous_node"] = self.previous_node.model_dump()
136
+ self.params["new_sorted_labels"] = sorted(self.new_node.labels + ["Node"])
114
137
 
115
138
  self.params["current_time"] = self.at.to_string()
116
139
  self.params["branch"] = self.branch.name
@@ -157,7 +157,20 @@ class NodeCreateAllQuery(NodeQuery):
157
157
  relationships: list[RelationshipCreateData] = []
158
158
  for rel_name in self.node._relationships:
159
159
  rel_manager: RelationshipManager = getattr(self.node, rel_name)
160
+ # Fetch all relationship peers through a single database call for performances.
161
+ peers = await rel_manager.get_peers(db=db, branch_agnostic=self.branch_agnostic)
162
+
160
163
  for rel in rel_manager._relationships:
164
+ try:
165
+ rel.set_peer(value=peers[rel.get_peer_id()])
166
+ except KeyError:
167
+ pass
168
+ except ValueError:
169
+ # Relationship has not been initialized yet, it means the peer does not exist in db yet
170
+ # typically because it will be allocated from a ressource pool. In that case, the peer
171
+ # will be fetched using `rel.resolve` later.
172
+ pass
173
+
161
174
  rel_create_data = await rel.get_create_data(db=db, at=at)
162
175
  if rel_create_data.peer_branch_level > deepest_branch_level or (
163
176
  deepest_branch_name == GLOBAL_BRANCH_NAME and rel_create_data.peer_branch == registry.default_branch
@@ -166,11 +166,11 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
166
166
  return registry.get_global_branch()
167
167
  return self.branch
168
168
 
169
- async def _process_data(self, data: dict | RelationshipPeerData | str) -> None:
169
+ def _process_data(self, data: dict | RelationshipPeerData | str) -> None:
170
170
  self.data = data
171
171
 
172
172
  if isinstance(data, RelationshipPeerData):
173
- await self.set_peer(value=str(data.peer_id))
173
+ self.set_peer(value=str(data.peer_id))
174
174
 
175
175
  if not self.id and data.rel_node_id:
176
176
  self.id = data.rel_node_id
@@ -187,7 +187,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
187
187
  elif isinstance(data, dict):
188
188
  for key, value in data.items():
189
189
  if key in ["peer", "id"]:
190
- await self.set_peer(value=data.get(key, None))
190
+ self.set_peer(value=data.get(key, None))
191
191
  elif key == "hfid" and self.peer_id is None:
192
192
  self.peer_hfid = value
193
193
  elif key.startswith(PREFIX_PROPERTY) and key.replace(PREFIX_PROPERTY, "") in self._flag_properties:
@@ -198,7 +198,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
198
198
  self.from_pool = value
199
199
 
200
200
  else:
201
- await self.set_peer(value=data)
201
+ self.set_peer(value=data)
202
202
 
203
203
  async def new(
204
204
  self,
@@ -206,11 +206,11 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
206
206
  data: dict | RelationshipPeerData | Any = None,
207
207
  **kwargs: Any, # noqa: ARG002
208
208
  ) -> Relationship:
209
- await self._process_data(data=data)
209
+ self._process_data(data=data)
210
210
 
211
211
  return self
212
212
 
213
- async def load(
213
+ def load(
214
214
  self,
215
215
  db: InfrahubDatabase, # noqa: ARG002
216
216
  id: UUID | None = None,
@@ -223,7 +223,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
223
223
  self.id = id or self.id
224
224
  self.db_id = db_id or self.db_id
225
225
 
226
- await self._process_data(data=data)
226
+ self._process_data(data=data)
227
227
 
228
228
  if updated_at and hash(self) != hash_before:
229
229
  self.updated_at = Timestamp(updated_at)
@@ -252,7 +252,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
252
252
  self._node_id = self._node.id
253
253
  return node
254
254
 
255
- async def set_peer(self, value: str | Node) -> None:
255
+ def set_peer(self, value: str | Node) -> None:
256
256
  if isinstance(value, str):
257
257
  self.peer_id = value
258
258
  else:
@@ -433,7 +433,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
433
433
  db=db, id=self.peer_id, branch=self.branch, kind=self.schema.peer, fields={"display_label": None}
434
434
  )
435
435
  if peer:
436
- await self.set_peer(value=peer)
436
+ self.set_peer(value=peer)
437
437
 
438
438
  if not self.peer_id and self.peer_hfid:
439
439
  peer_schema = db.schema.get(name=self.schema.peer, branch=self.branch)
@@ -450,7 +450,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
450
450
  fields={"display_label": None},
451
451
  raise_on_error=True,
452
452
  )
453
- await self.set_peer(value=peer)
453
+ self.set_peer(value=peer)
454
454
 
455
455
  if not self.peer_id and self.from_pool and "id" in self.from_pool:
456
456
  pool_id = str(self.from_pool.get("id"))
@@ -473,7 +473,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
473
473
  data_from_pool["identifier"] = f"hfid={hfid_str} rel={self.name}"
474
474
 
475
475
  assigned_peer: Node = await pool.get_resource(db=db, branch=self.branch, at=at, **data_from_pool) # type: ignore[attr-defined]
476
- await self.set_peer(value=assigned_peer)
476
+ self.set_peer(value=assigned_peer)
477
477
  self.set_source(value=pool.id)
478
478
 
479
479
  async def save(self, db: InfrahubDatabase, at: Timestamp | None = None) -> Self:
@@ -962,7 +962,7 @@ class RelationshipManager:
962
962
 
963
963
  for peer_id in details.peer_ids_present_database_only:
964
964
  self._relationships.append(
965
- await Relationship(
965
+ Relationship(
966
966
  schema=self.schema,
967
967
  branch=self.branch,
968
968
  at=at or self.at,
@@ -1050,7 +1050,7 @@ class RelationshipManager:
1050
1050
  if isinstance(item, dict) and item.get("id", None) in previous_relationships:
1051
1051
  rel = previous_relationships[item["id"]]
1052
1052
  hash_before = hash(rel)
1053
- await rel.load(data=item, db=db)
1053
+ rel.load(data=item, db=db)
1054
1054
  if hash(rel) != hash_before:
1055
1055
  changed = True
1056
1056
  self._relationships.append(rel)
@@ -233,7 +233,7 @@ class RelationshipRemove(Mutation):
233
233
  # we should use RelationshipDataDeleteQuery to delete the relationship
234
234
  # it would be more query efficient
235
235
  rel = Relationship(schema=rel_schema, branch=graphql_context.branch, node=source)
236
- await rel.load(db=db, data=existing_peers[node_data.get("id")])
236
+ rel.load(db=db, data=existing_peers[node_data.get("id")])
237
237
  if group_event_type != GroupUpdateType.NONE:
238
238
  peers.append(EventNode(id=rel.get_peer_id(), kind=nodes[rel.get_peer_id()].get_kind()))
239
239
  node_changelog.delete_relationship(relationship=rel)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "infrahub-server"
3
- version = "1.3.5"
3
+ version = "1.3.6"
4
4
  description = "Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run."
5
5
  authors = ["OpsMill <info@opsmill.com>"]
6
6
  readme = "README.md"