infrahub-server 1.4.12__tar.gz → 1.4.13__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 (837) hide show
  1. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/PKG-INFO +1 -1
  2. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/tasks.py +46 -0
  3. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/calculator.py +2 -2
  4. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/delete_query.py +9 -5
  5. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/merge.py +39 -23
  6. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/__init__.py +2 -0
  7. infrahub_server-1.4.13/backend/infrahub/core/migrations/graph/m041_deleted_dup_edges.py +149 -0
  8. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/diff.py +61 -16
  9. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/node.py +35 -33
  10. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/base.py +4 -1
  11. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/tasks.py +52 -2
  12. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/analyzer.py +9 -0
  13. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/types.py +1 -0
  14. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/tasks.py +43 -9
  15. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/http/__init__.py +5 -0
  16. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/workflow/worker.py +9 -1
  17. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/task_manager/task.py +73 -0
  18. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workers/infrahub_async.py +5 -1
  19. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/utils.py +2 -1
  20. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/pyproject.toml +1 -1
  21. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/LICENSE.txt +0 -0
  22. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/README.md +0 -0
  23. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/__init__.py +0 -0
  24. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/__init__.py +0 -0
  25. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/constants.py +0 -0
  26. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/gather.py +0 -0
  27. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/models.py +0 -0
  28. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/parsers.py +0 -0
  29. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/schema.py +0 -0
  30. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/tasks.py +0 -0
  31. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/actions/triggers.py +0 -0
  32. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/__init__.py +0 -0
  33. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/artifact.py +0 -0
  34. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/auth.py +0 -0
  35. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/dependencies.py +0 -0
  36. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/diff/__init__.py +0 -0
  37. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/diff/diff.py +0 -0
  38. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/diff/validation_models.py +0 -0
  39. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/exception_handlers.py +0 -0
  40. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/exceptions.py +0 -0
  41. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/file.py +0 -0
  42. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/internal.py +0 -0
  43. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/menu.py +0 -0
  44. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/oauth2.py +0 -0
  45. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/oidc.py +0 -0
  46. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/query.py +0 -0
  47. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/schema.py +0 -0
  48. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  49. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  50. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/static/swagger-ui.css +0 -0
  51. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/storage.py +0 -0
  52. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/api/transformation.py +0 -0
  53. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/artifacts/__init__.py +0 -0
  54. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/artifacts/models.py +0 -0
  55. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/artifacts/tasks.py +0 -0
  56. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/auth.py +0 -0
  57. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/branch/__init__.py +0 -0
  58. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/branch/merge_mutation_checker.py +0 -0
  59. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/branch/tasks.py +0 -0
  60. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/branch/triggers.py +0 -0
  61. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/__init__.py +0 -0
  62. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/constants.py +0 -0
  63. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/context.py +0 -0
  64. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/db.py +0 -0
  65. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/db_commands/__init__.py +0 -0
  66. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/db_commands/check_inheritance.py +0 -0
  67. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/db_commands/clean_duplicate_schema_fields.py +0 -0
  68. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/events.py +0 -0
  69. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/git_agent.py +0 -0
  70. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/patch.py +0 -0
  71. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/server.py +0 -0
  72. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/cli/upgrade.py +0 -0
  73. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/components.py +0 -0
  74. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/__init__.py +0 -0
  75. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/constants.py +0 -0
  76. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/gather.py +0 -0
  77. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/models.py +0 -0
  78. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/tasks.py +0 -0
  79. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/computed_attribute/triggers.py +0 -0
  80. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/config.py +0 -0
  81. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/constants/__init__.py +0 -0
  82. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/constants/database.py +0 -0
  83. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/constants/environment.py +0 -0
  84. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/context.py +0 -0
  85. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/__init__.py +0 -0
  86. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/account.py +0 -0
  87. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/attribute.py +0 -0
  88. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/branch/__init__.py +0 -0
  89. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/branch/enums.py +0 -0
  90. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/branch/models.py +0 -0
  91. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/branch/tasks.py +0 -0
  92. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/changelog/__init__.py +0 -0
  93. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/changelog/diff.py +0 -0
  94. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/changelog/models.py +0 -0
  95. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constants/__init__.py +0 -0
  96. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constants/database.py +0 -0
  97. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  98. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constants/relationship_label.py +0 -0
  99. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constants/schema.py +0 -0
  100. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constraint/__init__.py +0 -0
  101. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  102. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/constraint/node/runner.py +0 -0
  103. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/convert_object_type/__init__.py +0 -0
  104. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/convert_object_type/conversion.py +0 -0
  105. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/convert_object_type/schema_mapping.py +0 -0
  106. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/__init__.py +0 -0
  107. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  108. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  109. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/branch_differ.py +0 -0
  110. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/combiner.py +0 -0
  111. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  112. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  113. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  114. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/coordinator.py +0 -0
  115. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  116. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/diff_locker.py +0 -0
  117. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  118. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  119. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  120. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  121. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  122. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  123. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  124. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  125. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/exceptions.py +0 -0
  126. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  127. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  128. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/merger/merger.py +0 -0
  129. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/merger/model.py +0 -0
  130. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  131. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/model/__init__.py +0 -0
  132. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/model/diff.py +0 -0
  133. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/model/field_specifiers_map.py +0 -0
  134. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/model/path.py +0 -0
  135. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/models.py +0 -0
  136. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  137. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/payload_builder.py +0 -0
  138. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/__init__.py +0 -0
  139. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  140. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/artifact.py +0 -0
  141. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  142. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  143. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/drop_nodes.py +0 -0
  144. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  145. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  146. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/filters.py +0 -0
  147. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  148. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  149. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  150. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  151. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/save.py +0 -0
  152. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  153. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  154. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  155. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/query_parser.py +0 -0
  156. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  157. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  158. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/repository/repository.py +0 -0
  159. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/diff/tasks.py +0 -0
  160. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/enums.py +0 -0
  161. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/graph/__init__.py +0 -0
  162. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/graph/constraints.py +0 -0
  163. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/graph/index.py +0 -0
  164. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/graph/schema.py +0 -0
  165. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/initialization.py +0 -0
  166. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/integrity/__init__.py +0 -0
  167. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  168. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  169. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/__init__.py +0 -0
  170. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/constants.py +0 -0
  171. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  172. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/model.py +0 -0
  173. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/reconciler.py +0 -0
  174. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/size.py +0 -0
  175. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/tasks.py +0 -0
  176. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/ipam/utilization.py +0 -0
  177. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/manager.py +0 -0
  178. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/merge.py +0 -0
  179. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/__init__.py +0 -0
  180. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  181. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  182. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  183. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  184. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  185. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  186. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  187. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  188. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  189. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  190. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  191. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  192. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  193. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  194. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  195. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  196. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  197. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  198. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  199. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  200. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  201. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  202. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  203. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  204. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  205. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  206. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +0 -0
  207. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +0 -0
  208. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m029_duplicates_cleanup.py +0 -0
  209. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m030_illegal_edges.py +0 -0
  210. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m031_check_number_attributes.py +0 -0
  211. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py +0 -0
  212. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py +0 -0
  213. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m034_find_orphaned_schema_fields.py +0 -0
  214. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m035_orphan_relationships.py +0 -0
  215. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m036_drop_attr_value_index.py +0 -0
  216. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m037_index_attr_vals.py +0 -0
  217. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m038_redo_0000_prefix_fix.py +0 -0
  218. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m039_ipam_reconcile.py +0 -0
  219. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/graph/m040_duplicated_attributes.py +0 -0
  220. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  221. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  222. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  223. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  224. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  225. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  226. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  227. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  228. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/attribute_kind_update.py +0 -0
  229. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  230. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/models.py +0 -0
  231. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  232. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  233. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  234. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  235. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  236. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  237. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/migrations/shared.py +0 -0
  238. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/models.py +0 -0
  239. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/__init__.py +0 -0
  240. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/base.py +0 -0
  241. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  242. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  243. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  244. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/constraints/interface.py +0 -0
  245. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/create.py +0 -0
  246. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/delete_validator.py +0 -0
  247. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/ipam.py +0 -0
  248. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/permissions.py +0 -0
  249. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/proposed_change.py +0 -0
  250. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  251. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  252. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  253. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  254. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/node/standard.py +0 -0
  255. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/path.py +0 -0
  256. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/property.py +0 -0
  257. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/protocols.py +0 -0
  258. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/protocols_base.py +0 -0
  259. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/__init__.py +0 -0
  260. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/attribute.py +0 -0
  261. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/branch.py +0 -0
  262. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/delete.py +0 -0
  263. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/ipam.py +0 -0
  264. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/relationship.py +0 -0
  265. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/resource_manager.py +0 -0
  266. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/standard_node.py +0 -0
  267. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/subquery.py +0 -0
  268. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/task.py +0 -0
  269. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/task_log.py +0 -0
  270. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/query/utils.py +0 -0
  271. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/registry.py +0 -0
  272. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/__init__.py +0 -0
  273. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  274. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  275. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  276. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  277. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/peer_parent.py +0 -0
  278. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/peer_relatives.py +0 -0
  279. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  280. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/relationship/model.py +0 -0
  281. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/root.py +0 -0
  282. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/__init__.py +0 -0
  283. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/attribute_parameters.py +0 -0
  284. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  285. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  286. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  287. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/constants.py +0 -0
  288. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  289. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  290. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  291. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  292. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  293. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  294. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  295. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  296. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  297. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  298. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  299. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  300. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  301. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  302. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  303. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  304. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  305. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  306. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  307. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  308. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  309. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  310. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  311. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  312. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  313. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/dropdown.py +0 -0
  314. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  315. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  316. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  317. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  318. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  319. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  320. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/generic_schema.py +0 -0
  321. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/manager.py +0 -0
  322. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/node_schema.py +0 -0
  323. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/profile_schema.py +0 -0
  324. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  325. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/schema_branch.py +0 -0
  326. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  327. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/schema/template_schema.py +0 -0
  328. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/task/__init__.py +0 -0
  329. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/task/task.py +0 -0
  330. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/task/task_log.py +0 -0
  331. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/task/user_task.py +0 -0
  332. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/timestamp.py +0 -0
  333. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/utils.py +0 -0
  334. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/__init__.py +0 -0
  335. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  336. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  337. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  338. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  339. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  340. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/length.py +0 -0
  341. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/min_max.py +0 -0
  342. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/number_pool.py +0 -0
  343. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  344. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  345. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  346. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/checks_runner.py +0 -0
  347. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/determiner.py +0 -0
  348. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/enum.py +0 -0
  349. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/interface.py +0 -0
  350. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/model.py +0 -0
  351. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/models/__init__.py +0 -0
  352. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  353. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/models/violation.py +0 -0
  354. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/__init__.py +0 -0
  355. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/attribute.py +0 -0
  356. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  357. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  358. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  359. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/node/relationship.py +0 -0
  360. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/query.py +0 -0
  361. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  362. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/relationship/count.py +0 -0
  363. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  364. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  365. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/shared.py +0 -0
  366. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/tasks.py +0 -0
  367. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  368. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  369. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  370. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  371. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  372. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/__init__.py +0 -0
  373. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/index.py +0 -0
  374. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/memgraph.py +0 -0
  375. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/metrics.py +0 -0
  376. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/neo4j.py +0 -0
  377. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/database/validation.py +0 -0
  378. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/__init__.py +0 -0
  379. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  380. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  381. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  382. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  383. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  384. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  385. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  386. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  387. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  388. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_parent.py +0 -0
  389. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_relatives.py +0 -0
  390. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  391. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  392. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  393. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  394. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  395. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  396. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  397. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  398. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  399. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  400. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  401. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  402. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  403. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  404. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  405. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  406. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/relationship_peer.py +0 -0
  407. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  408. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  409. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  410. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  411. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  412. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  413. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  414. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  415. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  416. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  417. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  418. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  419. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  420. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  421. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  422. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  423. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  424. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  425. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  426. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  427. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/locker.py +0 -0
  428. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  429. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  430. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  431. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  432. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  433. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  434. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/component/__init__.py +0 -0
  435. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  436. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/component/registry.py +0 -0
  437. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/interface.py +0 -0
  438. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/dependencies/registry.py +0 -0
  439. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/__init__.py +0 -0
  440. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/artifact_action.py +0 -0
  441. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/branch_action.py +0 -0
  442. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/constants.py +0 -0
  443. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/generator.py +0 -0
  444. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/group_action.py +0 -0
  445. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/models.py +0 -0
  446. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/node_action.py +0 -0
  447. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/proposed_change_action.py +0 -0
  448. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/repository_action.py +0 -0
  449. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/schema_action.py +0 -0
  450. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/utils.py +0 -0
  451. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/events/validator_action.py +0 -0
  452. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/exceptions.py +0 -0
  453. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/generators/__init__.py +0 -0
  454. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/generators/models.py +0 -0
  455. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/generators/tasks.py +0 -0
  456. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/__init__.py +0 -0
  457. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/constants.py +0 -0
  458. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/directory.py +0 -0
  459. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/integrator.py +0 -0
  460. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/models.py +0 -0
  461. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/repository.py +0 -0
  462. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/utils.py +0 -0
  463. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git/worktree.py +0 -0
  464. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git_credential/__init__.py +0 -0
  465. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git_credential/askpass.py +0 -0
  466. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/git_credential/helper.py +0 -0
  467. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/__init__.py +0 -0
  468. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/api/__init__.py +0 -0
  469. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/api/dependencies.py +0 -0
  470. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/api/endpoints.py +0 -0
  471. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/app.py +0 -0
  472. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/__init__.py +0 -0
  473. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  474. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  475. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  476. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  477. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  478. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  479. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  480. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  481. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/constants.py +0 -0
  482. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/context.py +0 -0
  483. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/directives.py +0 -0
  484. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/enums.py +0 -0
  485. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/field_extractor.py +0 -0
  486. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/initialization.py +0 -0
  487. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  488. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/loaders/node.py +0 -0
  489. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/loaders/peers.py +0 -0
  490. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/loaders/shared.py +0 -0
  491. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/manager.py +0 -0
  492. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/metrics.py +0 -0
  493. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/models.py +0 -0
  494. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  495. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/account.py +0 -0
  496. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/action.py +0 -0
  497. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  498. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  499. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/branch.py +0 -0
  500. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  501. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/convert_object_type.py +0 -0
  502. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/diff.py +0 -0
  503. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  504. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/generator.py +0 -0
  505. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  506. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  507. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/main.py +0 -0
  508. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/menu.py +0 -0
  509. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/models.py +0 -0
  510. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  511. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  512. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  513. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  514. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  515. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  516. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/relationship.py +0 -0
  517. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/repository.py +0 -0
  518. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  519. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/schema.py +0 -0
  520. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  521. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  522. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/parser.py +0 -0
  523. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/permissions.py +0 -0
  524. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/__init__.py +0 -0
  525. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/account.py +0 -0
  526. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/branch.py +0 -0
  527. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/convert_object_type_mapping.py +0 -0
  528. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  529. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  530. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/event.py +0 -0
  531. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/internal.py +0 -0
  532. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/ipam.py +0 -0
  533. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/proposed_change.py +0 -0
  534. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/relationship.py +0 -0
  535. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  536. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/search.py +0 -0
  537. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/status.py +0 -0
  538. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/queries/task.py +0 -0
  539. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  540. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/resolvers/ipam.py +0 -0
  541. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  542. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  543. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  544. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/schema.py +0 -0
  545. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  546. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/subscription/events.py +0 -0
  547. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  548. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/__init__.py +0 -0
  549. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/attribute.py +0 -0
  550. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/branch.py +0 -0
  551. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/common.py +0 -0
  552. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/context.py +0 -0
  553. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/enums.py +0 -0
  554. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/event.py +0 -0
  555. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/interface.py +0 -0
  556. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/node.py +0 -0
  557. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/permission.py +0 -0
  558. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/relationship.py +0 -0
  559. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/standard_node.py +0 -0
  560. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/task.py +0 -0
  561. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/types/task_log.py +0 -0
  562. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/graphql/utils.py +0 -0
  563. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/groups/__init__.py +0 -0
  564. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/groups/ancestors.py +0 -0
  565. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/groups/models.py +0 -0
  566. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/groups/parsers.py +0 -0
  567. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/groups/tasks.py +0 -0
  568. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/helpers.py +0 -0
  569. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/lock.py +0 -0
  570. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/log.py +0 -0
  571. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/__init__.py +0 -0
  572. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/constants.py +0 -0
  573. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/generator.py +0 -0
  574. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/menu.py +0 -0
  575. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/models.py +0 -0
  576. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/repository.py +0 -0
  577. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/menu/utils.py +0 -0
  578. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/__init__.py +0 -0
  579. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  580. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  581. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  582. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  583. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  584. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  585. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  586. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  587. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  588. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  589. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  590. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  591. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  592. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  593. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  594. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/middleware.py +0 -0
  595. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/models.py +0 -0
  596. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/__init__.py +0 -0
  597. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/constants.py +0 -0
  598. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/edge_adder.py +0 -0
  599. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/edge_deleter.py +0 -0
  600. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/edge_updater.py +0 -0
  601. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/models.py +0 -0
  602. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/plan_reader.py +0 -0
  603. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/plan_writer.py +0 -0
  604. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/queries/__init__.py +0 -0
  605. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/queries/base.py +0 -0
  606. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  607. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/runner.py +0 -0
  608. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/vertex_adder.py +0 -0
  609. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/vertex_deleter.py +0 -0
  610. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/patch/vertex_updater.py +0 -0
  611. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/__init__.py +0 -0
  612. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/backend.py +0 -0
  613. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/constants.py +0 -0
  614. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/globals.py +0 -0
  615. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/local_backend.py +0 -0
  616. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/manager.py +0 -0
  617. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/report.py +0 -0
  618. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/permissions/types.py +0 -0
  619. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/__init__.py +0 -0
  620. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/address.py +0 -0
  621. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/models.py +0 -0
  622. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/number.py +0 -0
  623. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/prefix.py +0 -0
  624. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/registration.py +0 -0
  625. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pools/tasks.py +0 -0
  626. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/__init__.py +0 -0
  627. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/app.py +0 -0
  628. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/bootstrap.py +0 -0
  629. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/database.py +0 -0
  630. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/events.py +0 -0
  631. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/prefect_server/models.py +0 -0
  632. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/__init__.py +0 -0
  633. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/action_checker.py +0 -0
  634. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/approval_revoker.py +0 -0
  635. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  636. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/checker.py +0 -0
  637. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/constants.py +0 -0
  638. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/proposed_change/models.py +0 -0
  639. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/py.typed +0 -0
  640. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/pytest_plugin.py +0 -0
  641. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/schema/__init__.py +0 -0
  642. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/schema/tasks.py +0 -0
  643. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/schema/triggers.py +0 -0
  644. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/serve/__init__.py +0 -0
  645. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/serve/gunicorn_config.py +0 -0
  646. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/serve/log.py +0 -0
  647. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/serve/worker.py +0 -0
  648. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/server.py +0 -0
  649. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/__init__.py +0 -0
  650. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/__init__.py +0 -0
  651. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  652. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  653. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  654. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  655. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  656. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  657. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  658. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  659. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  660. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  661. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  662. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/component.py +0 -0
  663. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/protocols.py +0 -0
  664. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/services/scheduler.py +0 -0
  665. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/storage.py +0 -0
  666. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/task_manager/__init__.py +0 -0
  667. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/task_manager/constants.py +0 -0
  668. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/task_manager/event.py +0 -0
  669. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/task_manager/models.py +0 -0
  670. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/__init__.py +0 -0
  671. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/artifact.py +0 -0
  672. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/check.py +0 -0
  673. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/dummy.py +0 -0
  674. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/keepalive.py +0 -0
  675. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/recurring.py +0 -0
  676. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/tasks/registry.py +0 -0
  677. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/__init__.py +0 -0
  678. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/constants.py +0 -0
  679. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/database.py +0 -0
  680. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/models.py +0 -0
  681. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/task_manager.py +0 -0
  682. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/tasks.py +0 -0
  683. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/telemetry/utils.py +0 -0
  684. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trace.py +0 -0
  685. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/transformations/__init__.py +0 -0
  686. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/transformations/constants.py +0 -0
  687. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/transformations/models.py +0 -0
  688. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/transformations/tasks.py +0 -0
  689. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/__init__.py +0 -0
  690. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/catalogue.py +0 -0
  691. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/constants.py +0 -0
  692. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/models.py +0 -0
  693. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/setup.py +0 -0
  694. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/trigger/tasks.py +0 -0
  695. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/types.py +0 -0
  696. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/utils.py +0 -0
  697. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/validators/__init__.py +0 -0
  698. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/validators/events.py +0 -0
  699. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/validators/tasks.py +0 -0
  700. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/visuals.py +0 -0
  701. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/webhook/__init__.py +0 -0
  702. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/webhook/gather.py +0 -0
  703. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/webhook/models.py +0 -0
  704. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/webhook/tasks.py +0 -0
  705. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/webhook/triggers.py +0 -0
  706. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/worker.py +0 -0
  707. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workers/__init__.py +0 -0
  708. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workers/dependencies.py +0 -0
  709. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workers/utils.py +0 -0
  710. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/__init__.py +0 -0
  711. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/catalogue.py +0 -0
  712. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/constants.py +0 -0
  713. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/initialization.py +0 -0
  714. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/backend/infrahub/workflows/models.py +0 -0
  715. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/__init__.py +0 -0
  716. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/_importer.py +0 -0
  717. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  718. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  719. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/batch.py +0 -0
  720. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/branch.py +0 -0
  721. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/checks.py +0 -0
  722. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/client.py +0 -0
  723. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/config.py +0 -0
  724. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/constants.py +0 -0
  725. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/context.py +0 -0
  726. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  727. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  728. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  729. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  730. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  731. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  732. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  733. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  734. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  735. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  736. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  737. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  738. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  739. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  740. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  741. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  742. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  743. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  744. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  745. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  746. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/data.py +0 -0
  747. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/diff.py +0 -0
  748. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  749. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/generator.py +0 -0
  750. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/graphql.py +0 -0
  751. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/groups.py +0 -0
  752. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  753. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/__init__.py +0 -0
  754. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/attribute.py +0 -0
  755. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/constants.py +0 -0
  756. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/node.py +0 -0
  757. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/parsers.py +0 -0
  758. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/property.py +0 -0
  759. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/related_node.py +0 -0
  760. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/node/relationship.py +0 -0
  761. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/object_store.py +0 -0
  762. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/operation.py +0 -0
  763. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/playback.py +0 -0
  764. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols.py +0 -0
  765. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  766. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols_generator/__init__.py +0 -0
  767. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols_generator/constants.py +0 -0
  768. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  769. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  770. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  771. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  772. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  773. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  774. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  775. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  776. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  777. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  778. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  779. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  780. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  781. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  782. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/queries.py +0 -0
  783. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  784. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/recorder.py +0 -0
  785. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/repository.py +0 -0
  786. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  787. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  788. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  789. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  790. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  791. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  792. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/store.py +0 -0
  793. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  794. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  795. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  796. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  797. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/task/models.py +0 -0
  798. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  799. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  800. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  801. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/template/models.py +0 -0
  802. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  803. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  804. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  805. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  806. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  807. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  808. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  809. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  810. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  811. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  812. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  813. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  814. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  815. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  816. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  817. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  818. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  819. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  820. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/transforms.py +0 -0
  821. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/types.py +0 -0
  822. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/utils.py +0 -0
  823. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  824. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_sdk/infrahub_sdk/yaml.py +0 -0
  825. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  826. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  827. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  828. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/docker-compose-cluster.test.yml +0 -0
  829. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +0 -0
  830. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  831. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  832. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  833. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  834. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  835. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/performance_test.py +0 -0
  836. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  837. {infrahub_server-1.4.12 → infrahub_server-1.4.13}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.4.12
3
+ Version: 1.4.13
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  License: Apache-2.0
6
6
  Author: OpsMill
@@ -3,9 +3,11 @@ import logging
3
3
  import typer
4
4
  from infrahub_sdk.async_typer import AsyncTyper
5
5
  from prefect.client.orchestration import get_client
6
+ from prefect.client.schemas.objects import StateType
6
7
 
7
8
  from infrahub import config
8
9
  from infrahub.services.adapters.workflow.worker import WorkflowWorkerExecution
10
+ from infrahub.task_manager.task import PrefectTask
9
11
  from infrahub.tasks.dummy import DUMMY_FLOW, DummyInput
10
12
  from infrahub.workflows.initialization import setup_task_manager
11
13
  from infrahub.workflows.models import WorkerPoolDefinition
@@ -50,3 +52,47 @@ async def execute(
50
52
  workflow=DUMMY_FLOW, parameters={"data": DummyInput(firstname="John", lastname="Doe")}
51
53
  ) # type: ignore[var-annotated]
52
54
  print(result)
55
+
56
+
57
+ flush_app = AsyncTyper()
58
+
59
+ app.add_typer(flush_app, name="flush")
60
+
61
+
62
+ @flush_app.command()
63
+ async def flow_runs(
64
+ ctx: typer.Context, # noqa: ARG001
65
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
66
+ days_to_keep: int = 30,
67
+ batch_size: int = 100,
68
+ ) -> None:
69
+ """Flush old task runs"""
70
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
71
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
72
+ logging.getLogger("prefect").setLevel(logging.ERROR)
73
+
74
+ config.load_and_exit(config_file_name=config_file)
75
+
76
+ await PrefectTask.delete_flow_runs(
77
+ days_to_keep=days_to_keep,
78
+ batch_size=batch_size,
79
+ )
80
+
81
+
82
+ @flush_app.command()
83
+ async def stale_runs(
84
+ ctx: typer.Context, # noqa: ARG001
85
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
86
+ days_to_keep: int = 2,
87
+ batch_size: int = 100,
88
+ ) -> None:
89
+ """Flush stale task runs"""
90
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
91
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
92
+ logging.getLogger("prefect").setLevel(logging.ERROR)
93
+
94
+ config.load_and_exit(config_file_name=config_file)
95
+
96
+ await PrefectTask.delete_flow_runs(
97
+ states=[StateType.RUNNING], delete=False, days_to_keep=days_to_keep, batch_size=batch_size
98
+ )
@@ -141,8 +141,8 @@ class DiffCalculator:
141
141
  to_time=to_time,
142
142
  previous_node_field_specifiers=previous_node_specifiers,
143
143
  )
144
- node_limit = int(config.SETTINGS.database.query_size_limit / 10)
145
- fields_limit = int(config.SETTINGS.database.query_size_limit / 3)
144
+ node_limit = max(int(config.SETTINGS.database.query_size_limit / 10), 1)
145
+ fields_limit = max(int(config.SETTINGS.database.query_size_limit / 3), 1)
146
146
  properties_limit = config.SETTINGS.database.query_size_limit
147
147
 
148
148
  calculation_request = DiffCalculationRequest(
@@ -20,10 +20,14 @@ class EnrichedDiffDeleteQuery(Query):
20
20
  diff_filter = "WHERE d_root.uuid IN $diff_root_uuids"
21
21
 
22
22
  query = """
23
- MATCH (d_root:DiffRoot)
24
- %(diff_filter)s
25
- OPTIONAL MATCH (d_root)-[*]->(diff_thing)
26
- DETACH DELETE diff_thing
27
- DETACH DELETE d_root
23
+ MATCH (d_root:DiffRoot)
24
+ %(diff_filter)s
25
+ OPTIONAL MATCH (d_root)-[*]->(diff_thing)
26
+ WITH DISTINCT d_root, diff_thing
27
+ ORDER BY elementId(diff_thing)
28
+ CALL (diff_thing) {
29
+ DETACH DELETE diff_thing
30
+ } IN TRANSACTIONS
31
+ DETACH DELETE d_root
28
32
  """ % {"diff_filter": diff_filter}
29
33
  self.add_to_query(query=query)
@@ -49,11 +49,18 @@ WITH node_diff_map, is_node_kind_migration, CASE
49
49
  WHEN is_node_kind_migration THEN $migrated_kinds_id_map[node_diff_map.uuid]
50
50
  ELSE NULL
51
51
  END AS node_db_id
52
+
53
+ // ------------------------------
54
+ // find the correct Node if the Node had its kind/inheritance migrated
55
+ // and there are multiple Nodes with the same UUID
56
+ // ------------------------------
52
57
  CALL (node_diff_map, node_db_id) {
53
- MATCH (n:Node {uuid: node_diff_map.uuid})
54
- WHERE node_db_id IS NULL
55
- OR %(id_func)s(n) = node_db_id
58
+ MATCH (n:Node {uuid: node_diff_map.uuid})-[n_is_part_of:IS_PART_OF]->(:Root)
59
+ WHERE node_db_id IS NULL OR %(id_func)s(n) = node_db_id
60
+ AND n_is_part_of.branch IN [$source_branch, $target_branch]
56
61
  RETURN n
62
+ ORDER BY n_is_part_of.branch_level DESC, n_is_part_of.from DESC, n_is_part_of.status ASC
63
+ LIMIT 1
57
64
  }
58
65
  WITH n, node_diff_map, is_node_kind_migration
59
66
  CALL (n, node_diff_map, is_node_kind_migration) {
@@ -224,16 +231,28 @@ CALL (n, node_diff_map, is_node_kind_migration) {
224
231
  ELSE NULL
225
232
  END AS rel_peer_db_id
226
233
  // ------------------------------
234
+ // find the correct relationship peer if the peer had its kind/inheritance migrated
235
+ // and there are multiple Nodes with the same UUID
236
+ // ------------------------------
237
+ CALL (rel_peer_id, rel_peer_db_id) {
238
+ MATCH (rel_peer:Node {uuid: rel_peer_id})-[target_is_part_of:IS_PART_OF]->(:Root)
239
+ WHERE (rel_peer_db_id IS NULL OR %(id_func)s(rel_peer) = rel_peer_db_id)
240
+ AND target_is_part_of.branch IN [$source_branch, $target_branch]
241
+ RETURN rel_peer
242
+ ORDER BY target_is_part_of.branch_level DESC, target_is_part_of.from DESC, target_is_part_of.status ASC
243
+ LIMIT 1
244
+ }
245
+ WITH rel_name, related_rel_status, rel_peer
246
+ // ------------------------------
227
247
  // determine the directions of each IS_RELATED
228
248
  // ------------------------------
229
- CALL (n, rel_name, rel_peer_id, rel_peer_db_id, related_rel_status) {
249
+ CALL (n, rel_name, rel_peer, related_rel_status) {
230
250
  MATCH (n)
231
251
  -[source_r_rel_1:IS_RELATED]
232
252
  -(r:Relationship {name: rel_name})
233
253
  -[source_r_rel_2:IS_RELATED]
234
- -(rel_peer:Node {uuid: rel_peer_id})
235
- WHERE (rel_peer_db_id IS NULL OR %(id_func)s(rel_peer) = rel_peer_db_id)
236
- AND source_r_rel_1.branch IN [$source_branch, $target_branch]
254
+ -(rel_peer)
255
+ WHERE source_r_rel_1.branch IN [$source_branch, $target_branch]
237
256
  AND source_r_rel_2.branch IN [$source_branch, $target_branch]
238
257
  AND source_r_rel_1.from <= $at AND source_r_rel_1.to IS NULL
239
258
  AND source_r_rel_2.from <= $at AND source_r_rel_2.to IS NULL
@@ -251,37 +270,34 @@ CALL (n, node_diff_map, is_node_kind_migration) {
251
270
  source_r_rel_1.hierarchy AS r1_hierarchy,
252
271
  source_r_rel_2.hierarchy AS r2_hierarchy
253
272
  }
254
- WITH n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer_id, rel_peer_db_id, related_rel_status
255
- CALL (n, rel_name, rel_peer_id, rel_peer_db_id, related_rel_status) {
273
+ WITH n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer, related_rel_status
274
+ CALL (n, rel_name, rel_peer, related_rel_status) {
256
275
  OPTIONAL MATCH (n)
257
276
  -[target_r_rel_1:IS_RELATED {branch: $target_branch, status: "active"}]
258
277
  -(:Relationship {name: rel_name})
259
278
  -[target_r_rel_2:IS_RELATED {branch: $target_branch, status: "active"}]
260
- -(rel_peer:Node {uuid: rel_peer_id})
279
+ -(rel_peer)
261
280
  WHERE related_rel_status = "deleted"
262
- AND (rel_peer_db_id IS NULL OR %(id_func)s(rel_peer) = rel_peer_db_id)
263
281
  AND target_r_rel_1.from <= $at AND target_r_rel_1.to IS NULL
264
282
  AND target_r_rel_2.from <= $at AND target_r_rel_2.to IS NULL
265
283
  SET target_r_rel_1.to = $at
266
284
  SET target_r_rel_2.to = $at
267
285
  }
268
- WITH n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer_id, rel_peer_db_id, related_rel_status
286
+ WITH n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer, related_rel_status
269
287
  // ------------------------------
270
288
  // conditionally create new IS_RELATED relationships on target_branch, if necessary
271
289
  // ------------------------------
272
- CALL (n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer_id, rel_peer_db_id, related_rel_status) {
273
- MATCH (p:Node {uuid: rel_peer_id})
274
- WHERE rel_peer_db_id IS NULL OR %(id_func)s(p) = rel_peer_db_id
290
+ CALL (n, r, r1_dir, r2_dir, r1_hierarchy, r2_hierarchy, rel_name, rel_peer, related_rel_status) {
275
291
  OPTIONAL MATCH (n)
276
292
  -[r_rel_1:IS_RELATED {branch: $target_branch, status: related_rel_status}]
277
293
  -(:Relationship {name: rel_name})
278
294
  -[r_rel_2:IS_RELATED {branch: $target_branch, status: related_rel_status}]
279
- -(p)
295
+ -(rel_peer)
280
296
  WHERE r_rel_1.from <= $at
281
297
  AND (r_rel_1.to >= $at OR r_rel_1.to IS NULL)
282
298
  AND r_rel_2.from <= $at
283
299
  AND (r_rel_2.to >= $at OR r_rel_2.to IS NULL)
284
- WITH p, r_rel_1, r_rel_2
300
+ WITH rel_peer, r_rel_1, r_rel_2
285
301
  WHERE r_rel_1 IS NULL
286
302
  AND r_rel_2 IS NULL
287
303
  // ------------------------------
@@ -301,19 +317,19 @@ CALL (n, node_diff_map, is_node_kind_migration) {
301
317
  <-[:IS_RELATED {branch: $target_branch, branch_level: $branch_level, from: $at, status: related_rel_status, hierarchy: r1_hierarchy}]
302
318
  -(r)
303
319
  }
304
- CALL (r, p, r2_dir, r2_hierarchy, related_rel_status) {
305
- WITH r, p, r2_dir, r2_hierarchy, related_rel_status
320
+ CALL (r, rel_peer, r2_dir, r2_hierarchy, related_rel_status) {
321
+ WITH r, rel_peer, r2_dir, r2_hierarchy, related_rel_status
306
322
  WHERE r2_dir = "r"
307
323
  CREATE (r)
308
324
  -[:IS_RELATED {branch: $target_branch, branch_level: $branch_level, from: $at, status: related_rel_status, hierarchy: r2_hierarchy}]
309
- ->(p)
325
+ ->(rel_peer)
310
326
  }
311
- CALL (r, p, r2_dir, r2_hierarchy, related_rel_status) {
312
- WITH r, p, r2_dir, r2_hierarchy, related_rel_status
327
+ CALL (r, rel_peer, r2_dir, r2_hierarchy, related_rel_status) {
328
+ WITH r, rel_peer, r2_dir, r2_hierarchy, related_rel_status
313
329
  WHERE r2_dir = "l"
314
330
  CREATE (r)
315
331
  <-[:IS_RELATED {branch: $target_branch, branch_level: $branch_level, from: $at, status: related_rel_status, hierarchy: r2_hierarchy}]
316
- -(p)
332
+ -(rel_peer)
317
333
  }
318
334
  }
319
335
  }
@@ -42,6 +42,7 @@ from .m037_index_attr_vals import Migration037
42
42
  from .m038_redo_0000_prefix_fix import Migration038
43
43
  from .m039_ipam_reconcile import Migration039
44
44
  from .m040_duplicated_attributes import Migration040
45
+ from .m041_deleted_dup_edges import Migration041
45
46
 
46
47
  if TYPE_CHECKING:
47
48
  from infrahub.core.root import Root
@@ -89,6 +90,7 @@ MIGRATIONS: list[type[GraphMigration | InternalSchemaMigration | ArbitraryMigrat
89
90
  Migration038,
90
91
  Migration039,
91
92
  Migration040,
93
+ Migration041,
92
94
  ]
93
95
 
94
96
 
@@ -0,0 +1,149 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+ from rich import print as rprint
6
+
7
+ from infrahub.core.branch import Branch
8
+ from infrahub.core.diff.repository.repository import DiffRepository
9
+ from infrahub.core.initialization import get_root_node
10
+ from infrahub.core.migrations.shared import MigrationResult
11
+ from infrahub.core.query import Query, QueryType
12
+ from infrahub.dependencies.registry import build_component_registry, get_component_registry
13
+ from infrahub.log import get_logger
14
+
15
+ from ..shared import ArbitraryMigration
16
+
17
+ if TYPE_CHECKING:
18
+ from infrahub.database import InfrahubDatabase
19
+
20
+ log = get_logger()
21
+
22
+
23
+ class DeletePosthumousEdges(Query):
24
+ name = "delete_posthumous_edges_query"
25
+ type = QueryType.WRITE
26
+ insert_return = False
27
+
28
+ async def query_init(self, db: InfrahubDatabase, **kwargs: Any) -> None: # noqa: ARG002
29
+ query = """
30
+ // ------------
31
+ // find deleted nodes
32
+ // ------------
33
+ MATCH (n:Node)-[e:IS_PART_OF]->(:Root)
34
+ WHERE e.status = "deleted" OR e.to IS NOT NULL
35
+ WITH DISTINCT n, e.branch AS delete_branch, e.branch_level AS delete_branch_level, CASE
36
+ WHEN e.status = "deleted" THEN e.from
37
+ ELSE e.to
38
+ END AS delete_time
39
+ // ------------
40
+ // find the edges added to the deleted node after the delete time
41
+ // ------------
42
+ MATCH (n)-[added_e]-(peer)
43
+ WHERE added_e.from > delete_time
44
+ AND type(added_e) <> "IS_PART_OF"
45
+ // if the node was deleted on a branch (delete_branch_level > 1), and then updated on main/global (added_e.branch_level = 1), we can ignore it
46
+ AND added_e.branch_level >= delete_branch_level
47
+ AND (added_e.branch = delete_branch OR delete_branch_level = 1)
48
+ WITH DISTINCT n, delete_branch, delete_time, added_e, peer
49
+ // ------------
50
+ // get the branched_from for the branch on which the node was deleted
51
+ // ------------
52
+ CALL (added_e) {
53
+ MATCH (b:Branch {name: added_e.branch})
54
+ RETURN b.branched_from AS added_e_branched_from
55
+ }
56
+ // ------------
57
+ // account for the following situations, given that the edge update time is after the node delete time
58
+ // - deleted on main/global, updated on branch
59
+ // - illegal if the delete is before branch.branched_from
60
+ // - deleted on branch, updated on branch
61
+ // - illegal
62
+ // ------------
63
+ WITH n, delete_branch, delete_time, added_e, peer
64
+ WHERE delete_branch = added_e.branch
65
+ OR delete_time < added_e_branched_from
66
+ DELETE added_e
67
+ """
68
+ self.add_to_query(query)
69
+
70
+
71
+ class DeleteDuplicateEdgesForMigratedKindNodes(Query):
72
+ name = "delete_duplicate_edges_for_migrated_kind_nodes_query"
73
+ type = QueryType.WRITE
74
+ insert_return = False
75
+
76
+ async def query_init(self, db: InfrahubDatabase, **kwargs: Any) -> None: # noqa: ARG002
77
+ query = """
78
+ // ------------
79
+ // get UUIDs for migrated kind/inheritance nodes
80
+ // ------------
81
+ MATCH (n:Node)
82
+ WITH n.uuid AS node_uuid, count(*) AS num_nodes_with_uuid
83
+ WHERE num_nodes_with_uuid > 1
84
+ CALL (node_uuid) {
85
+ // ------------
86
+ // find any Relationships for these nodes
87
+ // ------------
88
+ MATCH (n:Node {uuid: node_uuid})-[:IS_RELATED]-(rel:Relationship)
89
+ WITH DISTINCT rel
90
+ MATCH (rel)-[e]->(peer)
91
+ WITH
92
+ type(e) AS e_type,
93
+ e.branch AS e_branch,
94
+ e.from AS e_from,
95
+ e.to AS e_to,
96
+ e.status AS e_status,
97
+ e.peer AS e_peer,
98
+ CASE
99
+ WHEN startNode(e) = rel THEN "out" ELSE "in"
100
+ END AS direction,
101
+ collect(e) AS duplicate_edges
102
+ WHERE size(duplicate_edges) > 1
103
+ WITH tail(duplicate_edges) AS duplicate_edges_to_delete
104
+ UNWIND duplicate_edges_to_delete AS edge_to_delete
105
+ DELETE edge_to_delete
106
+ } IN TRANSACTIONS OF 500 ROWS
107
+ """
108
+ self.add_to_query(query)
109
+
110
+
111
+ class Migration041(ArbitraryMigration):
112
+ """Clean up improper merges that duplicated edges to nodes with migrated kinds
113
+
114
+ - delete all existing diffs b/c they could contain incorrect nodes linking to deleted nodes with migrated kind/inheritance
115
+ - delete all edges added to any nodes AFTER they were deleted on main
116
+ - delete any duplicate edges touching migrated kind/inheritance nodes on main
117
+ """
118
+
119
+ name: str = "041_deleted_dup_edges"
120
+ minimum_version: int = 40
121
+
122
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
123
+ result = MigrationResult()
124
+
125
+ return result
126
+
127
+ async def execute(self, db: InfrahubDatabase) -> MigrationResult:
128
+ root_node = await get_root_node(db=db)
129
+ default_branch_name = root_node.default_branch
130
+ default_branch = await Branch.get_by_name(db=db, name=default_branch_name)
131
+
132
+ rprint("Deleting all diffs", end="...")
133
+ build_component_registry()
134
+ component_registry = get_component_registry()
135
+ diff_repo = await component_registry.get_component(DiffRepository, db=db, branch=default_branch)
136
+ await diff_repo.delete_all_diff_roots()
137
+ rprint("done")
138
+
139
+ rprint("Deleting edges merged after node deleted", end="...")
140
+ delete_posthumous_edges_query = await DeletePosthumousEdges.init(db=db)
141
+ await delete_posthumous_edges_query.execute(db=db)
142
+ rprint("done")
143
+
144
+ rprint("Deleting duplicate edges for migrated kind/inheritance nodes", end="...")
145
+ delete_duplicate_edges_query = await DeleteDuplicateEdgesForMigratedKindNodes.init(db=db)
146
+ await delete_duplicate_edges_query.execute(db=db)
147
+ rprint("done")
148
+
149
+ return MigrationResult()
@@ -301,13 +301,15 @@ WITH p, q, diff_rel, CASE
301
301
  ELSE $from_time
302
302
  END AS row_from_time
303
303
  ORDER BY %(id_func)s(p) DESC
304
- SKIP $offset
305
- LIMIT $limit
304
+ SKIP toInteger($offset)
305
+ LIMIT toInteger($limit)
306
306
  // -------------------------------------
307
307
  // Add flag to indicate if there is more data after this
308
308
  // -------------------------------------
309
309
  WITH collect([p, q, diff_rel, row_from_time]) AS limited_results
310
- WITH limited_results, size(limited_results) = $limit AS has_more_data
310
+ // extra NULL row ensures that has_more_data is always returned, even if all results are filtered out below
311
+ WITH limited_results + [[NULL, NULL, NULL, NULL]] AS limited_results
312
+ WITH limited_results, size(limited_results) = ($limit + 1) AS has_more_data
311
313
  UNWIND limited_results AS one_result
312
314
  WITH one_result[0] AS p, one_result[1] AS q, one_result[2] AS diff_rel, one_result[3] AS row_from_time, has_more_data
313
315
  // -------------------------------------
@@ -470,14 +472,16 @@ AND (
470
472
  // Limit the number of paths
471
473
  // -------------------------------------
472
474
  WITH root, r_root, p, diff_rel, q
473
- ORDER BY r_root.from, p.uuid, q.uuid, diff_rel.branch, diff_rel.from
474
- SKIP $offset
475
- LIMIT $limit
475
+ ORDER BY r_root.from, p.uuid, q.uuid, q.name, diff_rel.branch, diff_rel.from
476
+ SKIP toInteger($offset)
477
+ LIMIT toInteger($limit)
476
478
  // -------------------------------------
477
479
  // Add flag to indicate if there is more data after this
478
480
  // -------------------------------------
479
481
  WITH collect([root, r_root, p, diff_rel, q]) AS limited_results
480
- WITH limited_results, size(limited_results) = $limit AS has_more_data
482
+ // extra NULL row ensures that has_more_data is always returned, even if all results are filtered out below
483
+ WITH limited_results + [[NULL, NULL, NULL, NULL, NULL]] AS limited_results
484
+ WITH limited_results, size(limited_results) = ($limit + 1) AS has_more_data
481
485
  UNWIND limited_results AS one_result
482
486
  WITH one_result[0] AS root, one_result[1] AS r_root, one_result[2] AS p, one_result[3] AS diff_rel, one_result[4] AS q, has_more_data
483
487
  // -------------------------------------
@@ -641,8 +645,28 @@ AND (
641
645
  )
642
646
  // skip paths where nodes/attrs/rels are updated after $from_time, those are handled in other queries
643
647
  AND (
644
- r_root.from <= $from_time AND (r_root.to IS NULL OR r_root.branch <> diff_rel.branch OR r_root.to <= $from_time)
645
- AND r_node.from <= $from_time AND (r_node.to IS NULL OR r_node.branch <> diff_rel.branch OR r_node.to <= $from_time)
648
+ (
649
+ r_root.branch = diff_rel.branch
650
+ AND r_root.from <= $from_time
651
+ AND (r_root.to IS NULL OR r_root.to >= $to_time)
652
+ )
653
+ OR (
654
+ r_root.branch <> diff_rel.branch
655
+ AND r_root.from <= $from_time
656
+ AND (r_root.to IS NULL OR r_root.to >= $branch_from_time)
657
+ )
658
+ )
659
+ AND (
660
+ (
661
+ r_node.branch = diff_rel.branch
662
+ AND r_node.from <= $from_time
663
+ AND (r_node.to IS NULL OR r_node.to >= $to_time)
664
+ )
665
+ OR (
666
+ r_node.branch <> diff_rel.branch
667
+ AND r_node.from <= $from_time
668
+ AND (r_node.to IS NULL OR r_node.to >= $branch_from_time)
669
+ )
646
670
  )
647
671
  )
648
672
  // time-based filters for new nodes
@@ -658,8 +682,27 @@ AND (
658
682
  )
659
683
  // skip paths where nodes/attrs/rels are updated after $branch_from_time, those are handled in other queries
660
684
  AND (
661
- r_root.from <= $branch_from_time AND (r_root.to IS NULL OR r_root.branch <> diff_rel.branch OR r_root.to <= $branch_from_time)
662
- AND r_node.from <= $branch_from_time AND (r_node.to IS NULL OR r_node.branch <> diff_rel.branch OR r_node.to <= $branch_from_time)
685
+ (
686
+ r_root.branch = diff_rel.branch
687
+ AND (r_root.to IS NULL OR r_root.to >= $to_time)
688
+ )
689
+ OR (
690
+ r_root.branch <> diff_rel.branch
691
+ AND r_root.from <= $branch_from_time
692
+ AND (r_root.to IS NULL OR r_root.to >= $branch_from_time)
693
+ )
694
+ )
695
+ AND (
696
+ (
697
+ r_node.branch = diff_rel.branch
698
+ AND r_node.from <= $branch_from_time
699
+ AND (r_node.to IS NULL OR r_node.to >= $to_time)
700
+ )
701
+ OR (
702
+ r_node.branch <> diff_rel.branch
703
+ AND r_node.from <= $branch_from_time
704
+ AND (r_node.to IS NULL OR r_node.to >= $branch_from_time)
705
+ )
663
706
  )
664
707
  )
665
708
  )
@@ -701,13 +744,15 @@ AND [%(id_func)s(n), type(r_node)] <> [%(id_func)s(q), type(diff_rel)]
701
744
  // -------------------------------------
702
745
  WITH diff_rel_path, r_root, n, r_node, p, diff_rel
703
746
  ORDER BY r_root.from, n.uuid, p.uuid, type(diff_rel), diff_rel.branch, diff_rel.from
704
- SKIP $offset
705
- LIMIT $limit
747
+ SKIP toInteger($offset)
748
+ LIMIT toInteger($limit)
706
749
  // -------------------------------------
707
750
  // Add flag to indicate if there is more data after this
708
751
  // -------------------------------------
709
752
  WITH collect([diff_rel_path, r_root, n, r_node, p, diff_rel]) AS limited_results
710
- WITH limited_results, size(limited_results) = $limit AS has_more_data
753
+ // extra NULL row ensures that has_more_data is always returned, even if all results are filtered out below
754
+ WITH limited_results + [[NULL, NULL, NULL, NULL, NULL, NULL]] AS limited_results
755
+ WITH limited_results, size(limited_results) = ($limit + 1) AS has_more_data
711
756
  UNWIND limited_results AS one_result
712
757
  WITH one_result[0] AS diff_rel_path, one_result[1] AS r_root, one_result[2] AS n,
713
758
  one_result[3] AS r_node, one_result[4] AS p, one_result[5] AS diff_rel, has_more_data
@@ -803,8 +848,8 @@ WHERE num_nodes_with_uuid > 1
803
848
  // -------------------------------------
804
849
  WITH node_uuid
805
850
  ORDER BY node_uuid
806
- SKIP $offset
807
- LIMIT $limit
851
+ SKIP toInteger($offset)
852
+ LIMIT toInteger($limit)
808
853
  WITH collect(node_uuid) AS node_uuids
809
854
  WITH node_uuids, size(node_uuids) = $limit AS has_more_data
810
855
  MATCH (:Root)<-[diff_rel:IS_PART_OF {branch: $branch_name}]-(n:Node)
@@ -627,45 +627,46 @@ class NodeListGetAttributeQuery(Query):
627
627
  self.add_to_query(query)
628
628
 
629
629
  query = """
630
- CALL (n, a) {
631
- MATCH (n)-[r:HAS_ATTRIBUTE]-(a:Attribute)
632
- WHERE %(branch_filter)s
633
- RETURN n as n1, r as r1, a as a1
634
- ORDER BY r.branch_level DESC, r.from DESC
635
- LIMIT 1
636
- }
637
- WITH n1 as n, r1, a1 as a
638
- WHERE r1.status = "active"
639
- WITH n, r1, a
640
- MATCH (a)-[r:HAS_VALUE]-(av:AttributeValue)
641
- WHERE %(branch_filter)s
642
- CALL (a, av) {
643
- MATCH (a)-[r:HAS_VALUE]-(av:AttributeValue)
644
- WHERE %(branch_filter)s
645
- RETURN a as a1, r as r2, av as av1
646
- ORDER BY r.branch_level DESC, r.from DESC
647
- LIMIT 1
648
- }
649
- WITH n, r1, a1 as a, r2, av1 as av
650
- WHERE r2.status = "active"
651
- WITH n, a, av, r1, r2
630
+ CALL (n, a) {
631
+ MATCH (n)-[r:HAS_ATTRIBUTE]->(a:Attribute)
632
+ WHERE %(branch_filter)s
633
+ RETURN r.status = "active" AS is_active
634
+ ORDER BY r.branch_level DESC, r.from DESC, r.status ASC
635
+ LIMIT 1
636
+ }
637
+ WITH n, a
638
+ WHERE is_active = TRUE
639
+ CALL (a) {
640
+ MATCH (a)-[r:HAS_VALUE]->(av:AttributeValue)
641
+ WHERE %(branch_filter)s
642
+ RETURN av, r AS r2
643
+ ORDER BY r.branch_level DESC, r.from DESC, r.status ASC
644
+ LIMIT 1
645
+ }
646
+ WITH n, a, av, r2
647
+ WHERE r2.status = "active"
652
648
  """ % {"branch_filter": branch_filter}
653
649
  self.add_to_query(query)
654
650
 
655
- self.return_labels = ["n", "a", "av", "r1", "r2"]
651
+ self.return_labels = ["n", "a", "av", "r2"]
656
652
 
657
653
  # Add Is_Protected and Is_visible
658
- rel_isv_branch_filter, _ = self.branch.get_query_filter_path(
659
- at=self.at, branch_agnostic=self.branch_agnostic, variable_name="rel_isv"
660
- )
661
- rel_isp_branch_filter, _ = self.branch.get_query_filter_path(
662
- at=self.at, branch_agnostic=self.branch_agnostic, variable_name="rel_isp"
663
- )
664
654
  query = """
665
- MATCH (a)-[rel_isv:IS_VISIBLE]-(isv:Boolean)
666
- MATCH (a)-[rel_isp:IS_PROTECTED]-(isp:Boolean)
667
- WHERE (%(rel_isv_branch_filter)s) AND (%(rel_isp_branch_filter)s)
668
- """ % {"rel_isv_branch_filter": rel_isv_branch_filter, "rel_isp_branch_filter": rel_isp_branch_filter}
655
+ CALL (a) {
656
+ MATCH (a)-[r:IS_VISIBLE]-(isv:Boolean)
657
+ WHERE (%(branch_filter)s)
658
+ RETURN r AS rel_isv, isv
659
+ ORDER BY rel_isv.branch_level DESC, rel_isv.from DESC, rel_isv.status ASC
660
+ LIMIT 1
661
+ }
662
+ CALL (a) {
663
+ MATCH (a)-[r:IS_PROTECTED]-(isp:Boolean)
664
+ WHERE (%(branch_filter)s)
665
+ RETURN r AS rel_isp, isp
666
+ ORDER BY rel_isp.branch_level DESC, rel_isp.from DESC, rel_isp.status ASC
667
+ LIMIT 1
668
+ }
669
+ """ % {"branch_filter": branch_filter}
669
670
  self.add_to_query(query)
670
671
 
671
672
  self.return_labels.extend(["isv", "isp", "rel_isv", "rel_isp"])
@@ -878,6 +879,7 @@ class NodeListGetRelationshipsQuery(Query):
878
879
  RETURN DISTINCT n_uuid, rel_name, peer_uuid, direction
879
880
  """ % {"filters": rels_filter}
880
881
  self.add_to_query(query)
882
+ self.order_by = ["n_uuid", "rel_name", "peer_uuid", "direction"]
881
883
  self.return_labels = ["n_uuid", "rel_name", "peer_uuid", "direction"]
882
884
 
883
885
  def get_peers_group_by_node(self) -> GroupedPeerNodes:
@@ -932,7 +932,10 @@ class InfrahubRepositoryBase(BaseModel, ABC):
932
932
  def _raise_enriched_error_static(
933
933
  error: GitCommandError, name: str, location: str, branch_name: str | None = None
934
934
  ) -> NoReturn:
935
- if "Repository not found" in error.stderr or "does not appear to be a git" in error.stderr:
935
+ if any(
936
+ err in error.stderr
937
+ for err in ("Repository not found", "does not appear to be a git", "Failed to connect to")
938
+ ):
936
939
  raise RepositoryConnectionError(identifier=name) from error
937
940
 
938
941
  if "error: pathspec" in error.stderr: