infrahub-server 1.3.6__py3-none-any.whl → 1.4.0b1__py3-none-any.whl

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 (163) hide show
  1. infrahub/api/internal.py +5 -0
  2. infrahub/artifacts/tasks.py +17 -22
  3. infrahub/branch/merge_mutation_checker.py +38 -0
  4. infrahub/cli/__init__.py +2 -2
  5. infrahub/cli/context.py +7 -3
  6. infrahub/cli/db.py +5 -41
  7. infrahub/cli/upgrade.py +7 -29
  8. infrahub/computed_attribute/tasks.py +36 -46
  9. infrahub/config.py +53 -2
  10. infrahub/constants/environment.py +1 -0
  11. infrahub/core/attribute.py +9 -7
  12. infrahub/core/branch/tasks.py +43 -41
  13. infrahub/core/constants/__init__.py +20 -6
  14. infrahub/core/constants/infrahubkind.py +2 -0
  15. infrahub/core/diff/coordinator.py +3 -1
  16. infrahub/core/diff/repository/repository.py +0 -8
  17. infrahub/core/diff/tasks.py +11 -8
  18. infrahub/core/graph/__init__.py +1 -1
  19. infrahub/core/graph/index.py +1 -2
  20. infrahub/core/graph/schema.py +50 -29
  21. infrahub/core/initialization.py +62 -33
  22. infrahub/core/ipam/tasks.py +4 -3
  23. infrahub/core/manager.py +2 -2
  24. infrahub/core/merge.py +8 -10
  25. infrahub/core/migrations/graph/__init__.py +4 -0
  26. infrahub/core/migrations/graph/m035_drop_attr_value_index.py +45 -0
  27. infrahub/core/migrations/graph/m036_index_attr_vals.py +577 -0
  28. infrahub/core/migrations/query/attribute_add.py +27 -2
  29. infrahub/core/migrations/query/node_duplicate.py +3 -26
  30. infrahub/core/migrations/schema/tasks.py +6 -5
  31. infrahub/core/node/proposed_change.py +43 -0
  32. infrahub/core/protocols.py +12 -0
  33. infrahub/core/query/attribute.py +32 -14
  34. infrahub/core/query/diff.py +11 -0
  35. infrahub/core/query/ipam.py +13 -7
  36. infrahub/core/query/node.py +51 -23
  37. infrahub/core/query/resource_manager.py +3 -3
  38. infrahub/core/relationship/model.py +13 -13
  39. infrahub/core/schema/basenode_schema.py +8 -0
  40. infrahub/core/schema/definitions/core/__init__.py +10 -1
  41. infrahub/core/schema/definitions/core/ipam.py +28 -2
  42. infrahub/core/schema/definitions/core/propose_change.py +15 -0
  43. infrahub/core/schema/definitions/core/webhook.py +3 -0
  44. infrahub/core/schema/generic_schema.py +10 -0
  45. infrahub/core/schema/manager.py +10 -1
  46. infrahub/core/schema/node_schema.py +22 -17
  47. infrahub/core/schema/profile_schema.py +8 -0
  48. infrahub/core/schema/schema_branch.py +9 -5
  49. infrahub/core/schema/template_schema.py +8 -0
  50. infrahub/core/validators/checks_runner.py +5 -5
  51. infrahub/core/validators/tasks.py +6 -7
  52. infrahub/core/validators/uniqueness/checker.py +4 -2
  53. infrahub/core/validators/uniqueness/model.py +1 -0
  54. infrahub/core/validators/uniqueness/query.py +57 -7
  55. infrahub/database/__init__.py +2 -1
  56. infrahub/events/__init__.py +18 -0
  57. infrahub/events/constants.py +7 -0
  58. infrahub/events/generator.py +29 -2
  59. infrahub/events/proposed_change_action.py +181 -0
  60. infrahub/generators/tasks.py +24 -20
  61. infrahub/git/base.py +4 -7
  62. infrahub/git/integrator.py +21 -12
  63. infrahub/git/repository.py +15 -30
  64. infrahub/git/tasks.py +121 -106
  65. infrahub/graphql/field_extractor.py +69 -0
  66. infrahub/graphql/manager.py +15 -11
  67. infrahub/graphql/mutations/account.py +2 -2
  68. infrahub/graphql/mutations/action.py +8 -2
  69. infrahub/graphql/mutations/artifact_definition.py +4 -1
  70. infrahub/graphql/mutations/branch.py +10 -5
  71. infrahub/graphql/mutations/graphql_query.py +2 -1
  72. infrahub/graphql/mutations/main.py +14 -8
  73. infrahub/graphql/mutations/menu.py +2 -1
  74. infrahub/graphql/mutations/proposed_change.py +225 -8
  75. infrahub/graphql/mutations/relationship.py +6 -1
  76. infrahub/graphql/mutations/repository.py +2 -1
  77. infrahub/graphql/mutations/tasks.py +7 -9
  78. infrahub/graphql/mutations/webhook.py +4 -1
  79. infrahub/graphql/parser.py +15 -6
  80. infrahub/graphql/queries/__init__.py +10 -1
  81. infrahub/graphql/queries/account.py +3 -3
  82. infrahub/graphql/queries/branch.py +2 -2
  83. infrahub/graphql/queries/diff/tree.py +3 -3
  84. infrahub/graphql/queries/event.py +13 -3
  85. infrahub/graphql/queries/ipam.py +23 -1
  86. infrahub/graphql/queries/proposed_change.py +84 -0
  87. infrahub/graphql/queries/relationship.py +2 -2
  88. infrahub/graphql/queries/resource_manager.py +3 -3
  89. infrahub/graphql/queries/search.py +3 -2
  90. infrahub/graphql/queries/status.py +3 -2
  91. infrahub/graphql/queries/task.py +2 -2
  92. infrahub/graphql/resolvers/ipam.py +440 -0
  93. infrahub/graphql/resolvers/many_relationship.py +4 -3
  94. infrahub/graphql/resolvers/resolver.py +5 -5
  95. infrahub/graphql/resolvers/single_relationship.py +3 -2
  96. infrahub/graphql/schema.py +25 -5
  97. infrahub/graphql/types/__init__.py +2 -2
  98. infrahub/graphql/types/attribute.py +3 -3
  99. infrahub/graphql/types/event.py +60 -0
  100. infrahub/groups/tasks.py +6 -6
  101. infrahub/lock.py +3 -2
  102. infrahub/menu/generator.py +8 -0
  103. infrahub/message_bus/operations/__init__.py +9 -12
  104. infrahub/message_bus/operations/git/file.py +6 -5
  105. infrahub/message_bus/operations/git/repository.py +12 -20
  106. infrahub/message_bus/operations/refresh/registry.py +15 -9
  107. infrahub/message_bus/operations/send/echo.py +7 -4
  108. infrahub/message_bus/types.py +1 -0
  109. infrahub/permissions/globals.py +1 -4
  110. infrahub/permissions/manager.py +8 -5
  111. infrahub/pools/prefix.py +7 -5
  112. infrahub/prefect_server/app.py +31 -0
  113. infrahub/prefect_server/bootstrap.py +18 -0
  114. infrahub/proposed_change/action_checker.py +206 -0
  115. infrahub/proposed_change/approval_revoker.py +40 -0
  116. infrahub/proposed_change/branch_diff.py +3 -1
  117. infrahub/proposed_change/checker.py +45 -0
  118. infrahub/proposed_change/constants.py +32 -2
  119. infrahub/proposed_change/tasks.py +182 -150
  120. infrahub/server.py +29 -17
  121. infrahub/services/__init__.py +13 -28
  122. infrahub/services/adapters/cache/__init__.py +4 -0
  123. infrahub/services/adapters/cache/nats.py +2 -0
  124. infrahub/services/adapters/cache/redis.py +3 -0
  125. infrahub/services/adapters/message_bus/__init__.py +0 -2
  126. infrahub/services/adapters/message_bus/local.py +1 -2
  127. infrahub/services/adapters/message_bus/nats.py +6 -8
  128. infrahub/services/adapters/message_bus/rabbitmq.py +7 -9
  129. infrahub/services/adapters/workflow/__init__.py +1 -0
  130. infrahub/services/adapters/workflow/local.py +1 -8
  131. infrahub/services/component.py +2 -1
  132. infrahub/task_manager/event.py +52 -0
  133. infrahub/task_manager/models.py +9 -0
  134. infrahub/tasks/artifact.py +6 -7
  135. infrahub/tasks/check.py +4 -7
  136. infrahub/telemetry/tasks.py +15 -18
  137. infrahub/transformations/tasks.py +10 -6
  138. infrahub/trigger/tasks.py +4 -3
  139. infrahub/types.py +4 -0
  140. infrahub/validators/events.py +7 -7
  141. infrahub/validators/tasks.py +6 -7
  142. infrahub/webhook/models.py +45 -45
  143. infrahub/webhook/tasks.py +25 -24
  144. infrahub/workers/dependencies.py +143 -0
  145. infrahub/workers/infrahub_async.py +19 -43
  146. infrahub/workflows/catalogue.py +16 -2
  147. infrahub/workflows/initialization.py +5 -4
  148. infrahub/workflows/models.py +2 -0
  149. infrahub_sdk/client.py +6 -6
  150. infrahub_sdk/ctl/repository.py +51 -0
  151. infrahub_sdk/ctl/schema.py +9 -9
  152. infrahub_sdk/protocols.py +40 -6
  153. {infrahub_server-1.3.6.dist-info → infrahub_server-1.4.0b1.dist-info}/METADATA +6 -4
  154. {infrahub_server-1.3.6.dist-info → infrahub_server-1.4.0b1.dist-info}/RECORD +162 -149
  155. infrahub_testcontainers/container.py +17 -0
  156. infrahub_testcontainers/docker-compose-cluster.test.yml +56 -1
  157. infrahub_testcontainers/docker-compose.test.yml +56 -1
  158. infrahub_testcontainers/helpers.py +4 -1
  159. infrahub/cli/db_commands/check_inheritance.py +0 -284
  160. /infrahub/{cli/db_commands/__init__.py → py.typed} +0 -0
  161. {infrahub_server-1.3.6.dist-info → infrahub_server-1.4.0b1.dist-info}/LICENSE.txt +0 -0
  162. {infrahub_server-1.3.6.dist-info → infrahub_server-1.4.0b1.dist-info}/WHEEL +0 -0
  163. {infrahub_server-1.3.6.dist-info → infrahub_server-1.4.0b1.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.3.6
3
+ Version: 1.4.0b1
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
@@ -19,8 +19,10 @@ Requires-Dist: asgi-correlation-id (==4.2.0)
19
19
  Requires-Dist: authlib (==1.3.2)
20
20
  Requires-Dist: bcrypt (>=4.1,<4.2)
21
21
  Requires-Dist: boto3 (==1.34.129)
22
+ Requires-Dist: copier (>=9.8.0,<10.0.0)
22
23
  Requires-Dist: dulwich (>=0.22.7,<0.23.0)
23
24
  Requires-Dist: email-validator (>=2.1,<2.2)
25
+ Requires-Dist: fast-depends (>=2.4.12,<3.0.0)
24
26
  Requires-Dist: fastapi (>=0.115,<0.116)
25
27
  Requires-Dist: fastapi-storages (>=0.3,<0.4)
26
28
  Requires-Dist: gitpython (>=3,<4)
@@ -38,8 +40,8 @@ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (==1.28.1)
38
40
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (==1.28.1)
39
41
  Requires-Dist: opentelemetry-instrumentation-aio-pika (==0.49b1)
40
42
  Requires-Dist: opentelemetry-instrumentation-fastapi (==0.49b1)
41
- Requires-Dist: prefect (==3.4.1)
42
- Requires-Dist: prefect-redis (==0.2.2)
43
+ Requires-Dist: prefect (==3.4.11)
44
+ Requires-Dist: prefect-redis (==0.2.3)
43
45
  Requires-Dist: pyarrow (>=14,<15)
44
46
  Requires-Dist: pydantic (>=2.10,<2.11)
45
47
  Requires-Dist: pydantic-settings (>=2.8,<2.9)
@@ -47,7 +49,7 @@ Requires-Dist: pyjwt (>=2.8,<2.9)
47
49
  Requires-Dist: pytest (>=7.4,<7.5)
48
50
  Requires-Dist: python-multipart (==0.0.18)
49
51
  Requires-Dist: pyyaml (>=6,<7)
50
- Requires-Dist: redis[hiredis] (>=5.0.0,<6.0.0)
52
+ Requires-Dist: redis[hiredis] (>=6.0.0,<7.0.0)
51
53
  Requires-Dist: rich (>=13,<14)
52
54
  Requires-Dist: starlette-exporter (>=0.23,<0.24)
53
55
  Requires-Dist: structlog (==24.1.0)