infrahub-server 1.1.6__py3-none-any.whl → 1.1.8__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 (97) hide show
  1. infrahub/core/attribute.py +4 -1
  2. infrahub/core/branch/tasks.py +7 -4
  3. infrahub/core/diff/combiner.py +11 -7
  4. infrahub/core/diff/coordinator.py +49 -70
  5. infrahub/core/diff/data_check_synchronizer.py +86 -7
  6. infrahub/core/diff/enricher/aggregated.py +3 -3
  7. infrahub/core/diff/enricher/cardinality_one.py +6 -6
  8. infrahub/core/diff/enricher/hierarchy.py +17 -4
  9. infrahub/core/diff/enricher/labels.py +18 -3
  10. infrahub/core/diff/enricher/path_identifier.py +7 -8
  11. infrahub/core/diff/merger/merger.py +5 -3
  12. infrahub/core/diff/model/path.py +66 -25
  13. infrahub/core/diff/parent_node_adder.py +78 -0
  14. infrahub/core/diff/payload_builder.py +13 -2
  15. infrahub/core/diff/query/all_conflicts.py +5 -2
  16. infrahub/core/diff/query/diff_get.py +2 -1
  17. infrahub/core/diff/query/field_specifiers.py +2 -0
  18. infrahub/core/diff/query/field_summary.py +2 -1
  19. infrahub/core/diff/query/filters.py +12 -1
  20. infrahub/core/diff/query/has_conflicts_query.py +5 -2
  21. infrahub/core/diff/query/{drop_tracking_id.py → merge_tracking_id.py} +3 -3
  22. infrahub/core/diff/query/roots_metadata.py +8 -1
  23. infrahub/core/diff/query/save.py +230 -139
  24. infrahub/core/diff/query/summary_counts_enricher.py +267 -0
  25. infrahub/core/diff/query/time_range_query.py +2 -1
  26. infrahub/core/diff/query_parser.py +49 -24
  27. infrahub/core/diff/repository/deserializer.py +31 -27
  28. infrahub/core/diff/repository/repository.py +215 -41
  29. infrahub/core/diff/tasks.py +4 -4
  30. infrahub/core/graph/__init__.py +1 -1
  31. infrahub/core/graph/index.py +3 -0
  32. infrahub/core/migrations/graph/__init__.py +4 -0
  33. infrahub/core/migrations/graph/m019_restore_rels_to_time.py +256 -0
  34. infrahub/core/migrations/graph/m020_duplicate_edges.py +160 -0
  35. infrahub/core/migrations/query/node_duplicate.py +38 -18
  36. infrahub/core/migrations/schema/node_remove.py +26 -12
  37. infrahub/core/migrations/shared.py +10 -8
  38. infrahub/core/node/__init__.py +19 -9
  39. infrahub/core/node/constraints/grouped_uniqueness.py +25 -5
  40. infrahub/core/node/ipam.py +6 -1
  41. infrahub/core/node/permissions.py +4 -0
  42. infrahub/core/query/attribute.py +2 -0
  43. infrahub/core/query/diff.py +41 -3
  44. infrahub/core/query/node.py +74 -21
  45. infrahub/core/query/relationship.py +107 -17
  46. infrahub/core/query/resource_manager.py +5 -1
  47. infrahub/core/relationship/model.py +8 -12
  48. infrahub/core/schema/definitions/core.py +1 -0
  49. infrahub/core/utils.py +1 -0
  50. infrahub/core/validators/uniqueness/query.py +20 -17
  51. infrahub/database/__init__.py +14 -0
  52. infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -2
  53. infrahub/dependencies/builder/diff/coordinator.py +0 -2
  54. infrahub/dependencies/builder/diff/deserializer.py +3 -1
  55. infrahub/dependencies/builder/diff/enricher/hierarchy.py +3 -1
  56. infrahub/dependencies/builder/diff/parent_node_adder.py +8 -0
  57. infrahub/graphql/mutations/computed_attribute.py +3 -1
  58. infrahub/graphql/mutations/diff.py +41 -10
  59. infrahub/graphql/mutations/main.py +11 -6
  60. infrahub/graphql/mutations/relationship.py +29 -1
  61. infrahub/graphql/mutations/resource_manager.py +3 -3
  62. infrahub/graphql/mutations/tasks.py +6 -3
  63. infrahub/graphql/queries/resource_manager.py +7 -3
  64. infrahub/permissions/__init__.py +2 -1
  65. infrahub/permissions/types.py +26 -0
  66. infrahub_sdk/client.py +10 -2
  67. infrahub_sdk/config.py +3 -0
  68. infrahub_sdk/ctl/check.py +3 -3
  69. infrahub_sdk/ctl/cli_commands.py +16 -11
  70. infrahub_sdk/ctl/exceptions.py +0 -6
  71. infrahub_sdk/ctl/exporter.py +1 -1
  72. infrahub_sdk/ctl/generator.py +5 -5
  73. infrahub_sdk/ctl/importer.py +3 -2
  74. infrahub_sdk/ctl/menu.py +1 -1
  75. infrahub_sdk/ctl/object.py +1 -1
  76. infrahub_sdk/ctl/repository.py +23 -15
  77. infrahub_sdk/ctl/schema.py +2 -2
  78. infrahub_sdk/ctl/utils.py +4 -3
  79. infrahub_sdk/ctl/validate.py +2 -1
  80. infrahub_sdk/exceptions.py +12 -0
  81. infrahub_sdk/generator.py +3 -0
  82. infrahub_sdk/node.py +7 -4
  83. infrahub_sdk/testing/schemas/animal.py +9 -0
  84. infrahub_sdk/utils.py +11 -1
  85. infrahub_sdk/yaml.py +2 -3
  86. {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.8.dist-info}/METADATA +41 -7
  87. {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.8.dist-info}/RECORD +94 -91
  88. infrahub_testcontainers/container.py +12 -3
  89. infrahub_testcontainers/docker-compose.test.yml +22 -3
  90. infrahub_testcontainers/haproxy.cfg +43 -0
  91. infrahub_testcontainers/helpers.py +85 -1
  92. infrahub/core/diff/enricher/summary_counts.py +0 -105
  93. infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -8
  94. infrahub_sdk/ctl/_file.py +0 -13
  95. {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.8.dist-info}/LICENSE.txt +0 -0
  96. {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.8.dist-info}/WHEEL +0 -0
  97. {infrahub_server-1.1.6.dist-info → infrahub_server-1.1.8.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: infrahub-server
3
- Version: 1.1.6
3
+ Version: 1.1.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
  Home-page: https://opsmill.com
6
6
  License: AGPL-3.0-only
@@ -58,16 +58,46 @@ Project-URL: Documentation, https://docs.infrahub.app/
58
58
  Project-URL: Repository, https://github.com/opsmill/infrahub
59
59
  Description-Content-Type: text/markdown
60
60
 
61
- <!-- markdownlint-disable -->
62
- ![Infrahub Logo](docs/static/img/infrahub-hori.svg)
63
- <!-- markdownlint-restore -->
61
+ <h1 align="center">
62
+ <a href=""><img src="docs/static/img/infrahub-hori.svg" alt="Infrahub" width="350"></a>
63
+ </h1>
64
+ <h3 align="center">Simplify Infrastructure Automation</h2>
64
65
 
65
- # Infrahub
66
+ <p align="center">
67
+ <a href="https://www.linkedin.com/company/opsmill">
68
+ <img src="https://img.shields.io/badge/linkedin-blue?logo=linkedin"/>
69
+ </a>
70
+ <a href="https://discord.gg/opsmill">
71
+ <img src="https://img.shields.io/badge/Discord-7289DA?&logo=discord&logoColor=white"/>
72
+ </a>
73
+ </p>
66
74
 
67
- Infrahub from [OpsMill](https://opsmill.com) is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities of Git with the flexible data model and UI of a graph database.
75
+ Infrahub from [OpsMill](https://opsmill.com) is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities similar to Git with the flexible data model and UI of a graph database.
76
+
77
+ If you just want to try Infrahub out, you can use our [Always-On Sandbox](https://demo.infrahub.app/) to get started.
68
78
 
69
79
  ![infrahub screenshot](docs/docs/media/infrahub-readme.gif)
70
80
 
81
+ ## Why Use Infrahub?
82
+
83
+ **Unified Source of Truth** - Infrahub is a single source of truth for all your infrastructure and network data. It provides a unified view of your infrastructure, allowing you to manage your infrastructure in a more efficient and effective way. Infrahub allows unidirectional and bi-directional [data synchronization](https://docs.infrahub.app/sync/sync/) between other internal systems and Infrahub. The data can be accessed via WebUI, API and SDK, along with SSO and RBAC for access control.
84
+
85
+ **Flexible Schema** - Infrahub provides a flexible schema for your infrastructure data and related business information, allowing you to define your own data model and customize it to your needs. Get started quickly with our [schema library](https://github.com/opsmill/schema-library) or build your own.
86
+
87
+ **Version Control** - Infrahub provides a version control system for your infrastructure data, allowing you to track changes and revert to previous versions if needed. Immutable history of all changes to the data and artifacts is maintained, allowing you to audit and review changes to your infrastructure.
88
+
89
+ **CI Pipeline and Validation** - Infrahub provides a CI pipeline and validation system for your infrastructure data, allowing you to ensure that your infrastructure is always in a valid state. Infrahub was designed with infrastructure-as-code workflows in mind, removing fragility and complexity of combining together multiple tools and projects to achieve the same goal.
90
+
91
+ ## Infrahub Use Cases
92
+
93
+ **Service Catalog** - Infrahub acts as the underlying system to provide infrastructure-as-a-service, allowing you to manage your services and lifecycle them as the services evolve.
94
+
95
+ **Infrastructure Automation** - Provide infrastructure and network automation workflows with Infrahub rendering configurations and artifacts via Jinja2 and python,then passing to deployment tools such as [Nornir](https://www.opsmill.com/simplifying-network-automation-workflows-with-infrahub-nornir-and-jinja2/), [Ansible](https://docs.infrahub.app/ansible/ansible/), Terraform, or vendor-specific tools.
96
+
97
+ **Inventory Management** - Infrahub serves as a centralized inventory system for your infrastructure, allowing you to manage your inventory and track changes to your infrastructure. It provides a WebUI and API for other teams to self-service the information needed to allow the organization to operate.
98
+
99
+ **DCIM and IPAM** - Infrahub provides centralized DCIM and IPAM systems for your infrastructure, capable of handling complex cases such as overlapping IP addresses and VLANs, automation-friendly, branch-aware allocation of resources via Infrahub's [Resource Manager](https://docs.infrahub.app/python-sdk/guides/resource-manager), and more.
100
+
71
101
  ## Quick Start
72
102
 
73
103
  [Always-On Sandbox](https://demo.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
@@ -94,7 +124,11 @@ If you need help, support for the community version of Infrahub is provided on [
94
124
 
95
125
  ## Contributing
96
126
 
97
- [View our CONTRIBUTING](./CONTRIBUTING.md) policy to get started on contributing to Infrahub.
127
+ To help our community with the creation of contributions, please view our [CONTRIBUTING](./CONTRIBUTING.md) page.
128
+
129
+ <a href="https://github.com/opsmill/infrahub/graphs/contributors">
130
+ <img src="https://contrib.rocks/image?repo=opsmill/infrahub" />
131
+ </a>
98
132
 
99
133
  ## Security
100
134
 
@@ -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=sDhl2BBoX_Q3BR6v8lZE85j5wIuXvswATiCC57tPoqU,42045
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=JgjwBafBfn2CdTLr93dP6zVxqoJnAbY4FdXACrNJMdU,18448
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,57 +55,58 @@ 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=k28aIP4vwCB-57fTPR37nFzUUtmj9qieH5Y_4iO6HX0,22811
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=ngEeLTvQQ4qq0fJV_-xB8k21p9xJbQ3Ljow01Rr5m64,27707
63
- infrahub/core/diff/data_check_synchronizer.py,sha256=WTY3xwZMTOwWmdmTxYxx6T1WTWmuoUo6QAX1WKoPqBY,5202
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=1T-19FYAefSQRcfH2nDZN3Y6qqj3oba209Bjutsgqh8,731
66
- infrahub/core/diff/enricher/cardinality_one.py,sha256=N8RpTV9VaYV5Z9zgFVB90buRwR2cBK7_tCbnWQcwKuE,6795
67
- infrahub/core/diff/enricher/hierarchy.py,sha256=Ey3PIRzResW6d5ovhHVrilmyQ2ZfuRZQIk0vatYIozY,7032
65
+ infrahub/core/diff/enricher/aggregated.py,sha256=-LnAeNKDo6mifjL3d3ylCg1A9dTZJBySngWPeF7DfrY,793
66
+ infrahub/core/diff/enricher/cardinality_one.py,sha256=z_XBV0eGzHID8D-KVJfHbnBRLoHcQ0LpeDGs4SBNZZg,6780
67
+ infrahub/core/diff/enricher/hierarchy.py,sha256=gr5urtmnP2Cxd3Bi36zS0eu8ZYPyigaA51YPrsyEcRk,7868
68
68
  infrahub/core/diff/enricher/interface.py,sha256=pmbWFPONRznDcAPMchVIRm0cTqMThkkwCby8XVLjGWU,265
69
- infrahub/core/diff/enricher/labels.py,sha256=9dD11moB8IxEzhGckKN5Ag83egmYV1XvpoLBe58Wglg,9168
70
- infrahub/core/diff/enricher/path_identifier.py,sha256=EtCF3OAr_z3C5lXifurkaZeDDWZFPQi6HgFEfwCzxwc,3570
71
- infrahub/core/diff/enricher/summary_counts.py,sha256=CheM-Fcla1-_CrU056Z_f6dcT090MIKDyvDuapF0db0,4807
69
+ infrahub/core/diff/enricher/labels.py,sha256=uk2TdDp5yJegv-VJZ7rKxcvWmIdg8IWIF3PE7dP9DcY,9985
70
+ infrahub/core/diff/enricher/path_identifier.py,sha256=Fn90-SVCZVBrJjwmJuG9qm0TQmxFD60inXQnIC_lwLc,3378
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=tifn1difKENlB3OI0nGNY3QmGV0lKUUEbfBwKK3Blqs,3408
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=eWSx3XnoJUijPdWH-EQg36bzyEBgD7o90_I8yv7xyOE,29339
79
+ infrahub/core/diff/model/path.py,sha256=01w2pYRjJRYX7HV79jyDGu8vVNeRkSzpvmr9QU3huVU,30592
81
80
  infrahub/core/diff/models.py,sha256=wmOzW4xQ5YreDCr_i56YMFtxbM4-LRgZort49fGJ0BQ,441
82
- infrahub/core/diff/payload_builder.py,sha256=fzti6hA6bAWRySS3Y2fSoOhNwvQjeSRfyB76Dl6BkVg,1742
81
+ infrahub/core/diff/parent_node_adder.py,sha256=NWC47GxyRzM6tKxvrWTfmUs_yN3-1lh-LX25Bcxb9ps,2766
82
+ infrahub/core/diff/payload_builder.py,sha256=5R_QuPM5P_uQONmTDbtpIjhshs_OJCcXLnVYjWw-78Q,2094
83
83
  infrahub/core/diff/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- infrahub/core/diff/query/all_conflicts.py,sha256=OO_LmfuVOG0Ook7_MKGqEVs1ftWXtRWtq8wVsFBUu9Y,3024
84
+ infrahub/core/diff/query/all_conflicts.py,sha256=PIFQIU3uGHJx6GB9Fm_wwDjZX5U1J1yYBMf6Atesa24,3091
85
85
  infrahub/core/diff/query/artifact.py,sha256=tC2KYdCcxAjrMmLMjfwg3SwEiptxA5DrFjOCYkUXNQc,8815
86
86
  infrahub/core/diff/query/delete_query.py,sha256=MKB-vaUByt8TbI1yyq_amk9FHhjnAAlY_BBi4MnrrFk,844
87
- infrahub/core/diff/query/diff_get.py,sha256=Qoe2AKtsM6L3NoodqcDJI3hBrD2nfaNVRtm0sRSaIP0,7398
87
+ infrahub/core/diff/query/diff_get.py,sha256=eUk4EhSx8kHxiHQnJoKSS0rVdfhtn-658GKw_AtE73E,7467
88
88
  infrahub/core/diff/query/diff_summary.py,sha256=u3SkPQYa7SPreZ2_JHk4SPOS829MVa3rt-RZG908QAE,3825
89
- infrahub/core/diff/query/drop_tracking_id.py,sha256=qu0-SdCDL0Lwf-0mKuBihGXOkfpMXOAm-_PkWtk_Tz0,816
90
- infrahub/core/diff/query/field_specifiers.py,sha256=h-UP10pY0CCaJRb_pPzp1x8eLqwAKHP9-cMib-wvz2w,1402
91
- infrahub/core/diff/query/field_summary.py,sha256=V8kvRAnL7MLPAmesCbar1GU5XJtZ7rZp8n8kI0Krv0k,3091
92
- infrahub/core/diff/query/filters.py,sha256=eNx1pWddWlNd1jkylCLRLto-0qxovEG-CBGftDZE8VU,3343
89
+ infrahub/core/diff/query/field_specifiers.py,sha256=trua1xJ-p_IhzZLoXc_8N9fGU2pSk3s_k57l2L8lcm0,1524
90
+ infrahub/core/diff/query/field_summary.py,sha256=ZXYxX5f-nJ0rG_ZzfSxmF01OmkBYdSj34Xt6sfBl078,3164
91
+ infrahub/core/diff/query/filters.py,sha256=HnbeTo3W2n0gQcKYM4my7sQ0Syoj7aPy5WFkVp38qLc,3646
93
92
  infrahub/core/diff/query/get_conflict_query.py,sha256=fXJNx5hiZW3NLAbGITvC-iuRDhRkXFhLF3oRTOzgEqM,876
94
- infrahub/core/diff/query/has_conflicts_query.py,sha256=-KtuKVwoA5b21xilB3DIBbPqO9_pro3U0TSTpVDwLDM,2454
93
+ infrahub/core/diff/query/has_conflicts_query.py,sha256=nftOmnAtDsNxxhpEoLcbQdalhgqx5ROckabou1CSv-Y,2531
95
94
  infrahub/core/diff/query/merge.py,sha256=HZgsf9tMIEZ_O-ztWBmF-L75nAO9LOe1lKo53Ehub9I,22902
96
- infrahub/core/diff/query/roots_metadata.py,sha256=Kzfox3RD26fT51xjj5P9-XtHywkTk2lj5LKRoWRAeH8,1808
97
- infrahub/core/diff/query/save.py,sha256=MewTGCvfT1eu2nX0W9vEK-GxI6A60dRT6LJiSB4YZLc,17453
98
- infrahub/core/diff/query/time_range_query.py,sha256=lBzSwlMZpFd7t_bddu6D1mCnd3HLFNzDcqjoZMzbiAg,2914
95
+ infrahub/core/diff/query/merge_tracking_id.py,sha256=puDyqQv-g0jHA-ZuNNwHyJ2spbWOUoSZr131d0NOu0M,817
96
+ infrahub/core/diff/query/roots_metadata.py,sha256=mwS8elSVxH-xHYdMd0maAGJ94sGY9oXk85jp59RsCQ4,2166
97
+ infrahub/core/diff/query/save.py,sha256=tfeWCy5FdBgNcPWIO86NZb5DyemX18fLSCDqJ86zsCo,21617
98
+ infrahub/core/diff/query/summary_counts_enricher.py,sha256=6LcMWb_wNeRoYsMcDvM8IccchKtZJmL6QDx8W3GjVAA,10207
99
+ infrahub/core/diff/query/time_range_query.py,sha256=W4CQlxfy37VysSc4aSpuklf-4pJFB57AxsjyL4ahatw,2987
99
100
  infrahub/core/diff/query/update_conflict_query.py,sha256=z19Y2l9T78A-ydQbqoWYt-eSXhaxMkrD_oLMuaW9FdA,1196
100
- infrahub/core/diff/query_parser.py,sha256=ph0xjvnGXtlvjdH6oAtxxYv9Yjufh-_5ItxvSUZ2bwk,36423
101
+ infrahub/core/diff/query_parser.py,sha256=vhWfm7wm9j1SztBWHXBGA16ly467z7lBi5N_5QjASGk,37765
101
102
  infrahub/core/diff/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- infrahub/core/diff/repository/deserializer.py,sha256=Cndi8QVmlfUht5acjuPm53mrNVg03KSzlHZWN6Mbr_8,20255
103
- infrahub/core/diff/repository/repository.py,sha256=0zxS5MBI2S8wkDA_uxiymvENZYX325mEu_D3PcjlHEs,17001
104
- infrahub/core/diff/tasks.py,sha256=vJf3HdgkvBG5b_mnmFmdpd9xDeBOuD4XFgNSd1Wbex8,3045
103
+ infrahub/core/diff/repository/deserializer.py,sha256=gkFPByBY1nnmA6sjTJer76RWvwHCCqss4zGcVij3hDk,20647
104
+ infrahub/core/diff/repository/repository.py,sha256=xgTzmd_fdc-n7iX8E83sd3fOz25O4P3CEDQFpRMZjpI,24946
105
+ infrahub/core/diff/tasks.py,sha256=0EuasZKVk76ECpv5yKuqJ7_kGoplqx-_x7w-Di9IAsY,3018
105
106
  infrahub/core/enums.py,sha256=5wMcX9x6acU9CTa4B4b6rFwgRZ31N9c9TR3n2EO0BuI,490
106
- infrahub/core/graph/__init__.py,sha256=jwgNlvRvVs2_s5YC1TqeLucoKBHQ4pDox1v0tbE9oIw,19
107
+ infrahub/core/graph/__init__.py,sha256=Exfs4Nq05DCpF2AkOkBelW_MeAF7Te0NRo0FEhOQHl8,19
107
108
  infrahub/core/graph/constraints.py,sha256=lmuzrKDFoeSKRiLtycB9PXi6zhMYghczKrPYvfWyy90,10396
108
- infrahub/core/graph/index.py,sha256=a_heYVd5mvDx9kSb8-YnvsPNbsN0Lu-GcnEdW1n72Fk,1409
109
+ infrahub/core/graph/index.py,sha256=oR6wyYpJbq2IVVzUdiuGyWA511hw2AvgklFoBmQk-bM,1619
109
110
  infrahub/core/graph/schema.py,sha256=FmEPPb1XOFv3nnS_XJCuUqlp8HsStX5A2frHjlhoqvE,10105
110
111
  infrahub/core/initialization.py,sha256=sixtwg-KUGET4ZHcLngPx9t2fvUEPeIQoVg1MrnSSIg,20390
111
112
  infrahub/core/integrity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,7 +123,7 @@ infrahub/core/ipam/utilization.py,sha256=Urv0thyR6xYgwyQaZDnx170Wcw8nKKZkBymwNTM
122
123
  infrahub/core/manager.py,sha256=e2rawz77UG3tLOz3J-JL6-UpJDyJui3uSDg_APnFnAE,46544
123
124
  infrahub/core/merge.py,sha256=ibXM0Rb8qVoBuGiW8q6JYdFsLQ9DS-PPTBoK4R2mPhg,10354
124
125
  infrahub/core/migrations/__init__.py,sha256=PBewY3fZkqVMABRo_oTZkDtdD7HfCC9nCn-DXtTca1g,1150
125
- infrahub/core/migrations/graph/__init__.py,sha256=nrPqecgr5myTmwnoucWV8ktzs3JoV5whm8WgKdKWfew,2043
126
+ infrahub/core/migrations/graph/__init__.py,sha256=f1OGl0qaYxr9Rotk3bl08fZ8CrBW6NO2TfT_axD6u7Y,2178
126
127
  infrahub/core/migrations/graph/m001_add_version_to_graph.py,sha256=x_dYBnrZtNQiB6TSl4xwXR-Phn7-4EgrJce76ZfPe_c,1499
127
128
  infrahub/core/migrations/graph/m002_attribute_is_default.py,sha256=m0uW3rkDjcYEmuHcTH8ngWxenJ5K0_TkVV00L-Ec6Mw,1004
128
129
  infrahub/core/migrations/graph/m003_relationship_parent_optional.py,sha256=69RIuLB6YoNOOJ9og1DuUxuWSdTbxbSv6uk25-KsHUI,2313
@@ -141,11 +142,13 @@ infrahub/core/migrations/graph/m015_diff_format_update.py,sha256=gqODErzvu8O14lM
141
142
  infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py,sha256=hniXIH3DfUnNbbudBi6BADMzsVo-pBmdMhkLGemiyVM,1259
142
143
  infrahub/core/migrations/graph/m017_add_core_profile.py,sha256=T-IrK3DW7m_xS4xp3_4kpgiAEP_NyVyc3UukCG8tilI,1447
143
144
  infrahub/core/migrations/graph/m018_uniqueness_nulls.py,sha256=QPQT9ID6idIXizDG0xtzfob_XHG_5LNdv90qD7Lwjng,4785
145
+ infrahub/core/migrations/graph/m019_restore_rels_to_time.py,sha256=H0pQLkn-iup_-dl7S-jA6BHAeAmz5oBx9IqVLIfcMkw,11718
146
+ infrahub/core/migrations/graph/m020_duplicate_edges.py,sha256=ec5Z_HF_5MKEQ6gAEvzRM8sxdAsD3lg3eR96fMQ-2lI,6722
144
147
  infrahub/core/migrations/query/__init__.py,sha256=JoWOUWlV6IzwxWxObsfCnAAKUOHJkE7dZlOsfB64ZEo,876
145
148
  infrahub/core/migrations/query/attribute_add.py,sha256=gLibqL1TKtt8ia1UQBxL8vyVDibUPlP3w_vp5bp4XsQ,3507
146
149
  infrahub/core/migrations/query/attribute_rename.py,sha256=lotPE_XRqyJQisnrgXtH_cg-0qHMqhtUlT_xcRP84TU,6955
147
150
  infrahub/core/migrations/query/delete_element_in_schema.py,sha256=6hSRaqGv-CzVZdjDn8HfkJaPqn_jiPPuZIfKPFG1wjg,7035
148
- infrahub/core/migrations/query/node_duplicate.py,sha256=NuZC7MhHJX71usaZE6lJK3jGuEZDxRZZD86NMt49hWs,6557
151
+ infrahub/core/migrations/query/node_duplicate.py,sha256=aWl1Iq7-W6UIOrxaG7auNZ09JRu4S1zdk1f8PECC4pQ,7761
149
152
  infrahub/core/migrations/query/relationship_duplicate.py,sha256=UymElii3btX_xq7wq8B9nnuY4qT-gLMYzfPEnaKGqyQ,6977
150
153
  infrahub/core/migrations/query/schema_attribute_update.py,sha256=Pnd9276T6NaZuaJlEvh-URGEQw5eBn3NJqwaUjFyMxM,3379
151
154
  infrahub/core/migrations/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -154,20 +157,20 @@ infrahub/core/migrations/schema/models.py,sha256=bvDxoF2KIoBTN3ymiW_eDb5yxJggyIz
154
157
  infrahub/core/migrations/schema/node_attribute_add.py,sha256=4_g1W1wqfN3MT9GSAHAUEAZiLeAmvbUp88vauexTzdk,1085
155
158
  infrahub/core/migrations/schema/node_attribute_remove.py,sha256=bVxu8El77i3nMg0lsx5D35cCfWFFW_ugud1gnVXtvLI,4509
156
159
  infrahub/core/migrations/schema/node_kind_update.py,sha256=scVJz4FhiI2meIVSDTbc9Q6KfGksMDLMwnuxsaZX1aU,1454
157
- infrahub/core/migrations/schema/node_remove.py,sha256=kjghM8NAypDHRVnomYe-1jIa-VPOaduhRLUMiW2fXsw,6274
160
+ infrahub/core/migrations/schema/node_remove.py,sha256=hr-3V403DU4pz8aRgddVgFMxXZjhOQIwXBP_IU8dLTY,6842
158
161
  infrahub/core/migrations/schema/placeholder_dummy.py,sha256=3T3dBwC_ZyehOJr2KRKFD6CXaq8QIjVk0N-nWAMvFYw,308
159
162
  infrahub/core/migrations/schema/tasks.py,sha256=qrHz2dW-lwp1K3EWNnAAqh5HZn15-SgZQceOF-hC7Mc,4111
160
- infrahub/core/migrations/shared.py,sha256=y60PTvFKrwLB3SrCmsXr-XR188mJGDGpqZj_9qwmr8U,7133
163
+ infrahub/core/migrations/shared.py,sha256=kMx_Cu8EW1Q7mPzjY4Uxrzk5DhTd7KRzWQnCdJ_hEmI,7222
161
164
  infrahub/core/models.py,sha256=vkxrU_CNccRC-w7YKq-eibqjlJz-CnEaa-j9oIsaus4,24269
162
- infrahub/core/node/__init__.py,sha256=J1lg90ys7YXNNmr8QL__5EZSP1RlUSoJGfKIwYE_gN0,30573
165
+ infrahub/core/node/__init__.py,sha256=IfH8cb_5OZRsLbkNjGPHXuvkjDHFiNw7-aAEEtOp_Nw,30693
163
166
  infrahub/core/node/base.py,sha256=naK0ZmWTnwNTESvRRfSTybleBoGELZKm4bdUa9QmZvw,2655
164
167
  infrahub/core/node/constraints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
168
  infrahub/core/node/constraints/attribute_uniqueness.py,sha256=jbZP_c4oAIMfLte1x666JbV8it764VD2E44_hxsHZRY,2115
166
- infrahub/core/node/constraints/grouped_uniqueness.py,sha256=NQoJfnXJxxr3gWGBDAsT1snqi-TpAMCi_Mzl95siAGg,8717
169
+ infrahub/core/node/constraints/grouped_uniqueness.py,sha256=tVeXVf_4e2fyaBeyOIoj2dIePSXAue7EHBMxGdt9KEE,9781
167
170
  infrahub/core/node/constraints/interface.py,sha256=K53ht1ozEiDV8LKKdd1slAByh0VP5CUT4_VE9MrkiGU,325
168
171
  infrahub/core/node/delete_validator.py,sha256=KkCh5F2osBwVv0Wl2f9BB74ywhOsPgNXkYFOEO9zojs,10541
169
- infrahub/core/node/ipam.py,sha256=WsgtGSmtmOYdk8XgH5JoKVz4P0CoDYp_R3iRFsiqp28,2845
170
- infrahub/core/node/permissions.py,sha256=EMO0oto4NIOcn6JXCwwLPl3M_TncGNC4DXAlj_Uy_m0,2051
172
+ infrahub/core/node/ipam.py,sha256=JvWP3tZ2DtMHz6EBgPa8GixgvuMa6_dAt24glDuJu2c,2974
173
+ infrahub/core/node/permissions.py,sha256=zYc6_4yp-4ZYziZSFu59AthUmFV9fTeSdvXSJ5KDE9U,2235
171
174
  infrahub/core/node/resource_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
175
  infrahub/core/node/resource_manager/ip_address_pool.py,sha256=Ap7A37Cka3iB2fMjBEF871wXslDhGOGACtlWgnMwlGE,4703
173
176
  infrahub/core/node/resource_manager/ip_prefix_pool.py,sha256=c-0J3_fBiyOOoD1YFyQoDq-Y_VUbHzRmKry7boDndNw,4778
@@ -178,14 +181,14 @@ infrahub/core/property.py,sha256=Sc7XuJ0EYDGc1ddKtXWhCYCcV9b01E5mOET1d7TojaY,516
178
181
  infrahub/core/protocols.py,sha256=n7-VnK_bYPfVCEiiPtjEGDR9_anY4NwVkAmaV2fxyts,10742
179
182
  infrahub/core/protocols_base.py,sha256=_P1ZG3Vk67TqFwpqca0om-PqZ-UylMONF_Y2RHn2Hhk,3373
180
183
  infrahub/core/query/__init__.py,sha256=iXvVvRB5s6f06UxBqkOucrbH7fOuUgyu1M8VXnlMNKE,23296
181
- infrahub/core/query/attribute.py,sha256=-84v73Je49QpYcdBcBS6Acj8i8uIGFaOxJyFd2kszD4,11756
184
+ infrahub/core/query/attribute.py,sha256=Kcpkqpa9bOskqb9E3VgKdEP6J2WeOD-ao0_yg8dj0AY,11791
182
185
  infrahub/core/query/branch.py,sha256=OmYS1n1U4NEbDXBrPAM9lvh_qb_prbRdNnC07N1k-Mw,4561
183
186
  infrahub/core/query/delete.py,sha256=BsCeUb11Le3NU2hLMcu05acvWrRVrGncxGxpkWTIzJE,1902
184
- infrahub/core/query/diff.py,sha256=PkNcQ3hgcf-2aT9enauYtoNJVf7z3stkY36QLRF7ZNU,30009
187
+ infrahub/core/query/diff.py,sha256=73Jy-D1wd6GYpUoRb7MGDMkgSuX6KeQ_8swaYLhgJQU,31942
185
188
  infrahub/core/query/ipam.py,sha256=xWCemBaiOA00eU3sB8XmOdNOJ1L69Lls3L2GIw5P_CU,28123
186
- infrahub/core/query/node.py,sha256=UhVfDHvBAIualNNh6rL71snbG_-GaB2XCvTohezFInk,59348
187
- infrahub/core/query/relationship.py,sha256=30oRyNAM59lYA1nV1Vi0istLke73UoB5aDVzoDbJ76I,35001
188
- infrahub/core/query/resource_manager.py,sha256=AzmHSbUIb2Zow_p9g4RmBt008udbOIc8igyMZ7Wyg7Q,12438
189
+ infrahub/core/query/node.py,sha256=mPEChMQe5ivOxPBzLpWeHW3tJT5-oWn0PIgsm5TW05o,61092
190
+ infrahub/core/query/relationship.py,sha256=Fzg9FvbFj9KsvlzWSwmOj2Ae9qPoaFJa4mzYe77D1qE,38628
191
+ infrahub/core/query/resource_manager.py,sha256=3B-4-gTNomAyvkw88KHwHbjClIp4SlSJL0cGb-dZVyw,12568
189
192
  infrahub/core/query/standard_node.py,sha256=Wh9ekHhfamxizri_1M5EQFcgJWyIvtAMQRz9nEKOL3w,4437
190
193
  infrahub/core/query/subquery.py,sha256=5vSBz8CuQHXmka1LtWZp4RDClA0IfJFi0L2cb9uZRZM,7636
191
194
  infrahub/core/query/task.py,sha256=DjcNUt4PXdvIDq_e_F3bHFEA_Hxd6-HLD6FkuuoAQic,3089
@@ -198,7 +201,7 @@ infrahub/core/relationship/constraints/count.py,sha256=q2KJu4azD3Ad2Zagjz2SUzxd5
198
201
  infrahub/core/relationship/constraints/interface.py,sha256=96A_IRKAU6FCS3Nqiey5WmUnA4PO73nOlBk5DgUCjbc,296
199
202
  infrahub/core/relationship/constraints/peer_kind.py,sha256=d0Ca4tLt45kU1yfe3UN793Dy6ad42mepvXOi8qgo68c,2520
200
203
  infrahub/core/relationship/constraints/profiles_kind.py,sha256=ztnc5uh84h-IANHxn6HfIHcJJf4Cga_3waXEh7eIMrQ,2449
201
- infrahub/core/relationship/model.py,sha256=Gw1FS6FKAq935aqwY6Vufj9gLu9-TDkwibPXkckcnCo,45373
204
+ infrahub/core/relationship/model.py,sha256=MXhQBmewKUC6YUsdeC9W_Hcqub9sgyG2eROOY5AUpOU,45298
202
205
  infrahub/core/root.py,sha256=8ZLSOtnmjQcrjqX2vxNO-AGopEUArmBPo_X5NeZBdP0,416
203
206
  infrahub/core/schema/__init__.py,sha256=0L8vLxx7VwuqCkySA3PgZa91rfnIWeQcuwfeDqFqMZM,3926
204
207
  infrahub/core/schema/attribute_schema.py,sha256=oyU-Z8BFLnyEy1q41uukfVQKMUevS0sZ8Ug2m_J3MXk,5022
@@ -206,7 +209,7 @@ infrahub/core/schema/basenode_schema.py,sha256=wPw-qYh1utxjWzLcrwZ8col8ZukfAx7HB
206
209
  infrahub/core/schema/computed_attribute.py,sha256=Hf5_2p01SSaIJ_oo4Vkpw7E_Z2FtV_8M0RB1Ol4IebA,1825
207
210
  infrahub/core/schema/constants.py,sha256=KtFrvwNckyKZSGIMD4XfxI5eFTZqBRiw54R7BE5h39Q,374
208
211
  infrahub/core/schema/definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
- infrahub/core/schema/definitions/core.py,sha256=Pabmlu1Bcl9N4yPQwfDIKsbYdaw3Ymwso4nsr6vdWrw,90939
212
+ infrahub/core/schema/definitions/core.py,sha256=tW5XdhaYRD4UFJav8nVCeGsBwldpNg7el9stphG-wGc,90994
210
213
  infrahub/core/schema/definitions/deprecated.py,sha256=PUXfRupaxNT3R_a6eFnvAcvXKOZenVb7VnuLAskZfT0,829
211
214
  infrahub/core/schema/definitions/internal.py,sha256=WED6KC6KUjX4RVdOxJhNmB07eR63weP1fXm0DjO9-XA,32251
212
215
  infrahub/core/schema/dropdown.py,sha256=kBj0ycNeGSzL8rQ0th3lEH-pd1KJ93pAVNE0-7wW-8U,642
@@ -228,7 +231,7 @@ infrahub/core/task/task.py,sha256=GiQcOqKaWxjOEGHmNfwCTD6IgLkhHFIQ1_Ev_XvMSLc,38
228
231
  infrahub/core/task/task_log.py,sha256=Ihn8G2uW8K3wYz42qRjcddCSlspjN67apb44uirqxqA,986
229
232
  infrahub/core/task/user_task.py,sha256=Pa6h-3a4-lXdYlPhcEORE_Dt9rxn_KZNvm7hQhMHN2Q,4607
230
233
  infrahub/core/timestamp.py,sha256=LzftyzfOJ1wedqm69mvkL_oHczzX3vGNuc7kk1KrK7U,1049
231
- infrahub/core/utils.py,sha256=cphgwcCl-nHIEQ7Ea7k1Ees9TXgCqYcRpbT8-9Hz3To,9070
234
+ infrahub/core/utils.py,sha256=Wuc1s_PpuI12AfnrF7-8snGGLH0yS0xbYP0i7gao3bI,9091
232
235
  infrahub/core/validators/__init__.py,sha256=yl5EZcZxuQ1LYEDD_rEVBHuidRAqkcE_h2iiYSS8oYw,2185
233
236
  infrahub/core/validators/aggregated_checker.py,sha256=HSX_jEJGVGHRBEjpCl80daT6TX7nXtfuROSS8T2a4dc,4728
234
237
  infrahub/core/validators/attribute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -262,8 +265,8 @@ infrahub/core/validators/uniqueness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
262
265
  infrahub/core/validators/uniqueness/checker.py,sha256=IqreVcMPZj7nNhC5cc5SlBSZ-P6txVmPxJp6gU028Ls,10266
263
266
  infrahub/core/validators/uniqueness/index.py,sha256=yu-clITQF4MrgK36hsyuXllvR4QkVTqy4ugi_Y_C_Sg,5081
264
267
  infrahub/core/validators/uniqueness/model.py,sha256=EPl8X91BSGXGU7GWbUSue6laNGhAtIiXj7rFaz56Kvk,5197
265
- infrahub/core/validators/uniqueness/query.py,sha256=WgRKKC5rC-wpWOawPh7Y8wEgsEsPzDYxB1AhJCo3PDM,9694
266
- infrahub/database/__init__.py,sha256=A2H8RBnFfmrsPkmZWMlxt1yOLkgBl4kWOxAnzXPqBO4,19721
268
+ infrahub/core/validators/uniqueness/query.py,sha256=DigQCR5278wBiXNXhy1FFTTVQewlf2Q8rCcuSmyilkQ,10171
269
+ infrahub/database/__init__.py,sha256=NJfVx7yXiSBiolqU4JcSH3jDYrjjL9uDQVvHa-6cROo,20196
267
270
  infrahub/database/constants.py,sha256=WmV1iuOk4xulxZHOVvO3sS_VF1eTf7fKh0TPe_RnfV4,507
268
271
  infrahub/database/index.py,sha256=y0sWXO3tdIr1wL1XC9O6iNRV-Elu2KAXFOiYXRIIhN4,1659
269
272
  infrahub/database/manager.py,sha256=BDXNw1RNBeSFV-EZd0aGFbPNuoqlKwrkDqmYB7sy4tU,317
@@ -273,7 +276,7 @@ infrahub/database/neo4j.py,sha256=IE5lSevKqu-tJa3KF_bj_gOUx-SpZNdmGOl6oheNhiY,26
273
276
  infrahub/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
274
277
  infrahub/dependencies/builder/constraint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
278
  infrahub/dependencies/builder/constraint/grouped/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
- infrahub/dependencies/builder/constraint/grouped/node_runner.py,sha256=a2_XXAGcn0ch4CG6rcRqyGcMBnausXZmBgIDeCLBUqg,1376
279
+ infrahub/dependencies/builder/constraint/grouped/node_runner.py,sha256=bk84DCReSTGQSMrNwKPJQUOqd-1mplf1yVZkxVgzgwY,1218
277
280
  infrahub/dependencies/builder/constraint/node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
278
281
  infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py,sha256=lDPINXeKuAoxwPcxG0p9HcnZFAnIiPLlWNz0yHApcIw,477
279
282
  infrahub/dependencies/builder/constraint/node/uniqueness.py,sha256=3YzMLdhSBDCb78vMzufSzfoX6VKa7AwwTqNwuDL9q0E,489
@@ -303,19 +306,19 @@ infrahub/dependencies/builder/diff/combiner.py,sha256=ZFdP95Nxq4ws5Kdg3ywvG4B7Re
303
306
  infrahub/dependencies/builder/diff/conflict_transferer.py,sha256=faslY7GQsx1MekKgluq4z8MbtWbK_Zn5HuPzFWTAaH8,490
304
307
  infrahub/dependencies/builder/diff/conflicts_enricher.py,sha256=nhXS9sSq-hmKDnseyYB51wkQSSOVfY4xYPgEXelyMos,363
305
308
  infrahub/dependencies/builder/diff/conflicts_extractor.py,sha256=LL_Tvsp-I6R1q9IxCB9OhsF4FJV29PylUSGtLGLGEDQ,398
306
- infrahub/dependencies/builder/diff/coordinator.py,sha256=eLU5IwYstR4d0tQ5ci4ih4L1O60kaHcYUajvdAhI6O8,1648
309
+ infrahub/dependencies/builder/diff/coordinator.py,sha256=7Z4SwtkKicZLnWQl_sZFKpHkSWqa1co_ijsBExWlVQo,1479
307
310
  infrahub/dependencies/builder/diff/data_check_conflict_recorder.py,sha256=ABMNwa0H6uo-WW_EjhFXMEdFkIJ2e6cBY9yPuiGbhUE,683
308
311
  infrahub/dependencies/builder/diff/data_check_synchronizer.py,sha256=k8mc4yAd7hczXajaMfw9yQ04b3qtqD1Jm5G4uDbmNNc,890
309
- infrahub/dependencies/builder/diff/deserializer.py,sha256=lw7WhTW9bEtxKmdo-iq75oMKgchboPW085tN1QVfotM,391
312
+ infrahub/dependencies/builder/diff/deserializer.py,sha256=bC4ixLHGFtvIPKcSZpKwyGL9HjmS9ZSnjbMjJm4fT50,518
310
313
  infrahub/dependencies/builder/diff/diff_merger.py,sha256=4b--RJTLE5I5jdcB9JirXanT29-yA5I1ad25GXOnHm4,775
311
314
  infrahub/dependencies/builder/diff/enricher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
315
  infrahub/dependencies/builder/diff/enricher/aggregated.py,sha256=G6v4ds0Vpx_6QXPBP7kiEZaUZ1BWJis-9WLxBDsSt_E,964
313
316
  infrahub/dependencies/builder/diff/enricher/cardinality_one.py,sha256=84JJmbFr4ZzrI8hoTei1kskws734RpYsx3wdNN0D6OU,423
314
- infrahub/dependencies/builder/diff/enricher/hierarchy.py,sha256=waPTBwZSe3wmynGcLrEzpoCQZm2sfh56h3Cg46vWfq4,392
317
+ infrahub/dependencies/builder/diff/enricher/hierarchy.py,sha256=7KZ-Oo5uiaQDc-MjOYx6XWqMb_zIzQKeZFwSMpJUL_A,522
315
318
  infrahub/dependencies/builder/diff/enricher/labels.py,sha256=EZy4OWEGbb1OUhARD0SOSBJSCzdXHIT_c5RpM9GxLCk,374
316
319
  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
320
  infrahub/dependencies/builder/diff/ipam_diff_parser.py,sha256=ZFEMMXWe0x8gr2gyPFuHfto9DtZZSUbZisragYKOhvs,639
321
+ infrahub/dependencies/builder/diff/parent_node_adder.py,sha256=qF4siDliMYxL1Q8A0KgkzWOLivVqbC3qfC0UVQLHq_k,368
319
322
  infrahub/dependencies/builder/diff/repository.py,sha256=Z3-61TcDJyl8Am7yD-h5a0S0A6aTXl2asDnMKqE3oBE,478
320
323
  infrahub/dependencies/builder/ip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
324
  infrahub/dependencies/builder/ip/kinds_getter.py,sha256=ebquLE5asdRqlnelKTvrU63sfN4V6JN2GEE3dFXnCNY,356
@@ -378,12 +381,12 @@ infrahub/graphql/mutations/account.py,sha256=MR9hJQCY4LxwdxmhS4UI6GnmwGMdBlOrjq3
378
381
  infrahub/graphql/mutations/artifact_definition.py,sha256=DQofuL3YqLordJEl6MJqFtitwD85bUUKP97RIPavS0Q,3245
379
382
  infrahub/graphql/mutations/attribute.py,sha256=a35MP8Pvy_42N5dkO3HKATgJDW6qy9ncDu5t8YI3AUE,2734
380
383
  infrahub/graphql/mutations/branch.py,sha256=PmyoQKdFouDGjMUgy9vLyN3HJfyohS5D7DHpMiL8eKE,8533
381
- infrahub/graphql/mutations/computed_attribute.py,sha256=bD9lF5JZhVKUbZsUBCKPAkQrvIdMMe1bCXxDdkEWOOM,4062
382
- infrahub/graphql/mutations/diff.py,sha256=9cRa2jPHCVubve9wpkODjfiG_CloWmw6Y9vzoU4jMHs,2473
384
+ infrahub/graphql/mutations/computed_attribute.py,sha256=8FmG2gY6Pls1ZpmAcW8AmMMAYtyOJJOwqyHub68W6GA,4118
385
+ infrahub/graphql/mutations/diff.py,sha256=4AdW-gvKyXn5UWHi-IaXL5Tw_TxnE-_LrdtXE91Swu0,4386
383
386
  infrahub/graphql/mutations/diff_conflict.py,sha256=Rx0TvqDK_jqtJlK9vKkBcTI5ybVADi524kazr4WwVYk,2779
384
387
  infrahub/graphql/mutations/graphql_query.py,sha256=zn6GrSixspdoxnjQJk68l2HlwDDPfU7z3L_GIK84qjA,3341
385
388
  infrahub/graphql/mutations/ipam.py,sha256=S26y3k-s6obkHKE2BVQi8FuJk8xxzGPQZFCEpLA7bgs,16887
386
- infrahub/graphql/mutations/main.py,sha256=9DUL_m83HmrsiNVX3OznwUV_dhBHpUM0oxMfwhAZRpo,17888
389
+ infrahub/graphql/mutations/main.py,sha256=CzH0PM6JiXgLFuh2SpWUdhISRRmX-yh0xMKnssvRBTs,18205
387
390
  infrahub/graphql/mutations/menu.py,sha256=JC7wpSsVk9xeEGNIdWwRut6xYWEMPEyTWKH3plPppXM,3677
388
391
  infrahub/graphql/mutations/models.py,sha256=OMjCJNHF5WaoAqO-KGVllzDHW_mxFlFoyOxVWYCxmWQ,299
389
392
  infrahub/graphql/mutations/node_getter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -392,11 +395,11 @@ infrahub/graphql/mutations/node_getter/by_hfid.py,sha256=1cEeg2jvVN6qojBrRrx5h1Q
392
395
  infrahub/graphql/mutations/node_getter/by_id.py,sha256=FTSyqwc_Rf_0hec7TFF_a5GNJQeQS54FOPHsva_6vyw,888
393
396
  infrahub/graphql/mutations/node_getter/interface.py,sha256=aLPUTB3oxb4MduKCTeXviC_nN6mKlMujO2Qba-E1CbM,450
394
397
  infrahub/graphql/mutations/proposed_change.py,sha256=6wYany-bI1sk3G0_rORubQ6XWK1bRWi8hgrxP-Pod9Q,9366
395
- infrahub/graphql/mutations/relationship.py,sha256=uAWxxd7sT6gFlTiy4ELL4JX7XEs3s__MDaW1-_1RVh0,6761
398
+ infrahub/graphql/mutations/relationship.py,sha256=Bz-iJVt0bfPO_ySfh-WQX_wurpGJCPgXBCqXPEvkLNs,8115
396
399
  infrahub/graphql/mutations/repository.py,sha256=TfqNrTZtZqqvVGDumWcFidilzS31AvHfirfzojpq6uE,10837
397
- infrahub/graphql/mutations/resource_manager.py,sha256=b9K-c6a_noqzB5yKHZDMJSIO3_StXHZnzcWSD9WTrik,8784
400
+ infrahub/graphql/mutations/resource_manager.py,sha256=Tc7Iu75OLdmHUf8Rjuce7n4V8ExnfdHZJYtfHIDgQUk,8818
398
401
  infrahub/graphql/mutations/schema.py,sha256=v354ubGGcoXRjNVVq49csKo16RCxOPtP1pLKbE3jemE,11418
399
- infrahub/graphql/mutations/tasks.py,sha256=RBfzFPIc6jbBy3iI9HDy366egDY_ljnCfJt3dt20VZg,3363
402
+ infrahub/graphql/mutations/tasks.py,sha256=uTqH4PxFhOij8jH1fqw8E_kc5ninEv5rh4IgEmgHWVE,3575
400
403
  infrahub/graphql/parser.py,sha256=VP3Ot0kC3gAd85TXsIW0nfsVv2JolWMkKdVExgmAglo,8631
401
404
  infrahub/graphql/permissions.py,sha256=aP0yzseu0HzxulwfSo3GQ3HM4PNsPhDqS2-CQ_e3f4g,1300
402
405
  infrahub/graphql/queries/__init__.py,sha256=LGmI88POb8a4fyjSuBEkOkCIYpU2FZEwOkxWuretmHc,789
@@ -407,7 +410,7 @@ infrahub/graphql/queries/diff/tree.py,sha256=Ql-3b6mBjGRAHhbGCFb_BTGENydYmNXUDPQ
407
410
  infrahub/graphql/queries/internal.py,sha256=0_NO8aS5Ldp5eWXOrxqm_5ZG_UlMmvD0BWRECGjLIgY,670
408
411
  infrahub/graphql/queries/ipam.py,sha256=f_9WV8iGCCQq6np6BS8lfbH6_5Prjm6qAUrIbGlbQFo,3875
409
412
  infrahub/graphql/queries/relationship.py,sha256=uy_lTZaJu2ZOQBO9ZJFtTY0tBREVeGW5oxx-KuC8C4w,2504
410
- infrahub/graphql/queries/resource_manager.py,sha256=4HC7kFmiqr7jADHGwYDjpXUX2eI0o2AgDpbRoHmOMu0,14452
413
+ infrahub/graphql/queries/resource_manager.py,sha256=MMjiU7Hz_-CZ2bABGuO6ImMfAgo31jQGUvDoyxbV1RA,14576
411
414
  infrahub/graphql/queries/search.py,sha256=PdFvrkMvaKqcJz7_6BW_osRaAjeBqaxVg4nUvwuJEis,4942
412
415
  infrahub/graphql/queries/status.py,sha256=F3UpRHocUrJRQeOyI1PYa9W-2YDwTBTdGU-CyC6UYJE,1980
413
416
  infrahub/graphql/queries/task.py,sha256=qBL54BBKRW3vRxg1bIIM88c6Yfrq6IiH2-zc-m-NdTk,3491
@@ -500,13 +503,13 @@ infrahub/message_bus/operations/send/echo.py,sha256=WEqZaB8l2QUNp20Nta66Kh-lzxiZ
500
503
  infrahub/message_bus/types.py,sha256=Hui3N-j-by4DpB9eK98NPtr7VFueK65uoxLLxE3YQf8,5574
501
504
  infrahub/middleware.py,sha256=g6lPpXewWNcLjyzRsr7FjdTIbdc5H2HitGQX-L7itgI,657
502
505
  infrahub/models.py,sha256=QmwJwo3hNCta8BXM7eLsD9qv1S73Rj0cC_crLpadHTc,715
503
- infrahub/permissions/__init__.py,sha256=hGEPIA1YuVFZKXSZ_IzckmIQZ9GPXAZB92Df_FGAKH4,468
506
+ infrahub/permissions/__init__.py,sha256=WAtFhyaQj8dFkZJGnIbBaVbSMttGZGgK18V-QbMNVNU,538
504
507
  infrahub/permissions/backend.py,sha256=azvyFOTne0Zy1yrc4t9u3GCkHI_x_OPSDV65yxmVPDQ,529
505
508
  infrahub/permissions/constants.py,sha256=2sGj9caif_aH2XtD3s35BU4HRONOjRHCyCJ3gbT5kZs,1221
506
509
  infrahub/permissions/local_backend.py,sha256=JXUBGcYsi62Jmpz_sSueYGV3tqxV1WrNXpevhwKhr1w,1470
507
510
  infrahub/permissions/manager.py,sha256=RpYiKeAy6ByIjbR6zuuV8try4Ug8edivKZJ5X6SQw8U,6655
508
511
  infrahub/permissions/report.py,sha256=kXNVbWp_q5mu6Qx8DUcHceZOdKkVqUZO8E7YWiA1n3o,5118
509
- infrahub/permissions/types.py,sha256=062OowV-LvNTDfBtHIVnxfzLOeGqMSNG99PP__Cf9Pw,614
512
+ infrahub/permissions/types.py,sha256=cQQ0lJKlkufmJ7TQO2CM2yi0Y_yL-F7waFrjGumvkIE,1580
510
513
  infrahub/pools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
511
514
  infrahub/pools/address.py,sha256=QouI4q09sPRTyXYQFL88l0qiQHsGgdYhttPu7Iq1lIM,773
512
515
  infrahub/pools/number.py,sha256=gSpEHVmshk-gq3zBm5bPoVY7AF_lBlKHL2sHei6X4yM,2463
@@ -586,40 +589,39 @@ infrahub_sdk/async_typer.py,sha256=Gj7E8EGdjA-XF404vr9cBt20mmbroQh7N68HXhWYx00,8
586
589
  infrahub_sdk/batch.py,sha256=LRZ_04ic56ll9FBjgXCYrJRDJcwB3wR1yX4grrQutDQ,3795
587
590
  infrahub_sdk/branch.py,sha256=hmtoIekQ1uusoJ6yEKlw6vrFMTAHJrXu-YsqqCQC_kc,12716
588
591
  infrahub_sdk/checks.py,sha256=AmlCim-9Mbhpye_yYAaV_NM-pFL4_JvQGEVM3cJsaqY,5700
589
- infrahub_sdk/client.py,sha256=yuD-uvx_5LLXqHm9sjo0jei1AH-xGgl4DhYJcoqH8uw,99592
592
+ infrahub_sdk/client.py,sha256=ghBkCtPKxuHuC6imz96ICy3oPyxnyPqWF7KUSuLfqYQ,100024
590
593
  infrahub_sdk/code_generator.py,sha256=UJoqofjO7WSHygORhok0RRUv7HG4aTcl6htczaKNBjc,4411
591
- infrahub_sdk/config.py,sha256=xVKPFor6lwl1wVaWcvQywvVQXAMRlU7Sz0bk2hF8u48,7161
594
+ infrahub_sdk/config.py,sha256=irv7a1YRBGA8L9eMak6J7GG9dzG3sOQeKsyEOkJHw-s,7302
592
595
  infrahub_sdk/constants.py,sha256=Ca66r09eDzpmMhfFAspKFSehSxOmoflVongP-UuBDc4,138
593
596
  infrahub_sdk/ctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
594
- infrahub_sdk/ctl/_file.py,sha256=FdbveH5t6jVZvANTGDYKRTt1BhfnL6D_6qKDiJlXxkE,498
595
597
  infrahub_sdk/ctl/branch.py,sha256=CgKi7GwkI0cebbYOfaQQd3h7uG4JVmoEUVQHda_MOr4,4733
596
- infrahub_sdk/ctl/check.py,sha256=t5WmvTx6qViWlnGEzyfmixyiA3uxsFGOLbhSju_QESA,7879
598
+ infrahub_sdk/ctl/check.py,sha256=HWsK1rTpGF2VvRBiS5KZrRxXrsAHDXoFS3wJkmq8pik,7895
597
599
  infrahub_sdk/ctl/cli.py,sha256=A9jJKYBo5opzIIyWYf6niyAHhy49V59g6biueMDFbpE,328
598
- infrahub_sdk/ctl/cli_commands.py,sha256=d46DBf6hRynKEn_olTuaVnPF1qgo6paF0mlSPtENkGA,18889
600
+ infrahub_sdk/ctl/cli_commands.py,sha256=pzLhVWGHlbsbrtbHrczsiJDRksYDkIIYfilyKMaKJNM,19046
599
601
  infrahub_sdk/ctl/client.py,sha256=6bmXmQta9qQCJ8HybQwt2uSF2X1Em91xNFpwiKFujxs,2083
600
602
  infrahub_sdk/ctl/config.py,sha256=y3kTvfxDO2FKzgvaIXKPKOES7BqXT-s9Kuww7ROfs-4,3039
601
603
  infrahub_sdk/ctl/constants.py,sha256=owzqZB_xkTzxsYvX3NyuSwATzA0rIABmbKiWzuqz3aw,3229
602
- infrahub_sdk/ctl/exceptions.py,sha256=U3y76emz3vbj55SHAeB58CEK80UFBVnSIBNUHpm_BNs,467
603
- infrahub_sdk/ctl/exporter.py,sha256=cxnnLFGg845zgvzBGNrhJbvf3v771bMZmHZ509hqR60,1878
604
- infrahub_sdk/ctl/generator.py,sha256=jVsI0w6CeQQuGpo1-bcR2_4jCgs00Owe7JU_tJdRp6c,4126
605
- infrahub_sdk/ctl/importer.py,sha256=VAFKlOY0YLscF79Rzws7n1NTOQORFoW2mvYORW4vbPU,1879
606
- infrahub_sdk/ctl/menu.py,sha256=6cd_0KDiUUu73nXtDlg-oots8DKqaHcYBy-llpDEN4g,1465
607
- infrahub_sdk/ctl/object.py,sha256=_E0DYtaoPZVAuaT-a4Ar6ZoIpsMsc0rn_0flEQKgfto,1284
604
+ infrahub_sdk/ctl/exceptions.py,sha256=RPdBtIj5qVvNqNR9Y-mPNF7kDUxXUUCac5msyitrBXo,272
605
+ infrahub_sdk/ctl/exporter.py,sha256=CmqyKpf7q5Pu5Wfo_2HktiF12iD_3rJ9Ifb48BIoJdU,1876
606
+ infrahub_sdk/ctl/generator.py,sha256=sj_QcuUIy0Sd3jKXAP5Y-DZ6iuwWGwacegjYiCx0CPg,4166
607
+ infrahub_sdk/ctl/importer.py,sha256=0QSKzkynI4eeQHHsTIWlEaj7mPrTdscQeXrrOzqtyig,1908
608
+ infrahub_sdk/ctl/menu.py,sha256=Kb2F8nLYw29X9ypV-Ku8jonGTmMFOq2tAD_fnGk_k2U,1463
609
+ infrahub_sdk/ctl/object.py,sha256=s76ziUqVqSG1fKcdtldSlREpi-aq0IUgSBvnX9L2xw8,1282
608
610
  infrahub_sdk/ctl/parameters.py,sha256=aU2H41svfG309m2WdH6R9H5xgQ4gevn3ItOu5ltuVas,413
609
611
  infrahub_sdk/ctl/render.py,sha256=KJsZQ6iNW4u8K_dtEKmJxtTpkSMR_zP2YT-IP6Z85tc,401
610
- infrahub_sdk/ctl/repository.py,sha256=jyfRRE3mMPMEKJUIr5XfCdG9Y144MvDT86sE-op_mWY,4754
611
- infrahub_sdk/ctl/schema.py,sha256=28eHiWWsuQgOVa8FiIa94pb6tk6-xTQXq9Il2MnbnkU,7060
612
+ infrahub_sdk/ctl/repository.py,sha256=JUyrV_oOayP1SHOb7Y35eZI_pwjtH69iH6lh8TsnmRs,4900
613
+ infrahub_sdk/ctl/schema.py,sha256=791JU9ZylqeXQTy7xBMN_4WKnVQgbStvFvEZ8nAkOY8,7056
612
614
  infrahub_sdk/ctl/transform.py,sha256=5qRqiKeEefs0rda6RAFAAj1jkCKdbPYE_t8O-n436LQ,414
613
- infrahub_sdk/ctl/utils.py,sha256=dVYkbNkL221dVCE5QhP0l_Uq6AjAPIO0KTa4fcUiliA,6922
614
- infrahub_sdk/ctl/validate.py,sha256=6DHhk6ubZih-FaNfX6m8G0HwOEJuJk6DFHCg1oAaZtQ,3879
615
+ infrahub_sdk/ctl/utils.py,sha256=1tJs1D293FXC7Q3aA0WldRvWKo7Wugdievtylsaj6ew,6934
616
+ infrahub_sdk/ctl/validate.py,sha256=dknc4kMBIdysZNtEBYyvhlFPyUYyLmc2a4OI4cjGj2c,3910
615
617
  infrahub_sdk/data.py,sha256=4d8Fd1s7lTeOu8JWXsK2m2BM8t_5HG0Z73fnCZGc7Pc,841
616
618
  infrahub_sdk/diff.py,sha256=Ms-3YyXo-DoF1feV9qP7GKakBYUNFsULZdy-yMEG71w,4258
617
- infrahub_sdk/exceptions.py,sha256=S563xPBgwvdXkVS42XLLTuCkdVnrXOZyDSY8aFd3udc,4436
618
- infrahub_sdk/generator.py,sha256=TVxSDByNnnuqFOpmi2mBgUZnU07PudvH8J-aM8QtwMM,5242
619
+ infrahub_sdk/exceptions.py,sha256=KZpYmlXxfQBVexE1gM2ibVRZWGmLSEu9xi7LBzPPGU8,4782
620
+ infrahub_sdk/generator.py,sha256=eIxDid0lZxAgQwPI8wiWQVUPEauPw7at6XgTnzin3vo,5383
619
621
  infrahub_sdk/graphql.py,sha256=qw1HJ95-JhRS_zrsyDj5P_PWKuUNgoXvH1q-Kfs27IA,5861
620
622
  infrahub_sdk/groups.py,sha256=GL14ByW4GHrkqOLJ-_vGhu6bkYDxljqPtkErcQVehv0,711
621
623
  infrahub_sdk/jinja2.py,sha256=lTfV9E_P5gApaX6RW9M8U8oixQi-0H3U8wcs8fdGVaU,1150
622
- infrahub_sdk/node.py,sha256=I2mgUWQD5gSIg3tp4cILu2TIHz57kSoLEDt8HHeuMqA,87320
624
+ infrahub_sdk/node.py,sha256=i2LBc5-7poBr6fEH-h7sCjUtEaGFdf3LUhdRtaQ4W2I,87410
623
625
  infrahub_sdk/object_store.py,sha256=d-EDnxPpw_7BsbjbGbH50rjt-1-Ojj2zNrhFansP5hA,4299
624
626
  infrahub_sdk/playback.py,sha256=ubkY1LiW_wFwm4auerdQ0zFJcFJZ1SYQT6-d4bxzaLg,1906
625
627
  infrahub_sdk/protocols.py,sha256=1anewqFJNtAQKoAptHlDiiWCEP66pDlFNLMu1NbpRnM,21196
@@ -651,7 +653,7 @@ infrahub_sdk/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
651
653
  infrahub_sdk/testing/docker.py,sha256=O8RUA7ddor7A1eXCppRfXkzz3LAaYY1imFyzXj08TEM,1871
652
654
  infrahub_sdk/testing/repository.py,sha256=9s4MMaMljbJe97Ua4bJgc64giQ2UMC0bD5qIqYd4YNk,3571
653
655
  infrahub_sdk/testing/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
654
- infrahub_sdk/testing/schemas/animal.py,sha256=5frpoBCeGaM05X8sFxIDQUH93JrPsa-kIYKb8xcQxcw,6796
656
+ infrahub_sdk/testing/schemas/animal.py,sha256=_5oOZqT5Rk5CXJi-1ScCLpeG8efHRWqeCxzHFe31mfU,7190
655
657
  infrahub_sdk/testing/schemas/car_person.py,sha256=1VwgJMJvVggsQyRdSqDjiLrPzysz8cXFSFzSghVSVms,8940
656
658
  infrahub_sdk/timestamp.py,sha256=qsFZ8Od63FNywTPmxBlf_RNne4X7AMt8rkdHXKXW3Tw,2884
657
659
  infrahub_sdk/topological_sort.py,sha256=RqIGYxHlqOUHvMSAxbq6658TYLaEIdrFP4wyK3Hva5w,2456
@@ -667,15 +669,16 @@ infrahub_sdk/transfer/importer/json.py,sha256=-Tlmg22TiBrEqXOSLMnUzlCFOZ2M0Q8lWy
667
669
  infrahub_sdk/transfer/schema_sorter.py,sha256=ZoBjJGFT-6jQoKOLaoOPMAWzs7vGOeo7x6zOOP4LNv0,1244
668
670
  infrahub_sdk/transforms.py,sha256=5fmoBBKWGhFCu0NLKlSF95GAbbCi2k25zWiWjtsd2dA,2558
669
671
  infrahub_sdk/types.py,sha256=UeZ1rDp4eyH12ApTcUD9a1OOtCp3IL1YZUeeZ06qF-I,1726
670
- infrahub_sdk/utils.py,sha256=5rnk-ZfMoMvNHH72D0Bb5OVRjyk6cJ__UoKvZlUNzns,11064
672
+ infrahub_sdk/utils.py,sha256=S2uQvg2WROdOK2gtbQ6HSVWStTVqVkzmEUXcksuMZGI,11513
671
673
  infrahub_sdk/uuidt.py,sha256=Tz-4nHkJwbi39UT3gaIe2wJeZNAoBqf6tm3sw7LZbXc,2155
672
- infrahub_sdk/yaml.py,sha256=dxdzEjuaG-OwF2XIcA2YXoFEmF4TeiwKju5K2uOQhgQ,2963
674
+ infrahub_sdk/yaml.py,sha256=L_sj5ds-0_uKe3aIfZu86kDLq8tffKzle9dcyDUTaEc,2937
673
675
  infrahub_testcontainers/__init__.py,sha256=oPpmesGgYBSdKTg1L37FGwYBeao1EHury5SJGul-CT8,216
674
- infrahub_testcontainers/container.py,sha256=g0AOvnV3z_-wGCMOUBCaK4-U_ST38YvGXYqZbfGtKXY,4421
675
- infrahub_testcontainers/docker-compose.test.yml,sha256=lS-mXnL73rOVXs3nW1R_BsfSGH8_d38fwxVkH_3Uf9o,5352
676
- infrahub_testcontainers/helpers.py,sha256=3K6Bbfcr19DwH9pfc-WE6ehqIUbAXx1NruVOkKJoXvY,2274
677
- infrahub_server-1.1.6.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
678
- infrahub_server-1.1.6.dist-info/METADATA,sha256=_2pIvHST_lQUNyM-tEl1ljmLfWpb9-mRHuvZw9F77LU,4702
679
- infrahub_server-1.1.6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
680
- infrahub_server-1.1.6.dist-info/entry_points.txt,sha256=JNQoBcLpUyfeOMhls_-uX1CdJ8Vl-AFSh9UhzTcKdjA,329
681
- infrahub_server-1.1.6.dist-info/RECORD,,
676
+ infrahub_testcontainers/container.py,sha256=dtweuZol1LAZiJBItRnB-Yrd-k6ohVuOdcgWcd0F-RM,4855
677
+ infrahub_testcontainers/docker-compose.test.yml,sha256=l-ac0Bi8MxXCNM0w7QPakmeMsYzMnJXPhENN1yGRHAk,5993
678
+ infrahub_testcontainers/haproxy.cfg,sha256=QF_DJSll10uGWICLnwFpj0-0VWIeB3CteCDthVoWpCU,1316
679
+ infrahub_testcontainers/helpers.py,sha256=NlzyZN1QpByUQ6t7NwIDQxSSM7xFvY2jCM6-P8RYE6g,5253
680
+ infrahub_server-1.1.8.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
681
+ infrahub_server-1.1.8.dist-info/METADATA,sha256=BJcVX7r_XMQiEkLZjsOAZo-mVuL7k1prexbpw7eAmrs,8081
682
+ infrahub_server-1.1.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
683
+ infrahub_server-1.1.8.dist-info/entry_points.txt,sha256=JNQoBcLpUyfeOMhls_-uX1CdJ8Vl-AFSh9UhzTcKdjA,329
684
+ infrahub_server-1.1.8.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: 2
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: