infrahub-server 1.4.7__tar.gz → 1.4.9__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 (836) hide show
  1. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/PKG-INFO +1 -1
  2. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/schema.py +8 -4
  3. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/config.py +0 -1
  4. infrahub_server-1.4.9/backend/infrahub/core/graph/__init__.py +1 -0
  5. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/__init__.py +2 -0
  6. infrahub_server-1.4.9/backend/infrahub/core/migrations/graph/m039_ipam_reconcile.py +274 -0
  7. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/branch.py +3 -3
  8. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/relationship.py +17 -1
  9. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/subquery.py +2 -2
  10. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/model.py +7 -3
  11. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/__init__.py +11 -3
  12. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/base.py +1 -1
  13. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/ipam.py +5 -0
  14. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/tasks.py +0 -3
  15. infrahub_server-1.4.9/backend/infrahub/worker.py +14 -0
  16. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/catalogue.py +1 -1
  17. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/pyproject.toml +1 -1
  18. infrahub_server-1.4.7/backend/infrahub/core/graph/__init__.py +0 -1
  19. infrahub_server-1.4.7/backend/infrahub/worker.py +0 -3
  20. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/LICENSE.txt +0 -0
  21. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/README.md +0 -0
  22. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/__init__.py +0 -0
  23. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/__init__.py +0 -0
  24. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/constants.py +0 -0
  25. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/gather.py +0 -0
  26. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/models.py +0 -0
  27. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/parsers.py +0 -0
  28. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/tasks.py +0 -0
  29. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/actions/triggers.py +0 -0
  30. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/__init__.py +0 -0
  31. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/artifact.py +0 -0
  32. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/auth.py +0 -0
  33. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/dependencies.py +0 -0
  34. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/diff/__init__.py +0 -0
  35. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/diff/diff.py +0 -0
  36. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/diff/validation_models.py +0 -0
  37. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/exception_handlers.py +0 -0
  38. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/exceptions.py +0 -0
  39. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/file.py +0 -0
  40. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/internal.py +0 -0
  41. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/menu.py +0 -0
  42. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/oauth2.py +0 -0
  43. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/oidc.py +0 -0
  44. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/query.py +0 -0
  45. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/schema.py +0 -0
  46. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  47. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  48. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/static/swagger-ui.css +0 -0
  49. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/storage.py +0 -0
  50. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/api/transformation.py +0 -0
  51. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/artifacts/__init__.py +0 -0
  52. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/artifacts/models.py +0 -0
  53. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/artifacts/tasks.py +0 -0
  54. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/auth.py +0 -0
  55. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/branch/__init__.py +0 -0
  56. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/branch/merge_mutation_checker.py +0 -0
  57. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/branch/tasks.py +0 -0
  58. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/branch/triggers.py +0 -0
  59. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/__init__.py +0 -0
  60. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/constants.py +0 -0
  61. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/context.py +0 -0
  62. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/db.py +0 -0
  63. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/db_commands/__init__.py +0 -0
  64. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/db_commands/check_inheritance.py +0 -0
  65. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/events.py +0 -0
  66. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/git_agent.py +0 -0
  67. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/patch.py +0 -0
  68. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/server.py +0 -0
  69. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/tasks.py +0 -0
  70. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/cli/upgrade.py +0 -0
  71. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/components.py +0 -0
  72. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/__init__.py +0 -0
  73. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/constants.py +0 -0
  74. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/gather.py +0 -0
  75. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/models.py +0 -0
  76. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/tasks.py +0 -0
  77. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/computed_attribute/triggers.py +0 -0
  78. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/constants/__init__.py +0 -0
  79. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/constants/database.py +0 -0
  80. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/constants/environment.py +0 -0
  81. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/context.py +0 -0
  82. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/__init__.py +0 -0
  83. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/account.py +0 -0
  84. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/attribute.py +0 -0
  85. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/branch/__init__.py +0 -0
  86. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/branch/enums.py +0 -0
  87. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/branch/models.py +0 -0
  88. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/branch/tasks.py +0 -0
  89. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/changelog/__init__.py +0 -0
  90. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/changelog/diff.py +0 -0
  91. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/changelog/models.py +0 -0
  92. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constants/__init__.py +0 -0
  93. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constants/database.py +0 -0
  94. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  95. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constants/relationship_label.py +0 -0
  96. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constants/schema.py +0 -0
  97. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constraint/__init__.py +0 -0
  98. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  99. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/constraint/node/runner.py +0 -0
  100. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/convert_object_type/__init__.py +0 -0
  101. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/convert_object_type/conversion.py +0 -0
  102. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/convert_object_type/schema_mapping.py +0 -0
  103. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/__init__.py +0 -0
  104. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  105. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  106. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/branch_differ.py +0 -0
  107. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/calculator.py +0 -0
  108. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/combiner.py +0 -0
  109. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  110. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  111. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  112. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/coordinator.py +0 -0
  113. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  114. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/diff_locker.py +0 -0
  115. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  116. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  117. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  118. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  119. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  120. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  121. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  122. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  123. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/exceptions.py +0 -0
  124. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  125. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  126. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/merger/merger.py +0 -0
  127. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/merger/model.py +0 -0
  128. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  129. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/model/__init__.py +0 -0
  130. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/model/diff.py +0 -0
  131. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/model/field_specifiers_map.py +0 -0
  132. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/model/path.py +0 -0
  133. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/models.py +0 -0
  134. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  135. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/payload_builder.py +0 -0
  136. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/__init__.py +0 -0
  137. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  138. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/artifact.py +0 -0
  139. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  140. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  141. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  142. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/drop_nodes.py +0 -0
  143. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  144. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  145. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/filters.py +0 -0
  146. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  147. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  148. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/merge.py +0 -0
  149. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  150. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  151. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/save.py +0 -0
  152. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  153. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  154. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  155. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/query_parser.py +0 -0
  156. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  157. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  158. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/repository/repository.py +0 -0
  159. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/diff/tasks.py +0 -0
  160. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/enums.py +0 -0
  161. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/graph/constraints.py +0 -0
  162. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/graph/index.py +0 -0
  163. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/graph/schema.py +0 -0
  164. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/initialization.py +0 -0
  165. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/integrity/__init__.py +0 -0
  166. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  167. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  168. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/__init__.py +0 -0
  169. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/constants.py +0 -0
  170. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  171. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/model.py +0 -0
  172. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/reconciler.py +0 -0
  173. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/size.py +0 -0
  174. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/tasks.py +0 -0
  175. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/ipam/utilization.py +0 -0
  176. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/manager.py +0 -0
  177. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/merge.py +0 -0
  178. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/__init__.py +0 -0
  179. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  180. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  181. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  182. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  183. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  184. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  185. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  186. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  187. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  188. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  189. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  190. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  191. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  192. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  193. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  194. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  195. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  196. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  197. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  198. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  199. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  200. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  201. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  202. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  203. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  204. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  205. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +0 -0
  206. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +0 -0
  207. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m029_duplicates_cleanup.py +0 -0
  208. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m030_illegal_edges.py +0 -0
  209. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m031_check_number_attributes.py +0 -0
  210. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py +0 -0
  211. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py +0 -0
  212. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m034_find_orphaned_schema_fields.py +0 -0
  213. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m035_orphan_relationships.py +0 -0
  214. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m036_drop_attr_value_index.py +0 -0
  215. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m037_index_attr_vals.py +0 -0
  216. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/graph/m038_redo_0000_prefix_fix.py +0 -0
  217. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  218. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  219. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  220. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  221. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  222. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  223. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  224. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  225. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/attribute_kind_update.py +0 -0
  226. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  227. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/models.py +0 -0
  228. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  229. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  230. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  231. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  232. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  233. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  234. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/migrations/shared.py +0 -0
  235. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/models.py +0 -0
  236. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/__init__.py +0 -0
  237. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/base.py +0 -0
  238. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  239. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  240. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  241. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/constraints/interface.py +0 -0
  242. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/create.py +0 -0
  243. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/delete_validator.py +0 -0
  244. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/ipam.py +0 -0
  245. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/permissions.py +0 -0
  246. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/proposed_change.py +0 -0
  247. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  248. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  249. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  250. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  251. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/node/standard.py +0 -0
  252. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/path.py +0 -0
  253. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/property.py +0 -0
  254. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/protocols.py +0 -0
  255. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/protocols_base.py +0 -0
  256. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/__init__.py +0 -0
  257. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/attribute.py +0 -0
  258. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/delete.py +0 -0
  259. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/diff.py +0 -0
  260. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/ipam.py +0 -0
  261. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/node.py +0 -0
  262. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/resource_manager.py +0 -0
  263. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/standard_node.py +0 -0
  264. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/task.py +0 -0
  265. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/task_log.py +0 -0
  266. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/query/utils.py +0 -0
  267. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/registry.py +0 -0
  268. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/__init__.py +0 -0
  269. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  270. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  271. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  272. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  273. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/peer_parent.py +0 -0
  274. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/peer_relatives.py +0 -0
  275. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  276. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/root.py +0 -0
  277. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/__init__.py +0 -0
  278. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/attribute_parameters.py +0 -0
  279. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  280. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  281. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  282. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/constants.py +0 -0
  283. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  284. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  285. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  286. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  287. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  288. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  289. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  290. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  291. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  292. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  293. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  294. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  295. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  296. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  297. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  298. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  299. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  300. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  301. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  302. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  303. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  304. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  305. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  306. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  307. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  308. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/dropdown.py +0 -0
  309. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  310. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  311. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  312. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  313. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  314. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  315. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/generic_schema.py +0 -0
  316. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/manager.py +0 -0
  317. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/node_schema.py +0 -0
  318. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/profile_schema.py +0 -0
  319. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  320. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/schema_branch.py +0 -0
  321. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  322. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/schema/template_schema.py +0 -0
  323. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/task/__init__.py +0 -0
  324. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/task/task.py +0 -0
  325. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/task/task_log.py +0 -0
  326. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/task/user_task.py +0 -0
  327. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/timestamp.py +0 -0
  328. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/utils.py +0 -0
  329. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/__init__.py +0 -0
  330. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  331. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  332. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  333. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  334. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  335. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/length.py +0 -0
  336. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/min_max.py +0 -0
  337. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/number_pool.py +0 -0
  338. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  339. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  340. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  341. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/checks_runner.py +0 -0
  342. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/determiner.py +0 -0
  343. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/enum.py +0 -0
  344. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/interface.py +0 -0
  345. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/model.py +0 -0
  346. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/models/__init__.py +0 -0
  347. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  348. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/models/violation.py +0 -0
  349. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/__init__.py +0 -0
  350. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/attribute.py +0 -0
  351. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  352. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  353. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  354. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/node/relationship.py +0 -0
  355. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/query.py +0 -0
  356. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  357. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/relationship/count.py +0 -0
  358. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  359. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  360. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/shared.py +0 -0
  361. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/tasks.py +0 -0
  362. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  363. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  364. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  365. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  366. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  367. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/index.py +0 -0
  368. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/memgraph.py +0 -0
  369. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/metrics.py +0 -0
  370. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/neo4j.py +0 -0
  371. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/database/validation.py +0 -0
  372. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/__init__.py +0 -0
  373. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  374. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  375. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  376. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  377. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  378. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  379. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  380. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  381. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  382. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_parent.py +0 -0
  383. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_relatives.py +0 -0
  384. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  385. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  386. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  387. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  388. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  389. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  390. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  391. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  392. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  393. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  394. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  395. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  396. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  397. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  398. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  399. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  400. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/relationship_peer.py +0 -0
  401. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  402. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  403. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  404. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  405. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  406. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  407. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  408. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  409. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  410. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  411. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  412. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  413. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  414. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  415. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  416. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  417. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  418. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  419. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  420. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  421. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/locker.py +0 -0
  422. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  423. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  424. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  425. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  426. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  427. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  428. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/component/__init__.py +0 -0
  429. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  430. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/component/registry.py +0 -0
  431. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/interface.py +0 -0
  432. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/dependencies/registry.py +0 -0
  433. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/__init__.py +0 -0
  434. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/artifact_action.py +0 -0
  435. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/branch_action.py +0 -0
  436. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/constants.py +0 -0
  437. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/generator.py +0 -0
  438. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/group_action.py +0 -0
  439. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/models.py +0 -0
  440. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/node_action.py +0 -0
  441. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/proposed_change_action.py +0 -0
  442. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/repository_action.py +0 -0
  443. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/schema_action.py +0 -0
  444. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/utils.py +0 -0
  445. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/events/validator_action.py +0 -0
  446. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/exceptions.py +0 -0
  447. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/generators/__init__.py +0 -0
  448. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/generators/models.py +0 -0
  449. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/generators/tasks.py +0 -0
  450. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/__init__.py +0 -0
  451. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/constants.py +0 -0
  452. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/directory.py +0 -0
  453. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/integrator.py +0 -0
  454. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/models.py +0 -0
  455. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/repository.py +0 -0
  456. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/tasks.py +0 -0
  457. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/utils.py +0 -0
  458. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git/worktree.py +0 -0
  459. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git_credential/__init__.py +0 -0
  460. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git_credential/askpass.py +0 -0
  461. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/git_credential/helper.py +0 -0
  462. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/__init__.py +0 -0
  463. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/analyzer.py +0 -0
  464. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/api/__init__.py +0 -0
  465. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/api/dependencies.py +0 -0
  466. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/api/endpoints.py +0 -0
  467. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/app.py +0 -0
  468. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/__init__.py +0 -0
  469. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  470. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  471. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  472. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  473. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  474. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  475. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  476. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  477. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/constants.py +0 -0
  478. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/context.py +0 -0
  479. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/directives.py +0 -0
  480. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/enums.py +0 -0
  481. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/field_extractor.py +0 -0
  482. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/initialization.py +0 -0
  483. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  484. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/loaders/node.py +0 -0
  485. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/loaders/peers.py +0 -0
  486. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/loaders/shared.py +0 -0
  487. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/manager.py +0 -0
  488. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/metrics.py +0 -0
  489. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/models.py +0 -0
  490. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  491. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/account.py +0 -0
  492. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/action.py +0 -0
  493. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  494. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  495. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/branch.py +0 -0
  496. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  497. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/convert_object_type.py +0 -0
  498. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/diff.py +0 -0
  499. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  500. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/generator.py +0 -0
  501. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  502. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/main.py +0 -0
  503. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/menu.py +0 -0
  504. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/models.py +0 -0
  505. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  506. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  507. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  508. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  509. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  510. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  511. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/relationship.py +0 -0
  512. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/repository.py +0 -0
  513. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  514. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/schema.py +0 -0
  515. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  516. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  517. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/parser.py +0 -0
  518. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/permissions.py +0 -0
  519. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/__init__.py +0 -0
  520. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/account.py +0 -0
  521. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/branch.py +0 -0
  522. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/convert_object_type_mapping.py +0 -0
  523. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  524. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  525. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/event.py +0 -0
  526. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/internal.py +0 -0
  527. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/ipam.py +0 -0
  528. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/proposed_change.py +0 -0
  529. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/relationship.py +0 -0
  530. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  531. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/search.py +0 -0
  532. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/status.py +0 -0
  533. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/queries/task.py +0 -0
  534. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  535. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/resolvers/ipam.py +0 -0
  536. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  537. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  538. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  539. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/schema.py +0 -0
  540. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  541. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/subscription/events.py +0 -0
  542. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  543. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/__init__.py +0 -0
  544. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/attribute.py +0 -0
  545. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/branch.py +0 -0
  546. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/common.py +0 -0
  547. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/context.py +0 -0
  548. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/enums.py +0 -0
  549. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/event.py +0 -0
  550. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/interface.py +0 -0
  551. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/node.py +0 -0
  552. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/permission.py +0 -0
  553. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/relationship.py +0 -0
  554. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/standard_node.py +0 -0
  555. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/task.py +0 -0
  556. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/types/task_log.py +0 -0
  557. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/graphql/utils.py +0 -0
  558. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/groups/__init__.py +0 -0
  559. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/groups/ancestors.py +0 -0
  560. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/groups/models.py +0 -0
  561. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/groups/parsers.py +0 -0
  562. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/groups/tasks.py +0 -0
  563. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/helpers.py +0 -0
  564. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/lock.py +0 -0
  565. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/log.py +0 -0
  566. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/__init__.py +0 -0
  567. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/constants.py +0 -0
  568. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/generator.py +0 -0
  569. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/menu.py +0 -0
  570. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/models.py +0 -0
  571. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/repository.py +0 -0
  572. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/menu/utils.py +0 -0
  573. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/__init__.py +0 -0
  574. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  575. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  576. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  577. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  578. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  579. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  580. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  581. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  582. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  583. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  584. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  585. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  586. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  587. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  588. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  589. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/message_bus/types.py +0 -0
  590. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/middleware.py +0 -0
  591. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/models.py +0 -0
  592. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/__init__.py +0 -0
  593. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/constants.py +0 -0
  594. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/edge_adder.py +0 -0
  595. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/edge_deleter.py +0 -0
  596. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/edge_updater.py +0 -0
  597. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/models.py +0 -0
  598. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/plan_reader.py +0 -0
  599. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/plan_writer.py +0 -0
  600. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/queries/__init__.py +0 -0
  601. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/queries/base.py +0 -0
  602. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  603. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/runner.py +0 -0
  604. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/vertex_adder.py +0 -0
  605. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/vertex_deleter.py +0 -0
  606. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/patch/vertex_updater.py +0 -0
  607. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/__init__.py +0 -0
  608. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/backend.py +0 -0
  609. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/constants.py +0 -0
  610. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/globals.py +0 -0
  611. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/local_backend.py +0 -0
  612. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/manager.py +0 -0
  613. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/report.py +0 -0
  614. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/permissions/types.py +0 -0
  615. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/__init__.py +0 -0
  616. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/address.py +0 -0
  617. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/models.py +0 -0
  618. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/number.py +0 -0
  619. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/prefix.py +0 -0
  620. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/registration.py +0 -0
  621. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pools/tasks.py +0 -0
  622. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/__init__.py +0 -0
  623. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/app.py +0 -0
  624. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/bootstrap.py +0 -0
  625. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/database.py +0 -0
  626. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/events.py +0 -0
  627. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/prefect_server/models.py +0 -0
  628. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/__init__.py +0 -0
  629. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/action_checker.py +0 -0
  630. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/approval_revoker.py +0 -0
  631. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  632. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/checker.py +0 -0
  633. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/constants.py +0 -0
  634. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/proposed_change/models.py +0 -0
  635. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/py.typed +0 -0
  636. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/pytest_plugin.py +0 -0
  637. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/schema/__init__.py +0 -0
  638. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/schema/tasks.py +0 -0
  639. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/schema/triggers.py +0 -0
  640. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/serve/__init__.py +0 -0
  641. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/serve/gunicorn_config.py +0 -0
  642. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/serve/log.py +0 -0
  643. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/serve/worker.py +0 -0
  644. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/server.py +0 -0
  645. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/__init__.py +0 -0
  646. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/__init__.py +0 -0
  647. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  648. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  649. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  650. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  651. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  652. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  653. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  654. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  655. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  656. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  657. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  658. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  659. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  660. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/component.py +0 -0
  661. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/protocols.py +0 -0
  662. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/services/scheduler.py +0 -0
  663. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/storage.py +0 -0
  664. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/task_manager/__init__.py +0 -0
  665. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/task_manager/constants.py +0 -0
  666. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/task_manager/event.py +0 -0
  667. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/task_manager/models.py +0 -0
  668. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/task_manager/task.py +0 -0
  669. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/__init__.py +0 -0
  670. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/artifact.py +0 -0
  671. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/check.py +0 -0
  672. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/dummy.py +0 -0
  673. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/keepalive.py +0 -0
  674. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/recurring.py +0 -0
  675. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/tasks/registry.py +0 -0
  676. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/__init__.py +0 -0
  677. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/constants.py +0 -0
  678. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/database.py +0 -0
  679. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/models.py +0 -0
  680. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/task_manager.py +0 -0
  681. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/tasks.py +0 -0
  682. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/telemetry/utils.py +0 -0
  683. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trace.py +0 -0
  684. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/transformations/__init__.py +0 -0
  685. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/transformations/constants.py +0 -0
  686. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/transformations/models.py +0 -0
  687. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/transformations/tasks.py +0 -0
  688. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/__init__.py +0 -0
  689. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/catalogue.py +0 -0
  690. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/constants.py +0 -0
  691. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/models.py +0 -0
  692. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/setup.py +0 -0
  693. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/trigger/tasks.py +0 -0
  694. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/types.py +0 -0
  695. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/utils.py +0 -0
  696. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/validators/__init__.py +0 -0
  697. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/validators/events.py +0 -0
  698. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/validators/tasks.py +0 -0
  699. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/visuals.py +0 -0
  700. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/webhook/__init__.py +0 -0
  701. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/webhook/gather.py +0 -0
  702. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/webhook/models.py +0 -0
  703. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/webhook/tasks.py +0 -0
  704. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/webhook/triggers.py +0 -0
  705. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workers/__init__.py +0 -0
  706. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workers/dependencies.py +0 -0
  707. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workers/infrahub_async.py +0 -0
  708. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workers/utils.py +0 -0
  709. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/__init__.py +0 -0
  710. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/constants.py +0 -0
  711. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/initialization.py +0 -0
  712. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/models.py +0 -0
  713. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/backend/infrahub/workflows/utils.py +0 -0
  714. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/__init__.py +0 -0
  715. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/_importer.py +0 -0
  716. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  717. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  718. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/batch.py +0 -0
  719. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/branch.py +0 -0
  720. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/checks.py +0 -0
  721. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/client.py +0 -0
  722. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/config.py +0 -0
  723. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/constants.py +0 -0
  724. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/context.py +0 -0
  725. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  726. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  727. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  728. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  729. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  730. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  731. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  732. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  733. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  734. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  735. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  736. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  737. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  738. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  739. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  740. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  741. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  742. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  743. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  744. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  745. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/data.py +0 -0
  746. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/diff.py +0 -0
  747. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  748. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/generator.py +0 -0
  749. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/graphql.py +0 -0
  750. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/groups.py +0 -0
  751. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  752. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/__init__.py +0 -0
  753. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/attribute.py +0 -0
  754. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/constants.py +0 -0
  755. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/node.py +0 -0
  756. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/parsers.py +0 -0
  757. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/property.py +0 -0
  758. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/related_node.py +0 -0
  759. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/node/relationship.py +0 -0
  760. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/object_store.py +0 -0
  761. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/operation.py +0 -0
  762. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/playback.py +0 -0
  763. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols.py +0 -0
  764. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  765. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols_generator/__init__.py +0 -0
  766. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols_generator/constants.py +0 -0
  767. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  768. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  769. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  770. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  771. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  772. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  773. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  774. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  775. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  776. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  777. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  778. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  779. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  780. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  781. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/queries.py +0 -0
  782. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  783. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/recorder.py +0 -0
  784. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/repository.py +0 -0
  785. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  786. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  787. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  788. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  789. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  790. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  791. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/store.py +0 -0
  792. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  793. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  794. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  795. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  796. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/task/models.py +0 -0
  797. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  798. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  799. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  800. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/template/models.py +0 -0
  801. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  802. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  803. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  804. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  805. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  806. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  807. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  808. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  809. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  810. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  811. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  812. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  813. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  814. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  815. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  816. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  817. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  818. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  819. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/transforms.py +0 -0
  820. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/types.py +0 -0
  821. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/utils.py +0 -0
  822. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  823. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_sdk/infrahub_sdk/yaml.py +0 -0
  824. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  825. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  826. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  827. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/docker-compose-cluster.test.yml +0 -0
  828. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +0 -0
  829. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  830. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  831. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  832. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  833. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  834. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/performance_test.py +0 -0
  835. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  836. {infrahub_server-1.4.7 → infrahub_server-1.4.9}/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.7
3
+ Version: 1.4.9
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
@@ -50,7 +50,7 @@ core_trigger_rule = GenericSchema(
50
50
  description="Indicates if this trigger is enabled or if it's just prepared, could be useful as you are setting up a trigger",
51
51
  optional=False,
52
52
  default_value=True,
53
- order_weight=200,
53
+ order_weight=250,
54
54
  ),
55
55
  Attr(
56
56
  name="branch_scope",
@@ -59,7 +59,7 @@ core_trigger_rule = GenericSchema(
59
59
  choices=BranchScope.available_types(),
60
60
  default_value=BranchScope.DEFAULT_BRANCH.value.name,
61
61
  optional=False,
62
- order_weight=200,
62
+ order_weight=260,
63
63
  allow_override=AllowOverrideType.NONE,
64
64
  ),
65
65
  ],
@@ -270,8 +270,10 @@ core_node_trigger_attribute_match = NodeSchema(
270
270
  label="Node Trigger Attribute Match",
271
271
  branch=BranchSupportType.AGNOSTIC,
272
272
  generate_profile=False,
273
- inherit_from=["CoreNodeTriggerMatch"],
273
+ inherit_from=[core_node_trigger_match.kind],
274
274
  display_labels=["attribute_name__value"],
275
+ uniqueness_constraints=[["trigger", "attribute_name__value"]],
276
+ human_friendly_id=["trigger__name__value", "attribute_name__value"],
275
277
  attributes=[
276
278
  Attr(
277
279
  name="attribute_name",
@@ -319,8 +321,10 @@ core_node_trigger_relationship_match = NodeSchema(
319
321
  label="Node Trigger Relationship Match",
320
322
  branch=BranchSupportType.AGNOSTIC,
321
323
  generate_profile=False,
322
- inherit_from=["CoreNodeTriggerMatch"],
324
+ inherit_from=[core_node_trigger_match.kind],
323
325
  display_labels=["relationship_name__value", "modification_type__value"],
326
+ uniqueness_constraints=[["trigger", "relationship_name__value"]],
327
+ human_friendly_id=["trigger__name__value", "relationship_name__value"],
324
328
  attributes=[
325
329
  Attr(
326
330
  name="relationship_name",
@@ -281,7 +281,6 @@ class DatabaseSettings(BaseSettings):
281
281
  query_size_limit: int = Field(
282
282
  default=5_000,
283
283
  ge=1,
284
- le=20_000,
285
284
  description="The max number of records to fetch in a single query before performing internal pagination.",
286
285
  )
287
286
  max_depth_search_hierarchy: int = Field(
@@ -0,0 +1 @@
1
+ GRAPH_VERSION = 39
@@ -40,6 +40,7 @@ from .m035_orphan_relationships import Migration035
40
40
  from .m036_drop_attr_value_index import Migration036
41
41
  from .m037_index_attr_vals import Migration037
42
42
  from .m038_redo_0000_prefix_fix import Migration038
43
+ from .m039_ipam_reconcile import Migration039
43
44
 
44
45
  if TYPE_CHECKING:
45
46
  from infrahub.core.root import Root
@@ -85,6 +86,7 @@ MIGRATIONS: list[type[GraphMigration | InternalSchemaMigration | ArbitraryMigrat
85
86
  Migration036,
86
87
  Migration037,
87
88
  Migration038,
89
+ Migration039,
88
90
  ]
89
91
 
90
92
 
@@ -0,0 +1,274 @@
1
+ from __future__ import annotations
2
+
3
+ import ipaddress
4
+ from dataclasses import dataclass
5
+ from typing import TYPE_CHECKING, Any
6
+
7
+ from rich.console import Console
8
+ from rich.progress import Progress
9
+
10
+ from infrahub.core.branch.models import Branch
11
+ from infrahub.core.constants import InfrahubKind
12
+ from infrahub.core.initialization import initialization
13
+ from infrahub.core.ipam.reconciler import IpamReconciler
14
+ from infrahub.core.migrations.shared import MigrationResult
15
+ from infrahub.core.query import Query, QueryType
16
+ from infrahub.lock import initialize_lock
17
+ from infrahub.log import get_logger
18
+
19
+ from ..shared import ArbitraryMigration
20
+
21
+ if TYPE_CHECKING:
22
+ from infrahub.core.ipam.constants import AllIPTypes
23
+ from infrahub.database import InfrahubDatabase
24
+
25
+ log = get_logger()
26
+
27
+
28
+ @dataclass
29
+ class IpNodeDetails:
30
+ branch: str
31
+ ip_value: AllIPTypes
32
+ namespace: str
33
+ node_uuid: str
34
+
35
+
36
+ class FindNodesToReconcileQuery(Query):
37
+ name = "find_nodes_to_reconcile_query"
38
+ type = QueryType.READ
39
+ insert_return = False
40
+
41
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
42
+ self.params.update(
43
+ {
44
+ "prefix_kind": InfrahubKind.IPPREFIX,
45
+ "address_kind": InfrahubKind.IPADDRESS,
46
+ "prefix_attribute_name": "prefix",
47
+ "address_attribute_name": "address",
48
+ "attr_names": ["prefix", "address"],
49
+ "namespace_relationship_names": ["ip_namespace__ip_prefix", "ip_namespace__ip_address"],
50
+ }
51
+ )
52
+ query = """
53
+ MATCH (root:Root)
54
+ LIMIT 1
55
+ WITH root.default_branch AS default_branch
56
+ // ------------------
57
+ // find prefixes and addresses that exist on the default branch
58
+ // ------------------
59
+ MATCH (ip_node:%(prefix_kind)s|%(address_kind)s)-[e:IS_PART_OF {branch: default_branch, status: "active"}]->(:Root)
60
+ WHERE e.to IS NULL
61
+ AND NOT exists((ip_node)-[:IS_PART_OF {branch: default_branch, status: "deleted"}]->(:Root))
62
+ // ------------------
63
+ // check if this node has its prefix/address updated on a branch (or branches)
64
+ // ------------------
65
+ CALL (ip_node, default_branch) {
66
+ OPTIONAL MATCH (ip_node)-[:HAS_ATTRIBUTE {branch: default_branch, status: "active"}]->
67
+ (attr:Attribute)-[has_value_e:HAS_VALUE {status: "active"}]->(attr_val)
68
+ WHERE attr.name IN $attr_names
69
+ AND has_value_e.branch_level = 2
70
+ AND (
71
+ ($prefix_kind IN labels(ip_node) AND attr.name = $prefix_attribute_name)
72
+ OR ($address_kind IN labels(ip_node) AND attr.name = $address_attribute_name)
73
+ )
74
+ RETURN collect(DISTINCT has_value_e.branch) AS attr_update_branches
75
+ }
76
+ CALL (ip_node, default_branch) {
77
+ OPTIONAL MATCH (ip_node)-[:IS_RELATED {status: "active"}]-
78
+ (rel:Relationship)-[e2:IS_RELATED {status: "active"}]-(peer:Node)
79
+ WHERE rel.name IN $namespace_relationship_names
80
+ AND e2.branch_level = 2
81
+ RETURN collect(DISTINCT e2.branch) AS namespace_update_branches
82
+ }
83
+ // ------------------
84
+ // filter to only those prefixes/addresses with an update that we care about on a branch
85
+ // ------------------
86
+ WITH DISTINCT ip_node, default_branch, attr_update_branches, namespace_update_branches
87
+ WHERE size(attr_update_branches) > 0 OR size(namespace_update_branches) > 0
88
+ // ------------------
89
+ // deduplicate branch lists and return one row for each branch
90
+ // ------------------
91
+ CALL (attr_update_branches, namespace_update_branches) {
92
+ UNWIND attr_update_branches + namespace_update_branches AS branch
93
+ RETURN DISTINCT branch
94
+ }
95
+ WITH default_branch, branch, ip_node
96
+ // ------------------
97
+ // confirm node is still active on this branch
98
+ // ------------------
99
+ MATCH (ip_node)
100
+ WHERE NOT exists((ip_node)-[:IS_PART_OF {branch: branch, status: "deleted"}]->(:Root))
101
+ // ------------------
102
+ // get branched_from time for each branch
103
+ // ------------------
104
+ CALL (branch) {
105
+ MATCH (b:Branch {name: branch})
106
+ RETURN b.branched_from AS branched_from
107
+ }
108
+ // ------------------
109
+ // get latest namespace on this branch
110
+ // ------------------
111
+ CALL (default_branch, branch, branched_from, ip_node) {
112
+ MATCH (ip_node)-[e1:IS_RELATED]-(rel:Relationship)-[e2:IS_RELATED]-(peer:%(namespace_kind)s)
113
+ WHERE rel.name IN $namespace_relationship_names
114
+ AND (
115
+ e1.branch = branch
116
+ OR (e1.branch = default_branch AND e1.from < branched_from)
117
+ )
118
+ AND e1.to IS NULL
119
+ AND (
120
+ e2.branch = branch
121
+ OR (e2.branch = default_branch AND e2.from < branched_from)
122
+ )
123
+ AND e2.to IS NULL
124
+ WITH peer, e1.status = "active" AND e2.status = "active" AS is_active
125
+ ORDER BY e2.branch_level DESC, e2.from DESC, e2.status ASC, e1.branch_level DESC, e1.from DESC, e1.status ASC
126
+ LIMIT 1
127
+ WITH peer
128
+ WHERE is_active = TRUE
129
+ RETURN peer.uuid AS namespace_uuid
130
+ }
131
+ // ------------------
132
+ // get latest prefix/address value on this branch
133
+ // ------------------
134
+ CALL (default_branch, branch, branched_from, ip_node) {
135
+ MATCH (ip_node)-[e1:HAS_ATTRIBUTE]->(attr:Attribute)-[e2:HAS_VALUE]->(av)
136
+ WHERE attr.name IN $attr_names
137
+ AND (
138
+ ($prefix_kind IN labels(ip_node) AND attr.name = $prefix_attribute_name)
139
+ OR ($address_kind IN labels(ip_node) AND attr.name = $address_attribute_name)
140
+ )
141
+ AND (
142
+ e1.branch = branch
143
+ OR (e1.branch = default_branch AND e1.from < branched_from)
144
+ )
145
+ AND e1.to IS NULL
146
+ AND (
147
+ e2.branch = branch
148
+ OR (e2.branch = default_branch AND e2.from < branched_from)
149
+ )
150
+ AND e2.to IS NULL
151
+ WITH attr, av, e1.status = "active" AND e2.status = "active" AS is_active
152
+ ORDER BY e2.branch_level DESC, e2.from DESC, e2.status ASC, e1.branch_level DESC, e1.from DESC, e1.status ASC
153
+ LIMIT 1
154
+ WITH attr, av
155
+ WHERE is_active = TRUE
156
+ RETURN CASE
157
+ WHEN attr.name = $prefix_attribute_name THEN av.value
158
+ ELSE NULL
159
+ END AS prefix_value,
160
+ CASE
161
+ WHEN attr.name = $address_attribute_name THEN av.value
162
+ ELSE NULL
163
+ END AS address_value
164
+ }
165
+ RETURN branch, namespace_uuid, ip_node.uuid AS node_uuid, prefix_value, address_value
166
+ """ % {
167
+ "prefix_kind": InfrahubKind.IPPREFIX,
168
+ "address_kind": InfrahubKind.IPADDRESS,
169
+ "namespace_kind": InfrahubKind.IPNAMESPACE,
170
+ }
171
+ self.add_to_query(query)
172
+ self.return_labels = ["branch", "namespace_uuid", "node_uuid", "prefix_value", "address_value"]
173
+
174
+ def get_nodes_to_reconcile(self) -> list[IpNodeDetails]:
175
+ ip_node_details = []
176
+ for result in self.get_results():
177
+ prefix_value = result.get_as_str("prefix_value")
178
+ address_value = result.get_as_str("address_value")
179
+ if prefix_value:
180
+ ip_value: AllIPTypes = ipaddress.ip_network(address=prefix_value)
181
+ elif address_value:
182
+ ip_value = ipaddress.ip_interface(address=address_value)
183
+ else:
184
+ continue
185
+ ip_node_details.append(
186
+ IpNodeDetails(
187
+ branch=result.get_as_type("branch", str),
188
+ ip_value=ip_value,
189
+ namespace=result.get_as_type("namespace_uuid", str),
190
+ node_uuid=result.get_as_type("node_uuid", str),
191
+ )
192
+ )
193
+ return ip_node_details
194
+
195
+
196
+ class DeleteSelfParentRelationshipsQuery(Query):
197
+ name = "delete_self_parent_relationships"
198
+ type = QueryType.WRITE
199
+ insert_return = False
200
+
201
+ def __init__(self, uuids_to_check: list[str], **kwargs: Any) -> None:
202
+ super().__init__(**kwargs)
203
+ self.uuids_to_check = uuids_to_check
204
+
205
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
206
+ self.params["uuids_to_check"] = self.uuids_to_check
207
+ query = """
208
+ MATCH (n:Node)-[e1:IS_RELATED]->(:Relationship {name: "parent__child"})-[e2:IS_RELATED {branch: e1.branch, status: e1.status, from: e1.from}]->(n)
209
+ WHERE n.uuid IN $uuids_to_check
210
+ DELETE e1, e2
211
+ """
212
+ self.add_to_query(query)
213
+
214
+
215
+ class Migration039(ArbitraryMigration):
216
+ """
217
+ Identify all IP prefixes/addresses that have been updated on a branch and reconcile them on that branch
218
+ If any of the identified IP prefixes/addresses are their own parent/child, delete those illegal edges before reconciling.
219
+ """
220
+
221
+ name: str = "039_ipam_reconcile_updated"
222
+ minimum_version: int = 38
223
+
224
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
225
+ super().__init__(*args, **kwargs)
226
+ self._reconcilers_by_branch: dict[str, IpamReconciler] = {}
227
+
228
+ async def _get_reconciler(self, db: InfrahubDatabase, branch_name: str) -> IpamReconciler:
229
+ if branch_name not in self._reconcilers_by_branch:
230
+ branch = await Branch.get_by_name(db=db, name=branch_name)
231
+ self._reconcilers_by_branch[branch_name] = IpamReconciler(db=db, branch=branch)
232
+ return self._reconcilers_by_branch[branch_name]
233
+
234
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
235
+ return MigrationResult()
236
+
237
+ async def execute(self, db: InfrahubDatabase) -> MigrationResult:
238
+ console = Console()
239
+ result = MigrationResult()
240
+ # load schemas from database into registry
241
+ initialize_lock()
242
+ await initialization(db=db)
243
+
244
+ console.print("Identifying IP prefixes/addresses to reconcile...", end="")
245
+ find_nodes_query = await FindNodesToReconcileQuery.init(db=db)
246
+ await find_nodes_query.execute(db=db)
247
+ console.print("done")
248
+
249
+ # we need to delete the self-parent relationships before reconciling b/c the
250
+ # reconciler cannot correctly handle a prefix that is its own parent
251
+ ip_node_details_list = find_nodes_query.get_nodes_to_reconcile()
252
+ uuids_to_check = {ip_node_details.node_uuid for ip_node_details in ip_node_details_list}
253
+ console.print(f"{len(ip_node_details_list)} IP prefixes/addresses will be reconciled")
254
+
255
+ console.print("Deleting any self-parent relationships...", end="")
256
+ delete_self_parent_relationships_query = await DeleteSelfParentRelationshipsQuery.init(
257
+ db=db, uuids_to_check=list(uuids_to_check)
258
+ )
259
+ await delete_self_parent_relationships_query.execute(db=db)
260
+ console.print("done")
261
+
262
+ with Progress() as progress:
263
+ reconcile_task = progress.add_task("Reconciling IP prefixes/addresses...", total=len(ip_node_details_list))
264
+
265
+ for ip_node_details in ip_node_details_list:
266
+ reconciler = await self._get_reconciler(db=db, branch_name=ip_node_details.branch)
267
+ await reconciler.reconcile(
268
+ ip_value=ip_node_details.ip_value,
269
+ namespace=ip_node_details.namespace,
270
+ node_uuid=ip_node_details.node_uuid,
271
+ )
272
+ progress.update(reconcile_task, advance=1)
273
+
274
+ return result
@@ -31,7 +31,7 @@ WHERE e.branch = $branch_name
31
31
  CALL (n) {
32
32
  OPTIONAL MATCH (n)-[:IS_RELATED {branch: $global_branch_name}]-(rel:Relationship)
33
33
  DETACH DELETE rel
34
- } IN TRANSACTIONS
34
+ } IN TRANSACTIONS OF 500 ROWS
35
35
 
36
36
  // reduce the results to a single row
37
37
  WITH 1 AS one
@@ -44,7 +44,7 @@ MATCH (s)-[r]->(d)
44
44
  WHERE r.branch = $branch_name
45
45
  CALL (r) {
46
46
  DELETE r
47
- } IN TRANSACTIONS
47
+ } IN TRANSACTIONS OF 500 ROWS
48
48
 
49
49
  // --------------
50
50
  // get the database IDs of every vertex linked to a deleted edge
@@ -61,7 +61,7 @@ CALL (vertex_id) {
61
61
  WHERE elementId(n) = vertex_id
62
62
  AND NOT exists((n)--())
63
63
  DELETE n
64
- } IN TRANSACTIONS
64
+ } IN TRANSACTIONS OF 500 ROWS
65
65
  """
66
66
  self.params["branch_name"] = self.branch_name
67
67
  self.params["global_branch_name"] = GLOBAL_BRANCH_NAME
@@ -871,6 +871,9 @@ class RelationshipGetQuery(RelationshipQuery):
871
871
  query = """
872
872
  MATCH (s)%s(rl:Relationship { name: $name })%s(d)
873
873
  WHERE %s
874
+ ORDER BY r1.branch_level DESC, r1.from DESC, r1.status ASC, r2.branch_level DESC, r2.from DESC, r2.status ASC
875
+ WITH *, r1.status = "active" AND r2.status = "active" AS is_active
876
+ LIMIT 1
874
877
  """ % (
875
878
  r1,
876
879
  r2,
@@ -880,7 +883,20 @@ class RelationshipGetQuery(RelationshipQuery):
880
883
  self.params["at"] = self.at.to_string()
881
884
 
882
885
  self.add_to_query(query)
883
- self.return_labels = ["s", "d", "rl", "r1", "r2"]
886
+ self.return_labels = ["s", "d", "rl", "r2", "is_active"]
887
+
888
+ def is_already_deleted(self) -> bool:
889
+ result = self.get_result()
890
+ if not result:
891
+ return False
892
+ return result.get("is_active") is False
893
+
894
+ def get_relationships_ids_for_branch(self, branch_name: str) -> list[str] | None:
895
+ result = self.get_result()
896
+ if not result:
897
+ return None
898
+
899
+ return [rel.element_id for rel in result.get_rels() if rel.get("branch") == branch_name]
884
900
 
885
901
 
886
902
  class RelationshipGetByIdentifierQuery(Query):
@@ -90,7 +90,7 @@ async def build_subquery_filter(
90
90
  {branch_level_str} AS branch_level,
91
91
  {froms_str} AS froms,
92
92
  all(r IN relationships(path) WHERE r.status = "active") AS is_active{with_extra}
93
- ORDER BY branch_level DESC, froms[-1] DESC, froms[-2] DESC
93
+ ORDER BY branch_level DESC, froms[-1] DESC, froms[-2] DESC, is_active DESC
94
94
  WITH head(collect([is_active, {node_alias}{with_extra}])) AS latest_node_details
95
95
  WHERE {is_active_filter}
96
96
  WITH latest_node_details[1] AS {prefix}{final_with_extra}
@@ -176,7 +176,7 @@ async def build_subquery_order(
176
176
  OPTIONAL MATCH path = {filter_str}
177
177
  WHERE {where_str}
178
178
  WITH {with_str_to_alias}
179
- ORDER BY branch_level DESC, froms[-1] DESC, froms[-2] DESC
179
+ ORDER BY branch_level DESC, froms[-1] DESC, froms[-2] DESC, is_active DESC
180
180
  WITH head(collect([is_active, {with_str_alias}])) AS latest_node_details
181
181
  WITH {with_str_from_list}
182
182
  RETURN {to_return_str}
@@ -404,17 +404,21 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
404
404
  db=db, source=node, destination=peer, rel=self, branch=self.branch, at=delete_at
405
405
  )
406
406
  await get_query.execute(db=db)
407
- result = get_query.get_result()
408
- if not result:
407
+
408
+ rel_ids_to_update = get_query.get_relationships_ids_for_branch(branch_name=branch.name)
409
+ if rel_ids_to_update is None:
409
410
  raise Error(
410
411
  f"Unable to find the relationship to delete. id: {self.id}, source: {node.id}, destination: {peer.id}"
411
412
  )
412
413
 
414
+ if get_query.is_already_deleted():
415
+ return
416
+
413
417
  # when we remove a relationship we need to :
414
418
  # - Update the existing relationship if we are on the same branch
415
419
  # - Create a new rel of type DELETED in the right branch
416
420
 
417
- if rel_ids_to_update := [rel.element_id for rel in result.get_rels() if rel.get("branch") == branch.name]:
421
+ if rel_ids_to_update:
418
422
  await update_relationships_to(rel_ids_to_update, to=delete_at, db=db)
419
423
 
420
424
  delete_query = await RelationshipDeleteQuery.init(
@@ -28,6 +28,9 @@ from typing_extensions import Self
28
28
  from infrahub import config, lock
29
29
  from infrahub.constants.database import DatabaseType, Neo4jRuntime
30
30
  from infrahub.core import registry
31
+ from infrahub.core.constants import (
32
+ GLOBAL_BRANCH_NAME,
33
+ )
31
34
  from infrahub.core.query import QueryType
32
35
  from infrahub.exceptions import DatabaseError
33
36
  from infrahub.log import get_logger
@@ -125,9 +128,14 @@ class DatabaseSchemaManager:
125
128
  return self.get_full(branch=branch, duplicate=duplicate)
126
129
 
127
130
  def get_schema_branch(self, name: str) -> SchemaBranch:
128
- if name not in self._db._schemas:
129
- return registry.schema.get_schema_branch(name=name)
130
- return self._db._schemas[name]
131
+ """Return a schema branch object based on its name.
132
+
133
+ If the branch is the global one, the default branch will be returned.
134
+ """
135
+ branch_name = registry.default_branch if name == GLOBAL_BRANCH_NAME else name
136
+ if branch_name not in self._db._schemas:
137
+ return registry.schema.get_schema_branch(name=branch_name)
138
+ return self._db._schemas[branch_name]
131
139
 
132
140
 
133
141
  class InfrahubDatabase:
@@ -716,7 +716,7 @@ class InfrahubRepositoryBase(BaseModel, ABC):
716
716
 
717
717
  repo = self.get_git_repo_main()
718
718
  try:
719
- repo.remotes.origin.fetch()
719
+ repo.remotes.origin.fetch(prune=True)
720
720
  except GitCommandError as exc:
721
721
  await self._raise_enriched_error(error=exc)
722
722
 
@@ -44,6 +44,11 @@ async def validate_namespace(
44
44
  db=db, branch=branch, kind=InfrahubKind.IPNAMESPACE, id=data["ip_namespace"]["id"]
45
45
  )
46
46
  namespace_id = namespace.id
47
+ elif "hfid" in data["ip_namespace"]:
48
+ namespace = await registry.manager.get_one_by_hfid(
49
+ db=db, branch=branch, kind=InfrahubKind.IPNAMESPACE, hfid=data["ip_namespace"]["hfid"]
50
+ )
51
+ namespace_id = namespace.id
47
52
  else:
48
53
  raise ValidationError(
49
54
  "A valid ip_namespace must be provided or ip_namespace should be left empty in order to use the default value."
@@ -441,9 +441,6 @@ async def run_proposed_change_schema_integrity_check(model: RequestProposedChang
441
441
  )
442
442
  )
443
443
 
444
- if not conflicts:
445
- return
446
-
447
444
  database = await get_database()
448
445
  async with database.start_transaction() as db:
449
446
  object_conflict_validator_recorder = ObjectConflictValidatorRecorder(
@@ -0,0 +1,14 @@
1
+ import uuid
2
+
3
+ from prometheus_client import Gauge
4
+
5
+ from infrahub import __version__ as infrahub_version
6
+
7
+ WORKER_IDENTITY = str(uuid.uuid4())
8
+
9
+ INFO_METRIC = Gauge(
10
+ "infrahub_info",
11
+ "Information about this Infrahub instance",
12
+ labelnames=["version", "worker_id"],
13
+ )
14
+ INFO_METRIC.labels(version=infrahub_version, worker_id=WORKER_IDENTITY).set(1)
@@ -299,7 +299,7 @@ PROPOSED_CHANGE_MERGE = WorkflowDefinition(
299
299
 
300
300
  GRAPHQL_QUERY_GROUP_UPDATE = WorkflowDefinition(
301
301
  name="graphql-query-group-update",
302
- type=WorkflowType.CORE,
302
+ type=WorkflowType.INTERNAL,
303
303
  module="infrahub.groups.tasks",
304
304
  function="update_graphql_query_group",
305
305
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "infrahub-server"
3
- version = "1.4.7"
3
+ version = "1.4.9"
4
4
  description = "Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run."
5
5
  authors = ["OpsMill <info@opsmill.com>"]
6
6
  readme = "README.md"
@@ -1 +0,0 @@
1
- GRAPH_VERSION = 38
@@ -1,3 +0,0 @@
1
- import uuid
2
-
3
- WORKER_IDENTITY = str(uuid.uuid4())