infrahub-server 1.3.1__py3-none-any.whl → 1.3.3__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 (42) hide show
  1. infrahub/cli/db.py +194 -13
  2. infrahub/core/branch/enums.py +8 -0
  3. infrahub/core/branch/models.py +28 -5
  4. infrahub/core/branch/tasks.py +5 -7
  5. infrahub/core/diff/calculator.py +4 -1
  6. infrahub/core/diff/coordinator.py +32 -34
  7. infrahub/core/diff/diff_locker.py +26 -0
  8. infrahub/core/diff/query_parser.py +23 -32
  9. infrahub/core/graph/__init__.py +1 -1
  10. infrahub/core/initialization.py +4 -3
  11. infrahub/core/merge.py +31 -16
  12. infrahub/core/migrations/graph/__init__.py +24 -0
  13. infrahub/core/migrations/graph/m012_convert_account_generic.py +4 -3
  14. infrahub/core/migrations/graph/m013_convert_git_password_credential.py +4 -3
  15. infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py +105 -0
  16. infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py +97 -0
  17. infrahub/core/node/__init__.py +3 -0
  18. infrahub/core/node/constraints/grouped_uniqueness.py +88 -132
  19. infrahub/core/node/resource_manager/ip_address_pool.py +5 -3
  20. infrahub/core/node/resource_manager/ip_prefix_pool.py +7 -4
  21. infrahub/core/node/resource_manager/number_pool.py +3 -1
  22. infrahub/core/node/standard.py +4 -0
  23. infrahub/core/query/branch.py +25 -56
  24. infrahub/core/query/node.py +78 -24
  25. infrahub/core/query/relationship.py +11 -8
  26. infrahub/core/relationship/model.py +10 -5
  27. infrahub/core/validators/uniqueness/model.py +17 -0
  28. infrahub/core/validators/uniqueness/query.py +212 -1
  29. infrahub/dependencies/builder/diff/coordinator.py +3 -0
  30. infrahub/dependencies/builder/diff/locker.py +8 -0
  31. infrahub/graphql/mutations/main.py +25 -4
  32. infrahub/graphql/mutations/tasks.py +2 -0
  33. infrahub_sdk/node/node.py +22 -10
  34. infrahub_sdk/node/related_node.py +7 -0
  35. {infrahub_server-1.3.1.dist-info → infrahub_server-1.3.3.dist-info}/METADATA +1 -1
  36. {infrahub_server-1.3.1.dist-info → infrahub_server-1.3.3.dist-info}/RECORD +42 -37
  37. infrahub_testcontainers/container.py +1 -1
  38. infrahub_testcontainers/docker-compose-cluster.test.yml +3 -0
  39. infrahub_testcontainers/docker-compose.test.yml +1 -0
  40. {infrahub_server-1.3.1.dist-info → infrahub_server-1.3.3.dist-info}/LICENSE.txt +0 -0
  41. {infrahub_server-1.3.1.dist-info → infrahub_server-1.3.3.dist-info}/WHEEL +0 -0
  42. {infrahub_server-1.3.1.dist-info → infrahub_server-1.3.3.dist-info}/entry_points.txt +0 -0
infrahub_sdk/node/node.py CHANGED
@@ -507,11 +507,17 @@ class InfrahubNode(InfrahubNodeBase):
507
507
 
508
508
  if rel_schema.cardinality == "one":
509
509
  if isinstance(rel_data, RelatedNode):
510
- peer_id_data: dict[str, Any] = {}
511
- if rel_data.id:
512
- peer_id_data["id"] = rel_data.id
513
- if rel_data.hfid:
514
- peer_id_data["hfid"] = rel_data.hfid
510
+ peer_id_data: dict[str, Any] = {
511
+ key: value
512
+ for key, value in (
513
+ ("id", rel_data.id),
514
+ ("hfid", rel_data.hfid),
515
+ ("__typename", rel_data.typename),
516
+ ("kind", rel_data.kind),
517
+ ("display_label", rel_data.display_label),
518
+ )
519
+ if value is not None
520
+ }
515
521
  if peer_id_data:
516
522
  rel_data = peer_id_data
517
523
  else:
@@ -1090,11 +1096,17 @@ class InfrahubNodeSync(InfrahubNodeBase):
1090
1096
 
1091
1097
  if rel_schema.cardinality == "one":
1092
1098
  if isinstance(rel_data, RelatedNodeSync):
1093
- peer_id_data: dict[str, Any] = {}
1094
- if rel_data.id:
1095
- peer_id_data["id"] = rel_data.id
1096
- if rel_data.hfid:
1097
- peer_id_data["hfid"] = rel_data.hfid
1099
+ peer_id_data: dict[str, Any] = {
1100
+ key: value
1101
+ for key, value in (
1102
+ ("id", rel_data.id),
1103
+ ("hfid", rel_data.hfid),
1104
+ ("__typename", rel_data.typename),
1105
+ ("kind", rel_data.kind),
1106
+ ("display_label", rel_data.display_label),
1107
+ )
1108
+ if value is not None
1109
+ }
1098
1110
  if peer_id_data:
1099
1111
  rel_data = peer_id_data
1100
1112
  else:
@@ -39,6 +39,7 @@ class RelatedNodeBase:
39
39
  self._hfid: list[str] | None = None
40
40
  self._display_label: str | None = None
41
41
  self._typename: str | None = None
42
+ self._kind: str | None = None
42
43
 
43
44
  if isinstance(data, (CoreNodeBase)):
44
45
  self._peer = data
@@ -118,6 +119,12 @@ class RelatedNodeBase:
118
119
  return self._peer.typename
119
120
  return self._typename
120
121
 
122
+ @property
123
+ def kind(self) -> str | None:
124
+ if self._peer:
125
+ return self._peer.get_kind()
126
+ return self._kind
127
+
121
128
  def _generate_input_data(self, allocate_from_pool: bool = False) -> dict[str, Any]:
122
129
  data: dict[str, Any] = {}
123
130
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.3.1
3
+ Version: 1.3.3
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: AGPL-3.0-only
6
6
  Author: OpsMill
@@ -38,7 +38,7 @@ infrahub/branch/triggers.py,sha256=4sywoEX79fY2NkaGe6tTHnmytf4k6gXDm2FJHkkRJOw,7
38
38
  infrahub/cli/__init__.py,sha256=zQjE9zMrwAmk_4qb5mbUgNi06g3HKvrPwQvJLQmv9JY,1814
39
39
  infrahub/cli/constants.py,sha256=CoCeTMnfsA3j7ArdLKLZK4VPxOM7ls17qpxGJmND0m8,129
40
40
  infrahub/cli/context.py,sha256=20CJj_D1VhigR9uhTDPHiVHnV7vzsgK8v-uLKs06kzA,398
41
- infrahub/cli/db.py,sha256=0kBWyzHo6EFnINivClMj0jTBPC_9-RDVeuxrQrRYRws,28472
41
+ infrahub/cli/db.py,sha256=7EEgiqcTtnejeHPC-m5iD4dnmtA22P-JSzvZ9Tcb5ho,36070
42
42
  infrahub/cli/events.py,sha256=nJmowQgTxRs6qaT41A71Ei9jm6qtYaL2amAT5TA1H_k,1726
43
43
  infrahub/cli/git_agent.py,sha256=ajT9-kdd3xLIysOPe8GqZyCDMkpNyhqfWjBg9HPWVcg,5240
44
44
  infrahub/cli/patch.py,sha256=ztOkWyo0l_Wo0WX10bvSqGZibKzowrwx82oi69cjwkY,6018
@@ -60,8 +60,9 @@ infrahub/core/__init__.py,sha256=z6EJBZyCYCBqinoBtX9li6BTBbbGV8WCkE_4CrEsmDA,104
60
60
  infrahub/core/account.py,sha256=s8ZC7J8rtEvQZQjbVuiKMlPhl6aQjtAjbZhBejLC0X8,26182
61
61
  infrahub/core/attribute.py,sha256=stmJ_dOr7rFTXzH80keuE64f6y3K3393GiSYeOaay3s,44257
62
62
  infrahub/core/branch/__init__.py,sha256=h0oIj0gHp1xI-N1cYW8_N6VZ81CBOmLuiUt5cS5nKuk,49
63
- infrahub/core/branch/models.py,sha256=8e0BXwbFV4zHMSpqAp1Zp4L8YlxBs0Mxpl9gMoFGeJ4,19539
64
- infrahub/core/branch/tasks.py,sha256=_5tuv068xczwGYB2MZffPIdchhhgm1ciqOawdIO2pAo,20904
63
+ infrahub/core/branch/enums.py,sha256=vGnaTCzikvMcLikKN25TJ8uCmhnD448dp1ve1_tLjwQ,186
64
+ infrahub/core/branch/models.py,sha256=q8n1KNNPQ3bwz_cMJ_GwGsjF1FPcpazwdUYr6x4Gg-w,20296
65
+ infrahub/core/branch/tasks.py,sha256=cbTNpie9j7YROT2ZlHoSmI6cO-j_3SwAxSo5soa-rG0,20788
65
66
  infrahub/core/changelog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
67
  infrahub/core/changelog/diff.py,sha256=0BxCpsgJ-38x5BBz5XDtAvc9FPy82M0NlzXl8nQ-c70,13752
67
68
  infrahub/core/changelog/models.py,sha256=UgfJdOFUkMmjeUKe1mPCO7WE3jNENw0UJU3LWFf20HQ,29920
@@ -80,13 +81,14 @@ infrahub/core/diff/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
80
81
  infrahub/core/diff/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
82
  infrahub/core/diff/artifacts/calculator.py,sha256=qk1DspB3bkKeWJFesLbmziCALVnbRadjrez1kn_IZWU,4435
82
83
  infrahub/core/diff/branch_differ.py,sha256=62TRs3tGb4brQqCaVoI2iMIiPnny3_0_e9j-Mq-AXx4,7752
83
- infrahub/core/diff/calculator.py,sha256=Wn0IRqCujwfXXNQbi6n-npEE0UrcWi5qq58wAIBMZsM,9976
84
+ infrahub/core/diff/calculator.py,sha256=1ure9OGmoopCLMyjIK4r6zmLJ4eAswEI7yB0WgOkgx0,10088
84
85
  infrahub/core/diff/combiner.py,sha256=qL4WQsphB2sVnncgskSG_QcJBqBHjaK0vWU_apeTn-E,23508
85
86
  infrahub/core/diff/conflict_transferer.py,sha256=LZCuS9Dbr4yBf-bd3RF-9cPnaOvVWiU3KBmmwxbRZl0,3968
86
87
  infrahub/core/diff/conflicts_enricher.py,sha256=x6qiZOXO2A3BQ2Fm78apJ4WA7HLzPO84JomJfcyuyDg,12552
87
88
  infrahub/core/diff/conflicts_extractor.py,sha256=HysGoyNy9qMxfQ0Lh4AVZsRpHUBpezQNUa8cteVLb2k,9715
88
- infrahub/core/diff/coordinator.py,sha256=wlQSnjuBQ-N6b3wH7t2rBsVnFJb0ACgvKCApBCpIlvw,27405
89
+ infrahub/core/diff/coordinator.py,sha256=vWOkxMof3oyUH_ulR37wV1hFbFNS5_NZWdyYgGUY7F4,27376
89
90
  infrahub/core/diff/data_check_synchronizer.py,sha256=HcbYEIe-70MBiSR6P0AmAwgY9aFxYCJktxOiRcJaxj8,9241
91
+ infrahub/core/diff/diff_locker.py,sha256=b4F0rUQln1iK2zwMrJ-2l-1cM782HFut7wUgqZ63W1g,1066
90
92
  infrahub/core/diff/enricher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
93
  infrahub/core/diff/enricher/aggregated.py,sha256=-LnAeNKDo6mifjL3d3ylCg1A9dTZJBySngWPeF7DfrY,793
92
94
  infrahub/core/diff/enricher/cardinality_one.py,sha256=dKgoc0-9RwXG7N1zQc3S49eNZokvi5NzH7YFF3ag4RQ,6796
@@ -127,17 +129,17 @@ infrahub/core/diff/query/save.py,sha256=xBKWpWfRWfaP7g523xKMK82ogg0AfVQTTMeyz8oe
127
129
  infrahub/core/diff/query/summary_counts_enricher.py,sha256=HuMeQfa2Ce0qFmGTSfUV-LncauEsBDhdDcs1QpZOETA,9957
128
130
  infrahub/core/diff/query/time_range_query.py,sha256=Xv9_Y_UJ45UsqfxosoAxXMY47-EpO6fHNIqdwFpysBQ,2976
129
131
  infrahub/core/diff/query/update_conflict_query.py,sha256=kQkFazz88wnApr8UU_qb0ruzhmrhWiqhbErukSAMhLA,1212
130
- infrahub/core/diff/query_parser.py,sha256=6OWI_ynplysO6VH1vCfqiV_VmXvAfoa-bIRJ7heVTjY,37217
132
+ infrahub/core/diff/query_parser.py,sha256=-uz4Fd2briFx7447UGii4RBSJjP_LnV0WiEBOjh_chc,36536
131
133
  infrahub/core/diff/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
134
  infrahub/core/diff/repository/deserializer.py,sha256=bhN9ao8HxqKyRz273QGLNV9z9_SS4EQnM9JoY5ptx78,21337
133
135
  infrahub/core/diff/repository/repository.py,sha256=x3QP9VmBVYBOVtf3IZUyzXqCd8sSfmHTqVoYlAOdGao,26006
134
136
  infrahub/core/diff/tasks.py,sha256=7_k-ZNcJZsiDp-xCZvCQfPJjg0xRxpaGTiVVNuRPfBI,3322
135
137
  infrahub/core/enums.py,sha256=qGbhRVoH43Xi0iDkUfWdQiKapJbLT9UKsCobFk_paIk,491
136
- infrahub/core/graph/__init__.py,sha256=BGr-0-sGLkh6KZu0KVKYgP5KJXbAfOfNoaKpB2168Cg,19
138
+ infrahub/core/graph/__init__.py,sha256=m7vJ3Rt8r-fp5kVRMnaC3wx0irufSEsanqxvUo7-bXc,19
137
139
  infrahub/core/graph/constraints.py,sha256=lmuzrKDFoeSKRiLtycB9PXi6zhMYghczKrPYvfWyy90,10396
138
140
  infrahub/core/graph/index.py,sha256=IHLP-zPRp7HJYLGHMRDRXQp8RC69ztP10Tr5NcL2j4Y,1736
139
141
  infrahub/core/graph/schema.py,sha256=FmEPPb1XOFv3nnS_XJCuUqlp8HsStX5A2frHjlhoqvE,10105
140
- infrahub/core/initialization.py,sha256=6xbY4D17hnnriycBud4JcLDUB5e-pJJJ-z6H-77xv8w,20730
142
+ infrahub/core/initialization.py,sha256=2lHOS9U9H567HiJlEgblEUE-cEH9VDfu1tgw_hBeb5c,20815
141
143
  infrahub/core/integrity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
144
  infrahub/core/integrity/object_conflict/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
145
  infrahub/core/integrity/object_conflict/conflict_recorder.py,sha256=gDOx-Ohle0GxfsNm-FEaBMipaQLMxMVg3BoAHEhuK5E,6125
@@ -150,9 +152,9 @@ infrahub/core/ipam/size.py,sha256=Iu7cVvN9MkilyG_AGvYm3g3dSDesKRVdDh_AKH7yAqk,61
150
152
  infrahub/core/ipam/tasks.py,sha256=TUoP6WZjQkd7DdGLxKnBVVH4SxTHkH2xmJCU8nRWqH8,1483
151
153
  infrahub/core/ipam/utilization.py,sha256=d-zpXCaWsHgJxBLopCDd7y4sJYvHcIzzpYhbTMIgH74,6733
152
154
  infrahub/core/manager.py,sha256=NaUuSY7Veesa67epQRuQ2TJD0-ooUSnvNRIUZCntV3g,47576
153
- infrahub/core/merge.py,sha256=bZvToLKyphJlWMbQAzGuSHcrG2DfeqL69KSfqb1wWdc,10430
155
+ infrahub/core/merge.py,sha256=2TiPC3fAHkhZCl8RARPzLj_Us47OBGHAp6txgCbWopU,11238
154
156
  infrahub/core/migrations/__init__.py,sha256=syPb3-Irf11dXCHgbT0UdmTnEBbpf4wXJ3m8ADYXDpk,1175
155
- infrahub/core/migrations/graph/__init__.py,sha256=jf-xSA-9fSQAQYESBhnPIXCM60gCALgLrzxWPyAo2_o,2945
157
+ infrahub/core/migrations/graph/__init__.py,sha256=bSl8EKD5eeWeXdcGoWT50AK4K-tIptr90l3cX51Ae3w,3808
156
158
  infrahub/core/migrations/graph/m001_add_version_to_graph.py,sha256=YcLN6cFjE6IGheXR4Ujb6CcyY8bJ7WE289hcKJaENOc,1515
157
159
  infrahub/core/migrations/graph/m002_attribute_is_default.py,sha256=wB6f2N_ChTvGajqHD-OWCG5ahRMDhhXZuwo79ieq_II,1036
158
160
  infrahub/core/migrations/graph/m003_relationship_parent_optional.py,sha256=Aya-s98XfE9C7YluOwEjilwgnjaBnZxp27w_Xdv_NmU,2330
@@ -164,8 +166,8 @@ infrahub/core/migrations/graph/m008_add_human_friendly_id.py,sha256=7zswLvod5iTp
164
166
  infrahub/core/migrations/graph/m009_add_generate_profile_attr.py,sha256=7FfjKyVYOebU51SeRtRYkTWKX26SBQx2dfofi7TiQQ8,1346
165
167
  infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py,sha256=M4Orq480PzwBEz85QZqdBh-1arJdIwXNwnPA6cWy5Yg,1366
166
168
  infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py,sha256=TYQ1jXNucLIBbqLS35nUb_72OmMspXexSSW83Ax0oEw,1980
167
- infrahub/core/migrations/graph/m012_convert_account_generic.py,sha256=FZWv-axVbhq86-3l-T8TLnzW7IW2rHLbkgAEb5ol-6A,11001
168
- infrahub/core/migrations/graph/m013_convert_git_password_credential.py,sha256=Vq9jH4NK4LNH__2c_2wCRIHZg17-nxhfLB0CiMSdmNk,12734
169
+ infrahub/core/migrations/graph/m012_convert_account_generic.py,sha256=NT7JI47xWaWf8zLVyw4LE8uyjjdMQGui_7lqt8xrvlI,11086
170
+ infrahub/core/migrations/graph/m013_convert_git_password_credential.py,sha256=6OM7gKbjRXz9yDxFUXKsG1uv-0B9u7KrwIQAO_D0MHA,12819
169
171
  infrahub/core/migrations/graph/m014_remove_index_attr_value.py,sha256=Amds1gl8YtNIekU0tSXpHzdfk8UFqChC2LOLfnQ1YTM,1441
170
172
  infrahub/core/migrations/graph/m015_diff_format_update.py,sha256=fMnUja-VgKbCxtx4Rh3PnA_s3iidaYunJWEkw0AD51w,1169
171
173
  infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py,sha256=FpeGlCdRN8why_6P8ijR4-hFTbE-m95lDNfBwNet1TU,1177
@@ -184,6 +186,8 @@ infrahub/core/migrations/graph/m028_delete_diffs.py,sha256=c2FyUkbeuXfmsNxzcG11b
184
186
  infrahub/core/migrations/graph/m029_duplicates_cleanup.py,sha256=DpOwTMzkdi9-kha-UI6DzzJ_6qWen9kdCl_6j2IimV4,28278
185
187
  infrahub/core/migrations/graph/m030_illegal_edges.py,sha256=Saz7QmUqwuLiBtSBdQf54E1Bj3hz0k9KAOQ-pwPBH4g,2797
186
188
  infrahub/core/migrations/graph/m031_check_number_attributes.py,sha256=s3sVoKIkrZAMVZtWWH8baJW42UCAePp5nMUKy5FDSiM,4944
189
+ infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py,sha256=AEc91iCtHWsNvhSuqZGLAn7wL5FWhiqM73OSwIeB7_0,3535
190
+ infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py,sha256=EHsNyYEPYzqMybgrMefvE9tw-WUWmnh9ZF8FMVRl2wQ,3735
187
191
  infrahub/core/migrations/query/__init__.py,sha256=JoWOUWlV6IzwxWxObsfCnAAKUOHJkE7dZlOsfB64ZEo,876
188
192
  infrahub/core/migrations/query/attribute_add.py,sha256=LlhkIfVOR3TFSUJEV_4kU5JBKXsWwTsRiX1ySUPe4TU,3655
189
193
  infrahub/core/migrations/query/attribute_rename.py,sha256=onb9Nanht1Tz47JgneAcFsuhqqvPS6dvI2nNjRupLLo,6892
@@ -202,33 +206,33 @@ infrahub/core/migrations/schema/placeholder_dummy.py,sha256=3T3dBwC_ZyehOJr2KRKF
202
206
  infrahub/core/migrations/schema/tasks.py,sha256=x6c_5N0pcQ_lTH5Vaqg2_MwlQ08I35BdX-8NhRDozBE,4165
203
207
  infrahub/core/migrations/shared.py,sha256=e7HEBijWhG46UN8ODjSmxvGeK8KAQ3Twnj2q1dvb2m0,6983
204
208
  infrahub/core/models.py,sha256=aqsqO2cP0MndeX6KZk4NEBmeIy6dE7Ob9UqsmjTIAtA,26149
205
- infrahub/core/node/__init__.py,sha256=4of1tA26-EV8FOubg-rhBFU9wkJ0BBipePnnvx1vi_8,41738
209
+ infrahub/core/node/__init__.py,sha256=2kwQEV4yV71WPgFF88B1JsHaoIjZL_kry8Oc_SQaci4,41803
206
210
  infrahub/core/node/base.py,sha256=BAowVRCK_WC50yXym1kCyUppJDJnrODGU5uoj1s0Yd4,2564
207
211
  infrahub/core/node/constraints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
212
  infrahub/core/node/constraints/attribute_uniqueness.py,sha256=9MThTmuqZ7RgK71ZZARlw1k1x3ARn1U67g2_Gatd6rE,2099
209
- infrahub/core/node/constraints/grouped_uniqueness.py,sha256=GQ1-l4ZoZR6FoklHAdqCaNwX3TmW6qrvKYJEVtdPOfc,12056
213
+ infrahub/core/node/constraints/grouped_uniqueness.py,sha256=F5pmnXVuQNlVmdZY5FRxSGK4gGi1BK1IRgw4emCTlLw,9506
210
214
  infrahub/core/node/constraints/interface.py,sha256=fwB32pRLxteQyKRArqekQ0RXlrDkyzp7Vmq03vSpUEo,291
211
215
  infrahub/core/node/create.py,sha256=1mAFaMLqRmuONIwL549JQLFbOpEbP3rBQEb1D2VArcc,7752
212
216
  infrahub/core/node/delete_validator.py,sha256=mj_HQXkTeP_A3po65-R5bCJnDM9CmFFmcUQIxwPlofc,10559
213
217
  infrahub/core/node/ipam.py,sha256=NWb3TUlVQOGAzq1VvDwISLh61HML0jnalsJ7QojqGwQ,2669
214
218
  infrahub/core/node/permissions.py,sha256=uQzQ62IHcSly6fzPre0nQzlrkCIKzH4HyQkODKB3ZWM,2207
215
219
  infrahub/core/node/resource_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
- infrahub/core/node/resource_manager/ip_address_pool.py,sha256=-UQT5kaXSNK-sp7KnT0lsqOg1G3P1uFX0zX5OcHzj48,4831
217
- infrahub/core/node/resource_manager/ip_prefix_pool.py,sha256=HRonATGel6Hk8svPv_I_OZx3VY33nx5jEkWsLbwpQaU,5048
218
- infrahub/core/node/resource_manager/number_pool.py,sha256=XGzFYdodQ3ZZmia2hxHLEzfPJMAEVuj9PKgSeThmsYw,3837
219
- infrahub/core/node/standard.py,sha256=Cfbq01InTVRUpp9l4R3nxn_tlX6V3HchjEJ4kSxjiZM,7170
220
+ infrahub/core/node/resource_manager/ip_address_pool.py,sha256=i7N6zEsvJQr1GUi9AH2Cj5HrrII04NNNwd15fgfGSw0,4939
221
+ infrahub/core/node/resource_manager/ip_prefix_pool.py,sha256=B-9lyqLlVsgDHIEvs9MP3-xb_GqMuF-khdCmRbGVjU4,5173
222
+ infrahub/core/node/resource_manager/number_pool.py,sha256=ifmvEhpqvtVpKAlQkam5A9qGualECwiVtCAFnzQVpAY,3931
223
+ infrahub/core/node/standard.py,sha256=gvAY-1UWj4lUc8tqVZ8AqOFhCR5rhR--gI25g5AOD8o,7284
220
224
  infrahub/core/path.py,sha256=CTSnW6OcvnGNqTcOUZcVOMDSB4PLmeGYpY9U84uv9r8,6181
221
225
  infrahub/core/property.py,sha256=rwsqeaIvCMkHfJYl4WfsNPAS7KS0POo5rAN7vAprXGA,5102
222
226
  infrahub/core/protocols.py,sha256=BDXKAT4QxMbPFnuRqIdhGJB8VY5jPpCkqdGK_li9fFU,12282
223
227
  infrahub/core/protocols_base.py,sha256=cEi6giHtEUmaD0JWfDfWHJhEv_6wjaBA3oJRJCbvc6Q,3411
224
228
  infrahub/core/query/__init__.py,sha256=2qIMaODLwJ6pK6BUd5vODTlA15Aecf5I8_-J44UlCso,23089
225
229
  infrahub/core/query/attribute.py,sha256=DzwbElgTaZs6-nBYGmnDpBr9n0lmUPK3p7eyI30Snh8,11783
226
- infrahub/core/query/branch.py,sha256=Fqycgk8kzhmc1H_-gfiw3c-ZjNjAHw64XU7OQUkhDi0,4976
230
+ infrahub/core/query/branch.py,sha256=B3QEqpwbJrs_8juWQPaHrdwLNJR-1tSkvMuixCFFdt4,3680
227
231
  infrahub/core/query/delete.py,sha256=7tPP1qtNV6QGYtmgE1RKsuQ9oxENnMTVkttLvJ2PiKg,1927
228
232
  infrahub/core/query/diff.py,sha256=DOtPHIu45Yp8wvj8wp16me9E3AK7wVcVfzS2_LIZn2k,35952
229
233
  infrahub/core/query/ipam.py,sha256=0glfVQmcKqMvNyK4GU_zRl2O9pjl7JBeavyE8VC-De4,28234
230
- infrahub/core/query/node.py,sha256=yEDRmEsVUttO7CXNCXnRK0p98wmUHqwybavJS4gfOAo,65140
231
- infrahub/core/query/relationship.py,sha256=WYViWg8tZh_39w2SDtRZnXFNtfcbSQam2h9_HLHs1e4,47521
234
+ infrahub/core/query/node.py,sha256=Rq0jR8Pbs7rPkPMCXnwHFp5Dcl8iLpgrFl4UFRfJ5is,67646
235
+ infrahub/core/query/relationship.py,sha256=B0nmXq12XPm-_caCEPq7TpARFwLR9__Io7Hffgm7bfM,47876
232
236
  infrahub/core/query/resource_manager.py,sha256=wT1sfY8A3E60jBVIB4UCE5lkOeNINnvE-XIbmZAJ8C8,12713
233
237
  infrahub/core/query/standard_node.py,sha256=mPBXyqk4RzoWRUX4NoojoVi8zk-sJ03GmzmUaWqOgSI,4825
234
238
  infrahub/core/query/subquery.py,sha256=UE071w3wccdU_dtKLV-7mdeQ53DKXjPmNxDV0zd5Tpg,7588
@@ -244,7 +248,7 @@ infrahub/core/relationship/constraints/peer_kind.py,sha256=Bropiav4y6r0iU2KfWJ_k
244
248
  infrahub/core/relationship/constraints/peer_parent.py,sha256=z7elpC8xS_ovAF28Haq-RNpFtTEiUehzowiDgYGT68U,2343
245
249
  infrahub/core/relationship/constraints/peer_relatives.py,sha256=Ye79l7njaWxZkU2chTOaptIjvKBIawsNCl0IQxCTDtM,2737
246
250
  infrahub/core/relationship/constraints/profiles_kind.py,sha256=nEZPGtGcmelZ1Nb8EPcQ-7_zCLCNIYwwWbU6C9fLj5E,2464
247
- infrahub/core/relationship/model.py,sha256=CiSJn6uGBuDrdP4K1Kl0w_A6Lq_FLoNZH4ksssZnXMM,47004
251
+ infrahub/core/relationship/model.py,sha256=YGoC-aJm5vtnSAxrpkJbPgHZ3JjFEfoRTBAwI2co458,47251
248
252
  infrahub/core/root.py,sha256=8ZLSOtnmjQcrjqX2vxNO-AGopEUArmBPo_X5NeZBdP0,416
249
253
  infrahub/core/schema/__init__.py,sha256=Q8kzfcX7zhpHThTBoQMMjcXG95DdHcfOWT4poS0QJEY,4035
250
254
  infrahub/core/schema/attribute_parameters.py,sha256=-c8Gh8mHaQk6rZXvBz7VcicRQ8l1Ijmk3BxoxPFAQrc,6336
@@ -334,8 +338,8 @@ infrahub/core/validators/tasks.py,sha256=oaV1rOFiGOkbZYjpK2d5UTj_LFJAghSMKbO7w5f
334
338
  infrahub/core/validators/uniqueness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
339
  infrahub/core/validators/uniqueness/checker.py,sha256=RpiLpIjbdkwwjivry-vjEkVim6ZoC-t2H5Bal7ngASQ,10375
336
340
  infrahub/core/validators/uniqueness/index.py,sha256=Jw1o-UVinQquNduZ5vCCzt8GUfIEdVzBo-1XyRti8F8,5068
337
- infrahub/core/validators/uniqueness/model.py,sha256=V2aejcuHPhgC5nTrS7xX0JFMzprVu90QAau-rUzruCY,5135
338
- infrahub/core/validators/uniqueness/query.py,sha256=5HRjt4WlQCIP9krlKqkBNMJGgavKik8-Z11Q1_YllLk,11650
341
+ infrahub/core/validators/uniqueness/model.py,sha256=3MXrE9lLMI1B2TXxMS2Eb59uOI_Q4havuluoI8fy4EE,5593
342
+ infrahub/core/validators/uniqueness/query.py,sha256=3qJfoxwau3303BCkjJwPngotQYjTRuewqTQvcPzsICE,20103
339
343
  infrahub/database/__init__.py,sha256=sRME_Cm74b5MsKyqMLRpAv3E38Vw2H1yv20JjSBb-Vg,20836
340
344
  infrahub/database/index.py,sha256=ATLqw9Grqbq7haGGm14VSEPmcPniid--YATiffo4sA0,1676
341
345
  infrahub/database/memgraph.py,sha256=Fg3xHP9s0MiBBmMvcEmsJvuIUSq8U_XCS362HDE9d1s,1742
@@ -378,7 +382,7 @@ infrahub/dependencies/builder/diff/combiner.py,sha256=lD8qWsIAvNO9XnT1hI13E4HYzc
378
382
  infrahub/dependencies/builder/diff/conflict_transferer.py,sha256=faslY7GQsx1MekKgluq4z8MbtWbK_Zn5HuPzFWTAaH8,490
379
383
  infrahub/dependencies/builder/diff/conflicts_enricher.py,sha256=8SpiV01TK3oPK0kujUHrj7cqc-CGecD7nVCrFCZ05mE,379
380
384
  infrahub/dependencies/builder/diff/conflicts_extractor.py,sha256=LL_Tvsp-I6R1q9IxCB9OhsF4FJV29PylUSGtLGLGEDQ,398
381
- infrahub/dependencies/builder/diff/coordinator.py,sha256=7Z4SwtkKicZLnWQl_sZFKpHkSWqa1co_ijsBExWlVQo,1479
385
+ infrahub/dependencies/builder/diff/coordinator.py,sha256=lKxqMLEr-NubbdcN5J0C9jFIdhqHE4Z2NtQxlXwQoo8,1650
382
386
  infrahub/dependencies/builder/diff/data_check_conflict_recorder.py,sha256=ABMNwa0H6uo-WW_EjhFXMEdFkIJ2e6cBY9yPuiGbhUE,683
383
387
  infrahub/dependencies/builder/diff/data_check_synchronizer.py,sha256=k8mc4yAd7hczXajaMfw9yQ04b3qtqD1Jm5G4uDbmNNc,890
384
388
  infrahub/dependencies/builder/diff/deserializer.py,sha256=bC4ixLHGFtvIPKcSZpKwyGL9HjmS9ZSnjbMjJm4fT50,518
@@ -391,6 +395,7 @@ infrahub/dependencies/builder/diff/enricher/labels.py,sha256=EZy4OWEGbb1OUhARD0S
391
395
  infrahub/dependencies/builder/diff/enricher/path_identifier.py,sha256=Pv31HAzacLkkV1p5lra5Kg9epAWp_uTjLVAqAMCpEUw,423
392
396
  infrahub/dependencies/builder/diff/enricher/summary_counts.py,sha256=_UDSkEC1VHeL2-6Ra4DdOoklHEu_xmAI8-119V8Y_cU,420
393
397
  infrahub/dependencies/builder/diff/ipam_diff_parser.py,sha256=ZFEMMXWe0x8gr2gyPFuHfto9DtZZSUbZisragYKOhvs,639
398
+ infrahub/dependencies/builder/diff/locker.py,sha256=_3OgiDyBh3MNH5wKOQvTKT17lXyy09KlE7QmGvVSU5I,333
394
399
  infrahub/dependencies/builder/diff/parent_node_adder.py,sha256=-2xmB8SDPwqeCFGQMt8lQ-NVNFPzQKtdihFXG6lw4e8,384
395
400
  infrahub/dependencies/builder/diff/repository.py,sha256=Z3-61TcDJyl8Am7yD-h5a0S0A6aTXl2asDnMKqE3oBE,478
396
401
  infrahub/dependencies/builder/ip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -471,7 +476,7 @@ infrahub/graphql/mutations/diff_conflict.py,sha256=JngQfyKXCVlmtlqQ_VyabmrOEDOEK
471
476
  infrahub/graphql/mutations/generator.py,sha256=Ulw4whZm8Gc8lJjwfUFoFSsR0cOUliFKl87Oca4B9O0,3579
472
477
  infrahub/graphql/mutations/graphql_query.py,sha256=mp_O2byChneCihUrEAFEiIAgJ1gW9WrgtwPetUQmkJw,3562
473
478
  infrahub/graphql/mutations/ipam.py,sha256=wIN8OcTNCHVy32YgatWZi2Of-snFYBd4wlxOAJvE-AY,15961
474
- infrahub/graphql/mutations/main.py,sha256=I4qE7mf-vQcDqPdW_8MsyRe_GtuPeHJj-pjB3_tzsPk,19716
479
+ infrahub/graphql/mutations/main.py,sha256=DB7UvTPopMOGH2jX6SG-bX7NUi3aF4AKiu5UeM20zL4,20787
475
480
  infrahub/graphql/mutations/menu.py,sha256=u2UbOA-TFDRcZRGFkgYTmpGxN2IAUgOvJXd7SnsufyI,3708
476
481
  infrahub/graphql/mutations/models.py,sha256=ilkSLr8OxVO9v3Ra_uDyUTJT9qPOmdPMqQbuWIydJMo,264
477
482
  infrahub/graphql/mutations/node_getter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -484,7 +489,7 @@ infrahub/graphql/mutations/relationship.py,sha256=mFZHn949a48w7MRt-L2iO1St9FwJdX
484
489
  infrahub/graphql/mutations/repository.py,sha256=Whrt1uYWt7Ro6omJYN8zc3D-poZ6bOBrpBHIG4odAmo,11316
485
490
  infrahub/graphql/mutations/resource_manager.py,sha256=DvnmfXmS9bNYXjtgedGTKPdJmtdaCbM5qxl0OJ-t1yQ,11342
486
491
  infrahub/graphql/mutations/schema.py,sha256=vOwP8SIcQxamhP_JwbeXPG5iOEwxHhHawgqU6bD-4us,12897
487
- infrahub/graphql/mutations/tasks.py,sha256=j2t5pMXRQ1i3ohQ-WjfDaDNQpj-CnFnqYCTZ3y5p7ec,3806
492
+ infrahub/graphql/mutations/tasks.py,sha256=IEiT27e6SRJ56OEznWE3r03JfQmyEdxCYBBaVEuHVLU,3898
488
493
  infrahub/graphql/mutations/webhook.py,sha256=IW_WPpBRySd-mpbkuGnR28VpU9naM2bLZBjJOaAGuH4,4777
489
494
  infrahub/graphql/parser.py,sha256=Du1003gL9Bq5niPZE0PT5zB5Sq9Ub2qWJaqf1SnVVck,8603
490
495
  infrahub/graphql/permissions.py,sha256=ADPyCSZcli0PLgGrtO-EsEJjRuvlk9orYhJO06IE_NI,1022
@@ -719,10 +724,10 @@ infrahub_sdk/jinja2.py,sha256=lTfV9E_P5gApaX6RW9M8U8oixQi-0H3U8wcs8fdGVaU,1150
719
724
  infrahub_sdk/node/__init__.py,sha256=clAUZ9lNVPFguelR5Sg9PzklAZruTKEm2xk-BaO68l8,1262
720
725
  infrahub_sdk/node/attribute.py,sha256=oEY1qxip8ETEx9Q33NhSQo013zmzrmpVIFzSkEMUY8M,4547
721
726
  infrahub_sdk/node/constants.py,sha256=TJO4uxvv7sc3FjoLdQdV7Ccymqz8AqxDenARst8awb4,775
722
- infrahub_sdk/node/node.py,sha256=ht6T2Td9CSRrdgCTIemVJmTqEuL4a9YC77zhElN8S0U,70138
727
+ infrahub_sdk/node/node.py,sha256=34rIDO7ZdA8uJpsuBbPDDZ5GSUKkL1nlnFBvoM5bDRo,70674
723
728
  infrahub_sdk/node/parsers.py,sha256=sLDdT6neoYSZIjOCmq8Bgd0LK8FFoasjvJLuSz0whSU,543
724
729
  infrahub_sdk/node/property.py,sha256=8Mjkc8bp3kLlHyllwxDJlpJTuOA1ciMgY8mtH3dFVLM,728
725
- infrahub_sdk/node/related_node.py,sha256=41VTj4k1qojuyBZr0XiD7e2NESl8YwsU3fCmaarlrD0,9916
730
+ infrahub_sdk/node/related_node.py,sha256=fPMnZ83OZnnbimaPC14MdE3lR-kumAA6hbOhRlo1gms,10093
726
731
  infrahub_sdk/node/relationship.py,sha256=ax9BfYFEfzvUmVxiC1RrhtnpV9ZPuuvQFN_DNRGUHLU,11911
727
732
  infrahub_sdk/object_store.py,sha256=d-EDnxPpw_7BsbjbGbH50rjt-1-Ojj2zNrhFansP5hA,4299
728
733
  infrahub_sdk/operation.py,sha256=hsbZSjLbLsqvjZg5R5x_bOxxlteXJAk0fQy3mLrZhn4,2730
@@ -790,9 +795,9 @@ infrahub_sdk/uuidt.py,sha256=Tz-4nHkJwbi39UT3gaIe2wJeZNAoBqf6tm3sw7LZbXc,2155
790
795
  infrahub_sdk/yaml.py,sha256=9X02RrknjCuu_NwgQTv9jZspDCw0EBaP6jhbLIjhpmM,5143
791
796
  infrahub_testcontainers/__init__.py,sha256=oPpmesGgYBSdKTg1L37FGwYBeao1EHury5SJGul-CT8,216
792
797
  infrahub_testcontainers/constants.py,sha256=mZ4hLvcf4rKk9wC7EId4MQxAY0sk4V99deB04N0J2bg,85
793
- infrahub_testcontainers/container.py,sha256=dZE-9IiOU5oqanyJzZMPPHgXTx1L73yXZjVHQoRxJg8,19507
794
- infrahub_testcontainers/docker-compose-cluster.test.yml,sha256=noKd7NLr6GQOn1X4qukvpsRvg15unGS7BfPDG4xkKdM,12057
795
- infrahub_testcontainers/docker-compose.test.yml,sha256=dVbmHdho_AgCRFJ62jNAbtcPd_JMyRWWgfqqMDmIhfc,8565
798
+ infrahub_testcontainers/container.py,sha256=jwNLuqTJ_cNbBlXVXjIl2YeOIfpCetO3RSjpO3g4SrI,19510
799
+ infrahub_testcontainers/docker-compose-cluster.test.yml,sha256=Sz6k_1ywvlA2kGzhc9ASDp9PSpPMUAupjfOGWwHNAHs,12222
800
+ infrahub_testcontainers/docker-compose.test.yml,sha256=jvS8k4U5ngxBzLmvGEn1n1MA1L75DD0PoiFyOdO2Lr4,8620
796
801
  infrahub_testcontainers/haproxy.cfg,sha256=QUkG2Xu-hKoknPOeYKAkBT_xJH6U9CfIS0DTMFZJsnk,1305
797
802
  infrahub_testcontainers/helpers.py,sha256=3HAygJJmU1vBrD63Abiau6BGypYEeysTqRb6nkcmw7g,4573
798
803
  infrahub_testcontainers/host.py,sha256=Z4_gGoGKKeM_HGVS7SdYL1FTNGyLBk8wzicdSKHpfmM,1486
@@ -801,8 +806,8 @@ infrahub_testcontainers/models.py,sha256=ASYyvl7d_WQz_i7y8-3iab9hwwmCl3OCJavqVbe
801
806
  infrahub_testcontainers/performance_test.py,sha256=hvwiy6tc_lWniYqGkqfOXVGAmA_IV15VOZqbiD9ezno,6149
802
807
  infrahub_testcontainers/plugin.py,sha256=I3RuZQ0dARyKHuqCf0y1Yj731P2Mwf3BJUehRJKeWrs,5645
803
808
  infrahub_testcontainers/prometheus.yml,sha256=610xQEyj3xuVJMzPkC4m1fRnCrjGpiRBrXA2ytCLa54,599
804
- infrahub_server-1.3.1.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
805
- infrahub_server-1.3.1.dist-info/METADATA,sha256=7WxSk_ctoonbM_snztUovCRsd9Lq-grShqcalwFQuEo,8205
806
- infrahub_server-1.3.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
807
- infrahub_server-1.3.1.dist-info/entry_points.txt,sha256=UXIeFWDsrV-4IllNvUEd6KieYGzQfn9paga2YyABOQI,393
808
- infrahub_server-1.3.1.dist-info/RECORD,,
809
+ infrahub_server-1.3.3.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
810
+ infrahub_server-1.3.3.dist-info/METADATA,sha256=WjJ19ZRCILDLKyfqCVPoDH3a-XRbvmGhGNdQDWbbXyo,8205
811
+ infrahub_server-1.3.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
812
+ infrahub_server-1.3.3.dist-info/entry_points.txt,sha256=UXIeFWDsrV-4IllNvUEd6KieYGzQfn9paga2YyABOQI,393
813
+ infrahub_server-1.3.3.dist-info/RECORD,,
@@ -141,7 +141,7 @@ class InfrahubDockerCompose(DockerCompose):
141
141
  "INFRAHUB_TESTING_DOCKER_ENTRYPOINT": f"gunicorn --config community/backend/infrahub/serve/gunicorn_config.py -w {os.environ.get('INFRAHUB_TESTING_WEB_CONCURRENCY', 4)} --logger-class infrahub.serve.log.GunicornLogger infrahub_enterprise.server:app", # noqa: E501
142
142
  "INFRAHUB_TESTING_WORKFLOW_DEFAULT_WORKER_TYPE": "infrahubentasync",
143
143
  "INFRAHUB_TESTING_PREFECT_UI_ENABLED": "false",
144
- "NEO4J_DOCKER_IMAGE": "neo4j:5.20.0-enterprise",
144
+ "NEO4J_DOCKER_IMAGE": "neo4j:2025.03.0-enterprise",
145
145
  }
146
146
  )
147
147
 
@@ -91,6 +91,7 @@ services:
91
91
  start_period: 3s
92
92
  ports:
93
93
  - ${INFRAHUB_TESTING_DATABASE_PORT:-0}:6362
94
+ - ${INFRAHUB_TESTING_DATABASE_BOLT_PORT:-0}:7687
94
95
  - ${INFRAHUB_TESTING_DATABASE_UI_PORT:-0}:7474
95
96
 
96
97
  database-core2:
@@ -126,6 +127,7 @@ services:
126
127
  com.github.job: "${JOB_NAME:-unknown}"
127
128
  ports:
128
129
  - "${INFRAHUB_TESTING_DATABASE_PORT:-0}:6363"
130
+ - ${INFRAHUB_TESTING_DATABASE_BOLT_PORT:-0}:7687
129
131
 
130
132
  database-core3:
131
133
  deploy:
@@ -160,6 +162,7 @@ services:
160
162
  com.github.job: "${JOB_NAME:-unknown}"
161
163
  ports:
162
164
  - "${INFRAHUB_TESTING_DATABASE_PORT:-0}:6364"
165
+ - ${INFRAHUB_TESTING_DATABASE_BOLT_PORT:-0}:7687
163
166
 
164
167
  task-manager:
165
168
  image: "${INFRAHUB_TESTING_DOCKER_IMAGE}:${INFRAHUB_TESTING_IMAGE_VERSION}"
@@ -72,6 +72,7 @@ services:
72
72
  start_period: 3s
73
73
  ports:
74
74
  - ${INFRAHUB_TESTING_DATABASE_PORT:-0}:6362
75
+ - ${INFRAHUB_TESTING_DATABASE_BOLT_PORT:-0}:7687
75
76
  - ${INFRAHUB_TESTING_DATABASE_UI_PORT:-0}:7474
76
77
 
77
78
  task-manager: