infrahub-server 1.2.4__tar.gz → 1.2.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 (758) hide show
  1. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/PKG-INFO +2 -2
  2. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/db.py +308 -2
  3. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/branch/tasks.py +50 -10
  4. infrahub_server-1.2.6/backend/infrahub/core/graph/__init__.py +1 -0
  5. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/manager.py +15 -2
  6. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/__init__.py +2 -0
  7. infrahub_server-1.2.6/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +54 -0
  8. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/__init__.py +4 -1
  9. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/resource_manager/number_pool.py +1 -1
  10. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/registry.py +2 -3
  11. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/manager.py +0 -1
  12. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/schema_branch.py +39 -40
  13. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/schema_branch_computed.py +12 -1
  14. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/__init__.py +2 -0
  15. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/branch_action.py +3 -0
  16. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/group_action.py +1 -1
  17. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/node_action.py +1 -1
  18. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/integrator.py +2 -2
  19. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/manager.py +10 -0
  20. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/main.py +4 -5
  21. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/resource_manager.py +3 -3
  22. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/__init__.py +0 -2
  23. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/request_proposedchange_pipeline.py +5 -0
  24. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/__init__.py +0 -2
  25. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/requests/proposed_change.py +29 -9
  26. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/types.py +2 -34
  27. infrahub_server-1.2.6/backend/infrahub/proposed_change/branch_diff.py +65 -0
  28. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/proposed_change/tasks.py +12 -4
  29. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/workflow/worker.py +1 -1
  30. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/registry.py +4 -1
  31. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/catalogue.py +10 -0
  32. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/pyproject.toml +2 -2
  33. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/generator.py +1 -0
  34. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/node.py +16 -4
  35. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/container.py +52 -2
  36. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +27 -0
  37. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/models.py +2 -2
  38. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/performance_test.py +5 -5
  39. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/plugin.py +1 -1
  40. infrahub_server-1.2.4/backend/infrahub/core/branch/flow_models.py +0 -0
  41. infrahub_server-1.2.4/backend/infrahub/core/graph/__init__.py +0 -1
  42. infrahub_server-1.2.4/backend/infrahub/message_bus/messages/event_branch_merge.py +0 -13
  43. infrahub_server-1.2.4/backend/infrahub/message_bus/operations/event/__init__.py +0 -3
  44. infrahub_server-1.2.4/backend/infrahub/message_bus/operations/event/branch.py +0 -61
  45. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/LICENSE.txt +0 -0
  46. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/README.md +0 -0
  47. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/__init__.py +0 -0
  48. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/__init__.py +0 -0
  49. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/artifact.py +0 -0
  50. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/auth.py +0 -0
  51. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/dependencies.py +0 -0
  52. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/diff/__init__.py +0 -0
  53. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/diff/diff.py +0 -0
  54. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/diff/validation_models.py +0 -0
  55. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/exception_handlers.py +0 -0
  56. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/exceptions.py +0 -0
  57. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/file.py +0 -0
  58. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/internal.py +0 -0
  59. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/menu.py +0 -0
  60. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/oauth2.py +0 -0
  61. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/oidc.py +0 -0
  62. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/query.py +0 -0
  63. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/schema.py +0 -0
  64. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  65. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  66. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/static/swagger-ui.css +0 -0
  67. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/storage.py +0 -0
  68. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/api/transformation.py +0 -0
  69. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/artifacts/__init__.py +0 -0
  70. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/artifacts/models.py +0 -0
  71. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/artifacts/tasks.py +0 -0
  72. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/auth.py +0 -0
  73. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/__init__.py +0 -0
  74. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/constants.py +0 -0
  75. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/context.py +0 -0
  76. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/events.py +0 -0
  77. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/git_agent.py +0 -0
  78. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/server.py +0 -0
  79. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/tasks.py +0 -0
  80. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/cli/upgrade.py +0 -0
  81. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/components.py +0 -0
  82. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/__init__.py +0 -0
  83. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/constants.py +0 -0
  84. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/gather.py +0 -0
  85. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/models.py +0 -0
  86. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/tasks.py +0 -0
  87. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/computed_attribute/triggers.py +0 -0
  88. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/config.py +0 -0
  89. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/context.py +0 -0
  90. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/__init__.py +0 -0
  91. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/account.py +0 -0
  92. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/attribute.py +0 -0
  93. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/branch/__init__.py +0 -0
  94. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/branch/models.py +0 -0
  95. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/changelog/__init__.py +0 -0
  96. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/changelog/diff.py +0 -0
  97. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/changelog/models.py +0 -0
  98. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constants/__init__.py +0 -0
  99. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constants/database.py +0 -0
  100. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  101. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constants/relationship_label.py +0 -0
  102. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constants/schema.py +0 -0
  103. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constraint/__init__.py +0 -0
  104. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  105. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/constraint/node/runner.py +0 -0
  106. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/__init__.py +0 -0
  107. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  108. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  109. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/branch_differ.py +0 -0
  110. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/calculator.py +0 -0
  111. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/combiner.py +0 -0
  112. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  113. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  114. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  115. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/coordinator.py +0 -0
  116. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  117. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  118. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  119. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  120. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  121. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  122. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  123. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  124. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  125. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/exceptions.py +0 -0
  126. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  127. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  128. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/merger/merger.py +0 -0
  129. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/merger/model.py +0 -0
  130. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  131. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/model/__init__.py +0 -0
  132. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/model/diff.py +0 -0
  133. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/model/path.py +0 -0
  134. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/models.py +0 -0
  135. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  136. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/payload_builder.py +0 -0
  137. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/__init__.py +0 -0
  138. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  139. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/artifact.py +0 -0
  140. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  141. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  142. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  143. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  144. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  145. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/filters.py +0 -0
  146. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  147. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  148. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/merge.py +0 -0
  149. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  150. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  151. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/save.py +0 -0
  152. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  153. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  154. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  155. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/query_parser.py +0 -0
  156. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  157. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  158. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/repository/repository.py +0 -0
  159. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/diff/tasks.py +0 -0
  160. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/enums.py +0 -0
  161. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/graph/constraints.py +0 -0
  162. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/graph/index.py +0 -0
  163. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/graph/schema.py +0 -0
  164. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/initialization.py +0 -0
  165. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/integrity/__init__.py +0 -0
  166. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  167. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  168. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/__init__.py +0 -0
  169. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/constants.py +0 -0
  170. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  171. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/model.py +0 -0
  172. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/reconciler.py +0 -0
  173. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/size.py +0 -0
  174. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/tasks.py +0 -0
  175. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/ipam/utilization.py +0 -0
  176. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/merge.py +0 -0
  177. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/__init__.py +0 -0
  178. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  179. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  180. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  181. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  182. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  183. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  184. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  185. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  186. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  187. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  188. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  189. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  190. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  191. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  192. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  193. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  194. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  195. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  196. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  197. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  198. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  199. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  200. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  201. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  202. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  203. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  204. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  205. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  206. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  207. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  208. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  209. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  210. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  211. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  212. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/models.py +0 -0
  213. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  214. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  215. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  216. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  217. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  218. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  219. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/migrations/shared.py +0 -0
  220. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/models.py +0 -0
  221. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/base.py +0 -0
  222. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  223. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  224. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  225. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/constraints/interface.py +0 -0
  226. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/delete_validator.py +0 -0
  227. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/ipam.py +0 -0
  228. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/permissions.py +0 -0
  229. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  230. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  231. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  232. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/node/standard.py +0 -0
  233. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/path.py +0 -0
  234. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/property.py +0 -0
  235. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/protocols.py +0 -0
  236. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/protocols_base.py +0 -0
  237. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/__init__.py +0 -0
  238. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/attribute.py +0 -0
  239. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/branch.py +0 -0
  240. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/delete.py +0 -0
  241. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/diff.py +0 -0
  242. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/ipam.py +0 -0
  243. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/node.py +0 -0
  244. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/relationship.py +0 -0
  245. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/resource_manager.py +0 -0
  246. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/standard_node.py +0 -0
  247. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/subquery.py +0 -0
  248. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/task.py +0 -0
  249. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/task_log.py +0 -0
  250. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/query/utils.py +0 -0
  251. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/__init__.py +0 -0
  252. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  253. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  254. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  255. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  256. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  257. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/relationship/model.py +0 -0
  258. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/root.py +0 -0
  259. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/__init__.py +0 -0
  260. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  261. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  262. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  263. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/constants.py +0 -0
  264. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  265. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  266. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  267. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  268. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  269. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  270. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  271. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  272. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  273. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  274. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  275. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  276. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  277. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  278. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  279. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  280. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  281. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  282. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  283. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  284. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  285. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  286. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  287. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  288. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  289. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/dropdown.py +0 -0
  290. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  291. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  292. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  293. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  294. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  295. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  296. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/generic_schema.py +0 -0
  297. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/node_schema.py +0 -0
  298. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/profile_schema.py +0 -0
  299. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  300. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/schema/template_schema.py +0 -0
  301. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/task/__init__.py +0 -0
  302. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/task/task.py +0 -0
  303. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/task/task_log.py +0 -0
  304. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/task/user_task.py +0 -0
  305. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/timestamp.py +0 -0
  306. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/utils.py +0 -0
  307. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/__init__.py +0 -0
  308. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  309. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  310. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  311. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  312. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  313. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/length.py +0 -0
  314. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  315. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  316. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  317. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/checks_runner.py +0 -0
  318. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/determiner.py +0 -0
  319. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/interface.py +0 -0
  320. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/model.py +0 -0
  321. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/models/__init__.py +0 -0
  322. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  323. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/models/violation.py +0 -0
  324. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/__init__.py +0 -0
  325. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/attribute.py +0 -0
  326. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  327. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  328. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  329. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/node/relationship.py +0 -0
  330. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/query.py +0 -0
  331. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  332. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/relationship/count.py +0 -0
  333. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  334. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  335. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/shared.py +0 -0
  336. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/tasks.py +0 -0
  337. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  338. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  339. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  340. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  341. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  342. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/constants.py +0 -0
  343. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/index.py +0 -0
  344. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/manager.py +0 -0
  345. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/memgraph.py +0 -0
  346. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/metrics.py +0 -0
  347. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/database/neo4j.py +0 -0
  348. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/__init__.py +0 -0
  349. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  350. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  351. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  352. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  353. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  354. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  355. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  356. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  357. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  358. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  359. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  360. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  361. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  362. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  363. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  364. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  365. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  366. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  367. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  368. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  369. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  370. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  371. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  372. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  373. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  374. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  375. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  376. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  377. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  378. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  379. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  380. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  381. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  382. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  383. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  384. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  385. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  386. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  387. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  388. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  389. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  390. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  391. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  392. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  393. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  394. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  395. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  396. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  397. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  398. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  399. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  400. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/component/__init__.py +0 -0
  401. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  402. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/component/registry.py +0 -0
  403. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/interface.py +0 -0
  404. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/dependencies/registry.py +0 -0
  405. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/__init__.py +0 -0
  406. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/artifact_action.py +0 -0
  407. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/constants.py +0 -0
  408. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/generator.py +0 -0
  409. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/models.py +0 -0
  410. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/repository_action.py +0 -0
  411. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/schema_action.py +0 -0
  412. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/utils.py +0 -0
  413. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/events/validator_action.py +0 -0
  414. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/exceptions.py +0 -0
  415. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/generators/__init__.py +0 -0
  416. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/generators/models.py +0 -0
  417. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/generators/tasks.py +0 -0
  418. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/__init__.py +0 -0
  419. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/base.py +0 -0
  420. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/constants.py +0 -0
  421. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/directory.py +0 -0
  422. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/models.py +0 -0
  423. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/repository.py +0 -0
  424. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/tasks.py +0 -0
  425. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/utils.py +0 -0
  426. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git/worktree.py +0 -0
  427. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git_credential/__init__.py +0 -0
  428. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git_credential/askpass.py +0 -0
  429. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/git_credential/helper.py +0 -0
  430. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/__init__.py +0 -0
  431. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/analyzer.py +0 -0
  432. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/api/__init__.py +0 -0
  433. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/api/dependencies.py +0 -0
  434. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/api/endpoints.py +0 -0
  435. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/app.py +0 -0
  436. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/__init__.py +0 -0
  437. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  438. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  439. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  440. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  441. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  442. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  443. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  444. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  445. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/constants.py +0 -0
  446. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/context.py +0 -0
  447. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/directives.py +0 -0
  448. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/enums.py +0 -0
  449. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/initialization.py +0 -0
  450. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  451. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/loaders/node.py +0 -0
  452. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/loaders/peers.py +0 -0
  453. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/loaders/shared.py +0 -0
  454. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/metrics.py +0 -0
  455. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/models.py +0 -0
  456. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  457. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/account.py +0 -0
  458. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  459. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  460. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/branch.py +0 -0
  461. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  462. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/diff.py +0 -0
  463. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  464. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/generator.py +0 -0
  465. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  466. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  467. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/menu.py +0 -0
  468. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/models.py +0 -0
  469. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  470. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  471. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  472. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  473. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  474. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  475. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/relationship.py +0 -0
  476. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/repository.py +0 -0
  477. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/schema.py +0 -0
  478. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  479. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  480. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/parser.py +0 -0
  481. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/permissions.py +0 -0
  482. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/__init__.py +0 -0
  483. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/account.py +0 -0
  484. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/branch.py +0 -0
  485. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  486. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  487. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/event.py +0 -0
  488. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/internal.py +0 -0
  489. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/ipam.py +0 -0
  490. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/relationship.py +0 -0
  491. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  492. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/search.py +0 -0
  493. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/status.py +0 -0
  494. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/queries/task.py +0 -0
  495. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  496. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  497. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  498. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  499. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/schema.py +0 -0
  500. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  501. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/subscription/events.py +0 -0
  502. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  503. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/__init__.py +0 -0
  504. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/attribute.py +0 -0
  505. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/branch.py +0 -0
  506. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/common.py +0 -0
  507. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/context.py +0 -0
  508. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/enums.py +0 -0
  509. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/event.py +0 -0
  510. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/interface.py +0 -0
  511. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/node.py +0 -0
  512. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/permission.py +0 -0
  513. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/relationship.py +0 -0
  514. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/standard_node.py +0 -0
  515. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/task.py +0 -0
  516. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/types/task_log.py +0 -0
  517. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/graphql/utils.py +0 -0
  518. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/groups/__init__.py +0 -0
  519. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/groups/ancestors.py +0 -0
  520. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/groups/models.py +0 -0
  521. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/groups/parsers.py +0 -0
  522. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/groups/tasks.py +0 -0
  523. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/helpers.py +0 -0
  524. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/lock.py +0 -0
  525. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/log.py +0 -0
  526. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/__init__.py +0 -0
  527. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/constants.py +0 -0
  528. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/generator.py +0 -0
  529. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/menu.py +0 -0
  530. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/models.py +0 -0
  531. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/repository.py +0 -0
  532. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/menu/utils.py +0 -0
  533. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/__init__.py +0 -0
  534. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/check_generator_run.py +0 -0
  535. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/finalize_validator_execution.py +0 -0
  536. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  537. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  538. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/proposed_change/__init__.py +0 -0
  539. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/proposed_change/base_with_diff.py +0 -0
  540. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/proposed_change/request_proposedchange_refreshartifacts.py +0 -0
  541. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  542. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  543. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  544. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/request_generatordefinition_check.py +0 -0
  545. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  546. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/check/__init__.py +0 -0
  547. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/check/generator.py +0 -0
  548. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/finalize/__init__.py +0 -0
  549. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/finalize/validator.py +0 -0
  550. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  551. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  552. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  553. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  554. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  555. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/requests/__init__.py +0 -0
  556. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/requests/generator_definition.py +0 -0
  557. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  558. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  559. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/middleware.py +0 -0
  560. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/models.py +0 -0
  561. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/__init__.py +0 -0
  562. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/backend.py +0 -0
  563. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/constants.py +0 -0
  564. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/globals.py +0 -0
  565. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/local_backend.py +0 -0
  566. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/manager.py +0 -0
  567. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/report.py +0 -0
  568. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/permissions/types.py +0 -0
  569. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/pools/__init__.py +0 -0
  570. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/pools/address.py +0 -0
  571. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/pools/number.py +0 -0
  572. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/pools/prefix.py +0 -0
  573. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/prefect_server/__init__.py +0 -0
  574. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/prefect_server/app.py +0 -0
  575. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/prefect_server/database.py +0 -0
  576. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/prefect_server/events.py +0 -0
  577. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/prefect_server/models.py +0 -0
  578. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/proposed_change/__init__.py +0 -0
  579. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/proposed_change/constants.py +0 -0
  580. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/proposed_change/models.py +0 -0
  581. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/pytest_plugin.py +0 -0
  582. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/serve/__init__.py +0 -0
  583. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/serve/gunicorn_config.py +0 -0
  584. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/serve/log.py +0 -0
  585. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/serve/worker.py +0 -0
  586. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/server.py +0 -0
  587. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/__init__.py +0 -0
  588. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/__init__.py +0 -0
  589. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  590. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  591. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  592. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  593. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  594. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  595. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  596. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  597. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  598. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  599. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  600. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  601. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/component.py +0 -0
  602. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/protocols.py +0 -0
  603. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/services/scheduler.py +0 -0
  604. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/storage.py +0 -0
  605. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/task_manager/__init__.py +0 -0
  606. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/task_manager/constants.py +0 -0
  607. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/task_manager/event.py +0 -0
  608. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/task_manager/models.py +0 -0
  609. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/task_manager/task.py +0 -0
  610. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/__init__.py +0 -0
  611. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/artifact.py +0 -0
  612. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/check.py +0 -0
  613. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/dummy.py +0 -0
  614. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/keepalive.py +0 -0
  615. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/tasks/recurring.py +0 -0
  616. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/__init__.py +0 -0
  617. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/constants.py +0 -0
  618. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/database.py +0 -0
  619. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/models.py +0 -0
  620. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/task_manager.py +0 -0
  621. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/tasks.py +0 -0
  622. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/telemetry/utils.py +0 -0
  623. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trace.py +0 -0
  624. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/transformations/__init__.py +0 -0
  625. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/transformations/constants.py +0 -0
  626. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/transformations/models.py +0 -0
  627. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/transformations/tasks.py +0 -0
  628. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/__init__.py +0 -0
  629. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/catalogue.py +0 -0
  630. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/constants.py +0 -0
  631. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/models.py +0 -0
  632. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/setup.py +0 -0
  633. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/trigger/tasks.py +0 -0
  634. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/types.py +0 -0
  635. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/utils.py +0 -0
  636. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/validators/__init__.py +0 -0
  637. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/validators/events.py +0 -0
  638. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/validators/tasks.py +0 -0
  639. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/visuals.py +0 -0
  640. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/webhook/__init__.py +0 -0
  641. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/webhook/gather.py +0 -0
  642. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/webhook/models.py +0 -0
  643. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/webhook/tasks.py +0 -0
  644. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/webhook/triggers.py +0 -0
  645. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/worker.py +0 -0
  646. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workers/__init__.py +0 -0
  647. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workers/infrahub_async.py +0 -0
  648. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workers/utils.py +0 -0
  649. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/__init__.py +0 -0
  650. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/constants.py +0 -0
  651. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/initialization.py +0 -0
  652. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/models.py +0 -0
  653. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/backend/infrahub/workflows/utils.py +0 -0
  654. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/__init__.py +0 -0
  655. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/_importer.py +0 -0
  656. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  657. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  658. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/batch.py +0 -0
  659. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/branch.py +0 -0
  660. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/checks.py +0 -0
  661. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/client.py +0 -0
  662. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/code_generator.py +0 -0
  663. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/config.py +0 -0
  664. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/constants.py +0 -0
  665. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/context.py +0 -0
  666. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  667. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  668. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  669. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  670. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  671. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  672. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  673. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/constants.py +0 -0
  674. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  675. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  676. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  677. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  678. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  679. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  680. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  681. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  682. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  683. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  684. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  685. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  686. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  687. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/data.py +0 -0
  688. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/diff.py +0 -0
  689. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  690. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/graphql.py +0 -0
  691. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/groups.py +0 -0
  692. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  693. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/object_store.py +0 -0
  694. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/playback.py +0 -0
  695. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/protocols.py +0 -0
  696. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  697. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  698. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  699. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  700. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  701. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  702. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  703. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  704. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  705. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  706. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  707. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  708. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  709. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/queries.py +0 -0
  710. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  711. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/recorder.py +0 -0
  712. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/repository.py +0 -0
  713. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  714. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  715. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  716. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  717. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  718. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  719. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/store.py +0 -0
  720. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  721. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  722. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  723. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  724. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/task/models.py +0 -0
  725. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  726. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  727. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  728. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/template/models.py +0 -0
  729. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  730. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  731. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  732. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  733. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  734. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  735. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  736. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  737. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  738. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  739. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  740. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  741. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  742. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  743. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  744. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  745. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  746. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  747. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/transforms.py +0 -0
  748. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/types.py +0 -0
  749. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/utils.py +0 -0
  750. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  751. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_sdk/infrahub_sdk/yaml.py +0 -0
  752. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  753. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  754. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  755. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  756. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  757. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  758. {infrahub_server-1.2.4 → infrahub_server-1.2.6}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: infrahub-server
3
- Version: 1.2.4
3
+ Version: 1.2.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
  Home-page: https://opsmill.com
6
6
  License: AGPL-3.0-only
@@ -39,7 +39,7 @@ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (==1.28.1)
39
39
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (==1.28.1)
40
40
  Requires-Dist: opentelemetry-instrumentation-aio-pika (==0.49b1)
41
41
  Requires-Dist: opentelemetry-instrumentation-fastapi (==0.49b1)
42
- Requires-Dist: prefect (==3.2.11)
42
+ Requires-Dist: prefect (==3.3.4)
43
43
  Requires-Dist: prefect-redis (==0.2.2)
44
44
  Requires-Dist: pyarrow (>=14,<15)
45
45
  Requires-Dist: pydantic (>=2.10,<2.11)
@@ -3,10 +3,15 @@ from __future__ import annotations
3
3
  import importlib
4
4
  import logging
5
5
  import os
6
+ from collections import defaultdict
7
+ from csv import DictReader, DictWriter
8
+ from datetime import datetime, timezone
6
9
  from enum import Enum
7
- from typing import TYPE_CHECKING
10
+ from pathlib import Path
11
+ from typing import TYPE_CHECKING, Any
8
12
 
9
13
  import typer
14
+ import ujson
10
15
  from infrahub_sdk.async_typer import AsyncTyper
11
16
  from prefect.testing.utilities import prefect_test_harness
12
17
  from rich import print as rprint
@@ -19,7 +24,14 @@ from infrahub.core import registry
19
24
  from infrahub.core.graph import GRAPH_VERSION
20
25
  from infrahub.core.graph.constraints import ConstraintManagerBase, ConstraintManagerMemgraph, ConstraintManagerNeo4j
21
26
  from infrahub.core.graph.index import node_indexes, rel_indexes
22
- from infrahub.core.graph.schema import GRAPH_SCHEMA
27
+ from infrahub.core.graph.schema import (
28
+ GRAPH_SCHEMA,
29
+ GraphAttributeProperties,
30
+ GraphNodeProperties,
31
+ GraphRelationshipDefault,
32
+ GraphRelationshipIsPartOf,
33
+ GraphRelationshipProperties,
34
+ )
23
35
  from infrahub.core.initialization import (
24
36
  first_time_initialization,
25
37
  get_root_node,
@@ -419,3 +431,297 @@ async def update_core_schema(
419
431
  for message in migration_error_msgs:
420
432
  rprint(message)
421
433
  raise typer.Exit(1)
434
+
435
+
436
+ @app.command(name="selected-export")
437
+ async def selected_export_cmd(
438
+ ctx: typer.Context,
439
+ kinds: list[str] = typer.Option([], help="Node kinds to export"), # noqa: B008
440
+ uuids: list[str] = typer.Option([], help="UUIDs of nodes to export"), # noqa: B008
441
+ query_limit: int = typer.Option(1000, help="Maximum batch size of export query"), # noqa: B008
442
+ export_dir: Path = typer.Option(Path("infrahub-exports"), help="Path of directory to save exports"), # noqa: B008
443
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
444
+ ) -> None:
445
+ """Export database structure of selected nodes from the database without any actual data"""
446
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
447
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
448
+ logging.getLogger("prefect").setLevel(logging.ERROR)
449
+
450
+ config.load_and_exit(config_file_name=config_file)
451
+
452
+ context: CliContext = ctx.obj
453
+ dbdriver = await context.init_db(retry=1)
454
+
455
+ await selected_export(db=dbdriver, kinds=kinds, uuids=uuids, export_dir=export_dir, query_limit=query_limit)
456
+
457
+ await dbdriver.close()
458
+
459
+
460
+ async def selected_export(
461
+ db: InfrahubDatabase,
462
+ kinds: list[str],
463
+ uuids: list[str],
464
+ export_dir: Path,
465
+ query_limit: int = 1000,
466
+ ) -> Path:
467
+ query = """
468
+ // --------------
469
+ // filter nodes
470
+ // --------------
471
+ MATCH (n:Node)
472
+ WHERE ($kinds IS NULL OR size($kinds) = 0 OR any(l IN labels(n) WHERE l in $kinds))
473
+ AND ($uuids IS NULL OR size($uuids) = 0 OR n.uuid IN $uuids)
474
+ WITH n
475
+ // --------------
476
+ // pagination
477
+ // --------------
478
+ ORDER BY %(id_func)s(n)
479
+ SKIP toInteger($offset)
480
+ LIMIT toInteger($limit)
481
+ CALL {
482
+ // --------------
483
+ // get all the nodes and edges linked to this node up to 2 steps away, excluding IS_PART_OF
484
+ // --------------
485
+ WITH n
486
+ MATCH (n)-[r1]-(v1)-[r2]-(v2)
487
+ WHERE type(r1) <> "IS_PART_OF"
488
+ WITH collect([v1, v2]) AS vertex_pairs, collect([r1, r2]) AS edge_pairs
489
+ WITH reduce(
490
+ vertices = [], v_pair IN vertex_pairs |
491
+ CASE
492
+ WHEN NOT v_pair[0] IN vertices AND NOT v_pair[1] IN vertices THEN vertices + v_pair
493
+ WHEN NOT v_pair[0] IN vertices THEN vertices + [v_pair[0]]
494
+ WHEN NOT v_pair[1] IN vertices THEN vertices + [v_pair[1]]
495
+ ELSE vertices
496
+ END
497
+ ) AS vertices,
498
+ reduce(
499
+ edges = [], e_pair IN edge_pairs |
500
+ CASE
501
+ WHEN NOT e_pair[0] IN edges AND NOT e_pair[1] IN edges THEN edges + e_pair
502
+ WHEN NOT e_pair[0] IN edges THEN edges + [e_pair[0]]
503
+ WHEN NOT e_pair[1] IN edges THEN edges + [e_pair[1]]
504
+ ELSE edges
505
+ END
506
+ ) AS edges
507
+ RETURN vertices, edges
508
+ }
509
+ // --------------
510
+ // include the root and IS_PART_OF edges
511
+ // --------------
512
+ OPTIONAL MATCH (n)-[root_edge:IS_PART_OF]->(root:Root)
513
+ WITH n, vertices, edges, root, collect(root_edge) AS root_edges
514
+ WITH n, edges + root_edges AS edges, CASE
515
+ WHEN root IS NOT NULL THEN vertices + [n, root]
516
+ ELSE vertices + [n]
517
+ END AS vertices
518
+ RETURN vertices, edges
519
+ """ % {"id_func": db.get_id_function_name()}
520
+ timestamp_str = datetime.now(tz=timezone.utc).strftime("%Y%m%d-%H%M%S")
521
+ export_dir /= Path(f"export-{timestamp_str}")
522
+ if not export_dir.exists():
523
+ export_dir.mkdir(parents=True)
524
+ vertex_path = export_dir / Path("vertices.csv")
525
+ vertex_path.touch(exist_ok=True)
526
+ edge_path = export_dir / Path("edges.csv")
527
+ edge_path.touch(exist_ok=True)
528
+
529
+ graph_node_schemas = [GraphNodeProperties, GraphRelationshipProperties, GraphAttributeProperties]
530
+ graph_vertex_properties = set()
531
+ for graph_schema in graph_node_schemas:
532
+ for field_name, field_info in graph_schema.model_fields.items():
533
+ property_name = field_info.alias or field_name
534
+ graph_vertex_properties.add(property_name)
535
+
536
+ graph_edge_schemas = [GraphRelationshipIsPartOf, GraphRelationshipDefault]
537
+ graph_edge_properties = set()
538
+ for graph_schema in graph_edge_schemas:
539
+ for field_name, field_info in graph_schema.model_fields.items():
540
+ property_name = field_info.alias or field_name
541
+ graph_edge_properties.add(property_name)
542
+
543
+ all_db_ids: set[str] = set()
544
+ has_more_data = True
545
+ limit = query_limit
546
+ offset = 0
547
+
548
+ with vertex_path.open(mode="w") as vertex_file, edge_path.open(mode="w") as edge_file:
549
+ vertex_field_names = ["db_id", "labels"] + sorted(graph_vertex_properties)
550
+ vertex_csv_writer = DictWriter(vertex_file, fieldnames=vertex_field_names)
551
+ vertex_csv_writer.writeheader()
552
+ edge_field_names = ["db_id", "edge_type", "start_node_id", "end_node_id"] + sorted(graph_edge_properties)
553
+ edge_csv_writer = DictWriter(edge_file, fieldnames=edge_field_names)
554
+ edge_csv_writer.writeheader()
555
+
556
+ while has_more_data:
557
+ rprint("Retrieving batch of vertices and edges...", end="")
558
+ results = await db.execute_query(
559
+ query=query,
560
+ params={"kinds": kinds, "uuids": uuids, "limit": limit, "offset": offset},
561
+ )
562
+ rprint("done. ", end="")
563
+ has_more_data = len(results) >= limit
564
+ offset += limit
565
+
566
+ rprint("Writing batch to export files...", end="")
567
+ for result in results:
568
+ vertices = result.get("vertices")
569
+ for vertex in vertices:
570
+ if vertex.element_id in all_db_ids:
571
+ continue
572
+ serial_vertex = {
573
+ "db_id": vertex.element_id,
574
+ "labels": ujson.dumps(list(vertex.labels)),
575
+ }
576
+ for property_name in graph_vertex_properties:
577
+ if value := vertex.get(property_name):
578
+ serial_vertex[property_name] = value
579
+ vertex_csv_writer.writerow(serial_vertex)
580
+ all_db_ids.add(vertex.element_id)
581
+
582
+ edges = result.get("edges")
583
+ for edge in edges:
584
+ if edge.element_id in all_db_ids:
585
+ continue
586
+ serial_edge = {
587
+ "db_id": edge.element_id,
588
+ "edge_type": edge.type,
589
+ "start_node_id": edge.start_node.element_id,
590
+ "end_node_id": edge.end_node.element_id,
591
+ }
592
+ for property_name in graph_edge_properties:
593
+ if value := edge.get(property_name):
594
+ serial_edge[property_name] = value
595
+ edge_csv_writer.writerow(serial_edge)
596
+ all_db_ids.add(edge.element_id)
597
+ rprint("done.")
598
+
599
+ rprint(f"{SUCCESS_BADGE} Export complete")
600
+ rprint(f"Export directory is here: {export_dir.absolute()}")
601
+ return export_dir
602
+
603
+
604
+ @app.command(name="load-export", hidden=True)
605
+ async def load_export_cmd(
606
+ ctx: typer.Context,
607
+ export_dir: Path = typer.Argument(help="Path to export directory"),
608
+ query_limit: int = typer.Option(1000, help="Maximum batch size of import query"),
609
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
610
+ ) -> None:
611
+ """
612
+ Cannot be used for backup/restore functionality.
613
+ Loads an anonymized export into Neo4j.
614
+ Only used for analysis of output of the selected-export command.
615
+ """
616
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
617
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
618
+ logging.getLogger("prefect").setLevel(logging.ERROR)
619
+
620
+ config.load_and_exit(config_file_name=config_file)
621
+
622
+ context: CliContext = ctx.obj
623
+ dbdriver = await context.init_db(retry=1)
624
+
625
+ await load_export(db=dbdriver, export_dir=export_dir, query_limit=query_limit)
626
+
627
+ await dbdriver.close()
628
+
629
+
630
+ async def load_vertices(
631
+ db: InfrahubDatabase, vertex_labels: list[str], vertex_dicts: list[dict[str, str | int | bool | None]]
632
+ ) -> None:
633
+ vertex_import_query = """
634
+ UNWIND $vertices AS vertex
635
+ CREATE (v:ImportNode:%(node_labels)s {db_id: vertex.db_id})
636
+ SET v = vertex
637
+ """ % {"node_labels": ":".join(vertex_labels)}
638
+ rprint(f"Loading {len(vertex_dicts)} {vertex_labels} nodes...", end="")
639
+ await db.execute_query(query=vertex_import_query, params={"vertices": vertex_dicts})
640
+ rprint("done")
641
+
642
+
643
+ async def load_edges(
644
+ db: InfrahubDatabase, edge_type: str, edge_dicts: list[dict[str, str | int | bool | None]]
645
+ ) -> None:
646
+ edges_import_query = """
647
+ UNWIND $edges AS edge
648
+ MATCH (a:ImportNode) WHERE a.db_id = toString(edge.start_node_id)
649
+ MATCH (b:ImportNode) WHERE b.db_id = toString(edge.end_node_id)
650
+ CREATE (a)-[e:%(edge_type)s]->(b)
651
+ SET e = edge.properties
652
+ """ % {"edge_type": edge_type}
653
+ rprint(f"Loading {len(edge_dicts)} {edge_type} edges...", end="")
654
+ await db.execute_query(query=edges_import_query, params={"edges": edge_dicts})
655
+ rprint("done")
656
+
657
+
658
+ async def load_export(db: InfrahubDatabase, export_dir: Path, query_limit: int = 1000) -> None:
659
+ if not export_dir.exists():
660
+ rprint(f"{ERROR_BADGE} {export_dir} does not exist")
661
+ raise typer.Exit(1)
662
+ if not export_dir.is_dir():
663
+ rprint(f"{ERROR_BADGE} {export_dir} is not a directory")
664
+ raise typer.Exit(1)
665
+ vertex_file: Path | None = None
666
+ edge_file: Path | None = None
667
+
668
+ for export_file in export_dir.glob("*.csv"):
669
+ if export_file.name == "vertices.csv":
670
+ vertex_file = export_file
671
+ elif export_file.name == "edges.csv":
672
+ edge_file = export_file
673
+ if not vertex_file or not vertex_file.exists() or not vertex_file.is_file():
674
+ rprint(f"{ERROR_BADGE} File 'vertices.csv' does not exist in the export directory")
675
+ raise typer.Exit(1)
676
+ if not edge_file or not edge_file.exists() or not edge_file.is_file():
677
+ rprint(f"{ERROR_BADGE} File 'edges.csv' does not exist in the export directory")
678
+ raise typer.Exit(1)
679
+
680
+ # index massively improves time required to load a large export
681
+ create_index_query = "CREATE RANGE INDEX import_node_db_id IF NOT EXISTS FOR (v:ImportNode) ON (v.db_id)"
682
+ await db.execute_query(query=create_index_query)
683
+
684
+ rprint("Loading vertices...")
685
+ vertices_by_labels_map: dict[frozenset[str], list[dict[str, Any]]] = defaultdict(list)
686
+ with vertex_file.open() as file:
687
+ csv_reader = DictReader(file)
688
+ for vertex_row in csv_reader:
689
+ labels = frozenset(ujson.loads(vertex_row["labels"]))
690
+ cleaned_row = {k: v for k, v in vertex_row.items() if k != "labels" and v}
691
+ vertices_by_labels_map[labels].append(cleaned_row)
692
+ # once a group of vertices meets the query_limit, save them to the database and delete them from memory
693
+ if len(vertices_by_labels_map[labels]) >= query_limit:
694
+ await load_vertices(db=db, vertex_labels=list(labels), vertex_dicts=vertices_by_labels_map[labels])
695
+ vertices_by_labels_map[labels] = []
696
+
697
+ for labels, vertex_rows in vertices_by_labels_map.items():
698
+ await load_vertices(db=db, vertex_labels=list(labels), vertex_dicts=vertex_rows)
699
+ rprint("Vertices loaded")
700
+
701
+ rprint("Loading edges...")
702
+ edges_by_type_map: dict[str, list[dict[str, Any]]] = defaultdict(list)
703
+ with edge_file.open() as file:
704
+ csv_reader = DictReader(file)
705
+ for edge_row in csv_reader:
706
+ edge_type = edge_row["edge_type"]
707
+
708
+ edge_properties = {}
709
+ edge_dict = {}
710
+ for k, v in edge_row.items():
711
+ if k == "edge_type" or not v:
712
+ continue
713
+ if k in ["start_node_id", "end_node_id"]:
714
+ edge_dict[k] = v
715
+ else:
716
+ edge_properties[k] = v
717
+ edge_dict["properties"] = edge_properties
718
+ edges_by_type_map[edge_type].append(edge_dict)
719
+ # once a group of edges meets the query_limit, save them to the database and delete them from memory
720
+ if len(edges_by_type_map[edge_type]) >= query_limit:
721
+ await load_edges(db=db, edge_type=edge_type, edge_dicts=edges_by_type_map[edge_type])
722
+ edges_by_type_map[edge_type] = []
723
+
724
+ for edge_type, edge_dicts in edges_by_type_map.items():
725
+ await load_edges(db=db, edge_type=edge_type, edge_dicts=edge_dicts)
726
+ rprint("Edges loaded")
727
+ rprint(f"{SUCCESS_BADGE} Export loaded")
@@ -18,6 +18,7 @@ from infrahub.core.diff.coordinator import DiffCoordinator
18
18
  from infrahub.core.diff.ipam_diff_parser import IpamDiffParser
19
19
  from infrahub.core.diff.merger.merger import DiffMerger
20
20
  from infrahub.core.diff.model.path import BranchTrackingId, EnrichedDiffRoot, EnrichedDiffRootMetadata
21
+ from infrahub.core.diff.models import RequestDiffUpdate
21
22
  from infrahub.core.diff.repository.repository import DiffRepository
22
23
  from infrahub.core.merge import BranchMerger
23
24
  from infrahub.core.migrations.schema.models import SchemaApplyMigrationData
@@ -32,15 +33,16 @@ from infrahub.events.models import EventMeta, InfrahubEvent
32
33
  from infrahub.events.node_action import get_node_event
33
34
  from infrahub.exceptions import BranchNotFoundError, MergeFailedError, ValidationError
34
35
  from infrahub.graphql.mutations.models import BranchCreateModel # noqa: TC001
35
- from infrahub.log import get_log_data
36
- from infrahub.message_bus import Meta, messages
37
36
  from infrahub.services import InfrahubServices # noqa: TC001 needed for prefect flow
38
- from infrahub.worker import WORKER_IDENTITY
39
37
  from infrahub.workflows.catalogue import (
40
38
  BRANCH_CANCEL_PROPOSED_CHANGES,
39
+ BRANCH_MERGE_POST_PROCESS,
41
40
  DIFF_REFRESH_ALL,
41
+ DIFF_UPDATE,
42
42
  GIT_REPOSITORIES_CREATE_BRANCH,
43
43
  IPAM_RECONCILIATION,
44
+ TRIGGER_ARTIFACT_DEFINITION_GENERATE,
45
+ TRIGGER_GENERATOR_DEFINITION_RUN,
44
46
  )
45
47
  from infrahub.workflows.utils import add_tags
46
48
 
@@ -271,15 +273,11 @@ async def merge_branch(
271
273
  # NOTE: we still need to convert this event and potentially pull
272
274
  # some tasks currently executed based on the event into this workflow
273
275
  # -------------------------------------------------------------
274
- log_data = get_log_data()
275
- request_id = log_data.get("request_id", "")
276
- message = messages.EventBranchMerge(
277
- source_branch=obj.name,
278
- target_branch=registry.default_branch,
276
+ await service.workflow.submit_workflow(
277
+ workflow=BRANCH_MERGE_POST_PROCESS,
279
278
  context=context,
280
- meta=Meta(initiator_id=WORKER_IDENTITY, request_id=request_id),
279
+ parameters={"source_branch": obj.name, "target_branch": registry.default_branch},
281
280
  )
282
- await service.message_bus.send(message=message)
283
281
 
284
282
  events: list[InfrahubEvent] = [merge_event]
285
283
 
@@ -412,3 +410,45 @@ async def _get_diff_root(
412
410
  )
413
411
 
414
412
  return default_branch_diff
413
+
414
+
415
+ @flow(
416
+ name="branch-merge-post-process",
417
+ flow_run_name="Run additional tasks after merging {source_branch} in {target_branch}",
418
+ )
419
+ async def post_process_branch_merge(
420
+ source_branch: str, target_branch: str, context: InfrahubContext, service: InfrahubServices
421
+ ) -> None:
422
+ async with service.database.start_session() as db:
423
+ await add_tags(branches=[source_branch])
424
+ log = get_run_logger()
425
+ log.info(f"Running additional tasks after merging {source_branch} within {target_branch}")
426
+
427
+ component_registry = get_component_registry()
428
+ default_branch = registry.get_branch_from_registry()
429
+ diff_repository = await component_registry.get_component(DiffRepository, db=db, branch=default_branch)
430
+ # send diff update requests for every branch-tracking diff
431
+ branch_diff_roots = await diff_repository.get_roots_metadata(base_branch_names=[target_branch])
432
+
433
+ await service.workflow.submit_workflow(
434
+ workflow=TRIGGER_ARTIFACT_DEFINITION_GENERATE,
435
+ context=context,
436
+ parameters={"branch": target_branch},
437
+ )
438
+
439
+ await service.workflow.submit_workflow(
440
+ workflow=TRIGGER_GENERATOR_DEFINITION_RUN,
441
+ context=context,
442
+ parameters={"branch": target_branch},
443
+ )
444
+
445
+ for diff_root in branch_diff_roots:
446
+ if (
447
+ diff_root.base_branch_name != diff_root.diff_branch_name
448
+ and diff_root.tracking_id
449
+ and isinstance(diff_root.tracking_id, BranchTrackingId)
450
+ ):
451
+ request_diff_update_model = RequestDiffUpdate(branch_name=diff_root.diff_branch_name)
452
+ await service.workflow.submit_workflow(
453
+ workflow=DIFF_UPDATE, context=context, parameters={"model": request_diff_update_model}
454
+ )
@@ -0,0 +1 @@
1
+ GRAPH_VERSION = 26
@@ -803,8 +803,21 @@ class NodeManager:
803
803
 
804
804
  hfid_str = " :: ".join(hfid)
805
805
 
806
- if not node_schema.human_friendly_id or len(node_schema.human_friendly_id) != len(hfid):
807
- raise NodeNotFoundError(branch_name=branch.name, node_type=kind_str, identifier=hfid_str)
806
+ if not node_schema.human_friendly_id:
807
+ raise NodeNotFoundError(
808
+ branch_name=branch.name,
809
+ node_type=kind_str,
810
+ identifier=hfid_str,
811
+ message=f"Unable to lookup node by HFID, schema '{node_schema.kind}' does not have a HFID defined.",
812
+ )
813
+
814
+ if len(node_schema.human_friendly_id) != len(hfid):
815
+ raise NodeNotFoundError(
816
+ branch_name=branch.name,
817
+ node_type=kind_str,
818
+ identifier=hfid_str,
819
+ message=f"Unable to lookup node by HFID, schema '{node_schema.kind}' HFID does not contain the same number of elements as {hfid}",
820
+ )
808
821
 
809
822
  filters = {}
810
823
  for key, item in zip(node_schema.human_friendly_id, hfid, strict=False):
@@ -27,6 +27,7 @@ from .m022_add_generate_template_attr import Migration022
27
27
  from .m023_deduplicate_cardinality_one_relationships import Migration023
28
28
  from .m024_missing_hierarchy_backfill import Migration024
29
29
  from .m025_uniqueness_nulls import Migration025
30
+ from .m026_0000_prefix_fix import Migration026
30
31
 
31
32
  if TYPE_CHECKING:
32
33
  from infrahub.core.root import Root
@@ -59,6 +60,7 @@ MIGRATIONS: list[type[GraphMigration | InternalSchemaMigration | ArbitraryMigrat
59
60
  Migration023,
60
61
  Migration024,
61
62
  Migration025,
63
+ Migration026,
62
64
  ]
63
65
 
64
66
 
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+
3
+ import ipaddress
4
+ from typing import TYPE_CHECKING, Sequence
5
+
6
+ from infrahub.core.branch.models import Branch
7
+ from infrahub.core.initialization import initialization
8
+ from infrahub.core.ipam.reconciler import IpamReconciler
9
+ from infrahub.core.manager import NodeManager
10
+ from infrahub.core.migrations.shared import MigrationResult
11
+ from infrahub.core.timestamp import Timestamp
12
+ from infrahub.lock import initialize_lock
13
+ from infrahub.log import get_logger
14
+
15
+ from ..shared import InternalSchemaMigration, SchemaMigration
16
+
17
+ if TYPE_CHECKING:
18
+ from infrahub.database import InfrahubDatabase
19
+
20
+ log = get_logger()
21
+
22
+
23
+ class Migration026(InternalSchemaMigration):
24
+ name: str = "026_prefix_0000_fix"
25
+ minimum_version: int = 25
26
+ migrations: Sequence[SchemaMigration] = []
27
+
28
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
29
+ return MigrationResult()
30
+
31
+ async def execute(self, db: InfrahubDatabase) -> MigrationResult:
32
+ # load schemas from database into registry
33
+ initialize_lock()
34
+ await initialization(db=db)
35
+
36
+ at = Timestamp()
37
+ for branch in await Branch.get_list(db=db):
38
+ prefix_0000s = await NodeManager.query(
39
+ db=db, schema="BuiltinIPPrefix", branch=branch, filters={"prefix__values": ["0.0.0.0/0", "::/0"]}
40
+ )
41
+ if not prefix_0000s:
42
+ continue
43
+ ipam_reconciler = IpamReconciler(db=db, branch=branch)
44
+ for prefix in prefix_0000s:
45
+ ip_namespace = await prefix.ip_namespace.get_peer(db=db)
46
+ ip_network = ipaddress.ip_network(prefix.prefix.value)
47
+ await ipam_reconciler.reconcile(
48
+ ip_value=ip_network,
49
+ namespace=ip_namespace,
50
+ node_uuid=prefix.get_id(),
51
+ at=at,
52
+ )
53
+
54
+ return MigrationResult()
@@ -259,7 +259,10 @@ class Node(BaseNode, metaclass=BaseNodeMeta):
259
259
  )
260
260
  return
261
261
 
262
- if number_pool.node.value == self._schema.kind and number_pool.node_attribute.value == attribute.name:
262
+ if (
263
+ number_pool.node.value in [self._schema.kind] + self._schema.inherit_from
264
+ and number_pool.node_attribute.value == attribute.name
265
+ ):
263
266
  try:
264
267
  next_free = await number_pool.get_resource(db=db, branch=self._branch, node=self)
265
268
  except PoolExhaustedError:
@@ -50,7 +50,7 @@ class CoreNumberPool(Node):
50
50
  taken=taken,
51
51
  )
52
52
  if next_number is None:
53
- raise PoolExhaustedError("There are no more addresses available in this pool.")
53
+ raise PoolExhaustedError("There are no more values available in this pool.")
54
54
 
55
55
  return next_number
56
56
 
@@ -222,7 +222,7 @@ class Registry:
222
222
 
223
223
  async def purge_inactive_branches(
224
224
  self, db: InfrahubDatabase, active_branches: list[Branch] | None = None
225
- ) -> list[str]:
225
+ ) -> set[str]:
226
226
  """Return a list of branches that were purged from the registry."""
227
227
  active_branches = active_branches or await self.branch_object.get_list(db=db)
228
228
  active_branch_names = [branch.name for branch in active_branches]
@@ -235,8 +235,7 @@ class Registry:
235
235
 
236
236
  purged_branches.update(self.schema.purge_inactive_branches(active_branches=active_branch_names))
237
237
  purged_branches.update(db.purge_inactive_schemas(active_branches=active_branch_names))
238
-
239
- return sorted(purged_branches)
238
+ return purged_branches
240
239
 
241
240
 
242
241
  registry = Registry()
@@ -155,7 +155,6 @@ class SchemaManager(NodeManager):
155
155
 
156
156
  updated_schema = None
157
157
  if update_db:
158
- schema_diff = None
159
158
  if diff:
160
159
  schema_diff = await self.update_schema_to_db(schema=schema, db=db, branch=branch, diff=diff)
161
160
  else: