infrahub-server 1.4.6__tar.gz → 1.4.8__tar.gz

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