infrahub-server 1.1.6__py3-none-any.whl → 1.1.7__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.
- infrahub/core/attribute.py +4 -1
- infrahub/core/branch/tasks.py +7 -4
- infrahub/core/diff/combiner.py +11 -7
- infrahub/core/diff/coordinator.py +49 -70
- infrahub/core/diff/data_check_synchronizer.py +86 -7
- infrahub/core/diff/enricher/aggregated.py +3 -3
- infrahub/core/diff/enricher/cardinality_one.py +1 -6
- infrahub/core/diff/enricher/labels.py +13 -3
- infrahub/core/diff/enricher/path_identifier.py +2 -8
- infrahub/core/diff/merger/merger.py +5 -3
- infrahub/core/diff/model/path.py +42 -24
- infrahub/core/diff/query/all_conflicts.py +5 -2
- infrahub/core/diff/query/diff_get.py +2 -1
- infrahub/core/diff/query/field_specifiers.py +2 -0
- infrahub/core/diff/query/field_summary.py +2 -1
- infrahub/core/diff/query/filters.py +12 -1
- infrahub/core/diff/query/has_conflicts_query.py +5 -2
- infrahub/core/diff/query/{drop_tracking_id.py → merge_tracking_id.py} +3 -3
- infrahub/core/diff/query/roots_metadata.py +8 -1
- infrahub/core/diff/query/save.py +148 -63
- infrahub/core/diff/query/summary_counts_enricher.py +220 -0
- infrahub/core/diff/query/time_range_query.py +2 -1
- infrahub/core/diff/query_parser.py +49 -24
- infrahub/core/diff/repository/deserializer.py +23 -24
- infrahub/core/diff/repository/repository.py +76 -20
- infrahub/core/node/__init__.py +6 -1
- infrahub/core/node/constraints/grouped_uniqueness.py +9 -2
- infrahub/core/node/ipam.py +6 -1
- infrahub/core/node/permissions.py +4 -0
- infrahub/core/query/diff.py +41 -3
- infrahub/core/query/node.py +8 -2
- infrahub/core/query/relationship.py +2 -1
- infrahub/core/query/resource_manager.py +3 -1
- infrahub/core/utils.py +1 -0
- infrahub/core/validators/uniqueness/query.py +20 -17
- infrahub/database/__init__.py +13 -0
- infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -2
- infrahub/dependencies/builder/diff/coordinator.py +0 -2
- infrahub/graphql/mutations/computed_attribute.py +3 -1
- infrahub/graphql/mutations/diff.py +28 -4
- infrahub/graphql/mutations/main.py +11 -6
- infrahub/graphql/mutations/relationship.py +29 -1
- infrahub/graphql/mutations/tasks.py +6 -3
- infrahub/graphql/queries/resource_manager.py +7 -3
- infrahub/permissions/__init__.py +2 -1
- infrahub/permissions/types.py +26 -0
- infrahub_sdk/batch.py +2 -2
- infrahub_sdk/config.py +1 -1
- infrahub_sdk/ctl/check.py +1 -1
- infrahub_sdk/ctl/utils.py +2 -2
- infrahub_sdk/data.py +1 -1
- infrahub_sdk/node.py +4 -1
- infrahub_sdk/protocols.py +1 -0
- infrahub_sdk/schema/__init__.py +3 -0
- infrahub_sdk/testing/docker.py +0 -30
- infrahub_sdk/transfer/exporter/json.py +1 -1
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.7.dist-info}/METADATA +41 -7
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.7.dist-info}/RECORD +65 -65
- infrahub_testcontainers/container.py +12 -3
- infrahub_testcontainers/docker-compose.test.yml +22 -3
- infrahub_testcontainers/haproxy.cfg +43 -0
- infrahub_testcontainers/helpers.py +85 -1
- infrahub/core/diff/enricher/summary_counts.py +0 -105
- infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -8
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.7.dist-info}/LICENSE.txt +0 -0
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.7.dist-info}/WHEEL +0 -0
- {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.7.dist-info}/entry_points.txt +0 -0
|
@@ -36,12 +36,12 @@ infrahub/computed_attribute/tasks.py,sha256=rzzWBKrmCQ_ZXJ4Uv5XE7IDhdx39I0_HwyDT
|
|
|
36
36
|
infrahub/config.py,sha256=DQFXa6e6nbW6McdLVViuCcKYlGjw9ytmYDsKU5l-Jdo,33605
|
|
37
37
|
infrahub/core/__init__.py,sha256=z6EJBZyCYCBqinoBtX9li6BTBbbGV8WCkE_4CrEsmDA,104
|
|
38
38
|
infrahub/core/account.py,sha256=sggpuO_QpwYH7wXG_lZDnrB5Izmej486o_CYiYjYin8,26497
|
|
39
|
-
infrahub/core/attribute.py,sha256=
|
|
39
|
+
infrahub/core/attribute.py,sha256=H0vHLoNlp1KHI2Jw-Ti5FLmlwJqpYDcv4-9o3K1AsR8,42150
|
|
40
40
|
infrahub/core/branch/__init__.py,sha256=h0oIj0gHp1xI-N1cYW8_N6VZ81CBOmLuiUt5cS5nKuk,49
|
|
41
41
|
infrahub/core/branch/constants.py,sha256=RJxn6dPZGXrnkmOYcRkx6h7IYFp_RCOgoupj1BrBmOQ,112
|
|
42
42
|
infrahub/core/branch/flow_models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
infrahub/core/branch/models.py,sha256=dX37fBbHA84WS7Se2nwSwvOyF4bZVVzZ3oXsV46x-so,19607
|
|
44
|
-
infrahub/core/branch/tasks.py,sha256=
|
|
44
|
+
infrahub/core/branch/tasks.py,sha256=88u1PGAuSDaQFDjxdiAUX7XVjn5sSfvio24qlWaxjoA,18667
|
|
45
45
|
infrahub/core/constants/__init__.py,sha256=CWAeCuj5sPjJMmCK1l3bniRT_s2dEHAOJ7tny9RqpKM,6864
|
|
46
46
|
infrahub/core/constants/database.py,sha256=lxesWX2z6SZgGok1bAY6_pCBm5rFfu7k4ayMBr6w_Vo,336
|
|
47
47
|
infrahub/core/constants/infrahubkind.py,sha256=UVPYZdsUDjG0LvfCLgKdnJC12dFlpCC6YH2Mp-N7Zp4,2378
|
|
@@ -55,52 +55,52 @@ infrahub/core/diff/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
55
55
|
infrahub/core/diff/artifacts/calculator.py,sha256=qk1DspB3bkKeWJFesLbmziCALVnbRadjrez1kn_IZWU,4435
|
|
56
56
|
infrahub/core/diff/branch_differ.py,sha256=9W9ZClBAQffcZWZOsRekzf4XOG9W_G-1jCR68uvfhPQ,7820
|
|
57
57
|
infrahub/core/diff/calculator.py,sha256=1kGY-Pgp2ji4hg2KKWOcFXo3f5vmBuCcxSLRhZK1tD0,7250
|
|
58
|
-
infrahub/core/diff/combiner.py,sha256=
|
|
58
|
+
infrahub/core/diff/combiner.py,sha256=bIAkgs92RHbmqc0T2HjYuZM7zhg6k7SCQN5ytpkFPC0,22950
|
|
59
59
|
infrahub/core/diff/conflict_transferer.py,sha256=LZCuS9Dbr4yBf-bd3RF-9cPnaOvVWiU3KBmmwxbRZl0,3968
|
|
60
60
|
infrahub/core/diff/conflicts_enricher.py,sha256=x6qiZOXO2A3BQ2Fm78apJ4WA7HLzPO84JomJfcyuyDg,12552
|
|
61
61
|
infrahub/core/diff/conflicts_extractor.py,sha256=HysGoyNy9qMxfQ0Lh4AVZsRpHUBpezQNUa8cteVLb2k,9715
|
|
62
|
-
infrahub/core/diff/coordinator.py,sha256=
|
|
63
|
-
infrahub/core/diff/data_check_synchronizer.py,sha256=
|
|
62
|
+
infrahub/core/diff/coordinator.py,sha256=Gk9j9im6oQ_EEznw6XgJGARLOzUJwSA9vgO8GKKIaXw,25879
|
|
63
|
+
infrahub/core/diff/data_check_synchronizer.py,sha256=g2Indp5Yw0FZon1pCzSopZQ5i_HLvCtlzcnIlYFb5X0,9138
|
|
64
64
|
infrahub/core/diff/enricher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
-
infrahub/core/diff/enricher/aggregated.py,sha256
|
|
66
|
-
infrahub/core/diff/enricher/cardinality_one.py,sha256=
|
|
65
|
+
infrahub/core/diff/enricher/aggregated.py,sha256=-LnAeNKDo6mifjL3d3ylCg1A9dTZJBySngWPeF7DfrY,793
|
|
66
|
+
infrahub/core/diff/enricher/cardinality_one.py,sha256=tuefTG0zIHUm-VwgIwTBEQyW76xJlcstNAEa-bwnmQU,6597
|
|
67
67
|
infrahub/core/diff/enricher/hierarchy.py,sha256=Ey3PIRzResW6d5ovhHVrilmyQ2ZfuRZQIk0vatYIozY,7032
|
|
68
68
|
infrahub/core/diff/enricher/interface.py,sha256=pmbWFPONRznDcAPMchVIRm0cTqMThkkwCby8XVLjGWU,265
|
|
69
|
-
infrahub/core/diff/enricher/labels.py,sha256=
|
|
70
|
-
infrahub/core/diff/enricher/path_identifier.py,sha256=
|
|
71
|
-
infrahub/core/diff/enricher/summary_counts.py,sha256=CheM-Fcla1-_CrU056Z_f6dcT090MIKDyvDuapF0db0,4807
|
|
69
|
+
infrahub/core/diff/enricher/labels.py,sha256=yOqd7-j7QtHsRgMnE0pS25M_okuDFPt5wCTNoYHmdhg,9804
|
|
70
|
+
infrahub/core/diff/enricher/path_identifier.py,sha256=6PE-PCf-7fvetScs1vDDSxwnXPRfqa5bvYV9BzFxKbc,3195
|
|
72
71
|
infrahub/core/diff/exceptions.py,sha256=R-i0mnzNwmHH9HQ1C7YAfL6tys-CbwQCIwTTmjfF_BM,546
|
|
73
72
|
infrahub/core/diff/ipam_diff_parser.py,sha256=HSqo1KUF9UZVruZ-AD8Koc24pEzqE1nNh8oMoCostSA,6620
|
|
74
73
|
infrahub/core/diff/merger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
-
infrahub/core/diff/merger/merger.py,sha256=
|
|
74
|
+
infrahub/core/diff/merger/merger.py,sha256=XrVCIsj7HWl-xXr0d-RFwSRi96QUsjFLWlWWH2RiQPM,3422
|
|
76
75
|
infrahub/core/diff/merger/model.py,sha256=z1pjX0SXvZkqCqdcUKae73v6eEBrjUNotnkx0noe2wc,742
|
|
77
76
|
infrahub/core/diff/merger/serializer.py,sha256=b6tSOkSkBTuxfKutHnSZGkC0_-PMitA9Im7f8RV4pDc,18410
|
|
78
77
|
infrahub/core/diff/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
78
|
infrahub/core/diff/model/diff.py,sha256=EM9yIkZauSeNP13RXn0RSz7IAdGOqUv3-QKJyAEfsD8,9589
|
|
80
|
-
infrahub/core/diff/model/path.py,sha256=
|
|
79
|
+
infrahub/core/diff/model/path.py,sha256=1GBG8lQcUiCeqavRDGi8muyeJU1M8TYQtAsmHwsymLk,29825
|
|
81
80
|
infrahub/core/diff/models.py,sha256=wmOzW4xQ5YreDCr_i56YMFtxbM4-LRgZort49fGJ0BQ,441
|
|
82
81
|
infrahub/core/diff/payload_builder.py,sha256=fzti6hA6bAWRySS3Y2fSoOhNwvQjeSRfyB76Dl6BkVg,1742
|
|
83
82
|
infrahub/core/diff/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
infrahub/core/diff/query/all_conflicts.py,sha256=
|
|
83
|
+
infrahub/core/diff/query/all_conflicts.py,sha256=PIFQIU3uGHJx6GB9Fm_wwDjZX5U1J1yYBMf6Atesa24,3091
|
|
85
84
|
infrahub/core/diff/query/artifact.py,sha256=tC2KYdCcxAjrMmLMjfwg3SwEiptxA5DrFjOCYkUXNQc,8815
|
|
86
85
|
infrahub/core/diff/query/delete_query.py,sha256=MKB-vaUByt8TbI1yyq_amk9FHhjnAAlY_BBi4MnrrFk,844
|
|
87
|
-
infrahub/core/diff/query/diff_get.py,sha256=
|
|
86
|
+
infrahub/core/diff/query/diff_get.py,sha256=eUk4EhSx8kHxiHQnJoKSS0rVdfhtn-658GKw_AtE73E,7467
|
|
88
87
|
infrahub/core/diff/query/diff_summary.py,sha256=u3SkPQYa7SPreZ2_JHk4SPOS829MVa3rt-RZG908QAE,3825
|
|
89
|
-
infrahub/core/diff/query/
|
|
90
|
-
infrahub/core/diff/query/
|
|
91
|
-
infrahub/core/diff/query/
|
|
92
|
-
infrahub/core/diff/query/filters.py,sha256=eNx1pWddWlNd1jkylCLRLto-0qxovEG-CBGftDZE8VU,3343
|
|
88
|
+
infrahub/core/diff/query/field_specifiers.py,sha256=trua1xJ-p_IhzZLoXc_8N9fGU2pSk3s_k57l2L8lcm0,1524
|
|
89
|
+
infrahub/core/diff/query/field_summary.py,sha256=ZXYxX5f-nJ0rG_ZzfSxmF01OmkBYdSj34Xt6sfBl078,3164
|
|
90
|
+
infrahub/core/diff/query/filters.py,sha256=HnbeTo3W2n0gQcKYM4my7sQ0Syoj7aPy5WFkVp38qLc,3646
|
|
93
91
|
infrahub/core/diff/query/get_conflict_query.py,sha256=fXJNx5hiZW3NLAbGITvC-iuRDhRkXFhLF3oRTOzgEqM,876
|
|
94
|
-
infrahub/core/diff/query/has_conflicts_query.py,sha256
|
|
92
|
+
infrahub/core/diff/query/has_conflicts_query.py,sha256=nftOmnAtDsNxxhpEoLcbQdalhgqx5ROckabou1CSv-Y,2531
|
|
95
93
|
infrahub/core/diff/query/merge.py,sha256=HZgsf9tMIEZ_O-ztWBmF-L75nAO9LOe1lKo53Ehub9I,22902
|
|
96
|
-
infrahub/core/diff/query/
|
|
97
|
-
infrahub/core/diff/query/
|
|
98
|
-
infrahub/core/diff/query/
|
|
94
|
+
infrahub/core/diff/query/merge_tracking_id.py,sha256=puDyqQv-g0jHA-ZuNNwHyJ2spbWOUoSZr131d0NOu0M,817
|
|
95
|
+
infrahub/core/diff/query/roots_metadata.py,sha256=mwS8elSVxH-xHYdMd0maAGJ94sGY9oXk85jp59RsCQ4,2166
|
|
96
|
+
infrahub/core/diff/query/save.py,sha256=5RaYepOLBw7hZRabBca0Hlqi0L9oFTJiJ7io_5kSls0,22044
|
|
97
|
+
infrahub/core/diff/query/summary_counts_enricher.py,sha256=RKDJVAIKPGSaK3wqFwYNRLSgr3GdT0w2s26cW6LJe6Q,8436
|
|
98
|
+
infrahub/core/diff/query/time_range_query.py,sha256=W4CQlxfy37VysSc4aSpuklf-4pJFB57AxsjyL4ahatw,2987
|
|
99
99
|
infrahub/core/diff/query/update_conflict_query.py,sha256=z19Y2l9T78A-ydQbqoWYt-eSXhaxMkrD_oLMuaW9FdA,1196
|
|
100
|
-
infrahub/core/diff/query_parser.py,sha256=
|
|
100
|
+
infrahub/core/diff/query_parser.py,sha256=vhWfm7wm9j1SztBWHXBGA16ly467z7lBi5N_5QjASGk,37765
|
|
101
101
|
infrahub/core/diff/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
infrahub/core/diff/repository/deserializer.py,sha256=
|
|
103
|
-
infrahub/core/diff/repository/repository.py,sha256=
|
|
102
|
+
infrahub/core/diff/repository/deserializer.py,sha256=zGPXWUxTqlMIpEOrpoGhVJvdMJOdm1Wo8U74HAbfrvo,20246
|
|
103
|
+
infrahub/core/diff/repository/repository.py,sha256=TTVvpb6EaLnvmTAh6sLwfKMh5nWSibzB7sXRZIKTFvI,19445
|
|
104
104
|
infrahub/core/diff/tasks.py,sha256=vJf3HdgkvBG5b_mnmFmdpd9xDeBOuD4XFgNSd1Wbex8,3045
|
|
105
105
|
infrahub/core/enums.py,sha256=5wMcX9x6acU9CTa4B4b6rFwgRZ31N9c9TR3n2EO0BuI,490
|
|
106
106
|
infrahub/core/graph/__init__.py,sha256=jwgNlvRvVs2_s5YC1TqeLucoKBHQ4pDox1v0tbE9oIw,19
|
|
@@ -159,15 +159,15 @@ infrahub/core/migrations/schema/placeholder_dummy.py,sha256=3T3dBwC_ZyehOJr2KRKF
|
|
|
159
159
|
infrahub/core/migrations/schema/tasks.py,sha256=qrHz2dW-lwp1K3EWNnAAqh5HZn15-SgZQceOF-hC7Mc,4111
|
|
160
160
|
infrahub/core/migrations/shared.py,sha256=y60PTvFKrwLB3SrCmsXr-XR188mJGDGpqZj_9qwmr8U,7133
|
|
161
161
|
infrahub/core/models.py,sha256=vkxrU_CNccRC-w7YKq-eibqjlJz-CnEaa-j9oIsaus4,24269
|
|
162
|
-
infrahub/core/node/__init__.py,sha256=
|
|
162
|
+
infrahub/core/node/__init__.py,sha256=T2zpQdd8MSAnHruaTKx3u0Puhwz4MS01rvyt4hPy_dE,30773
|
|
163
163
|
infrahub/core/node/base.py,sha256=naK0ZmWTnwNTESvRRfSTybleBoGELZKm4bdUa9QmZvw,2655
|
|
164
164
|
infrahub/core/node/constraints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
165
|
infrahub/core/node/constraints/attribute_uniqueness.py,sha256=jbZP_c4oAIMfLte1x666JbV8it764VD2E44_hxsHZRY,2115
|
|
166
|
-
infrahub/core/node/constraints/grouped_uniqueness.py,sha256=
|
|
166
|
+
infrahub/core/node/constraints/grouped_uniqueness.py,sha256=2Pupx8ISxex7td_ElelV0rVYuhMq1kINiB_rAC2Xhzg,9123
|
|
167
167
|
infrahub/core/node/constraints/interface.py,sha256=K53ht1ozEiDV8LKKdd1slAByh0VP5CUT4_VE9MrkiGU,325
|
|
168
168
|
infrahub/core/node/delete_validator.py,sha256=KkCh5F2osBwVv0Wl2f9BB74ywhOsPgNXkYFOEO9zojs,10541
|
|
169
|
-
infrahub/core/node/ipam.py,sha256=
|
|
170
|
-
infrahub/core/node/permissions.py,sha256=
|
|
169
|
+
infrahub/core/node/ipam.py,sha256=JvWP3tZ2DtMHz6EBgPa8GixgvuMa6_dAt24glDuJu2c,2974
|
|
170
|
+
infrahub/core/node/permissions.py,sha256=zYc6_4yp-4ZYziZSFu59AthUmFV9fTeSdvXSJ5KDE9U,2235
|
|
171
171
|
infrahub/core/node/resource_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
172
|
infrahub/core/node/resource_manager/ip_address_pool.py,sha256=Ap7A37Cka3iB2fMjBEF871wXslDhGOGACtlWgnMwlGE,4703
|
|
173
173
|
infrahub/core/node/resource_manager/ip_prefix_pool.py,sha256=c-0J3_fBiyOOoD1YFyQoDq-Y_VUbHzRmKry7boDndNw,4778
|
|
@@ -181,11 +181,11 @@ infrahub/core/query/__init__.py,sha256=iXvVvRB5s6f06UxBqkOucrbH7fOuUgyu1M8VXnlMN
|
|
|
181
181
|
infrahub/core/query/attribute.py,sha256=-84v73Je49QpYcdBcBS6Acj8i8uIGFaOxJyFd2kszD4,11756
|
|
182
182
|
infrahub/core/query/branch.py,sha256=OmYS1n1U4NEbDXBrPAM9lvh_qb_prbRdNnC07N1k-Mw,4561
|
|
183
183
|
infrahub/core/query/delete.py,sha256=BsCeUb11Le3NU2hLMcu05acvWrRVrGncxGxpkWTIzJE,1902
|
|
184
|
-
infrahub/core/query/diff.py,sha256=
|
|
184
|
+
infrahub/core/query/diff.py,sha256=73Jy-D1wd6GYpUoRb7MGDMkgSuX6KeQ_8swaYLhgJQU,31942
|
|
185
185
|
infrahub/core/query/ipam.py,sha256=xWCemBaiOA00eU3sB8XmOdNOJ1L69Lls3L2GIw5P_CU,28123
|
|
186
|
-
infrahub/core/query/node.py,sha256=
|
|
187
|
-
infrahub/core/query/relationship.py,sha256=
|
|
188
|
-
infrahub/core/query/resource_manager.py,sha256=
|
|
186
|
+
infrahub/core/query/node.py,sha256=qdZYjUcNQTM3o3HLwnbC8xG2WqdGXwFFuQL2X7glPmU,59747
|
|
187
|
+
infrahub/core/query/relationship.py,sha256=3NobAJQuAWoshPas9mQtLJi1RDCzxsf9TJyGPYByy7I,35089
|
|
188
|
+
infrahub/core/query/resource_manager.py,sha256=yzAYu6E7szjD8ZBaInivpOfmbMHLEFtHHcha_2OE7Yc,12527
|
|
189
189
|
infrahub/core/query/standard_node.py,sha256=Wh9ekHhfamxizri_1M5EQFcgJWyIvtAMQRz9nEKOL3w,4437
|
|
190
190
|
infrahub/core/query/subquery.py,sha256=5vSBz8CuQHXmka1LtWZp4RDClA0IfJFi0L2cb9uZRZM,7636
|
|
191
191
|
infrahub/core/query/task.py,sha256=DjcNUt4PXdvIDq_e_F3bHFEA_Hxd6-HLD6FkuuoAQic,3089
|
|
@@ -228,7 +228,7 @@ infrahub/core/task/task.py,sha256=GiQcOqKaWxjOEGHmNfwCTD6IgLkhHFIQ1_Ev_XvMSLc,38
|
|
|
228
228
|
infrahub/core/task/task_log.py,sha256=Ihn8G2uW8K3wYz42qRjcddCSlspjN67apb44uirqxqA,986
|
|
229
229
|
infrahub/core/task/user_task.py,sha256=Pa6h-3a4-lXdYlPhcEORE_Dt9rxn_KZNvm7hQhMHN2Q,4607
|
|
230
230
|
infrahub/core/timestamp.py,sha256=LzftyzfOJ1wedqm69mvkL_oHczzX3vGNuc7kk1KrK7U,1049
|
|
231
|
-
infrahub/core/utils.py,sha256=
|
|
231
|
+
infrahub/core/utils.py,sha256=Wuc1s_PpuI12AfnrF7-8snGGLH0yS0xbYP0i7gao3bI,9091
|
|
232
232
|
infrahub/core/validators/__init__.py,sha256=yl5EZcZxuQ1LYEDD_rEVBHuidRAqkcE_h2iiYSS8oYw,2185
|
|
233
233
|
infrahub/core/validators/aggregated_checker.py,sha256=HSX_jEJGVGHRBEjpCl80daT6TX7nXtfuROSS8T2a4dc,4728
|
|
234
234
|
infrahub/core/validators/attribute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -262,8 +262,8 @@ infrahub/core/validators/uniqueness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
|
262
262
|
infrahub/core/validators/uniqueness/checker.py,sha256=IqreVcMPZj7nNhC5cc5SlBSZ-P6txVmPxJp6gU028Ls,10266
|
|
263
263
|
infrahub/core/validators/uniqueness/index.py,sha256=yu-clITQF4MrgK36hsyuXllvR4QkVTqy4ugi_Y_C_Sg,5081
|
|
264
264
|
infrahub/core/validators/uniqueness/model.py,sha256=EPl8X91BSGXGU7GWbUSue6laNGhAtIiXj7rFaz56Kvk,5197
|
|
265
|
-
infrahub/core/validators/uniqueness/query.py,sha256=
|
|
266
|
-
infrahub/database/__init__.py,sha256=
|
|
265
|
+
infrahub/core/validators/uniqueness/query.py,sha256=DigQCR5278wBiXNXhy1FFTTVQewlf2Q8rCcuSmyilkQ,10171
|
|
266
|
+
infrahub/database/__init__.py,sha256=kAoCPRqfxNWTRu9o7-xCWLLryvMbf5OiG6Th5H7aFhQ,20123
|
|
267
267
|
infrahub/database/constants.py,sha256=WmV1iuOk4xulxZHOVvO3sS_VF1eTf7fKh0TPe_RnfV4,507
|
|
268
268
|
infrahub/database/index.py,sha256=y0sWXO3tdIr1wL1XC9O6iNRV-Elu2KAXFOiYXRIIhN4,1659
|
|
269
269
|
infrahub/database/manager.py,sha256=BDXNw1RNBeSFV-EZd0aGFbPNuoqlKwrkDqmYB7sy4tU,317
|
|
@@ -273,7 +273,7 @@ infrahub/database/neo4j.py,sha256=IE5lSevKqu-tJa3KF_bj_gOUx-SpZNdmGOl6oheNhiY,26
|
|
|
273
273
|
infrahub/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
274
274
|
infrahub/dependencies/builder/constraint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
275
275
|
infrahub/dependencies/builder/constraint/grouped/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
276
|
-
infrahub/dependencies/builder/constraint/grouped/node_runner.py,sha256=
|
|
276
|
+
infrahub/dependencies/builder/constraint/grouped/node_runner.py,sha256=bk84DCReSTGQSMrNwKPJQUOqd-1mplf1yVZkxVgzgwY,1218
|
|
277
277
|
infrahub/dependencies/builder/constraint/node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
278
278
|
infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py,sha256=lDPINXeKuAoxwPcxG0p9HcnZFAnIiPLlWNz0yHApcIw,477
|
|
279
279
|
infrahub/dependencies/builder/constraint/node/uniqueness.py,sha256=3YzMLdhSBDCb78vMzufSzfoX6VKa7AwwTqNwuDL9q0E,489
|
|
@@ -303,7 +303,7 @@ infrahub/dependencies/builder/diff/combiner.py,sha256=ZFdP95Nxq4ws5Kdg3ywvG4B7Re
|
|
|
303
303
|
infrahub/dependencies/builder/diff/conflict_transferer.py,sha256=faslY7GQsx1MekKgluq4z8MbtWbK_Zn5HuPzFWTAaH8,490
|
|
304
304
|
infrahub/dependencies/builder/diff/conflicts_enricher.py,sha256=nhXS9sSq-hmKDnseyYB51wkQSSOVfY4xYPgEXelyMos,363
|
|
305
305
|
infrahub/dependencies/builder/diff/conflicts_extractor.py,sha256=LL_Tvsp-I6R1q9IxCB9OhsF4FJV29PylUSGtLGLGEDQ,398
|
|
306
|
-
infrahub/dependencies/builder/diff/coordinator.py,sha256=
|
|
306
|
+
infrahub/dependencies/builder/diff/coordinator.py,sha256=7Z4SwtkKicZLnWQl_sZFKpHkSWqa1co_ijsBExWlVQo,1479
|
|
307
307
|
infrahub/dependencies/builder/diff/data_check_conflict_recorder.py,sha256=ABMNwa0H6uo-WW_EjhFXMEdFkIJ2e6cBY9yPuiGbhUE,683
|
|
308
308
|
infrahub/dependencies/builder/diff/data_check_synchronizer.py,sha256=k8mc4yAd7hczXajaMfw9yQ04b3qtqD1Jm5G4uDbmNNc,890
|
|
309
309
|
infrahub/dependencies/builder/diff/deserializer.py,sha256=lw7WhTW9bEtxKmdo-iq75oMKgchboPW085tN1QVfotM,391
|
|
@@ -314,7 +314,6 @@ infrahub/dependencies/builder/diff/enricher/cardinality_one.py,sha256=84JJmbFr4Z
|
|
|
314
314
|
infrahub/dependencies/builder/diff/enricher/hierarchy.py,sha256=waPTBwZSe3wmynGcLrEzpoCQZm2sfh56h3Cg46vWfq4,392
|
|
315
315
|
infrahub/dependencies/builder/diff/enricher/labels.py,sha256=EZy4OWEGbb1OUhARD0SOSBJSCzdXHIT_c5RpM9GxLCk,374
|
|
316
316
|
infrahub/dependencies/builder/diff/enricher/path_identifier.py,sha256=Pv31HAzacLkkV1p5lra5Kg9epAWp_uTjLVAqAMCpEUw,423
|
|
317
|
-
infrahub/dependencies/builder/diff/enricher/summary_counts.py,sha256=VrI-kO7q8sPykqImb9t4SvUU6494jrxluzNRM38-TVE,404
|
|
318
317
|
infrahub/dependencies/builder/diff/ipam_diff_parser.py,sha256=ZFEMMXWe0x8gr2gyPFuHfto9DtZZSUbZisragYKOhvs,639
|
|
319
318
|
infrahub/dependencies/builder/diff/repository.py,sha256=Z3-61TcDJyl8Am7yD-h5a0S0A6aTXl2asDnMKqE3oBE,478
|
|
320
319
|
infrahub/dependencies/builder/ip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -378,12 +377,12 @@ infrahub/graphql/mutations/account.py,sha256=MR9hJQCY4LxwdxmhS4UI6GnmwGMdBlOrjq3
|
|
|
378
377
|
infrahub/graphql/mutations/artifact_definition.py,sha256=DQofuL3YqLordJEl6MJqFtitwD85bUUKP97RIPavS0Q,3245
|
|
379
378
|
infrahub/graphql/mutations/attribute.py,sha256=a35MP8Pvy_42N5dkO3HKATgJDW6qy9ncDu5t8YI3AUE,2734
|
|
380
379
|
infrahub/graphql/mutations/branch.py,sha256=PmyoQKdFouDGjMUgy9vLyN3HJfyohS5D7DHpMiL8eKE,8533
|
|
381
|
-
infrahub/graphql/mutations/computed_attribute.py,sha256=
|
|
382
|
-
infrahub/graphql/mutations/diff.py,sha256=
|
|
380
|
+
infrahub/graphql/mutations/computed_attribute.py,sha256=8FmG2gY6Pls1ZpmAcW8AmMMAYtyOJJOwqyHub68W6GA,4118
|
|
381
|
+
infrahub/graphql/mutations/diff.py,sha256=rp6zxOVQ681QpiASLjPn_ghQI6COEGd3U8dpJJ_Lp9U,4057
|
|
383
382
|
infrahub/graphql/mutations/diff_conflict.py,sha256=Rx0TvqDK_jqtJlK9vKkBcTI5ybVADi524kazr4WwVYk,2779
|
|
384
383
|
infrahub/graphql/mutations/graphql_query.py,sha256=zn6GrSixspdoxnjQJk68l2HlwDDPfU7z3L_GIK84qjA,3341
|
|
385
384
|
infrahub/graphql/mutations/ipam.py,sha256=S26y3k-s6obkHKE2BVQi8FuJk8xxzGPQZFCEpLA7bgs,16887
|
|
386
|
-
infrahub/graphql/mutations/main.py,sha256=
|
|
385
|
+
infrahub/graphql/mutations/main.py,sha256=CzH0PM6JiXgLFuh2SpWUdhISRRmX-yh0xMKnssvRBTs,18205
|
|
387
386
|
infrahub/graphql/mutations/menu.py,sha256=JC7wpSsVk9xeEGNIdWwRut6xYWEMPEyTWKH3plPppXM,3677
|
|
388
387
|
infrahub/graphql/mutations/models.py,sha256=OMjCJNHF5WaoAqO-KGVllzDHW_mxFlFoyOxVWYCxmWQ,299
|
|
389
388
|
infrahub/graphql/mutations/node_getter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -392,11 +391,11 @@ infrahub/graphql/mutations/node_getter/by_hfid.py,sha256=1cEeg2jvVN6qojBrRrx5h1Q
|
|
|
392
391
|
infrahub/graphql/mutations/node_getter/by_id.py,sha256=FTSyqwc_Rf_0hec7TFF_a5GNJQeQS54FOPHsva_6vyw,888
|
|
393
392
|
infrahub/graphql/mutations/node_getter/interface.py,sha256=aLPUTB3oxb4MduKCTeXviC_nN6mKlMujO2Qba-E1CbM,450
|
|
394
393
|
infrahub/graphql/mutations/proposed_change.py,sha256=6wYany-bI1sk3G0_rORubQ6XWK1bRWi8hgrxP-Pod9Q,9366
|
|
395
|
-
infrahub/graphql/mutations/relationship.py,sha256=
|
|
394
|
+
infrahub/graphql/mutations/relationship.py,sha256=Bz-iJVt0bfPO_ySfh-WQX_wurpGJCPgXBCqXPEvkLNs,8115
|
|
396
395
|
infrahub/graphql/mutations/repository.py,sha256=TfqNrTZtZqqvVGDumWcFidilzS31AvHfirfzojpq6uE,10837
|
|
397
396
|
infrahub/graphql/mutations/resource_manager.py,sha256=b9K-c6a_noqzB5yKHZDMJSIO3_StXHZnzcWSD9WTrik,8784
|
|
398
397
|
infrahub/graphql/mutations/schema.py,sha256=v354ubGGcoXRjNVVq49csKo16RCxOPtP1pLKbE3jemE,11418
|
|
399
|
-
infrahub/graphql/mutations/tasks.py,sha256=
|
|
398
|
+
infrahub/graphql/mutations/tasks.py,sha256=uTqH4PxFhOij8jH1fqw8E_kc5ninEv5rh4IgEmgHWVE,3575
|
|
400
399
|
infrahub/graphql/parser.py,sha256=VP3Ot0kC3gAd85TXsIW0nfsVv2JolWMkKdVExgmAglo,8631
|
|
401
400
|
infrahub/graphql/permissions.py,sha256=aP0yzseu0HzxulwfSo3GQ3HM4PNsPhDqS2-CQ_e3f4g,1300
|
|
402
401
|
infrahub/graphql/queries/__init__.py,sha256=LGmI88POb8a4fyjSuBEkOkCIYpU2FZEwOkxWuretmHc,789
|
|
@@ -407,7 +406,7 @@ infrahub/graphql/queries/diff/tree.py,sha256=Ql-3b6mBjGRAHhbGCFb_BTGENydYmNXUDPQ
|
|
|
407
406
|
infrahub/graphql/queries/internal.py,sha256=0_NO8aS5Ldp5eWXOrxqm_5ZG_UlMmvD0BWRECGjLIgY,670
|
|
408
407
|
infrahub/graphql/queries/ipam.py,sha256=f_9WV8iGCCQq6np6BS8lfbH6_5Prjm6qAUrIbGlbQFo,3875
|
|
409
408
|
infrahub/graphql/queries/relationship.py,sha256=uy_lTZaJu2ZOQBO9ZJFtTY0tBREVeGW5oxx-KuC8C4w,2504
|
|
410
|
-
infrahub/graphql/queries/resource_manager.py,sha256=
|
|
409
|
+
infrahub/graphql/queries/resource_manager.py,sha256=MMjiU7Hz_-CZ2bABGuO6ImMfAgo31jQGUvDoyxbV1RA,14576
|
|
411
410
|
infrahub/graphql/queries/search.py,sha256=PdFvrkMvaKqcJz7_6BW_osRaAjeBqaxVg4nUvwuJEis,4942
|
|
412
411
|
infrahub/graphql/queries/status.py,sha256=F3UpRHocUrJRQeOyI1PYa9W-2YDwTBTdGU-CyC6UYJE,1980
|
|
413
412
|
infrahub/graphql/queries/task.py,sha256=qBL54BBKRW3vRxg1bIIM88c6Yfrq6IiH2-zc-m-NdTk,3491
|
|
@@ -500,13 +499,13 @@ infrahub/message_bus/operations/send/echo.py,sha256=WEqZaB8l2QUNp20Nta66Kh-lzxiZ
|
|
|
500
499
|
infrahub/message_bus/types.py,sha256=Hui3N-j-by4DpB9eK98NPtr7VFueK65uoxLLxE3YQf8,5574
|
|
501
500
|
infrahub/middleware.py,sha256=g6lPpXewWNcLjyzRsr7FjdTIbdc5H2HitGQX-L7itgI,657
|
|
502
501
|
infrahub/models.py,sha256=QmwJwo3hNCta8BXM7eLsD9qv1S73Rj0cC_crLpadHTc,715
|
|
503
|
-
infrahub/permissions/__init__.py,sha256=
|
|
502
|
+
infrahub/permissions/__init__.py,sha256=WAtFhyaQj8dFkZJGnIbBaVbSMttGZGgK18V-QbMNVNU,538
|
|
504
503
|
infrahub/permissions/backend.py,sha256=azvyFOTne0Zy1yrc4t9u3GCkHI_x_OPSDV65yxmVPDQ,529
|
|
505
504
|
infrahub/permissions/constants.py,sha256=2sGj9caif_aH2XtD3s35BU4HRONOjRHCyCJ3gbT5kZs,1221
|
|
506
505
|
infrahub/permissions/local_backend.py,sha256=JXUBGcYsi62Jmpz_sSueYGV3tqxV1WrNXpevhwKhr1w,1470
|
|
507
506
|
infrahub/permissions/manager.py,sha256=RpYiKeAy6ByIjbR6zuuV8try4Ug8edivKZJ5X6SQw8U,6655
|
|
508
507
|
infrahub/permissions/report.py,sha256=kXNVbWp_q5mu6Qx8DUcHceZOdKkVqUZO8E7YWiA1n3o,5118
|
|
509
|
-
infrahub/permissions/types.py,sha256=
|
|
508
|
+
infrahub/permissions/types.py,sha256=cQQ0lJKlkufmJ7TQO2CM2yi0Y_yL-F7waFrjGumvkIE,1580
|
|
510
509
|
infrahub/pools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
511
510
|
infrahub/pools/address.py,sha256=QouI4q09sPRTyXYQFL88l0qiQHsGgdYhttPu7Iq1lIM,773
|
|
512
511
|
infrahub/pools/number.py,sha256=gSpEHVmshk-gq3zBm5bPoVY7AF_lBlKHL2sHei6X4yM,2463
|
|
@@ -583,17 +582,17 @@ infrahub_sdk/__init__.py,sha256=weZAa06Ar0NO5IOKLQICtCceHUCKQxbkBxHebqQGJ1o,401
|
|
|
583
582
|
infrahub_sdk/_importer.py,sha256=8oHTMxa_AMO_qbfb3UXNfjSr31S5YJTcqe-YMrixY_E,2257
|
|
584
583
|
infrahub_sdk/analyzer.py,sha256=UDJN372vdAiuAv2TEyPUlsSVoUfZN6obWkIokNNaHbA,4148
|
|
585
584
|
infrahub_sdk/async_typer.py,sha256=Gj7E8EGdjA-XF404vr9cBt20mmbroQh7N68HXhWYx00,892
|
|
586
|
-
infrahub_sdk/batch.py,sha256=
|
|
585
|
+
infrahub_sdk/batch.py,sha256=WSAPAPvRvcHR7aCFH56RcqKaVxsig1A5nIdg0mmSZBQ,3879
|
|
587
586
|
infrahub_sdk/branch.py,sha256=hmtoIekQ1uusoJ6yEKlw6vrFMTAHJrXu-YsqqCQC_kc,12716
|
|
588
587
|
infrahub_sdk/checks.py,sha256=AmlCim-9Mbhpye_yYAaV_NM-pFL4_JvQGEVM3cJsaqY,5700
|
|
589
588
|
infrahub_sdk/client.py,sha256=yuD-uvx_5LLXqHm9sjo0jei1AH-xGgl4DhYJcoqH8uw,99592
|
|
590
589
|
infrahub_sdk/code_generator.py,sha256=UJoqofjO7WSHygORhok0RRUv7HG4aTcl6htczaKNBjc,4411
|
|
591
|
-
infrahub_sdk/config.py,sha256=
|
|
590
|
+
infrahub_sdk/config.py,sha256=hjF4Fo6NrxxLHaS1XBZ1O2o0aU7IILEyhPXRiiRedjc,7190
|
|
592
591
|
infrahub_sdk/constants.py,sha256=Ca66r09eDzpmMhfFAspKFSehSxOmoflVongP-UuBDc4,138
|
|
593
592
|
infrahub_sdk/ctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
594
593
|
infrahub_sdk/ctl/_file.py,sha256=FdbveH5t6jVZvANTGDYKRTt1BhfnL6D_6qKDiJlXxkE,498
|
|
595
594
|
infrahub_sdk/ctl/branch.py,sha256=CgKi7GwkI0cebbYOfaQQd3h7uG4JVmoEUVQHda_MOr4,4733
|
|
596
|
-
infrahub_sdk/ctl/check.py,sha256=
|
|
595
|
+
infrahub_sdk/ctl/check.py,sha256=0OyicWSCUsuHOn5ef2t6LBcIKJugzKCdlsUsb44tfKI,7921
|
|
597
596
|
infrahub_sdk/ctl/cli.py,sha256=A9jJKYBo5opzIIyWYf6niyAHhy49V59g6biueMDFbpE,328
|
|
598
597
|
infrahub_sdk/ctl/cli_commands.py,sha256=d46DBf6hRynKEn_olTuaVnPF1qgo6paF0mlSPtENkGA,18889
|
|
599
598
|
infrahub_sdk/ctl/client.py,sha256=6bmXmQta9qQCJ8HybQwt2uSF2X1Em91xNFpwiKFujxs,2083
|
|
@@ -610,19 +609,19 @@ infrahub_sdk/ctl/render.py,sha256=KJsZQ6iNW4u8K_dtEKmJxtTpkSMR_zP2YT-IP6Z85tc,40
|
|
|
610
609
|
infrahub_sdk/ctl/repository.py,sha256=jyfRRE3mMPMEKJUIr5XfCdG9Y144MvDT86sE-op_mWY,4754
|
|
611
610
|
infrahub_sdk/ctl/schema.py,sha256=28eHiWWsuQgOVa8FiIa94pb6tk6-xTQXq9Il2MnbnkU,7060
|
|
612
611
|
infrahub_sdk/ctl/transform.py,sha256=5qRqiKeEefs0rda6RAFAAj1jkCKdbPYE_t8O-n436LQ,414
|
|
613
|
-
infrahub_sdk/ctl/utils.py,sha256=
|
|
612
|
+
infrahub_sdk/ctl/utils.py,sha256=_Uy-AAgFzp7CqrO1cfFOhAspScv3wlGeBwMqwf_FZAs,7006
|
|
614
613
|
infrahub_sdk/ctl/validate.py,sha256=6DHhk6ubZih-FaNfX6m8G0HwOEJuJk6DFHCg1oAaZtQ,3879
|
|
615
|
-
infrahub_sdk/data.py,sha256=
|
|
614
|
+
infrahub_sdk/data.py,sha256=t3jCqmnYM8rhTZlPlc37aW8zKMKLLVcTWHozH9qb0Bs,870
|
|
616
615
|
infrahub_sdk/diff.py,sha256=Ms-3YyXo-DoF1feV9qP7GKakBYUNFsULZdy-yMEG71w,4258
|
|
617
616
|
infrahub_sdk/exceptions.py,sha256=S563xPBgwvdXkVS42XLLTuCkdVnrXOZyDSY8aFd3udc,4436
|
|
618
617
|
infrahub_sdk/generator.py,sha256=TVxSDByNnnuqFOpmi2mBgUZnU07PudvH8J-aM8QtwMM,5242
|
|
619
618
|
infrahub_sdk/graphql.py,sha256=qw1HJ95-JhRS_zrsyDj5P_PWKuUNgoXvH1q-Kfs27IA,5861
|
|
620
619
|
infrahub_sdk/groups.py,sha256=GL14ByW4GHrkqOLJ-_vGhu6bkYDxljqPtkErcQVehv0,711
|
|
621
620
|
infrahub_sdk/jinja2.py,sha256=lTfV9E_P5gApaX6RW9M8U8oixQi-0H3U8wcs8fdGVaU,1150
|
|
622
|
-
infrahub_sdk/node.py,sha256=
|
|
621
|
+
infrahub_sdk/node.py,sha256=kwVswivc5kPnmzXjFB8Mt-BFbLhOQcp70PMl63CmkIc,87484
|
|
623
622
|
infrahub_sdk/object_store.py,sha256=d-EDnxPpw_7BsbjbGbH50rjt-1-Ojj2zNrhFansP5hA,4299
|
|
624
623
|
infrahub_sdk/playback.py,sha256=ubkY1LiW_wFwm4auerdQ0zFJcFJZ1SYQT6-d4bxzaLg,1906
|
|
625
|
-
infrahub_sdk/protocols.py,sha256=
|
|
624
|
+
infrahub_sdk/protocols.py,sha256=vmAuV_IjjbslSshrmFjKYcSMtyzi0vlgwj9UufCo4Hc,21233
|
|
626
625
|
infrahub_sdk/protocols_base.py,sha256=9aE5K2mwZ0xAza_yBppVWVRDds9ALhQqJofOjT-Alao,3882
|
|
627
626
|
infrahub_sdk/pytest_plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
628
627
|
infrahub_sdk/pytest_plugin/exceptions.py,sha256=ek2WyTBPuZdxhJClOhLo4EcFdvgE4BP0q26OiAr-Sec,2185
|
|
@@ -640,7 +639,7 @@ infrahub_sdk/queries.py,sha256=s4gnx67e-MNg-3jP4Vx1jreO9uiW3uYPllFQgaTODdQ,2308
|
|
|
640
639
|
infrahub_sdk/query_groups.py,sha256=Hg6MdjU9wSWQmtKktlmKCHcwjlodz7L_VPPou-jC8vk,11434
|
|
641
640
|
infrahub_sdk/recorder.py,sha256=G134AfAwE5efSqArVJneurF2JIEuhvSJWWI3woPczgI,2194
|
|
642
641
|
infrahub_sdk/repository.py,sha256=PbSHHl6ajIeZu1t4pH1j7qzR-DPOkGuzubcNM02NuV0,1011
|
|
643
|
-
infrahub_sdk/schema/__init__.py,sha256=
|
|
642
|
+
infrahub_sdk/schema/__init__.py,sha256=RINn1qvejp88Y57Ov1D7ceYkxV2gpYMucldJPiNkjLU,25879
|
|
644
643
|
infrahub_sdk/schema/main.py,sha256=rySdEBJNMVpulWKMRw3ARqSbZPiFBHRYR2nqZvYp1VY,10580
|
|
645
644
|
infrahub_sdk/schema/repository.py,sha256=AAITXGprCPb2WptJSRhj9gEbRrW1HHM-yEPYAgsztcU,11299
|
|
646
645
|
infrahub_sdk/spec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -648,7 +647,7 @@ infrahub_sdk/spec/menu.py,sha256=LvNLuBEkiLTMNgM3kseIzM7wQ_zK_2uXM_anUNu6Pfc,105
|
|
|
648
647
|
infrahub_sdk/spec/object.py,sha256=H55fctUrQUDbRrRJJQQcXHppVOeMye6ykBoo6lCasDw,5012
|
|
649
648
|
infrahub_sdk/store.py,sha256=kWJ9UvirLuSHLuDDzTd4-ualTkuRocy9W0J7TdL60Po,5734
|
|
650
649
|
infrahub_sdk/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
651
|
-
infrahub_sdk/testing/docker.py,sha256=
|
|
650
|
+
infrahub_sdk/testing/docker.py,sha256=V089h9fGjNnXVdw7Fw-mloSBgSnjXT9rvnDpj7cecoI,724
|
|
652
651
|
infrahub_sdk/testing/repository.py,sha256=9s4MMaMljbJe97Ua4bJgc64giQ2UMC0bD5qIqYd4YNk,3571
|
|
653
652
|
infrahub_sdk/testing/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
654
653
|
infrahub_sdk/testing/schemas/animal.py,sha256=5frpoBCeGaM05X8sFxIDQUH93JrPsa-kIYKb8xcQxcw,6796
|
|
@@ -660,7 +659,7 @@ infrahub_sdk/transfer/constants.py,sha256=kdYkVWif8v4IiWbbff3Mn3JnPCXD2ONI3SLXQM
|
|
|
660
659
|
infrahub_sdk/transfer/exceptions.py,sha256=MK-jvBTYMyasjQ_0qeQBLSP_ocob0yhrBDuJ2XLgUvU,237
|
|
661
660
|
infrahub_sdk/transfer/exporter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
662
661
|
infrahub_sdk/transfer/exporter/interface.py,sha256=6_X7Hay7VbE7TGYjmt2iv5AOrSe-skZP8nTALQzYzIw,297
|
|
663
|
-
infrahub_sdk/transfer/exporter/json.py,sha256=
|
|
662
|
+
infrahub_sdk/transfer/exporter/json.py,sha256=ZOQevyZe1D9gKqoV5jZdlU5HrYDlq0jeQ0LyXaVMbwU,6929
|
|
664
663
|
infrahub_sdk/transfer/importer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
665
664
|
infrahub_sdk/transfer/importer/interface.py,sha256=TN7FH_LgThkBjrpWwkdTZIVJPtNklAYiK3Mn6RPs7IM,195
|
|
666
665
|
infrahub_sdk/transfer/importer/json.py,sha256=-Tlmg22TiBrEqXOSLMnUzlCFOZ2M0Q8lWyPbwjUjifw,9654
|
|
@@ -671,11 +670,12 @@ infrahub_sdk/utils.py,sha256=5rnk-ZfMoMvNHH72D0Bb5OVRjyk6cJ__UoKvZlUNzns,11064
|
|
|
671
670
|
infrahub_sdk/uuidt.py,sha256=Tz-4nHkJwbi39UT3gaIe2wJeZNAoBqf6tm3sw7LZbXc,2155
|
|
672
671
|
infrahub_sdk/yaml.py,sha256=dxdzEjuaG-OwF2XIcA2YXoFEmF4TeiwKju5K2uOQhgQ,2963
|
|
673
672
|
infrahub_testcontainers/__init__.py,sha256=oPpmesGgYBSdKTg1L37FGwYBeao1EHury5SJGul-CT8,216
|
|
674
|
-
infrahub_testcontainers/container.py,sha256=
|
|
675
|
-
infrahub_testcontainers/docker-compose.test.yml,sha256=
|
|
676
|
-
infrahub_testcontainers/
|
|
677
|
-
|
|
678
|
-
infrahub_server-1.1.
|
|
679
|
-
infrahub_server-1.1.
|
|
680
|
-
infrahub_server-1.1.
|
|
681
|
-
infrahub_server-1.1.
|
|
673
|
+
infrahub_testcontainers/container.py,sha256=dtweuZol1LAZiJBItRnB-Yrd-k6ohVuOdcgWcd0F-RM,4855
|
|
674
|
+
infrahub_testcontainers/docker-compose.test.yml,sha256=l-ac0Bi8MxXCNM0w7QPakmeMsYzMnJXPhENN1yGRHAk,5993
|
|
675
|
+
infrahub_testcontainers/haproxy.cfg,sha256=QF_DJSll10uGWICLnwFpj0-0VWIeB3CteCDthVoWpCU,1316
|
|
676
|
+
infrahub_testcontainers/helpers.py,sha256=NlzyZN1QpByUQ6t7NwIDQxSSM7xFvY2jCM6-P8RYE6g,5253
|
|
677
|
+
infrahub_server-1.1.7.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
|
|
678
|
+
infrahub_server-1.1.7.dist-info/METADATA,sha256=2sxXxvhAhT4WUkgmFmTejFPTFLC7iPJwtWMr-oa_YAk,8081
|
|
679
|
+
infrahub_server-1.1.7.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
680
|
+
infrahub_server-1.1.7.dist-info/entry_points.txt,sha256=JNQoBcLpUyfeOMhls_-uX1CdJ8Vl-AFSh9UhzTcKdjA,329
|
|
681
|
+
infrahub_server-1.1.7.dist-info/RECORD,,
|
|
@@ -18,7 +18,7 @@ class ContainerService:
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
INFRAHUB_SERVICES: dict[str, ContainerService] = {
|
|
21
|
-
"server": ContainerService(container="infrahub-server", port=8000),
|
|
21
|
+
"server": ContainerService(container="infrahub-server-lb", port=8000),
|
|
22
22
|
"task-manager": ContainerService(container="task-manager", port=4200),
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -33,8 +33,8 @@ PROJECT_ENV_VARIABLES: dict[str, str] = {
|
|
|
33
33
|
"INFRAHUB_TESTING_INITIAL_ADMIN_TOKEN": "06438eb2-8019-4776-878c-0941b1f1d1ec",
|
|
34
34
|
"INFRAHUB_TESTING_INITIAL_AGENT_TOKEN": "44af444d-3b26-410d-9546-b758657e026c",
|
|
35
35
|
"INFRAHUB_TESTING_SECURITY_SECRET_KEY": "327f747f-efac-42be-9e73-999f08f86b92",
|
|
36
|
-
"INFRAHUB_TESTING_ADDRESS": "http://infrahub-server:8000",
|
|
37
|
-
"INFRAHUB_TESTING_INTERNAL_ADDRESS": "http://infrahub-server:8000",
|
|
36
|
+
"INFRAHUB_TESTING_ADDRESS": "http://infrahub-server-lb:8000",
|
|
37
|
+
"INFRAHUB_TESTING_INTERNAL_ADDRESS": "http://infrahub-server-lb:8000",
|
|
38
38
|
"INFRAHUB_TESTING_BROKER_ADDRESS": "message-queue",
|
|
39
39
|
"INFRAHUB_TESTING_CACHE_ADDRESS": "cache",
|
|
40
40
|
"INFRAHUB_TESTING_WORKFLOW_ADDRESS": "task-manager",
|
|
@@ -43,6 +43,10 @@ PROJECT_ENV_VARIABLES: dict[str, str] = {
|
|
|
43
43
|
"INFRAHUB_TESTING_LOCAL_REMOTE_GIT_DIRECTORY": "repos",
|
|
44
44
|
"INFRAHUB_TESTING_INTERNAL_REMOTE_GIT_DIRECTORY": "/remote",
|
|
45
45
|
"INFRAHUB_TESTING_WEB_CONCURRENCY": "4",
|
|
46
|
+
"INFRAHUB_TESTING_LOCAL_DB_BACKUP_DIRECTORY": "backups",
|
|
47
|
+
"INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY": "/backups",
|
|
48
|
+
"INFRAHUB_TESTING_API_SERVER_COUNT": "2",
|
|
49
|
+
"INFRAHUB_TESTING_TASK_WORKER_COUNT": "2",
|
|
46
50
|
}
|
|
47
51
|
|
|
48
52
|
|
|
@@ -80,6 +84,11 @@ class InfrahubDockerCompose(DockerCompose):
|
|
|
80
84
|
test_compose_file = directory / "docker-compose.yml"
|
|
81
85
|
test_compose_file.write_bytes(compose_file.read_bytes())
|
|
82
86
|
|
|
87
|
+
haproxy_config_file = current_directory / "haproxy.cfg"
|
|
88
|
+
|
|
89
|
+
test_haproxy_config_file = directory / "haproxy.cfg"
|
|
90
|
+
test_haproxy_config_file.write_bytes(haproxy_config_file.read_bytes())
|
|
91
|
+
|
|
83
92
|
return test_compose_file
|
|
84
93
|
|
|
85
94
|
@classmethod
|
|
@@ -28,6 +28,22 @@ services:
|
|
|
28
28
|
timeout: 5s
|
|
29
29
|
retries: 3
|
|
30
30
|
|
|
31
|
+
infrahub-server-lb:
|
|
32
|
+
image: haproxy:3.1-alpine
|
|
33
|
+
volumes:
|
|
34
|
+
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
|
|
35
|
+
depends_on:
|
|
36
|
+
infrahub-server:
|
|
37
|
+
condition: service_started
|
|
38
|
+
healthcheck:
|
|
39
|
+
test: wget -O /dev/null http://127.0.0.1:8000/api/config || exit 1
|
|
40
|
+
interval: 5s
|
|
41
|
+
timeout: 5s
|
|
42
|
+
retries: 20
|
|
43
|
+
start_period: 10s
|
|
44
|
+
ports:
|
|
45
|
+
- ${INFRAHUB_TESTING_SERVER_PORT:-0}:8000
|
|
46
|
+
|
|
31
47
|
database:
|
|
32
48
|
image: ${NEO4J_DOCKER_IMAGE:-neo4j:5.20.0-community}
|
|
33
49
|
restart: unless-stopped
|
|
@@ -35,9 +51,11 @@ services:
|
|
|
35
51
|
NEO4J_AUTH: neo4j/admin
|
|
36
52
|
NEO4J_dbms_security_procedures_unrestricted: "apoc.*"
|
|
37
53
|
NEO4J_dbms_security_auth__minimum__password__length: 4
|
|
54
|
+
NEO4J_ACCEPT_LICENSE_AGREEMENT: "yes"
|
|
38
55
|
volumes:
|
|
39
56
|
- "database_data:/data"
|
|
40
57
|
- "database_logs:/logs"
|
|
58
|
+
- "./${INFRAHUB_TESTING_LOCAL_DB_BACKUP_DIRECTORY}:${INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY}"
|
|
41
59
|
healthcheck:
|
|
42
60
|
test: wget http://localhost:7474 || exit 1
|
|
43
61
|
interval: 2s
|
|
@@ -80,6 +98,9 @@ services:
|
|
|
80
98
|
retries: 5
|
|
81
99
|
|
|
82
100
|
infrahub-server:
|
|
101
|
+
deploy:
|
|
102
|
+
mode: replicated
|
|
103
|
+
replicas: ${INFRAHUB_TESTING_API_SERVER_COUNT}
|
|
83
104
|
image: "${INFRAHUB_TESTING_DOCKER_IMAGE}:${INFRAHUB_TESTING_IMAGE_VERSION}"
|
|
84
105
|
command: >
|
|
85
106
|
gunicorn --config backend/infrahub/serve/gunicorn_config.py
|
|
@@ -106,8 +127,6 @@ services:
|
|
|
106
127
|
condition: service_healthy
|
|
107
128
|
task-manager:
|
|
108
129
|
condition: service_healthy
|
|
109
|
-
ports:
|
|
110
|
-
- ${INFRAHUB_TESTING_SERVER_PORT:-0}:8000
|
|
111
130
|
volumes:
|
|
112
131
|
- "storage_data:/opt/infrahub/storage"
|
|
113
132
|
tty: true
|
|
@@ -121,7 +140,7 @@ services:
|
|
|
121
140
|
task-worker:
|
|
122
141
|
deploy:
|
|
123
142
|
mode: replicated
|
|
124
|
-
replicas:
|
|
143
|
+
replicas: ${INFRAHUB_TESTING_TASK_WORKER_COUNT}
|
|
125
144
|
image: "${INFRAHUB_TESTING_DOCKER_IMAGE}:${INFRAHUB_TESTING_IMAGE_VERSION}"
|
|
126
145
|
command: prefect worker start --type infrahubasync --pool infrahub-worker --with-healthcheck
|
|
127
146
|
environment:
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
global
|
|
2
|
+
log stdout local0
|
|
3
|
+
log stdout local1 notice
|
|
4
|
+
#chroot /var/lib/haproxy
|
|
5
|
+
#stats socket /run/haproxy/admin.sock mode 660 level admin
|
|
6
|
+
stats timeout 30s
|
|
7
|
+
user haproxy
|
|
8
|
+
group haproxy
|
|
9
|
+
daemon
|
|
10
|
+
|
|
11
|
+
# Default SSL material locations
|
|
12
|
+
ca-base /etc/ssl/certs
|
|
13
|
+
crt-base /etc/ssl/private
|
|
14
|
+
|
|
15
|
+
# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
|
|
16
|
+
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
|
|
17
|
+
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
|
|
18
|
+
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
|
|
19
|
+
|
|
20
|
+
defaults
|
|
21
|
+
log global
|
|
22
|
+
mode http
|
|
23
|
+
option httplog
|
|
24
|
+
option dontlognull
|
|
25
|
+
timeout connect 5000
|
|
26
|
+
timeout client 50000
|
|
27
|
+
timeout server 50000
|
|
28
|
+
|
|
29
|
+
resolvers docker
|
|
30
|
+
parse-resolv-conf
|
|
31
|
+
accepted_payload_size 8192
|
|
32
|
+
|
|
33
|
+
frontend fe
|
|
34
|
+
mode http
|
|
35
|
+
bind *:8000
|
|
36
|
+
option forwardfor
|
|
37
|
+
|
|
38
|
+
default_backend be
|
|
39
|
+
|
|
40
|
+
backend be
|
|
41
|
+
mode http
|
|
42
|
+
balance roundrobin
|
|
43
|
+
server-template api 100 infrahub-server:8000 check resolvers docker init-addr none
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import shutil
|
|
2
3
|
import subprocess # noqa: S404
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
|
|
@@ -36,12 +37,25 @@ class TestInfrahubDocker:
|
|
|
36
37
|
|
|
37
38
|
return directory
|
|
38
39
|
|
|
40
|
+
@pytest.fixture(scope="class")
|
|
41
|
+
def remote_backups_dir(self, tmp_directory: Path) -> Path:
|
|
42
|
+
directory = tmp_directory / PROJECT_ENV_VARIABLES["INFRAHUB_TESTING_LOCAL_DB_BACKUP_DIRECTORY"]
|
|
43
|
+
directory.mkdir(exist_ok=True)
|
|
44
|
+
|
|
45
|
+
return directory
|
|
46
|
+
|
|
39
47
|
@pytest.fixture(scope="class")
|
|
40
48
|
def default_branch(self) -> str:
|
|
41
49
|
return "main"
|
|
42
50
|
|
|
43
51
|
@pytest.fixture(scope="class")
|
|
44
|
-
def infrahub_compose(
|
|
52
|
+
def infrahub_compose(
|
|
53
|
+
self,
|
|
54
|
+
tmp_directory: Path,
|
|
55
|
+
remote_repos_dir: Path, # initialize repository before running docker compose to fix permissions issues # noqa: ARG002
|
|
56
|
+
remote_backups_dir: Path, # noqa: ARG002
|
|
57
|
+
infrahub_version: str,
|
|
58
|
+
) -> InfrahubDockerCompose:
|
|
45
59
|
return InfrahubDockerCompose.init(directory=tmp_directory, version=infrahub_version)
|
|
46
60
|
|
|
47
61
|
@pytest.fixture(scope="class")
|
|
@@ -62,3 +76,73 @@ class TestInfrahubDocker:
|
|
|
62
76
|
@pytest.fixture(scope="class")
|
|
63
77
|
def task_manager_port(self, infrahub_app: dict[str, int]) -> int:
|
|
64
78
|
return infrahub_app["task-manager"]
|
|
79
|
+
|
|
80
|
+
def backup_database(self, request: pytest.FixtureRequest, dest_dir: Path | None = None) -> None:
|
|
81
|
+
assert "enterprise" in os.environ.get("NEO4J_DOCKER_IMAGE", "")
|
|
82
|
+
|
|
83
|
+
backup_dir: Path = request.getfixturevalue("remote_backups_dir")
|
|
84
|
+
infrahub_compose: InfrahubDockerCompose = request.getfixturevalue("infrahub_compose")
|
|
85
|
+
|
|
86
|
+
infrahub_compose.exec_in_container(
|
|
87
|
+
command=[
|
|
88
|
+
"neo4j-admin",
|
|
89
|
+
"database",
|
|
90
|
+
"backup",
|
|
91
|
+
"--to-path",
|
|
92
|
+
os.environ.get(
|
|
93
|
+
"INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY",
|
|
94
|
+
PROJECT_ENV_VARIABLES["INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY"],
|
|
95
|
+
),
|
|
96
|
+
],
|
|
97
|
+
service_name="database",
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
if dest_dir:
|
|
101
|
+
shutil.copytree(
|
|
102
|
+
str(backup_dir),
|
|
103
|
+
str(dest_dir),
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
def restore_database(self, request: pytest.FixtureRequest, backup_file: Path) -> None:
|
|
107
|
+
assert "enterprise" in os.environ.get("NEO4J_DOCKER_IMAGE", "")
|
|
108
|
+
|
|
109
|
+
backup_dir: Path = request.getfixturevalue("remote_backups_dir")
|
|
110
|
+
infrahub_compose: InfrahubDockerCompose = request.getfixturevalue("infrahub_compose")
|
|
111
|
+
|
|
112
|
+
shutil.copy(
|
|
113
|
+
str(backup_file),
|
|
114
|
+
str(backup_dir / backup_file.name),
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
infrahub_compose.exec_in_container(
|
|
118
|
+
command=["cypher-shell", "-u", "neo4j", "-p", "admin", "STOP DATABASE neo4j;"],
|
|
119
|
+
service_name="database",
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
infrahub_compose.exec_in_container(
|
|
123
|
+
command=[
|
|
124
|
+
"neo4j-admin",
|
|
125
|
+
"database",
|
|
126
|
+
"restore",
|
|
127
|
+
"--overwrite-destination",
|
|
128
|
+
"--from-path",
|
|
129
|
+
str(
|
|
130
|
+
Path(
|
|
131
|
+
os.environ.get(
|
|
132
|
+
"INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY",
|
|
133
|
+
PROJECT_ENV_VARIABLES["INFRAHUB_TESTING_INTERNAL_DB_BACKUP_DIRECTORY"],
|
|
134
|
+
)
|
|
135
|
+
)
|
|
136
|
+
/ backup_file.name
|
|
137
|
+
),
|
|
138
|
+
],
|
|
139
|
+
service_name="database",
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
infrahub_compose.exec_in_container(
|
|
143
|
+
command=["cypher-shell", "-d", "system", "-u", "neo4j", "-p", "admin", "START DATABASE neo4j;"],
|
|
144
|
+
service_name="database",
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
infrahub_compose.stop(down=False)
|
|
148
|
+
infrahub_compose.start()
|