infrahub-server 1.1.5__tar.gz → 1.1.7__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 (685) hide show
  1. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/PKG-INFO +41 -7
  2. infrahub_server-1.1.7/README.md +75 -0
  3. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/oidc.py +1 -0
  4. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/attribute.py +4 -1
  5. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/branch/tasks.py +7 -4
  6. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/calculator.py +21 -39
  7. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/combiner.py +11 -7
  8. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/coordinator.py +49 -70
  9. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/data_check_synchronizer.py +86 -7
  10. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/aggregated.py +3 -3
  11. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/cardinality_one.py +1 -6
  12. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/labels.py +13 -3
  13. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/path_identifier.py +2 -8
  14. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/ipam_diff_parser.py +1 -1
  15. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/merger/merger.py +5 -3
  16. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/merger/serializer.py +15 -8
  17. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/model/path.py +42 -24
  18. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/all_conflicts.py +5 -2
  19. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/diff_get.py +19 -23
  20. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/field_specifiers.py +2 -0
  21. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/field_summary.py +2 -1
  22. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/filters.py +12 -1
  23. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/has_conflicts_query.py +5 -2
  24. infrahub_server-1.1.5/backend/infrahub/core/diff/query/drop_tracking_id.py → infrahub_server-1.1.7/backend/infrahub/core/diff/query/merge_tracking_id.py +3 -3
  25. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/roots_metadata.py +8 -1
  26. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/save.py +148 -63
  27. infrahub_server-1.1.7/backend/infrahub/core/diff/query/summary_counts_enricher.py +220 -0
  28. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/time_range_query.py +2 -1
  29. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query_parser.py +49 -24
  30. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/repository/deserializer.py +74 -71
  31. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/repository/repository.py +119 -30
  32. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/__init__.py +6 -1
  33. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +9 -2
  34. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/ipam.py +6 -1
  35. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/permissions.py +4 -0
  36. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/diff.py +223 -230
  37. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/node.py +8 -2
  38. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/relationship.py +2 -1
  39. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/resource_manager.py +3 -1
  40. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/model.py +1 -1
  41. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/schema_branch.py +16 -7
  42. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/utils.py +1 -0
  43. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/uniqueness/query.py +20 -17
  44. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/__init__.py +13 -0
  45. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -2
  46. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -2
  47. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/integrator.py +10 -6
  48. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/computed_attribute.py +3 -1
  49. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/diff.py +28 -4
  50. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/main.py +11 -6
  51. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/relationship.py +29 -1
  52. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/tasks.py +6 -3
  53. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/resource_manager.py +7 -3
  54. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/__init__.py +2 -1
  55. infrahub_server-1.1.7/backend/infrahub/permissions/types.py +46 -0
  56. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/proposed_change/tasks.py +6 -1
  57. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/storage.py +6 -5
  58. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/pyproject.toml +1 -1
  59. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_testcontainers/infrahub_testcontainers/container.py +12 -3
  60. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +22 -3
  61. infrahub_server-1.1.7/python_testcontainers/infrahub_testcontainers/haproxy.cfg +43 -0
  62. infrahub_server-1.1.7/python_testcontainers/infrahub_testcontainers/helpers.py +148 -0
  63. infrahub_server-1.1.5/README.md +0 -41
  64. infrahub_server-1.1.5/backend/infrahub/core/diff/enricher/summary_counts.py +0 -105
  65. infrahub_server-1.1.5/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -8
  66. infrahub_server-1.1.5/backend/infrahub/permissions/types.py +0 -20
  67. infrahub_server-1.1.5/python_testcontainers/infrahub_testcontainers/helpers.py +0 -64
  68. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/LICENSE.txt +0 -0
  69. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/__init__.py +0 -0
  70. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/__init__.py +0 -0
  71. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/artifact.py +0 -0
  72. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/auth.py +0 -0
  73. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/dependencies.py +0 -0
  74. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/diff/__init__.py +0 -0
  75. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/diff/diff.py +0 -0
  76. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/diff/validation_models.py +0 -0
  77. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/exception_handlers.py +0 -0
  78. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/exceptions.py +0 -0
  79. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/file.py +0 -0
  80. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/internal.py +0 -0
  81. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/menu.py +0 -0
  82. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/oauth2.py +0 -0
  83. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/query.py +0 -0
  84. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/schema.py +0 -0
  85. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  86. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  87. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/static/swagger-ui.css +0 -0
  88. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/storage.py +0 -0
  89. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/api/transformation.py +0 -0
  90. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/auth.py +0 -0
  91. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/__init__.py +0 -0
  92. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/context.py +0 -0
  93. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/db.py +0 -0
  94. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/events.py +0 -0
  95. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/git_agent.py +0 -0
  96. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/server.py +0 -0
  97. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/cli/tasks.py +0 -0
  98. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/components.py +0 -0
  99. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/computed_attribute/__init__.py +0 -0
  100. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/computed_attribute/constants.py +0 -0
  101. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/computed_attribute/models.py +0 -0
  102. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/computed_attribute/tasks.py +0 -0
  103. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/config.py +0 -0
  104. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/__init__.py +0 -0
  105. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/account.py +0 -0
  106. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/branch/__init__.py +0 -0
  107. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/branch/constants.py +0 -0
  108. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/branch/flow_models.py +0 -0
  109. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/branch/models.py +0 -0
  110. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constants/__init__.py +0 -0
  111. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constants/database.py +0 -0
  112. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  113. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constants/relationship_label.py +0 -0
  114. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constants/schema.py +0 -0
  115. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constraint/__init__.py +0 -0
  116. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  117. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/constraint/node/runner.py +0 -0
  118. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/__init__.py +0 -0
  119. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  120. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  121. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/branch_differ.py +0 -0
  122. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  123. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  124. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  125. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  126. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  127. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  128. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/exceptions.py +0 -0
  129. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  130. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/merger/model.py +0 -0
  131. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/model/__init__.py +0 -0
  132. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/model/diff.py +0 -0
  133. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/models.py +0 -0
  134. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/payload_builder.py +0 -0
  135. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/__init__.py +0 -0
  136. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/artifact.py +0 -0
  137. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  138. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  139. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  140. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/merge.py +0 -0
  141. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  142. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  143. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/diff/tasks.py +0 -0
  144. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/enums.py +0 -0
  145. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/graph/__init__.py +0 -0
  146. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/graph/constraints.py +0 -0
  147. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/graph/index.py +0 -0
  148. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/graph/schema.py +0 -0
  149. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/initialization.py +0 -0
  150. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/integrity/__init__.py +0 -0
  151. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  152. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  153. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/__init__.py +0 -0
  154. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/constants.py +0 -0
  155. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  156. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/model.py +0 -0
  157. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/reconciler.py +0 -0
  158. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/size.py +0 -0
  159. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/tasks.py +0 -0
  160. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/ipam/utilization.py +0 -0
  161. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/manager.py +0 -0
  162. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/merge.py +0 -0
  163. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/__init__.py +0 -0
  164. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/__init__.py +0 -0
  165. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  166. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  167. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  168. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  169. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  170. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  171. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  172. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  173. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  174. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  175. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  176. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  177. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  178. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  179. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  180. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  181. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  182. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  183. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  184. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  185. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  186. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  187. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  188. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  189. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  190. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  191. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  192. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/models.py +0 -0
  193. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  194. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  195. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  196. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  197. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  198. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  199. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/migrations/shared.py +0 -0
  200. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/models.py +0 -0
  201. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/base.py +0 -0
  202. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  203. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  204. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/constraints/interface.py +0 -0
  205. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/delete_validator.py +0 -0
  206. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  207. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  208. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  209. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  210. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/node/standard.py +0 -0
  211. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/path.py +0 -0
  212. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/property.py +0 -0
  213. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/protocols.py +0 -0
  214. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/protocols_base.py +0 -0
  215. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/__init__.py +0 -0
  216. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/attribute.py +0 -0
  217. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/branch.py +0 -0
  218. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/delete.py +0 -0
  219. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/ipam.py +0 -0
  220. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/standard_node.py +0 -0
  221. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/subquery.py +0 -0
  222. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/task.py +0 -0
  223. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/task_log.py +0 -0
  224. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/query/utils.py +0 -0
  225. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/registry.py +0 -0
  226. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/__init__.py +0 -0
  227. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  228. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  229. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  230. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  231. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  232. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/root.py +0 -0
  233. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/__init__.py +0 -0
  234. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  235. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  236. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  237. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/constants.py +0 -0
  238. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  239. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/definitions/core.py +0 -0
  240. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  241. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  242. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/dropdown.py +0 -0
  243. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  244. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  245. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  246. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  247. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  248. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  249. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/generic_schema.py +0 -0
  250. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/manager.py +0 -0
  251. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/node_schema.py +0 -0
  252. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/profile_schema.py +0 -0
  253. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  254. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  255. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/task/__init__.py +0 -0
  256. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/task/task.py +0 -0
  257. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/task/task_log.py +0 -0
  258. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/task/user_task.py +0 -0
  259. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/timestamp.py +0 -0
  260. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/__init__.py +0 -0
  261. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  262. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  263. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  264. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  265. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  266. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/length.py +0 -0
  267. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  268. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  269. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  270. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/determiner.py +0 -0
  271. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/interface.py +0 -0
  272. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/model.py +0 -0
  273. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/models/__init__.py +0 -0
  274. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  275. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/models/violation.py +0 -0
  276. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/__init__.py +0 -0
  277. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/attribute.py +0 -0
  278. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  279. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  280. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  281. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/node/relationship.py +0 -0
  282. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/query.py +0 -0
  283. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  284. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/relationship/count.py +0 -0
  285. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  286. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  287. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/shared.py +0 -0
  288. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/tasks.py +0 -0
  289. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  290. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  291. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  292. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  293. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/constants.py +0 -0
  294. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/index.py +0 -0
  295. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/manager.py +0 -0
  296. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/memgraph.py +0 -0
  297. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/metrics.py +0 -0
  298. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/database/neo4j.py +0 -0
  299. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/__init__.py +0 -0
  300. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  301. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  302. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  303. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  304. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  305. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  306. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  307. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  308. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  309. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  310. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  311. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  312. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  313. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  314. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  315. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  316. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  317. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  318. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  319. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  320. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  321. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  322. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  323. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  324. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  325. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  326. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  327. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  328. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  329. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  330. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  331. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  332. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  333. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  334. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  335. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  336. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  337. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  338. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  339. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  340. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  341. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  342. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  343. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  344. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  345. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  346. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  347. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/component/__init__.py +0 -0
  348. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  349. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/component/registry.py +0 -0
  350. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/interface.py +0 -0
  351. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/dependencies/registry.py +0 -0
  352. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/__init__.py +0 -0
  353. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/branch_action.py +0 -0
  354. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/constants.py +0 -0
  355. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/models.py +0 -0
  356. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/node_action.py +0 -0
  357. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/repository_action.py +0 -0
  358. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/events/schema_action.py +0 -0
  359. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/exceptions.py +0 -0
  360. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/generators/__init__.py +0 -0
  361. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/generators/models.py +0 -0
  362. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/generators/tasks.py +0 -0
  363. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/__init__.py +0 -0
  364. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/base.py +0 -0
  365. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/constants.py +0 -0
  366. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/directory.py +0 -0
  367. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/models.py +0 -0
  368. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/repository.py +0 -0
  369. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/tasks.py +0 -0
  370. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git/worktree.py +0 -0
  371. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git_credential/__init__.py +0 -0
  372. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git_credential/askpass.py +0 -0
  373. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/git_credential/helper.py +0 -0
  374. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/__init__.py +0 -0
  375. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/analyzer.py +0 -0
  376. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/api/__init__.py +0 -0
  377. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/api/dependencies.py +0 -0
  378. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/api/endpoints.py +0 -0
  379. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/app.py +0 -0
  380. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/__init__.py +0 -0
  381. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  382. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  383. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  384. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  385. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  386. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  387. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  388. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  389. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/constants.py +0 -0
  390. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/directives.py +0 -0
  391. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/enums.py +0 -0
  392. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/initialization.py +0 -0
  393. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  394. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/loaders/node.py +0 -0
  395. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/manager.py +0 -0
  396. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/metrics.py +0 -0
  397. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/models.py +0 -0
  398. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  399. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/account.py +0 -0
  400. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  401. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  402. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/branch.py +0 -0
  403. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  404. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  405. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  406. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/menu.py +0 -0
  407. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/models.py +0 -0
  408. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  409. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  410. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  411. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  412. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  413. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  414. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/repository.py +0 -0
  415. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  416. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/mutations/schema.py +0 -0
  417. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/parser.py +0 -0
  418. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/permissions.py +0 -0
  419. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/__init__.py +0 -0
  420. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/account.py +0 -0
  421. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/branch.py +0 -0
  422. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  423. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  424. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/internal.py +0 -0
  425. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/ipam.py +0 -0
  426. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/relationship.py +0 -0
  427. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/search.py +0 -0
  428. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/status.py +0 -0
  429. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/queries/task.py +0 -0
  430. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/query.py +0 -0
  431. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  432. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  433. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  434. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/schema.py +0 -0
  435. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  436. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/subscription/events.py +0 -0
  437. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  438. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/__init__.py +0 -0
  439. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/attribute.py +0 -0
  440. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/branch.py +0 -0
  441. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/common.py +0 -0
  442. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/enums.py +0 -0
  443. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/interface.py +0 -0
  444. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/node.py +0 -0
  445. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/permission.py +0 -0
  446. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/relationship.py +0 -0
  447. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/standard_node.py +0 -0
  448. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/task.py +0 -0
  449. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/types/task_log.py +0 -0
  450. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/graphql/utils.py +0 -0
  451. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/groups/__init__.py +0 -0
  452. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/groups/models.py +0 -0
  453. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/groups/tasks.py +0 -0
  454. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/helpers.py +0 -0
  455. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/lock.py +0 -0
  456. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/log.py +0 -0
  457. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/__init__.py +0 -0
  458. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/constants.py +0 -0
  459. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/generator.py +0 -0
  460. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/menu.py +0 -0
  461. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/models.py +0 -0
  462. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/menu/utils.py +0 -0
  463. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/__init__.py +0 -0
  464. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  465. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/check_artifact_create.py +0 -0
  466. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/check_generator_run.py +0 -0
  467. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/check_repository_checkdefinition.py +0 -0
  468. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/check_repository_mergeconflicts.py +0 -0
  469. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/check_repository_usercheck.py +0 -0
  470. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_branch_create.py +0 -0
  471. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_branch_delete.py +0 -0
  472. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_branch_merge.py +0 -0
  473. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_branch_rebased.py +0 -0
  474. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_node_mutated.py +0 -0
  475. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_schema_update.py +0 -0
  476. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/event_worker_newprimaryapi.py +0 -0
  477. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/finalize_validator_execution.py +0 -0
  478. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  479. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  480. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/proposed_change/__init__.py +0 -0
  481. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/proposed_change/base_with_diff.py +0 -0
  482. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/proposed_change/request_proposedchange_refreshartifacts.py +0 -0
  483. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  484. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  485. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  486. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/request_artifactdefinition_check.py +0 -0
  487. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/request_generatordefinition_check.py +0 -0
  488. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/request_proposedchange_pipeline.py +0 -0
  489. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/request_repository_checks.py +0 -0
  490. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/request_repository_userchecks.py +0 -0
  491. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  492. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  493. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/check/__init__.py +0 -0
  494. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/check/artifact.py +0 -0
  495. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/check/generator.py +0 -0
  496. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/check/repository.py +0 -0
  497. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/event/__init__.py +0 -0
  498. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/event/branch.py +0 -0
  499. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/event/node.py +0 -0
  500. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/event/schema.py +0 -0
  501. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/event/worker.py +0 -0
  502. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/finalize/__init__.py +0 -0
  503. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/finalize/validator.py +0 -0
  504. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  505. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  506. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  507. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  508. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  509. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/requests/__init__.py +0 -0
  510. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/requests/artifact_definition.py +0 -0
  511. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/requests/generator_definition.py +0 -0
  512. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/requests/proposed_change.py +0 -0
  513. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/requests/repository.py +0 -0
  514. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  515. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  516. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/message_bus/types.py +0 -0
  517. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/middleware.py +0 -0
  518. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/models.py +0 -0
  519. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/backend.py +0 -0
  520. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/constants.py +0 -0
  521. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/local_backend.py +0 -0
  522. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/manager.py +0 -0
  523. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/permissions/report.py +0 -0
  524. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/pools/__init__.py +0 -0
  525. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/pools/address.py +0 -0
  526. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/pools/number.py +0 -0
  527. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/pools/prefix.py +0 -0
  528. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/proposed_change/__init__.py +0 -0
  529. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/proposed_change/constants.py +0 -0
  530. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/proposed_change/models.py +0 -0
  531. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/pytest_plugin.py +0 -0
  532. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/schema/__init__.py +0 -0
  533. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/schema/constants.py +0 -0
  534. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/schema/tasks.py +0 -0
  535. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/serve/__init__.py +0 -0
  536. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/serve/gunicorn_config.py +0 -0
  537. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/serve/log.py +0 -0
  538. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/serve/worker.py +0 -0
  539. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/server.py +0 -0
  540. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/__init__.py +0 -0
  541. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/__init__.py +0 -0
  542. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  543. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  544. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  545. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/database/__init__.py +0 -0
  546. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  547. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  548. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  549. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  550. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  551. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  552. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  553. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  554. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  555. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  556. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/component.py +0 -0
  557. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/protocols.py +0 -0
  558. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/services/scheduler.py +0 -0
  559. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/support/__init__.py +0 -0
  560. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/support/macro.py +0 -0
  561. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/task_manager/__init__.py +0 -0
  562. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/task_manager/constants.py +0 -0
  563. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/task_manager/models.py +0 -0
  564. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/task_manager/task.py +0 -0
  565. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/__init__.py +0 -0
  566. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/artifact.py +0 -0
  567. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/check.py +0 -0
  568. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/dummy.py +0 -0
  569. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/keepalive.py +0 -0
  570. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/recurring.py +0 -0
  571. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/registry.py +0 -0
  572. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/tasks/telemetry.py +0 -0
  573. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/trace.py +0 -0
  574. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/transformations/__init__.py +0 -0
  575. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/transformations/constants.py +0 -0
  576. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/transformations/models.py +0 -0
  577. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/transformations/tasks.py +0 -0
  578. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/types.py +0 -0
  579. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/utils.py +0 -0
  580. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/visuals.py +0 -0
  581. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/webhook/__init__.py +0 -0
  582. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/webhook/constants.py +0 -0
  583. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/webhook/models.py +0 -0
  584. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/webhook/tasks.py +0 -0
  585. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/worker.py +0 -0
  586. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workers/__init__.py +0 -0
  587. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workers/infrahub_async.py +0 -0
  588. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/__init__.py +0 -0
  589. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/catalogue.py +0 -0
  590. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/constants.py +0 -0
  591. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/initialization.py +0 -0
  592. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/models.py +0 -0
  593. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/backend/infrahub/workflows/utils.py +0 -0
  594. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/__init__.py +0 -0
  595. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/_importer.py +0 -0
  596. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  597. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  598. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/batch.py +0 -0
  599. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/branch.py +0 -0
  600. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/checks.py +0 -0
  601. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/client.py +0 -0
  602. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/code_generator.py +0 -0
  603. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/config.py +0 -0
  604. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/constants.py +0 -0
  605. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  606. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/_file.py +0 -0
  607. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  608. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  609. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  610. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  611. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  612. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  613. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/constants.py +0 -0
  614. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  615. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  616. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  617. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  618. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  619. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  620. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  621. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  622. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  623. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  624. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  625. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  626. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  627. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/data.py +0 -0
  628. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/diff.py +0 -0
  629. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  630. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/generator.py +0 -0
  631. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/graphql.py +0 -0
  632. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/groups.py +0 -0
  633. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  634. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/node.py +0 -0
  635. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/object_store.py +0 -0
  636. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/playback.py +0 -0
  637. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/protocols.py +0 -0
  638. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  639. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  640. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  641. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  642. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  643. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  644. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  645. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  646. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  647. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  648. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  649. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  650. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  651. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/queries.py +0 -0
  652. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  653. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/recorder.py +0 -0
  654. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/repository.py +0 -0
  655. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  656. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  657. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  658. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  659. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  660. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  661. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/store.py +0 -0
  662. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  663. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  664. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  665. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  666. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  667. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  668. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  669. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  670. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  671. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  672. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  673. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  674. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  675. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  676. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  677. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  678. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  679. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  680. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/transforms.py +0 -0
  681. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/types.py +0 -0
  682. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/utils.py +0 -0
  683. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  684. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_sdk/infrahub_sdk/yaml.py +0 -0
  685. {infrahub_server-1.1.5 → infrahub_server-1.1.7}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: infrahub-server
3
- Version: 1.1.5
3
+ Version: 1.1.7
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  Home-page: https://opsmill.com
6
6
  License: AGPL-3.0-only
@@ -58,16 +58,46 @@ Project-URL: Documentation, https://docs.infrahub.app/
58
58
  Project-URL: Repository, https://github.com/opsmill/infrahub
59
59
  Description-Content-Type: text/markdown
60
60
 
61
- <!-- markdownlint-disable -->
62
- ![Infrahub Logo](docs/static/img/infrahub-hori.svg)
63
- <!-- markdownlint-restore -->
61
+ <h1 align="center">
62
+ <a href=""><img src="docs/static/img/infrahub-hori.svg" alt="Infrahub" width="350"></a>
63
+ </h1>
64
+ <h3 align="center">Simplify Infrastructure Automation</h2>
64
65
 
65
- # Infrahub
66
+ <p align="center">
67
+ <a href="https://www.linkedin.com/company/opsmill">
68
+ <img src="https://img.shields.io/badge/linkedin-blue?logo=linkedin"/>
69
+ </a>
70
+ <a href="https://discord.gg/opsmill">
71
+ <img src="https://img.shields.io/badge/Discord-7289DA?&logo=discord&logoColor=white"/>
72
+ </a>
73
+ </p>
66
74
 
67
- Infrahub from [OpsMill](https://opsmill.com) 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. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities of Git with the flexible data model and UI of a graph database.
75
+ Infrahub from [OpsMill](https://opsmill.com) 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. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities similar to Git with the flexible data model and UI of a graph database.
76
+
77
+ If you just want to try Infrahub out, you can use our [Always-On Sandbox](https://demo.infrahub.app/) to get started.
68
78
 
69
79
  ![infrahub screenshot](docs/docs/media/infrahub-readme.gif)
70
80
 
81
+ ## Why Use Infrahub?
82
+
83
+ **Unified Source of Truth** - Infrahub is a single source of truth for all your infrastructure and network data. It provides a unified view of your infrastructure, allowing you to manage your infrastructure in a more efficient and effective way. Infrahub allows unidirectional and bi-directional [data synchronization](https://docs.infrahub.app/sync/sync/) between other internal systems and Infrahub. The data can be accessed via WebUI, API and SDK, along with SSO and RBAC for access control.
84
+
85
+ **Flexible Schema** - Infrahub provides a flexible schema for your infrastructure data and related business information, allowing you to define your own data model and customize it to your needs. Get started quickly with our [schema library](https://github.com/opsmill/schema-library) or build your own.
86
+
87
+ **Version Control** - Infrahub provides a version control system for your infrastructure data, allowing you to track changes and revert to previous versions if needed. Immutable history of all changes to the data and artifacts is maintained, allowing you to audit and review changes to your infrastructure.
88
+
89
+ **CI Pipeline and Validation** - Infrahub provides a CI pipeline and validation system for your infrastructure data, allowing you to ensure that your infrastructure is always in a valid state. Infrahub was designed with infrastructure-as-code workflows in mind, removing fragility and complexity of combining together multiple tools and projects to achieve the same goal.
90
+
91
+ ## Infrahub Use Cases
92
+
93
+ **Service Catalog** - Infrahub acts as the underlying system to provide infrastructure-as-a-service, allowing you to manage your services and lifecycle them as the services evolve.
94
+
95
+ **Infrastructure Automation** - Provide infrastructure and network automation workflows with Infrahub rendering configurations and artifacts via Jinja2 and python,then passing to deployment tools such as [Nornir](https://www.opsmill.com/simplifying-network-automation-workflows-with-infrahub-nornir-and-jinja2/), [Ansible](https://docs.infrahub.app/ansible/ansible/), Terraform, or vendor-specific tools.
96
+
97
+ **Inventory Management** - Infrahub serves as a centralized inventory system for your infrastructure, allowing you to manage your inventory and track changes to your infrastructure. It provides a WebUI and API for other teams to self-service the information needed to allow the organization to operate.
98
+
99
+ **DCIM and IPAM** - Infrahub provides centralized DCIM and IPAM systems for your infrastructure, capable of handling complex cases such as overlapping IP addresses and VLANs, automation-friendly, branch-aware allocation of resources via Infrahub's [Resource Manager](https://docs.infrahub.app/python-sdk/guides/resource-manager), and more.
100
+
71
101
  ## Quick Start
72
102
 
73
103
  [Always-On Sandbox](https://demo.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
@@ -94,7 +124,11 @@ If you need help, support for the community version of Infrahub is provided on [
94
124
 
95
125
  ## Contributing
96
126
 
97
- [View our CONTRIBUTING](./CONTRIBUTING.md) policy to get started on contributing to Infrahub.
127
+ To help our community with the creation of contributions, please view our [CONTRIBUTING](./CONTRIBUTING.md) page.
128
+
129
+ <a href="https://github.com/opsmill/infrahub/graphs/contributors">
130
+ <img src="https://contrib.rocks/image?repo=opsmill/infrahub" />
131
+ </a>
98
132
 
99
133
  ## Security
100
134
 
@@ -0,0 +1,75 @@
1
+ <h1 align="center">
2
+ <a href=""><img src="docs/static/img/infrahub-hori.svg" alt="Infrahub" width="350"></a>
3
+ </h1>
4
+ <h3 align="center">Simplify Infrastructure Automation</h2>
5
+
6
+ <p align="center">
7
+ <a href="https://www.linkedin.com/company/opsmill">
8
+ <img src="https://img.shields.io/badge/linkedin-blue?logo=linkedin"/>
9
+ </a>
10
+ <a href="https://discord.gg/opsmill">
11
+ <img src="https://img.shields.io/badge/Discord-7289DA?&logo=discord&logoColor=white"/>
12
+ </a>
13
+ </p>
14
+
15
+ Infrahub from [OpsMill](https://opsmill.com) 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. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities similar to Git with the flexible data model and UI of a graph database.
16
+
17
+ If you just want to try Infrahub out, you can use our [Always-On Sandbox](https://demo.infrahub.app/) to get started.
18
+
19
+ ![infrahub screenshot](docs/docs/media/infrahub-readme.gif)
20
+
21
+ ## Why Use Infrahub?
22
+
23
+ **Unified Source of Truth** - Infrahub is a single source of truth for all your infrastructure and network data. It provides a unified view of your infrastructure, allowing you to manage your infrastructure in a more efficient and effective way. Infrahub allows unidirectional and bi-directional [data synchronization](https://docs.infrahub.app/sync/sync/) between other internal systems and Infrahub. The data can be accessed via WebUI, API and SDK, along with SSO and RBAC for access control.
24
+
25
+ **Flexible Schema** - Infrahub provides a flexible schema for your infrastructure data and related business information, allowing you to define your own data model and customize it to your needs. Get started quickly with our [schema library](https://github.com/opsmill/schema-library) or build your own.
26
+
27
+ **Version Control** - Infrahub provides a version control system for your infrastructure data, allowing you to track changes and revert to previous versions if needed. Immutable history of all changes to the data and artifacts is maintained, allowing you to audit and review changes to your infrastructure.
28
+
29
+ **CI Pipeline and Validation** - Infrahub provides a CI pipeline and validation system for your infrastructure data, allowing you to ensure that your infrastructure is always in a valid state. Infrahub was designed with infrastructure-as-code workflows in mind, removing fragility and complexity of combining together multiple tools and projects to achieve the same goal.
30
+
31
+ ## Infrahub Use Cases
32
+
33
+ **Service Catalog** - Infrahub acts as the underlying system to provide infrastructure-as-a-service, allowing you to manage your services and lifecycle them as the services evolve.
34
+
35
+ **Infrastructure Automation** - Provide infrastructure and network automation workflows with Infrahub rendering configurations and artifacts via Jinja2 and python,then passing to deployment tools such as [Nornir](https://www.opsmill.com/simplifying-network-automation-workflows-with-infrahub-nornir-and-jinja2/), [Ansible](https://docs.infrahub.app/ansible/ansible/), Terraform, or vendor-specific tools.
36
+
37
+ **Inventory Management** - Infrahub serves as a centralized inventory system for your infrastructure, allowing you to manage your inventory and track changes to your infrastructure. It provides a WebUI and API for other teams to self-service the information needed to allow the organization to operate.
38
+
39
+ **DCIM and IPAM** - Infrahub provides centralized DCIM and IPAM systems for your infrastructure, capable of handling complex cases such as overlapping IP addresses and VLANs, automation-friendly, branch-aware allocation of resources via Infrahub's [Resource Manager](https://docs.infrahub.app/python-sdk/guides/resource-manager), and more.
40
+
41
+ ## Quick Start
42
+
43
+ [Always-On Sandbox](https://demo.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
44
+
45
+ [Getting Started Environment & Tutorial](https://opsmill.instruqt.com/pages/labs) - It spins up an instance of Infrahub on our cloud, provides a browser, terminal, code editor and walks you through the basic concepts:
46
+
47
+ - Branching and version control
48
+ - Flexible schema
49
+ - Unified storage
50
+
51
+ For longer term tests, you can deploy a local instance of Infrahub by referring to our guide: [Installing Infrahub](https://docs.infrahub.app/guides/installation)
52
+
53
+ ## Documentation
54
+
55
+ If you'd like to learn more about Infrahub, please refer to the following resources:
56
+
57
+ - [Infrahub Overview](https://docs.infrahub.app/overview/)
58
+ - [Infrahub Documentation](https://docs.infrahub.app/)
59
+ - [FAQ](https://docs.infrahub.app/faq/)
60
+
61
+ ## Support and Community
62
+
63
+ If you need help, support for the community version of Infrahub is provided on [![Join our Discord server](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/opsmill) or via [filing an issue on GitHub](https://github.com/opsmill/infrahub/issues).
64
+
65
+ ## Contributing
66
+
67
+ To help our community with the creation of contributions, please view our [CONTRIBUTING](./CONTRIBUTING.md) page.
68
+
69
+ <a href="https://github.com/opsmill/infrahub/graphs/contributors">
70
+ <img src="https://contrib.rocks/image?repo=opsmill/infrahub" />
71
+ </a>
72
+
73
+ ## Security
74
+
75
+ [View our SECURITY](https://github.com/opsmill/infrahub?tab=security-ov-file) policy to find the latest information.
@@ -210,6 +210,7 @@ async def _get_id_token_groups(
210
210
  algorithms=oidc_config.id_token_signing_alg_values_supported,
211
211
  audience=client_id,
212
212
  issuer=str(oidc_config.issuer),
213
+ options={"verify_signature": False, "verify_aud": False, "verify_iss": False},
213
214
  )
214
215
 
215
216
  return decoded_token.get("groups", [])
@@ -470,6 +470,7 @@ class BaseAttribute(FlagPropertyMixin, NodePropertyMixin):
470
470
  related_node_ids: Optional[set] = None,
471
471
  filter_sensitive: bool = False,
472
472
  permissions: Optional[dict] = None,
473
+ include_properties: bool = True,
473
474
  ) -> dict:
474
475
  """Generate GraphQL Payload for this attribute."""
475
476
  # pylint: disable=too-many-branches
@@ -480,7 +481,9 @@ class BaseAttribute(FlagPropertyMixin, NodePropertyMixin):
480
481
  field_names = fields.keys()
481
482
  else:
482
483
  # REMOVED updated_at for now, need to investigate further how it's being used today
483
- field_names = ["__typename", "value"] + self._node_properties + self._flag_properties
484
+ field_names = ["__typename", "value"]
485
+ if include_properties:
486
+ field_names += self._node_properties + self._flag_properties
484
487
 
485
488
  for field_name in field_names:
486
489
  if field_name == "updated_at":
@@ -70,14 +70,17 @@ async def rebase_branch(branch: str) -> None:
70
70
  service=service,
71
71
  )
72
72
  diff_repository = await component_registry.get_component(DiffRepository, db=db, branch=obj)
73
- enriched_diff = await diff_coordinator.update_branch_diff_and_return(base_branch=base_branch, diff_branch=obj)
74
- if enriched_diff.get_all_conflicts():
73
+ enriched_diff_metadata = await diff_coordinator.update_branch_diff(base_branch=base_branch, diff_branch=obj)
74
+ async for _ in diff_repository.get_all_conflicts_for_diff(
75
+ diff_branch_name=enriched_diff_metadata.diff_branch_name, diff_id=enriched_diff_metadata.uuid
76
+ ):
77
+ # if there are any conflicts, raise the error
75
78
  raise ValidationError(
76
79
  f"Branch {obj.name} contains conflicts with the default branch that must be addressed."
77
80
  " Please review the diff for details and manually update the conflicts before rebasing."
78
81
  )
79
82
  node_diff_field_summaries = await diff_repository.get_node_field_summaries(
80
- diff_branch_name=enriched_diff.diff_branch_name, diff_id=enriched_diff.uuid
83
+ diff_branch_name=enriched_diff_metadata.diff_branch_name, diff_id=enriched_diff_metadata.uuid
81
84
  )
82
85
 
83
86
  candidate_schema = merger.get_candidate_schema()
@@ -219,7 +222,7 @@ async def merge_branch(branch: str) -> None:
219
222
  # remove tracking ID from the diff because there is no diff after the merge
220
223
  # -------------------------------------------------------------
221
224
  diff_repository = await component_registry.get_component(DiffRepository, db=db, branch=obj)
222
- await diff_repository.drop_tracking_ids(tracking_ids=[BranchTrackingId(name=obj.name)])
225
+ await diff_repository.mark_tracking_ids_merged(tracking_ids=[BranchTrackingId(name=obj.name)])
223
226
 
224
227
  # -------------------------------------------------------------
225
228
  # Generate an event to indicate that a branch has been merged
@@ -4,7 +4,12 @@ from infrahub import config
4
4
  from infrahub.core import registry
5
5
  from infrahub.core.branch import Branch
6
6
  from infrahub.core.diff.query_parser import DiffQueryParser
7
- from infrahub.core.query.diff import DiffAllPathsQuery, DiffCalculationQuery, DiffFieldPathsQuery, DiffNodePathsQuery
7
+ from infrahub.core.query.diff import (
8
+ DiffCalculationQuery,
9
+ DiffFieldPathsQuery,
10
+ DiffNodePathsQuery,
11
+ DiffPropertyPathsQuery,
12
+ )
8
13
  from infrahub.core.timestamp import Timestamp
9
14
  from infrahub.database import InfrahubDatabase
10
15
  from infrahub.log import get_logger
@@ -86,6 +91,7 @@ class DiffCalculator:
86
91
  )
87
92
  node_limit = int(config.SETTINGS.database.query_size_limit / 10)
88
93
  fields_limit = int(config.SETTINGS.database.query_size_limit / 3)
94
+ properties_limit = int(config.SETTINGS.database.query_size_limit)
89
95
 
90
96
  calculation_request = DiffCalculationRequest(
91
97
  base_branch=base_branch,
@@ -113,21 +119,14 @@ class DiffCalculator:
113
119
  )
114
120
  log.info("Diff field-level calculation queries for branch complete")
115
121
 
116
- branch_diff_query = await DiffAllPathsQuery.init(
117
- db=self.db,
118
- branch=diff_branch,
119
- base_branch=base_branch,
120
- diff_branch_from_time=diff_branch_from_time,
121
- diff_from=from_time,
122
- diff_to=to_time,
122
+ log.info("Beginning diff property-level calculation queries for branch")
123
+ await self._run_diff_calculation_query(
124
+ diff_parser=diff_parser,
125
+ query_class=DiffPropertyPathsQuery,
126
+ calculation_request=calculation_request,
127
+ limit=properties_limit,
123
128
  )
124
- log.info("Beginning diff calculation query for branch")
125
- await branch_diff_query.execute(db=self.db)
126
- log.info("Diff calculation query for branch complete")
127
- log.info("Reading results of query for branch")
128
- for query_result in branch_diff_query.get_results():
129
- diff_parser.read_result(query_result=query_result)
130
- log.info("Results of query for branch read")
129
+ log.info("Diff property-level calculation queries for branch complete")
131
130
 
132
131
  if base_branch.name != diff_branch.name:
133
132
  current_node_field_specifiers = diff_parser.get_current_node_field_specifiers()
@@ -160,32 +159,15 @@ class DiffCalculator:
160
159
  )
161
160
  log.info("Diff field-level calculation queries for base complete")
162
161
 
163
- # Temporary until next change
164
- current_node_field_specifier_tuples: list[tuple[str, str]] = []
165
- new_node_field_specifier_tuples: list[tuple[str, str]] = []
166
- for node_uuid, field_names in current_node_field_specifiers.items():
167
- current_node_field_specifier_tuples.extend((node_uuid, field_name) for field_name in field_names)
168
- for node_uuid, field_names in new_node_field_specifiers.items():
169
- new_node_field_specifier_tuples.extend((node_uuid, field_name) for field_name in field_names)
170
-
171
- base_diff_query = await DiffAllPathsQuery.init(
172
- db=self.db,
173
- branch=base_branch,
174
- base_branch=base_branch,
175
- diff_branch_from_time=diff_branch_from_time,
176
- diff_from=from_time,
177
- diff_to=to_time,
178
- current_node_field_specifiers=current_node_field_specifier_tuples,
179
- new_node_field_specifiers=new_node_field_specifier_tuples,
162
+ log.info("Beginning diff property-level calculation queries for base")
163
+ await self._run_diff_calculation_query(
164
+ diff_parser=diff_parser,
165
+ query_class=DiffPropertyPathsQuery,
166
+ calculation_request=calculation_request,
167
+ limit=properties_limit,
180
168
  )
169
+ log.info("Diff property-level calculation queries for base complete")
181
170
 
182
- log.info("Beginning diff calculation query for base")
183
- await base_diff_query.execute(db=self.db)
184
- log.info("Diff calculation query for base complete")
185
- log.info("Reading results of query for base")
186
- for query_result in base_diff_query.get_results():
187
- diff_parser.read_result(query_result=query_result)
188
- log.info("Results of query for branch read")
189
171
  log.info("Parsing calculated diff")
190
172
  diff_parser.parse(include_unchanged=include_unchanged)
191
173
  log.info("Calculated diff parsed")
@@ -1,7 +1,6 @@
1
1
  from copy import deepcopy
2
2
  from dataclasses import dataclass, field, replace
3
3
  from typing import Iterable
4
- from uuid import uuid4
5
4
 
6
5
  from infrahub.core.constants import NULL_VALUE, DiffAction, RelationshipCardinality
7
6
  from infrahub.core.constants.database import DatabaseEdgeType
@@ -342,6 +341,8 @@ class DiffCombiner:
342
341
 
343
342
  def _copy_node_without_parents(self, node: EnrichedDiffNode) -> EnrichedDiffNode:
344
343
  rels_without_parents = {replace(r, nodes=set()) for r in node.relationships}
344
+ for rel in rels_without_parents:
345
+ rel.reset_summaries()
345
346
  node_without_parents = replace(node, relationships=rels_without_parents)
346
347
  return deepcopy(node_without_parents)
347
348
 
@@ -351,15 +352,11 @@ class DiffCombiner:
351
352
  if node_pair.earlier is None:
352
353
  if node_pair.later is not None:
353
354
  copied = self._copy_node_without_parents(node_pair.later)
354
- for rel in copied.relationships:
355
- rel.reset_summaries()
356
355
  combined_nodes.add(copied)
357
356
  continue
358
357
  if node_pair.later is None:
359
358
  if node_pair.earlier is not None:
360
359
  copied = self._copy_node_without_parents(node_pair.earlier)
361
- for rel in copied.relationships:
362
- rel.reset_summaries()
363
360
  combined_nodes.add(copied)
364
361
  continue
365
362
  combined_attributes = self._combine_attributes(
@@ -420,14 +417,21 @@ class DiffCombiner:
420
417
  filtered_node_pairs = self._filter_nodes_to_keep(earlier_diff=earlier, later_diff=later)
421
418
  combined_nodes = self._combine_nodes(node_pairs=filtered_node_pairs)
422
419
  self._link_child_nodes(nodes=combined_nodes)
420
+ if earlier.exists_on_database:
421
+ diff_uuid = earlier.uuid
422
+ partner_uuid = earlier.partner_uuid
423
+ else:
424
+ diff_uuid = later.uuid
425
+ partner_uuid = later.partner_uuid
423
426
  combined_diffs.append(
424
427
  EnrichedDiffRoot(
425
- uuid=str(uuid4()),
426
- partner_uuid=later.partner_uuid,
428
+ uuid=diff_uuid,
429
+ partner_uuid=partner_uuid,
427
430
  base_branch_name=later.base_branch_name,
428
431
  diff_branch_name=later.diff_branch_name,
429
432
  from_time=earlier.from_time,
430
433
  to_time=later.to_time,
434
+ tracking_id=later.tracking_id,
431
435
  nodes=combined_nodes,
432
436
  )
433
437
  )
@@ -6,6 +6,7 @@ from uuid import uuid4
6
6
 
7
7
  from infrahub import lock
8
8
  from infrahub.core.timestamp import Timestamp
9
+ from infrahub.exceptions import ValidationError
9
10
  from infrahub.log import get_logger
10
11
 
11
12
  from .model.path import (
@@ -29,7 +30,6 @@ if TYPE_CHECKING:
29
30
  from .data_check_synchronizer import DiffDataCheckSynchronizer
30
31
  from .enricher.aggregated import AggregatedDiffEnricher
31
32
  from .enricher.labels import DiffLabelsEnricher
32
- from .enricher.summary_counts import DiffSummaryCountsEnricher
33
33
  from .repository.repository import DiffRepository
34
34
 
35
35
 
@@ -42,7 +42,7 @@ class EnrichedDiffRequest:
42
42
  diff_branch: Branch
43
43
  from_time: Timestamp
44
44
  to_time: Timestamp
45
- tracking_id: TrackingId | None = field(default=None)
45
+ tracking_id: TrackingId
46
46
  node_field_specifiers: dict[str, set[str]] = field(default_factory=dict)
47
47
 
48
48
  def __repr__(self) -> str:
@@ -65,7 +65,6 @@ class DiffCoordinator:
65
65
  diff_combiner: DiffCombiner,
66
66
  conflicts_enricher: ConflictsEnricher,
67
67
  labels_enricher: DiffLabelsEnricher,
68
- summary_counts_enricher: DiffSummaryCountsEnricher,
69
68
  data_check_synchronizer: DiffDataCheckSynchronizer,
70
69
  conflict_transferer: DiffConflictTransferer,
71
70
  ) -> None:
@@ -75,7 +74,6 @@ class DiffCoordinator:
75
74
  self.diff_combiner = diff_combiner
76
75
  self.conflicts_enricher = conflicts_enricher
77
76
  self.labels_enricher = labels_enricher
78
- self.summary_counts_enricher = summary_counts_enricher
79
77
  self.data_check_synchronizer = data_check_synchronizer
80
78
  self.conflict_transferer = conflict_transferer
81
79
  self.lock_registry = lock.registry
@@ -101,6 +99,8 @@ class DiffCoordinator:
101
99
  to_timestamp = Timestamp(to_time)
102
100
  else:
103
101
  to_timestamp = Timestamp()
102
+ if not name:
103
+ raise ValidationError("diff with specified time range requires a name")
104
104
  await self.create_or_update_arbitrary_timeframe_diff(
105
105
  base_branch=base_branch,
106
106
  diff_branch=diff_branch,
@@ -115,27 +115,7 @@ class DiffCoordinator:
115
115
  lock_name += "__incremental"
116
116
  return lock_name
117
117
 
118
- async def update_branch_diff_and_return(self, base_branch: Branch, diff_branch: Branch) -> EnrichedDiffRoot:
119
- enriched_diff = await self.update_branch_diff(base_branch=base_branch, diff_branch=diff_branch)
120
- if isinstance(enriched_diff, EnrichedDiffRoot):
121
- return enriched_diff
122
- return await self._finalize_diff_root_metadata(diff_root_metadata=enriched_diff)
123
-
124
- async def _finalize_diff_root_metadata(self, diff_root_metadata: EnrichedDiffRootMetadata) -> EnrichedDiffRoot:
125
- # if this is EnrichedDiffMetadata, we need to retrieve the full diff and set its metadata to match
126
- full_enriched_diff = await self.diff_repo.get_one(
127
- diff_branch_name=diff_root_metadata.diff_branch_name, diff_id=diff_root_metadata.uuid
128
- )
129
- full_enriched_diff.update_metadata(
130
- from_time=diff_root_metadata.from_time,
131
- to_time=diff_root_metadata.to_time,
132
- tracking_id=diff_root_metadata.tracking_id,
133
- )
134
- return full_enriched_diff
135
-
136
- async def update_branch_diff(
137
- self, base_branch: Branch, diff_branch: Branch
138
- ) -> EnrichedDiffRoot | EnrichedDiffRootMetadata:
118
+ async def update_branch_diff(self, base_branch: Branch, diff_branch: Branch) -> EnrichedDiffRootMetadata:
139
119
  log.info(f"Received request to update branch diff for {base_branch.name} - {diff_branch.name}")
140
120
  incremental_lock_name = self._get_lock_name(
141
121
  base_branch_name=base_branch.name, diff_branch_name=diff_branch.name, is_incremental=True
@@ -169,12 +149,6 @@ class DiffCoordinator:
169
149
  tracking_id=tracking_id,
170
150
  force_branch_refresh=False,
171
151
  )
172
- if not isinstance(enriched_diffs, EnrichedDiffs):
173
- await self._update_core_data_checks(enriched_diff=enriched_diffs.diff_branch_diff)
174
- return enriched_diffs.diff_branch_diff
175
-
176
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.base_branch_diff)
177
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.diff_branch_diff)
178
152
  await self.diff_repo.save(enriched_diffs=enriched_diffs)
179
153
  await self._update_core_data_checks(enriched_diff=enriched_diffs.diff_branch_diff)
180
154
  log.info(f"Branch diff update complete for {base_branch.name} - {diff_branch.name}")
@@ -186,11 +160,9 @@ class DiffCoordinator:
186
160
  diff_branch: Branch,
187
161
  from_time: Timestamp,
188
162
  to_time: Timestamp,
189
- name: str | None = None,
190
- ) -> EnrichedDiffRoot:
191
- tracking_id = None
192
- if name:
193
- tracking_id = NameTrackingId(name=name)
163
+ name: str,
164
+ ) -> EnrichedDiffRootMetadata:
165
+ tracking_id = NameTrackingId(name=name)
194
166
  general_lock_name = self._get_lock_name(
195
167
  base_branch_name=base_branch.name, diff_branch_name=diff_branch.name, is_incremental=False
196
168
  )
@@ -204,13 +176,7 @@ class DiffCoordinator:
204
176
  tracking_id=tracking_id,
205
177
  force_branch_refresh=False,
206
178
  )
207
- # metadata-only diff, so no nodes to enrich
208
- if not isinstance(enriched_diffs, EnrichedDiffs):
209
- await self._update_core_data_checks(enriched_diff=enriched_diffs.diff_branch_diff)
210
- return await self._finalize_diff_root_metadata(diff_root_metadata=enriched_diffs.diff_branch_diff)
211
179
 
212
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.base_branch_diff)
213
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.diff_branch_diff)
214
180
  await self.diff_repo.save(enriched_diffs=enriched_diffs)
215
181
  await self._update_core_data_checks(enriched_diff=enriched_diffs.diff_branch_diff)
216
182
  log.info(f"Arbitrary diff update complete for {base_branch.name} - {diff_branch.name}")
@@ -252,8 +218,6 @@ class DiffCoordinator:
252
218
  earlier=current_branch_diff, later=enriched_diffs.diff_branch_diff
253
219
  )
254
220
 
255
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.base_branch_diff)
256
- await self.summary_counts_enricher.enrich(enriched_diff_root=enriched_diffs.diff_branch_diff)
257
221
  await self.diff_repo.save(enriched_diffs=enriched_diffs)
258
222
  await self._update_core_data_checks(enriched_diff=enriched_diffs.diff_branch_diff)
259
223
  log.info(f"Diff recalculation complete for {base_branch.name} - {diff_branch.name}")
@@ -316,7 +280,7 @@ class DiffCoordinator:
316
280
  diff_branch: Branch,
317
281
  from_time: Timestamp,
318
282
  to_time: Timestamp,
319
- tracking_id: TrackingId | None = None,
283
+ tracking_id: TrackingId,
320
284
  force_branch_refresh: Literal[True] = ...,
321
285
  ) -> EnrichedDiffs: ...
322
286
 
@@ -327,7 +291,7 @@ class DiffCoordinator:
327
291
  diff_branch: Branch,
328
292
  from_time: Timestamp,
329
293
  to_time: Timestamp,
330
- tracking_id: TrackingId | None = None,
294
+ tracking_id: TrackingId,
331
295
  force_branch_refresh: Literal[False] = ...,
332
296
  ) -> EnrichedDiffs | EnrichedDiffsMetadata: ...
333
297
 
@@ -337,7 +301,7 @@ class DiffCoordinator:
337
301
  diff_branch: Branch,
338
302
  from_time: Timestamp,
339
303
  to_time: Timestamp,
340
- tracking_id: TrackingId | None = None,
304
+ tracking_id: TrackingId,
341
305
  force_branch_refresh: bool = False,
342
306
  ) -> EnrichedDiffs | EnrichedDiffsMetadata:
343
307
  # start with empty diffs b/c we only care about their metadata for now, hydrate them with data as needed
@@ -346,6 +310,7 @@ class DiffCoordinator:
346
310
  diff_branch_names=[diff_branch.name],
347
311
  from_time=from_time,
348
312
  to_time=to_time,
313
+ tracking_id=tracking_id,
349
314
  )
350
315
  aggregated_enriched_diffs = await self._aggregate_enriched_diffs(
351
316
  diff_request=EnrichedDiffRequest(
@@ -357,22 +322,23 @@ class DiffCoordinator:
357
322
  ),
358
323
  partial_enriched_diffs=diff_pairs_metadata if not force_branch_refresh else None,
359
324
  )
360
- if tracking_id:
361
- diff_uuids_to_delete: list[str] = []
362
- for diff_pair in diff_pairs_metadata:
363
- if (
364
- diff_pair.base_branch_diff.tracking_id == tracking_id
365
- and diff_pair.base_branch_diff.uuid != aggregated_enriched_diffs.base_branch_diff.uuid
366
- ):
367
- diff_uuids_to_delete.append(diff_pair.base_branch_diff.uuid)
368
- if (
369
- diff_pair.diff_branch_diff.tracking_id == tracking_id
370
- and diff_pair.diff_branch_diff.uuid != aggregated_enriched_diffs.diff_branch_diff.uuid
371
- ):
372
- diff_uuids_to_delete.append(diff_pair.diff_branch_diff.uuid)
373
-
374
- if diff_uuids_to_delete:
375
- await self.diff_repo.delete_diff_roots(diff_root_uuids=diff_uuids_to_delete)
325
+ diff_uuids_to_delete: list[str] = []
326
+ for diff_pair in diff_pairs_metadata:
327
+ if (
328
+ diff_pair.base_branch_diff.tracking_id == tracking_id
329
+ and diff_pair.base_branch_diff.uuid != aggregated_enriched_diffs.base_branch_diff.uuid
330
+ and diff_pair.base_branch_diff.exists_on_database
331
+ ):
332
+ diff_uuids_to_delete.append(diff_pair.base_branch_diff.uuid)
333
+ if (
334
+ diff_pair.diff_branch_diff.tracking_id == tracking_id
335
+ and diff_pair.diff_branch_diff.uuid != aggregated_enriched_diffs.diff_branch_diff.uuid
336
+ and diff_pair.diff_branch_diff.exists_on_database
337
+ ):
338
+ diff_uuids_to_delete.append(diff_pair.diff_branch_diff.uuid)
339
+
340
+ if diff_uuids_to_delete:
341
+ await self.diff_repo.delete_diff_roots(diff_root_uuids=diff_uuids_to_delete)
376
342
 
377
343
  # this is an EnrichedDiffsMetadata, so there are no nodes to enrich
378
344
  if not isinstance(aggregated_enriched_diffs, EnrichedDiffs):
@@ -459,6 +425,7 @@ class DiffCoordinator:
459
425
  diff_branch=diff_request.diff_branch,
460
426
  from_time=current_time,
461
427
  to_time=end_time,
428
+ tracking_id=diff_request.tracking_id,
462
429
  )
463
430
  )
464
431
  current_time = end_time
@@ -481,7 +448,6 @@ class DiffCoordinator:
481
448
  aggregated_enriched_diffs.update_metadata(
482
449
  from_time=diff_request.from_time, to_time=diff_request.to_time, tracking_id=diff_request.tracking_id
483
450
  )
484
- aggregated_enriched_diffs.set_fresh_uuids()
485
451
  return aggregated_enriched_diffs
486
452
 
487
453
  async def _concatenate_diffs_and_requests(
@@ -498,6 +464,7 @@ class DiffCoordinator:
498
464
  meaning multiple diffs (some that may have been freshly calculated) were combined
499
465
  """
500
466
  previous_diff_pair: EnrichedDiffs | EnrichedDiffsMetadata | None = None
467
+ updated_node_uuids: set[str] = set()
501
468
  for diff_or_request in diff_or_request_list:
502
469
  if isinstance(diff_or_request, EnrichedDiffRequest):
503
470
  if previous_diff_pair:
@@ -508,9 +475,12 @@ class DiffCoordinator:
508
475
  log.info(f"Number node field specifiers: {len(node_field_specifiers)}")
509
476
  diff_or_request.node_field_specifiers = node_field_specifiers
510
477
  is_incremental_diff = diff_or_request.from_time != full_diff_request.from_time
511
- single_enriched_diffs: EnrichedDiffs | EnrichedDiffsMetadata = await self._calculate_enriched_diff(
478
+ calculated_diff = await self._calculate_enriched_diff(
512
479
  diff_request=diff_or_request, is_incremental_diff=is_incremental_diff
513
480
  )
481
+ updated_node_uuids |= calculated_diff.base_node_uuids
482
+ updated_node_uuids |= calculated_diff.branch_node_uuids
483
+ single_enriched_diffs: EnrichedDiffs | EnrichedDiffsMetadata = calculated_diff
514
484
 
515
485
  elif isinstance(diff_or_request, EnrichedDiffsMetadata):
516
486
  single_enriched_diffs = diff_or_request
@@ -522,13 +492,20 @@ class DiffCoordinator:
522
492
  continue
523
493
 
524
494
  log.info("Combining diffs...")
525
- previous_diff_pair = await self._combine_diffs(earlier=previous_diff_pair, later=single_enriched_diffs)
495
+ previous_diff_pair = await self._combine_diffs(
496
+ earlier=previous_diff_pair,
497
+ later=single_enriched_diffs,
498
+ node_uuids=updated_node_uuids,
499
+ )
526
500
  log.info("Diffs combined.")
527
501
 
528
502
  return previous_diff_pair
529
503
 
530
504
  async def _combine_diffs(
531
- self, earlier: EnrichedDiffs | EnrichedDiffsMetadata, later: EnrichedDiffs | EnrichedDiffsMetadata
505
+ self,
506
+ earlier: EnrichedDiffs | EnrichedDiffsMetadata,
507
+ later: EnrichedDiffs | EnrichedDiffsMetadata,
508
+ node_uuids: set[str],
532
509
  ) -> EnrichedDiffs | EnrichedDiffsMetadata:
533
510
  log.info(f"Earlier diff to combine: {earlier!r}")
534
511
  log.info(f"Later diff to combine: {later!r}")
@@ -545,11 +522,11 @@ class DiffCoordinator:
545
522
  # hydrate the diffs to combine, if necessary
546
523
  if not isinstance(earlier, EnrichedDiffs):
547
524
  log.info("Hydrating earlier diff...")
548
- earlier = await self.diff_repo.hydrate_diff_pair(enriched_diffs_metadata=earlier)
525
+ earlier = await self.diff_repo.hydrate_diff_pair(enriched_diffs_metadata=earlier, node_uuids=node_uuids)
549
526
  log.info("Earlier diff hydrated.")
550
527
  if not isinstance(later, EnrichedDiffs):
551
528
  log.info("Hydrating later diff...")
552
- later = await self.diff_repo.hydrate_diff_pair(enriched_diffs_metadata=later)
529
+ later = await self.diff_repo.hydrate_diff_pair(enriched_diffs_metadata=later, node_uuids=node_uuids)
553
530
  log.info("Later diff hydrated.")
554
531
 
555
532
  return await self.diff_combiner.combine(earlier_diffs=earlier, later_diffs=later)
@@ -570,6 +547,8 @@ class DiffCoordinator:
570
547
  previous_node_specifiers=diff_request.node_field_specifiers,
571
548
  )
572
549
  log.info("Calculation complete. Enriching diff...")
573
- enriched_diff_pair = await self.diff_enricher.enrich(calculated_diffs=calculated_diff_pair)
550
+ enriched_diff_pair = await self.diff_enricher.enrich(
551
+ calculated_diffs=calculated_diff_pair, tracking_id=diff_request.tracking_id
552
+ )
574
553
  log.info("Enrichment complete")
575
554
  return enriched_diff_pair