Commits
Click on a commit to change the comparison rangefix relationship delete query branch problems (#4980)
* fix relationship delete query some more
* un-delete variable_name variable
* fix f-string fix(ci): use forked paths-filter
Signed-off-by: Fatih Acar <fatih@opsmill.com>11 months ago
 by fatih-acar fix confusing path (#5066)11 months ago
 by BeArchiTek Merge pull request #5087 from opsmill/pog-stable-sdk-1.1.0
Update SDK to version 1.1.011 months ago
 by ogenstad Merge pull request #5065 from opsmill/pog-schema-convergence-on-repo--import-IFC-955
Wait until schema convergence when syncing a repo with schema updates11 months ago
 by ogenstad Merge pull request #5084 from opsmill/pog-stable-webhook
Remove flows for webhooks and node mutated event11 months ago
 by ogenstad Merge pull request #5069 from opsmill/lgu-add-task-session
Use neo4j sessions for multiple flows/tasks chore: update docker-compose and helm chart11 months ago
 by opsmill-bot chore: update docker-compose and helm chart11 months ago
 by opsmill-bot Added combobox component for Relationship many (#4422) (#5095)
Co-authored-by: Bilal ABBAD <bilal@opsmill.com> Close button was looking for not disabled rather than disabled. Added check to existing test to validate PC details has the close button as not disabled. (#5105)11 months ago
 by FragmentedPacket Merge pull request #5104 from opsmill/dga-20241130-fix-5091
Fix query filter on attribute of type List correctly set value for list field on create/update/filter form (#5119)
* correctly set value for list field on create/update mutation
* correctly set and get filter value for attribute of kind list11 months ago
 by bilalabbad Fail schema validation when deleting a referenced node (#5079)
* Fail schema validation when deleting a referenced node
* Add test for schema node deletion validation
* Add changelog entry
* Delete profile for nodes marked as absent
* Add PR suggestions11 months ago
 by gmazoyer Merge pull request #5128 from opsmill/ajtm-12022024-schema-rename-diff-fix
fix SchemaNotFoundError for renamed schema during diff enrichment11 months ago
 by ajtmccarty Merge pull request #5115 from opsmill/dga-20211202-testing
Helper for integration tests based on docker compose Merge pull request #5101 from opsmill/pog-update-artifact-targets-IFC-963
Support updating artifact definition targets11 months ago
 by ogenstad Merge pull request #5121 from opsmill/pog-permission-isolation
Run permission queries without isolation mode11 months ago
 by ogenstad IFC-988 Enforce artifact's object to be artifact targets (#5127)11 months ago
 by gmazoyer Merge pull request #5129 from opsmill/dependabot/pip/pip-445d0b7773
Bump python-multipart from 0.0.9 to 0.0.18 in the pip group across 1 directory11 months ago
 by ogenstad Merge pull request #5116 from opsmill/dga-20241202-fix-5106
Add validator when adding a new attribute / relationship to the schema release v1.0.8 (#5137)
* v1.0.811 months ago
 by lykinsbd Merge pull request #5138 from opsmill/pog-empty-hash-on-branch-create-IFC-991
Refresh branch hash in cache for local worker on create11 months ago
 by ogenstad fix(ci): ignore some linter rules
Signed-off-by: Fatih Acar <fatih@opsmill.com>11 months ago
 by fatih-acar Changelog Fixes (#5149)
* update changelog with proper/valid tags
* fix template for Towncrier version for future releases11 months ago
 by lykinsbd fix spacing errors with `towncrier build` by adding custom template (#5151)11 months ago
 by lykinsbd initial CI and invoke tasks for releases (#5156)
* initial CI and invoke tasks for releases11 months ago
 by lykinsbd bump to version to 1.0.9a011 months ago
 by lykinsbd Merge pull request #5139 from opsmill/lgu-fix-error-on-missing-file
Fix error message returned while querying for a missing repository file Merge pull request #5170 from opsmill/pog-store-coreprofile-in-db
Add CoreProfile to database11 months ago
 by ogenstad Merge pull request #5140 from opsmill/dga-20241203-fix-branch-id
Use the branch uuid instead of the internal database id to track the hash of the schema in the cache Merge pull request #5168 from opsmill/release-1.0.9-beta
Release 1.0.9 beta11 months ago
 by opsmill-bot Merge pull request #5186 from opsmill/lgu-fix-infrahub-db-update
Initialize services for infrahub db update-core-schema Merge pull request #5187 from opsmill/lgu-fix-pool-rel-name
Fix error with `pool` as relationship name handle generics and generics peers correctly when deleting nodes (#5133)
* partial fix and tests for generic delete constraints
* fix unit test
* add changelog11 months ago
 by ajtmccarty IFC-993 Fix uniqueness constraint with enum attributes (#5203)
The actual value of the enum member was not checked. Instead a string
representation of the member was used, which was causing the database
query to never match any nodes.11 months ago
 by gmazoyer Merge pull request #5188 from opsmill/dga-20241211-core-profile-diff
Add CoreProfile to diff Merge pull request #5164 from opsmill/pog-generate-graphql-schema
Generate GraphQL schema during startup11 months ago
 by ogenstad release v1.0.9 prep (#5209)11 months ago
 by lykinsbd enable Biome rule noUnusedVariables (#5239)
* update biome to 1.9.4
* enable noUnusedVariables rule11 months ago
 by bilalabbad Merge pull request #5245 from opsmill/fix-5235
Setup migration to add CoreProfile schema node Merge pull request #5254 from opsmill/lgu-fix-db-migrate-schema
Remove extra kind print Merge pull request #4672 from opsmill/dga-20241020-fix-prefetch-rel
Fix prefetch_relationships to work with hierarchical nodes Merge pull request #5283 from opsmill/lgu-number-default-value-bool
Number attributes do not accept boolean values fix issue that causes illegal diff query (#5291)
* add failing test
* fix overlapping partial diffs issue11 months ago
 by ajtmccarty bump jinja2 (#5329)10 months ago
 by ajtmccarty Merge pull request #5314 from opsmill/dga-20241224-fix-resolver
Ensure _get_entities_with_data_loader is not using the default db session docs: Optional is False by default rather than True. (#5288)
* Optional is  by default rather than .
* Update source of attribute optional doc so it will be auto-generated.
* Testing to see if pipeline works with new changes to check for auto generated docs changes.
* Add back the upstream Python change for optional attribute default to be False.10 months ago
 by FragmentedPacket Merge pull request #5343 from opsmill/bkr-fix-log-level
Fix issue with log level Merge pull request #5344 from opsmill/dga-20241231-fix-node-get
Fix query response time when the number of historical value for a given attribute is large fix(backend): early filter on relationship_get_peer
Signed-off-by: Fatih Acar <fatih@opsmill.com>10 months ago
 by fatih-acar Merge pull request #5356 from opsmill/dga-20250103-ruff-all
Active all rules in ruff by default support IP Namespaces on branches (#5369)
* support branch during ip_namespace validation
* add changelog10 months ago
 by ajtmccarty Merge pull request #5371 from opsmill/dga-20240105-fix-poetry
Pin version of Poetry to 1.8.5 Merge pull request #5370 from opsmill/ajtm-01032025-invalid-hfid-error
raise better error for invalid HFID relationship Merge pull request #5375 from opsmill/dga-20250105-rn-1.1.1
Prepare release 1.1.110 months ago
 by lykinsbd Merge pull request #5366 from opsmill/dga-20250103-node-subquery
Improve NodeGetListQuery on default branch and when using filters IFC-1050 Add permission manager (#5362)
This PR introduces the permission manager.
This object is build per user session / per request and is carried over
in the GraphQL context. This allows to fetch permissions only once and
to perform lookups in memory. It is also implemented as a FastAPI dependency
to check for permissions for REST API endpoints.
The permission manager is in charge of loading permissions from the
configured backends. Therefore these backends are now simple constructs
that load permissions from a store before handing them over to the
manager.
The permission manager also takes care of deciding when to grant or
revoke a permission for a user. It also reports permissions for a user
when requested.
Working with the permission framework, from a codebase perspective, should
be greatly improved. Everything (almost) must go through the manager which
exposes utility method for single line (until the code formatter runs) calls.
Fixes #535010 months ago
 by gmazoyer fix missing branch param in computed attributes logic (#5386)10 months ago
 by ajtmccarty IFC-1015 Fix schema dropdown removal (#5392)10 months ago
 by gmazoyer Merge pull request #5378 from opsmill/dga-20250106-task-related-nodes
Extend InfrahubTask query to return multiple related nodes fix(docker): pin poetry to 1.8.5
Signed-off-by: Fatih Acar <fatih@opsmill.com>10 months ago
 by fatih-acar Merge pull request #5380 from opsmill/dga-20250103-node-list-order
Disable default ordering in GraphQL queries Merge pull request #5383 from opsmill/ajtm-01062025-non-unique-nulls
treat "NULL" as actual value for uniqueness checks Merge pull request #5382 from opsmill/dga-20250106-retry-decorator
Add `retry_db_transaction` decorator to a few mutations where it was missing Merge pull request #5396 from opsmill/pog-python-typing
Fix ruff rules for "UP" (Dict -> dict etc)10 months ago
 by ogenstad Merge pull request #5406 from opsmill/dga-20250109-fix-task-related-nodes
Fix issue with task related nodes Merge pull request #5342 from opsmill/ajtm-12312024-skip-diff-no-changes
skip expensive diff operations when possible fix(backend): do not cleanup labels for each db result row
There is a few microseconds overhead for this function...
Also add a span for Query.execute in order to know the overhead of
fetching the results.
Signed-off-by: Fatih Acar <fatih@opsmill.com>10 months ago
 by fatih-acar Merge pull request #5414 from opsmill/stable-python_sdk-v1.5.0
Update python_sdk to version v1.5.0 against stable release v1.1.2 (#5405)
* prepare v1.1.210 months ago
 by lykinsbd Cherry pick a few features from develop to make stable consistent for the frontend project (#5417)
* Disable action buttons depending on the on going tasks (#5391)
* add component for merge button
* remove log
* remove unused values
* update folder
* add rebase button
* add validate button
* :wrench:
* add fragment
* Update the object details view with HFID - IFC-784 (#5352)
* update copy buttons
* remove id in details list
* get description from object instead of schema if possible
* add fragment
* update mock data
* fix hfid
* fix component check
* update tests
* update test
* change the details button to keep the help button as it is
* update fragment
* update hfid copied value
* New task link from the object details view (#5365)
* update copy buttons
* remove id in details list
* get description from object instead of schema if possible
* add fragment
* update mock data
* fix hfid
* fix component check
* update tests
* update test
* change the details button to keep the help button as it is
* update fragment
* update node select for filters
* update hfid copied value
* update name select component
* update task filter for node
* lint
* add fragment
* Component testing using vitest browser mode (#5325)
---------
Co-authored-by: Bilal ABBAD <bilal@opsmill.com> Merge pull request #5420 from opsmill/ajtm-01092025-hierarchy-ordering
allow force-ordering hierarchy nodes hierarchically IFC-1031 Fix access to REST endpoints for anonymous (#5415)10 months ago
 by gmazoyer Merge pull request #5438 from opsmill/dga-20250112-task-related-nodes
Fix issue where `related_nodes` is empty unless the query includes `related_node` too IFC-1032 Fix IP pool allocation with deleted nodes (#5440)10 months ago
 by gmazoyer IFC-1033 Fix IP addr being in IP pfx pool allocated nodes (#5436)10 months ago
 by gmazoyer Merge pull request #5447 from opsmill/dependabot/pip/pip-343d96632a
Bump virtualenv from 20.26.5 to 20.26.6 in the pip group across 1 directory add more diff-related logging (#5445)
* add more diff-related logging
* unit test fix
* some more logs, use info level10 months ago
 by ajtmccarty skip profile schemas when checking for schema migrations (#5446)
* skip profile schemas when checking for schema migrations
* remove dead code
* invert the conditional10 months ago
 by ajtmccarty add AttributeKindChecker to aggregated constraints (#5460)
* add AttributeKindChecker to aggregated constraints
* add missing validate_format methods
* add changelog10 months ago
 by ajtmccarty IFC-1128 Fix account with perm not able to update accounts (#5466)
Remove old mutation perm validation for accounts
A user should now only use the `InfrahubAccountUpdate` mutation to
change details for his/her own account. Mutations to change account
related nodes will now only be checked through the permission system
like any other.10 months ago
 by gmazoyer Merge pull request #5476 from opsmill/lgu-boost-attribute-add
Improve performances of AttributeAddQuery Merge pull request #5477 from opsmill/lgu-community-cli-context
Cleanup around CliContext add tracing sso10 months ago
 by wartraxx51 fix previous value bug for multiple updates on branch (#5462)
* fix previous value bug for multiple updates on branch
* small adjustment for None vs "NULL"10 months ago
 by ajtmccarty fix(docker): use tini as entrypoint
This should workaround #5400 where child git processes are not reaped
correctly.
Signed-off-by: Fatih Acar <fatih@opsmill.com>10 months ago
 by fatih-acar Merge pull request #5479 from opsmill/dga-20250116-content-types
Add new content types for Artifacts Merge pull request #5497 from opsmill/stable-python_sdk-v1.6.1
Update python_sdk to version v1.6.1 against stable IFC-592 Merge schemas when loading them from files (#5482)
When loading multiple schemas files, they used to be imported one by
one. With this change, the files are now parsed as schemas and then
merged together in order to produce a single schema to load. The merge
is performed one by one in the order of the files. This means that the
schema coming last will overwrite the previous one if they refer to the
same nodes.10 months ago
 by gmazoyer enable test to backend docker integration10 months ago
 by wartraxx51 Merge pull request #5503 from opsmill/pog-experimental-pull-request-IFC-1083
Remove experimental pull request configuration option10 months ago
 by ogenstad Merge pull request #5379 from opsmill/lgu-fix-test-prefect-server
Set PREFECT_API_URL correctly during tests more verbose schema integrity error message (#5495)
* more verbose schema integrity error message
* update test
* make error message better, update tests
* more test updates
* last test update
* add changelog10 months ago
 by ajtmccarty Merge pull request #5471 from opsmill/dga-20240115-fix-5456
Ensure Transforms and Checks are executed with the correct timeout Merge pull request #5526 from opsmill/pog-healthcheck-IFC-1163
Switch healthcheck to config API10 months ago
 by ogenstad Merge pull request #5500 from opsmill/pog-oidc-groups-from-id_token-IFC-1133
Allow OIDC fallback to id_token for group support10 months ago
 by ogenstad move node-level diff query to its own query and limit it (#5528)
* move node-level diff query to its own query and limit it
* fix variable name
* remove dead code10 months ago
 by ajtmccarty skip loading a diff when we just need the conflicts from it (#5529)
* skip loading a diff when we just need the conflicts from it
* fix query, add tests
* fix query and tests10 months ago
 by ajtmccarty Merge pull request #5523 from opsmill/cherry-pick-dasboard-log-grafana
Cherry pick dasboard log grafana10 months ago
 by opsmill-bot Merge pull request #5541 from opsmill/lgu-fix-prefix-too-many-rels
Fix too many relationship error IFC-968 Prevent importing git remote branch with conflicts (#5340) Merge pull request #5519 from opsmill/dga-20240119-fix-5484
Use `artifact_name` instead of `name` from ArtifactDefinition to generate artifacts limit attributes/relationship diffs (#5543)
* limit attributes/relationship diffs
* some more logging
* simplify queries with dicts instead of lists of tuples
* query time filter fix
* pylint refactoring
* update test assertion9 months ago
 by ajtmccarty refactor diff calculation of properties changes (#5560)
* limit properties diff calculation query
* reduce duplicate paths examined in diff calculation queries
* fix inverted query conditional
* add changelog9 months ago
 by ajtmccarty IFC-15 Support for mandatory/optional parent relationship (#5561)
Fixes #3682
Makes parent relationship mandatory in some cases.
The parent relationship becomes mandatory if the node depends on another one which is not itself or a generic of itself.
This allows, for instance, to not require a continent to have a parent while enforcing a
country to have a parent continent.
The parent won't be required if a node can depends on one of its own. For instance, an IP prefix can have a parent prefix, which is still optional as an prefix can live on its own. Merge pull request #5564 from opsmill/pog-proposed-change-merge-state-IFC-1157
Revert proposed change state to open on merge failure Merge pull request #5590 from opsmill/lgu-fix-multi-rel-br-agnostic
Fix branch agnostic too many relationships error get diffs batched (#5575)
* refactor diff retrieval to use more smaller queries
* update test fixture9 months ago
 by ajtmccarty Merge pull request #5596 from opsmill/dga-202501-28-artifacts
Fix issue with new content types when generating artifacts fix bug in merge logic (#5605)9 months ago
 by ajtmccarty Merge pull request #5624 from opsmill/pog-loosen-requirements-for-oicd-IFC-1194
Loosen requirements of token verification for OIDC id_token groups fix(ci): disable test tracing
https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
Signed-off-by: Fatih Acar <fatih@opsmill.com>9 months ago
 by fatih-acar chore: update submodule python_sdk to version v1.7.1 (#5629)9 months ago
 by opsmill-bot update diff logic to handle schema kind migration (#5634)9 months ago
 by ajtmccarty move integrations to other repos (#5649)
* move integrations to other repos
* fix broken link9 months ago
 by petercrocker one more unit test9 months ago
 by ajtmccarty Merge pull request #5655 from opsmill/lgu-fix-number-pool-utilization
Fix CoreNumberPool utilization fix diff limit/offset logic (#5663)9 months ago
 by ajtmccarty Merge pull request #5659 from opsmill/pog-exclude-properties-node-events
Exclude node properties from node events allow updating a diff when saving instead of forcing a create (#5617)
* add support for updating nodes and attributes when saving a diff
* support relationship updates9 months ago
 by ajtmccarty add test and changes for a relationship identifier migration (#5652)
* add test and changes for a relationship identifier migration
* mypy fix
* fix handling to be unique on name AND identifier
* look before you leap
* use PathType.from_relationship
* reset python_sdk commit9 months ago
 by ajtmccarty IFC-681 Use same transaction for object mutate create (#5704)
This should avoid having left over when creating an object through
a mutation will create other objects, such as ones from pools. Use dedicated database session for constraint runner (#5718) only return diff metadata after update (#5724)
* only return diff metadata after update
* diff bug fix and test cleanup
* validation and tests for timestamp on named diffs9 months ago
 by ajtmccarty Merge pull request #5722 from opsmill/dependabot/pip/pip-1099dc578e
Bump cryptography from 43.0.1 to 44.0.1 in the pip group across 1 directory Merge pull request #5753 from jefvantongerloo/jefvt-fix-5739-docker-postgress-healthcheck
Fix docker task-manager-db postgress healthcheck handle diff summary counts at the database level (#5712)
* WIP move diff summary counts enrichment to a query
* move diff repository tests around
* finish query and tests
* make sure counts are not null when retrieving
* fix flaky test
* replace summary enrichment with query
* update repository tests for counts9 months ago
 by ajtmccarty Merge pull request #5721 from opsmill/lgu-dev-reload
Add reload option to dev.start only get and save the parts of the diff we need (#5671)
* only get and save the parts of the diff we need
* delete file accidentally added during rebase conflict resolution
* clean up unit tests, fix bug
* a little more logging
* linting cleanup
* small query change to improve performance, add changelog9 months ago
 by ajtmccarty Check for permissions in rel add/remove mutations (#5772) disable sdk creation documentation9 months ago
 by wartraxx51 Merge pull request #5799 from opsmill/ajtm-02192025-agnostic-required-rel-test
add functional test covering some more agnostic-aware situations Merge pull request #5819 from opsmill/dga-20250222-diff-update-task
Update DiffUpdate mutation to return the id of the task when running asynchronously fix error in peer count query (#5843)8 months ago
 by ajtmccarty fixes to allow getting a diff for a single branch (#5842)8 months ago
 by ajtmccarty Merge pull request #5809 from opsmill/lgu-fix-node-kind-migrate
Fix node kind migration with agnostic relationships fix(ci): use new helm repo for version update workflow
Signed-off-by: Fatih Acar <fatih@opsmill.com>8 months ago
 by fatih-acar Merge pull request #5857 from opsmill/jbr-clean-sdk
clean and migrate sdk8 months ago
 by wartraxx51 Merge pull request #5803 from opsmill/lgu-delete-all-peers
Fix node deletion with unidirectional optional relationship improve diff save performance (#5801)
* improve diff save performance
* handle hierarchy updates
* more comments and a changelog8 months ago
 by ajtmccarty Merge pull request #5640 from opsmill/lgu-fix-to-time-migration
Add migration to fix database edges state diff OOM errors and performance (#5887)
* try getting the hierarchy for multiple nodes at once
* batch getting display labels if over maximum node limit
* a few more logging statements in the enrichers
* split diff hierarchy linking query into smaller batches
* split diff summary query in two
* more logging, smaller pieces when saving a diff
* Revert "try getting the hierarchy for multiple nodes at once"
This reverts commit 2d624a9d82eb3b2e6e60468a1c72328934f008f6.
* query update to improve performance of diff parent linking
* add diff indices
* clean up diff save method
* improve diff save query performance
* improve parent hierarchy enrichment performance
* remove a few unused diff indices
* fix typo
* save query performance improvement
* error message update8 months ago
 by ajtmccarty fix(ci): deps install for docker integration job
Signed-off-by: Fatih Acar <fatih@opsmill.com>8 months ago
 by fatih-acar Fixes HFID format in mutations IPAddressPoolGetResource and IPPrefixPoolGetResource (#5943)8 months ago
 by BeArchiTek unit test for duplicate attribute edges in database8 months ago
 by ajtmccarty skip running node-level uniqueness constraints when possible (#5954)
* skip running node-level uniqueness constraints when possible
* fix unit test for new order of constraint execution
* add changelog
* add schema's to vale8 months ago
 by ajtmccarty Merge pull request #5893 from opsmill/jbr-docker-collect-new-version
debug collect in docker image8 months ago
 by wartraxx51 fix relationship query loopback bug (#6002)
* fix relationship query loopback bug
* add changelog8 months ago
 by ajtmccarty data loader for many relationship resolver (#6013)
* data loader for many relationship resolver
* test skipping metadata conditional
* remove special metadata handling
* add correct handling for limit/offset on many rel and unit test
* changelog, unit test wrestling8 months ago
 by ajtmccarty Merge pull request #6034 from opsmill/ajtm-03142025-fix-hierarchy-merge
fix diff merge to preserve hierarchy Merge pull request #6048 from opsmill/pog-upgrade-jinja2
Upgrade Jinja2 to 3.1.6 fix(ci): avoid stale containers when cancelling job
Signed-off-by: Fatih Acar <fatih@opsmill.com>8 months ago
 by fatih-acar fix(ci): ensure python 3.12 on failing jobs
Signed-off-by: Fatih Acar <fatih@opsmill.com>8 months ago
 by fatih-acar fix(ci): make benchmarks verbose to catch exceptions
Signed-off-by: Fatih Acar <fatih@opsmill.com>8 months ago
 by fatih-acar Remove extra CI benchmarks run (#6104) fix(ci): enable flaky e2e test detection
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar Fix HFID validation with empty peer uniqueness constraints (#6117) fix(backend): add more tracing spans
GraphQL resolvers are useful to trace.
Signed-off-by: Fatih Acar <fatih@opsmill.com>10 months ago
 by fatih-acar Merge pull request #6121 from opsmill/pog-core-utils-typing
Fix typing for core.utils Merge pull request #6119 from opsmill/stable-python_sdk-v1.9.1
Update python_sdk to version v1.9.1 against stable Merge pull request #6122 from opsmill/pog-infrahub-trace-typing
Fix typing for infrahub.trace Merge pull request #6107 from opsmill/pog-mandatory-jinja2-attributes-IFC-1402
Remove node creation from event filter of mandatory computed attributes Merge pull request #6114 from opsmill/pog-restrict-query-filters-computed-transforms-IFC-1403
Restrict event query filters for transform based computed attributes Disabled flaky tests to unblock team (#6137)7 months ago
 by bilalabbad Merge pull request #6136 from opsmill/dga-20250325-demo-upgrade
Rename command `demo.migrate` to `demo.upgrade` fix(python_testcontainers): lint
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar Merge release 1.1 into stable Improve node upsert performances (#5966) Merge pull request #6153 from opsmill/dga-20250326-graph-version
Fix version of internal graph after 1.2 release inherited schema fields fixes (#6146)
* inherited schema fixes (#6074)
* WIP code fix and unit test
* fix for overriding a generic schema field
* updates for special order_weight and branch property handling
* try removing this PYTEST_RUNNING env var
* try a sentinel value
* add missing conditional
* more unit tests
* typing fix and cleanup
* handling for existing for duplicate inherited schema fields (#6123)
* add the migration
* avoid migration
* add changelog7 months ago
 by ajtmccarty Migration to fix cardinality one relationships (#5930) Merge pull request #6160 from FragmentedPacket/may-202503-schema-strict-mode-compose-env-var
Add INFRAHUB_SCHEMA_STRICT_MODE to docker compose file. Merge pull request #6150 from opsmill/ajtm-03252025-generic-order-weights
integration test covering updated order weights fix(tasks): update helm chart release
We were comparing wrong values when incrementing the chart version.
Also the prefectTag logic changed with the latest upstream Prefect chart.
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar Merge pull request #6164 from opsmill/stable-python_sdk-v1.9.2
Update python_sdk to version v1.9.2 against stable IFC-1243 Set operational status of repo after fetch (#6009)
The operational status was always remaining to "unknown" as we never
assigned it another value. This change will modify the status value
according to the result of a git fetch call. fix(ci): use chrome new headless
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar Use database sessions in compute attributes flows (#6171) stop using local_rels/attrs in schema update (#5595)
* stop using local_rels/attrs in schema update
* add functional test
* mypy fix
* fix functional test
* add attributes to test
* more tests
* pylint fix
* formatting
* updates to use local schema fields only7 months ago
 by ajtmccarty update NodeGetKindQuery for nodes with a migrated kind (#6165)
* update NodeGetKindQuery for nodes with a migrated kind
* only use branch logic if absolutely necesssary
* add changelog7 months ago
 by ajtmccarty Increase benchmarks timeout (#6109) fix(testcontainers): disable lb timeouts
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar Merge pull request #6186 from opsmill/dga-20250328-fix-6182
Fixed menu_update when Non-Builtin items are attached to a Builtin menu item Merge pull request #5995 from opsmill/jbr-v3-docker-collect-new-feature
Enhance support data collection tool7 months ago
 by wartraxx51 Fix upserting a node with an existing non-hfid unique attribute in payload (#6193) Merge pull request #6198 from opsmill/ajtm-03312025-ip-reconcile-offbyone
fix off by one error in ip prefix reconcile query Merge pull request #6187 from opsmill/dga-20250329-sdk-store
Update Python SDK to dga-20250326-refactor-store Merge pull request #6203 from opsmill/dga-20250401-release-1.1-stable
Merge release-1.1 into stable (w/ Conflict resolution) Merge pull request #6208 from opsmill/dga-20250401-release-1.1-stable-bis
Merge release-1.1 into stable after renaming migration 22 Do not allow duplicated optional unique attributes (#6175) Remove EventNewPrimaryWorker (#6220) fix generic schema attr delete migration for overridden attrs (#6215)
* fix attribute remove migration for overridden generic attrs
* add changelog
* small loop refactor7 months ago
 by ajtmccarty IFC-1409 Fix HFID duplicates for component templates (#6218)
When loading several schemas without a restart the logic was adding the
same HFID and uniqueness constraint element more than once for component
templates. This lead to a final schema with unpractical HFID and
uniqueness constraints (mostly from a user perspective). While a restart
would fix the issue, this change makes sure it does not happen between
restarts.
An integration test has also been added to highlight the issue in case
of a regression. Merge pull request #6139 from opsmill/pog-remove-schema-branch-from-registry-IFC-1406
Cleanup registry branch delete and remove schema_branch Merge pull request #6216 from opsmill/pog-refactor-driver-imports
Refactor import and init of adapter drivers upsert with changed relationships bug (#6234)7 months ago
 by ajtmccarty Merge pull request #6237 from opsmill/pog-restrict-event-related-payload
Restrict event.related payload for CoreGraphQLQueryGroup events Correctly update deleted fields while updating a schema (#6226) add migration to fix children of 0.0.0.0/0 prefixes if necessary (#6257)
* add migration to fix children of 0.0.0.0/0 prefix if necessary
* remove space
* support fixing ::/0 too
* use ipaddress.ip_network7 months ago
 by ajtmccarty IFC-1398 Support number from pool through generics (#6254) Migrate BranchMergeEvent to prefect (#6183) Merge pull request #6256 from opsmill/pog-generic-computed-attributes-IFC-1239
Add support for computed attributes on generics Merge pull request #6280 from opsmill/stable-python_sdk-v1.10.2
Update python_sdk to version v1.10.2 against stable Merge pull request #6275 from opsmill/pog-prefect-3.3.4
Upgrade Prefect to 3.3.4 Merge pull request #6281 from opsmill/pog-restrict-related-generatorgroup-payload
Temporarily restrict GeneratorGroups from related resources in events Merge pull request #6282 from opsmill/wvd-20250411-add-prefect-env-var
set maximum number of related resources for a Prefect event to 500 Merge pull request #6243 from opsmill/pog-clear-graphql-manager-cache-IFC-1383
Clear GraphQLSchemaManager cache when deleting branches Add generics to node selection in number pool form (#6277)
* add generics to node selection
* add fragment
* update test to get generics
* Allow using generic in pool mutation
* Fix conditional
* Adapt unit test
---------
Co-authored-by: Guillaume Mazoyer <guillaume@opsmill.com> Disable animation during E2E tests in CI (#6288)7 months ago
 by bilalabbad Fix upsert with both default_filter and hfid defined (#6291) fix(backend): trace row count returned by database
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar IFC-1445 Add relationships + attributes to generic template (#6304) Raise better error messages on HFID lookup failure (#6321) IFC-1453 Add HFID to generic template to fix HFID usage (#6319) fix(ci): testcontainers test and docker syntax
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar fix(styles): update branded terms case swap and add 'kubectl' to spelling exceptions Added CI env variables to disable animation during tests on CI (#6335)7 months ago
 by bilalabbad Merge pull request #6315 from opsmill/pog-update-certifi
Update certifi to 2025.1.31 patching command framework `infrahub db patch plan/apply/revert` (#6311)
* WIP patch for removing dup kind-migrated nodes following a merge
* WIP patch framework
* patch commands and framework
* add restore method
* update tests for reverting a patch
* generate cli docs
* update docs
* remove actual patch from this branch
* consolidate file names for patch plans
* make elementId function use dynamic
* one more docstring
* refactor to track deleted IDs in a file and add failure tests
* delete edges first during revert
* move call order around
* small changes for PR feedback
* do vertex/edge adds in transactions
* generate docs again
* fix for reverting deleted edge linked to deleted vertex6 months ago
 by ajtmccarty Merge pull request #6348 from opsmill/pog-refactor-computed-attribute-filter-query
Refactor computed attribute update_computed_attribute_value_jinja2 Merge pull request #6360 from opsmill/pog-update-h11
Update vulnerable h11 package Mutating a backend node with extra attrs logs instead of raising (#6350) fix(backend): improve IPPrefixReconcileQuery performance (#6249)
By directly filtering the node labels. Using WHERE in labels() did not
trigger the NodeByLabelScan and thus processed all nodes.
Also add a WHERE IN clause for the binary address lookup so that the
binary address index is effectively used.
Looking up for the binary address + prefix length tuple prevented the
planner from using the index.
Signed-off-by: Fatih Acar <fatih@opsmill.com>6 months ago
 by fatih-acar AggregatedConstraintChecker correctly raises errors (#6369) remove duplicate txn from Migration0146 months ago
 by ajtmccarty Merge pull request #6371 from opsmill/pog-prefect-3.3.7
Upgrade Prefect to 3.3.7 Move database constants to constants folder (#6372) Enable HCL syntax highlighting (#6374)
* Add support for application/hcl content type
* add hcl content type in code viewer
* add fragment
---------
Co-authored-by: Damien Garros <dgarros@gmail.com> deduplication patches (#6340)
* comments in the deduplication patch
* add deduplicate edges patch
* add unit tests on an export of the bad data6 months ago
 by ajtmccarty Merge pull request #6363 from opsmill/pog-query-convert-response-IFC-1479
Add support for convert_query_response to Python Transforms Add note about rebase after core schema updates (#6384)
* Add note about rebase after core schema updates fix(backend): add extra where clause in uniqueness constraint query
This should prevent potential performance regression when the value
index is not present (feature flag disabled).
Signed-off-by: Fatih Acar <fatih@opsmill.com>6 months ago
 by fatih-acar Merge pull request #6395 from opsmill/pog-restrict-computed-attribute-mutation-query
Restrict computed attribute query to the required attribute add changelog6 months ago
 by ajtmccarty Release 1.2.9rc0
Signed-off-by: Fatih Acar <fatih@opsmill.com>6 months ago
 by fatih-acar Merge pull request #6402 from opsmill/dga-20250504-fix-comp-attr-setup
Fix computed attribute setup to only update each computed attribute once Deleting branch correctly deletes nodes with agnostic relationships (#6376) fix: neo4j docker healthcheck fills storage
Signed-off-by: Fatih Acar <fatih@opsmill.com>7 months ago
 by fatih-acar logic for deleting nodes removed from a diff (#6391)
* logic for deleting nodes removed from a diff
* use filter model instead of dict, use NodeIdentifier in filters
* update drop nodes query to remove diff nodes completely6 months ago
 by ajtmccarty add node kind to node field specifiers (#6359)
* logic for deleting nodes removed from a diff
* use filter model instead of dict, use NodeIdentifier in filters
* update drop nodes query to remove diff nodes completely
* add node kind to node field specifiers
* add a hash method for some reason
* remove extraneous, commented-out line
* replace kind and uuid on DiffNode classes with NodeIdentifier that
includes database-level labels
* small cleanup tasks
* use IDs list in diff path queries
* save changes to test for diff calculation with migrated kind for later
* add a docstring for a class
* formatting6 months ago
 by ajtmccarty Generate templates for inherited kinds (#6423)
This might trigger the creation of a lot of templates from a schema
perspective but this is required to fix the inheritance for the GraphQL
schema. fix(backend): make sure filter subqueries start from the node
Without this change, the planner will use the peer node index (either
node uuid or attribute value index) as the starting point of the query.
Thus in the case of IPAM, when we have a single namespace with thousands
of addresses/prefixes, it will start the query from the namespace and
traverse all the addresses/prefixes inside that same namespace (thus
retraversing all addresses for each address...).
Unfortunately, it looks like there's no support to "ignore" an index, so
a little trick here is to filter the actual starting node using its own
uuid to force the planner to use that node as the starting point.
Signed-off-by: Fatih Acar <fatih@opsmill.com>6 months ago
 by fatih-acar fix bug in rel create for migrated kind nodes (#6421)
* fix bug in rel create for migrated kind nodes
* handle agnostic rels correctly6 months ago
 by ajtmccarty Merge pull request #6431 from opsmill/pog-mypy-ruleset
Break apart ignored mypy rules to individual error codes Merge pull request #6438 from opsmill/pog-allow-large-dropdown-choices-IFC-1483
Add 'List' kinds to LARGE_ATTRIBUTE_TYPES Merge pull request #6432 from opsmill/wvd-2025008-fix-webhook-signature
fix webhook signature calculation Merge pull request #6433 from opsmill/ajtm-05082025-rel-query-updates
update rel cypher queries for migrated kind nodes6 months ago
 by ajtmccarty handle migrated kind nodes in diff and merge logic (#6401)
* fix bug in rel create for migrated kind nodes
* handle agnostic rels correctly
* WIP on including migrated kinds in diff
* small changes to diff calculation queries for properties of nodes with
migrated kind/inheritance
* expand unit test for migrated kind diff... big time
* finish up giant unit test
* use db_id instead of labels, will need it for merge updates
* move is_node_kind_migration outside of existing diff queries
* format
* fix broken tests/query
* update DiffCombiner with identifiers
* undo some changes in DiffQueryParser that are no longer needed
* comment placement fix
* test and support for merging branch with migrated kind node
* update unit test for is_node_kind_migration
* add changelog
* remove commented out code
* handle migrated node that is later deleted
* add cypher comment
* remove unused property
* update comment, remove unnecessary int() casting
* linting
* one more test
* add migration to delete diffs b/c they must be recalculated
* actually include the migration6 months ago
 by ajtmccarty Merge pull request #6448 from opsmill/pog-alternate-attribute-value-selection-IFC-1251
Add support for alternate fields in schema path Merge pull request #6440 from opsmill/dga-20250511-jinja2-hash
Ensure Jinja2 computed attribute recalculate only when the template changes order results of the uniqueness constraint query (#6459)6 months ago
 by ajtmccarty Improve monitoring (#6466)
* improve compactor and try to reduce storage usage by monitoring tools6 months ago
 by BeArchiTek Correctly save proposed changed with merging state (#6490) fix batching bug in diff query (#6483)
* fix batching bug in diff query
* add changelog6 months ago
 by ajtmccarty Increase tasks logs limit (#6446) IFC-1530 Add weighted pool resource generic (#6511)
This change adds weight to resources of pools in order to have a more
precise control over the order of resources during the allocation
process. fix(backend): ignore neo4j deprecation logs
Logs are emitted when running with neo4j >= 5.26.
Query compatibility will be available with Infrahub 1.3, we can revert
this once 1.3 is released.
Signed-off-by: Fatih Acar <fatih@opsmill.com>6 months ago
 by fatih-acar Weighted pool allocation docs and attribute description (#6518)
* Add docs
* Add attribute description
* add inherited generic5 months ago
 by minitriga chore: update docker-compose5 months ago
 by opsmill-bot Merge pull request #6499 from opsmill/dependabot/pip/pip-297a1d6f26
Bump setuptools from 75.1.0 to 78.1.1 in the pip group across 1 directory migration to fix various database issues from node kind update merge bugs (#6531)
* clean up deduplicate edges patch
* delete broken patch, it's moving to a migration that works
* add the new migration and tests
* test fixing
* fix migration for healthy database
* move verify_no_duplicate_relationships
* add a changelog5 months ago
 by ajtmccarty Merge pull request #6546 from opsmill/ajtm-05262025-missing-sessions
add missing database sessions IFC-1517 Don't set unique constraints on generic templates (#6565)
When we run the uniqueness constraint checker for a given node, we check
for its uniqueness constraints as well as the uniqueness constraints of
its generics if their are any. In the case of component template, it was
causing an issue where component templates were expected to have unique
template names while in fact, their uniqueness is based on a name and a
parent template. fix(ci): force pipx install poetry
Otherwise poetry is not set to the desired version.
Signed-off-by: Fatih Acar <fatih@opsmill.com>5 months ago
 by fatih-acar remove needlessly scary error message (#6570)5 months ago
 by ajtmccarty fix attribute add migration for deleted nodes (#6569)
* fix attribute add migration for deleted nodes
* add some database validation to the end of every schema integration test
* update one more test
* unit test cleanup
* add migration and a unit test
* add changelog
* remove comment, add line to test5 months ago
 by ajtmccarty extra-thorough test for latest migration (#6567)
* extra-thorough test for latest migration
* one more comment
* make sure all "to_delete" vertexes are deleted
* use assert_equal instead of compare5 months ago
 by ajtmccarty fix(ci/docker): workaround issue with poetry 2
Signed-off-by: Fatih Acar <fatih@opsmill.com>5 months ago
 by fatih-acar Merge pull request #6582 from opsmill/ajtm-06012025-diff-save-query-update
update cypher query to use less memory5 months ago
 by ajtmccarty Merge pull request #6594 from opsmill/ajtm-06022025-no-diff-txn
remove txn for diff calculation in pc pipeline make the assertion errors in db_snapshot.py more verbose in pytest (#6610)5 months ago
 by ajtmccarty Merge pull request #6643 from opsmill/wvd-20250606-update-python-sdk-submodule
Update python_sdk submodule to v1.12.2 skip broken test (#6631)
* skip migration tests
* only turn off the one test
* format5 months ago
 by ajtmccarty Merge pull request #6644 from opsmill/ajtm-06052025-delete-diff-update
new DiffRepository method to delete all diffs5 months ago
 by ajtmccarty Merge pull request #6662 from opsmill/dependabot/pip/pip-512858e340
Bump requests from 2.32.3 to 2.32.4 in the pip group across 1 directory Merge pull request #6668 from opsmill/dependabot/pip/python_testcontainers/pip-512858e340
Bump requests from 2.32.3 to 2.32.4 in /python_testcontainers in the pip group across 1 directory make diff update methods prefect flows (#6653)
* make diff update methods prefect flows
* lots of linting for override errors
* typing for StandardNode id/uuid seems to help for some reason
* try coercing to UUID during save instead
* move flow decorator
* don't validate params for the flow5 months ago
 by ajtmccarty fix(development): tempo syntax
replicas does not exist...
Signed-off-by: Fatih Acar <fatih@opsmill.com>5 months ago
 by fatih-acar Merge pull request #6685 from opsmill/pog-release-bump-date
Bump release date and add delay to test Merge pull request #6688 from opsmill/pog-remove-deprecated-app-parameter
Replace deprecated app parameter to httpx in tests allow renaming unique attrs (#6595)
* WIP allow renaming unique attrs
* support for deleting unique elements, more tests
* add changelog
* integration tests, new and updated, still WIP
* more integration tests
* special handling for unique attributes inherited from a generic
* unit test updates
* name and comment updates5 months ago
 by ajtmccarty Merge pull request #6696 from opsmill/pog-asyncio-task
Store a reference to the return value of `asyncio.create_task` Merge pull request #6717 from opsmill/dependabot/pip/pip-988d6777c3
Bump protobuf from 5.28.3 to 5.29.5 in the pip group across 1 directory Fix Number min/max_value not restricting values (#6716) Merge pull request #6719 from opsmill/dependabot/pip/pip-2c7469b053
Bump urllib3 from 2.2.3 to 2.5.0 in the pip group across 1 directory Merge pull request #6727 from opsmill/pog-stable-node-untyped-def
Fix untyped def for node Add migration to check for invalid number attributes (#6732) Merge pull request #6746 from opsmill/ajtm-06262025-bump-sdk
bump sdk commit4 months ago
 by ajtmccarty simpler uniqueness query for node constraints (#6694)
* WIP new uniqueness query
* finish unit tests for new query
* use new query in NodeGroupedUniquenessConstraint
* fix unit test
* new error message for HFID match on main during upsert on branch
* catch non-unique on main after branch create
* add changelog
* add support for using AttributeValue indexes
* fix relationship-attr-value uniqueness check
* update for rel-attr-value uniqueness path
* comment and changelog update4 months ago
 by ajtmccarty Merge pull request #6720 from opsmill/dependabot/pip/python_testcontainers/pip-2c7469b053
Bump urllib3 from 2.3.0 to 2.5.0 in /python_testcontainers in the pip group across 1 directory refactor tracking node specifiers to perform better (#6752)
* refactor tracking node specifiers to perform better
* add changelog4 months ago
 by ajtmccarty prevent diff update and merge from running simultaneously (#6740)
* use same locks on diff and merge
* unit test updates
* fix unit tests
* remove unnecessary async method
* add changelog4 months ago
 by ajtmccarty fix(ci): run e2e tests only when required
Signed-off-by: Fatih Acar <fatih@opsmill.com>4 months ago
 by fatih-acar Merge pull request #6772 from opsmill/pog-webhook-upsert-IFC-1567
Revert upsert mutation to use InputObjectType instead of a dict Fix duplicate `member_type` arg for prefix pool (#6798)
When passing `member_type` inside the `data` parameter of the mutation,
the mutation code was sending the `member_type` keyword argument twice.
This change should fix the issue by having the `member_type` value only
inside the `data` dict, which will get unpacked when creating the
prefix node. add infrahub db check command (#6792)
* add infrahub db check command
* docs and changelog
* try to fix docs linting
* generate docs again4 months ago
 by ajtmccarty new infrahub db migrate --migration-number option (#6804)
* new infrahub db migrate --migration-number option
* update docs, remove unnecessary conditional4 months ago
 by ajtmccarty Merge pull request #6782 from opsmill/pog-override-pop
Fix corner case in upsert when node has an attrib/rel called "pop" fix duplicate relationships added during node creation (#6803)
* add tests for duplicated relationships bug
* changelog and fix
* fix branch support
* more correct branch-agnostic handlind hopefully
* handling for pool-things created during node create
* some cypher query comments4 months ago
 by ajtmccarty duplicate Relationships cleanup migration (#6812)
* migration to delete duplicated relationships
* one more unit test4 months ago
 by ajtmccarty bump graph version, fix migration name (#6827)
* bump graph version
* update migration name4 months ago
 by ajtmccarty update migration to delete orphan Relationship nodes (#6828)4 months ago
 by ajtmccarty fixes 500 error on empty schemas list (#6835)4 months ago
 by BeArchiTek diff crash with double-deleted schemas (#6831)
* unit test and fix for diff crash with double-deleted schema
* add changelog
* add integration test for merge, rebase flow4 months ago
 by ajtmccarty add keyword scanner (#6784)
Scanner to ensure specific keywords (such as customer-proprietary information) shouldn't be added to repository files or git commit messages.4 months ago
 by petercrocker Add migration for Attribute NumberPool on existing nodes (#6813) Merge pull request #6860 from opsmill/dga-20250719-apache
Change main license to Apache 2.0 Merge pull request #6861 from opsmill/dga-20250720-fix-6855
Fix Resource Pool utilization query for large IPv6 prefix resource Merge pull request #6862 from opsmill/dga-20250720-fix-6843
Add unit test for display_label using computed attribute Merge pull request #6854 from opsmill/ajtm-07172025-schema-rel-orphan
fix orphaned SchemaRelationships bug4 months ago
 by ajtmccarty Merge pull request #6866 from opsmill/dga-20250720-fix-6865
Refactor NumberPoolGetUsed query to account for deleted node and branch add registry initialization to migration (#6878)
* add registry initialization to migration
* troubleshoot failing migration unit test
* maybe fix migration test
* finalize migration3 months ago
 by ajtmccarty Merge pull request #6881 from opsmill/stable-python_sdk-v1.13.5
Update python_sdk to version v1.13.5 against stable Lock on names for GraphQLQueryGroup (#6899) prevent duplicate edges in node kind migration (#6891)
* prevent duplicate edges in node kind migration
* small unit test update3 months ago
 by ajtmccarty Merge pull request #6912 from opsmill/pog-reserved-keywords-IFC-1603
Restrict Python keywords for attribute and relationship names Use async for SDK node `extract` method (#6916) fix for unlikely diff bug (#6927)
* WIP fix for diff bug
* linting
* clean up deletes, finish test
* add changelog3 months ago
 by ajtmccarty Update Docker Compose file to split base infrahub config and API server (SSO) (#6902)
* Rename infrahub_config to infrahub_base_config and created a new anchor for the api server called infrahub_api_server that the infrahub-server will use and then set the task-workers to use infrahub_base_config
* Update the method of finding infrahub-server config YAML anchors to search for the new anchor name.
* Add logic to exclude environment vars defined in 'x-infrahub-api-server'3 months ago
 by FragmentedPacket fix(ci): ensure pipx uses correct python version
Signed-off-by: Fatih Acar <fatih@opsmill.com>3 months ago
 by fatih-acar new `infrahub db check` query for orphaned Relationships (#6950)
* add changelog
* add new infrahub db check query for orphaned relationships3 months ago
 by ajtmccarty Merge pull request #6966 from opsmill/ajtm-08042025-diff-fix
another fix for migrated kind nodes in the diff command to clean up incorrect inheritance/database labels (#6914)
* make NodeDuplicateQuery idempotent
* add infrahub db check-inheritance command
* regenerate docs
* update command to handle complete migration failures on branches
* add changelog
* add some comments3 months ago
 by ajtmccarty Add try/except clause to handle relationships created by pool + fix tests with missing core schemas prevent and clean up orphaned agnostic Relationships in a branch delete (#7012)
* add failing test
* update branch delete query
* add migration
* add changelog3 months ago
 by ajtmccarty IFC-1499 Check schema permission for dropdown/enum operations (#7007) Merge pull request #7025 from opsmill/pog-resource-pool-again-IFC-1732
Wrap resource pool assignments within a lock context fix(backend): batch peers fetch only for many cardinality
Signed-off-by: Fatih Acar <fatih@opsmill.com>3 months ago
 by fatih-acar fix Migraiton033 minimum version (#7021)3 months ago
 by ajtmccarty display labels aggregation bug  (#7023)
* fix display_labels accumulation
* add changelog
* bump sdk commit3 months ago
 by ajtmccarty fix(tasks): update release command for #7008
Signed-off-by: Fatih Acar <fatih@opsmill.com>3 months ago
 by fatih-acar improve profiles docs (#6955)
* improve profiles docs
* update code
* fix: add missing newline at end of profiles topic documentation
* remove comments and toml from docs generation
* add back toml
* fix: import Self from typing_extensions for Python 3.10 compatibility
The GitHub Actions CI pipeline was failing because  was being imported
from  instead of .  was only
introduced in Python 3.11, but the CI uses Python 3.10.
This aligns with the pattern used elsewhere in the codebase where
is imported from  for compatibility.
* fix: use poetry environment for invoke/toml installation in CI
The validate-generated-documentation job was failing because it was using
system pip (Python 3.10) to install invoke and toml packages, while the
rest of the job uses poetry with Python 3.12.
This caused a Python version mismatch when typer tried to import modules
that use Python 3.11+ features like typing.Self.
Changed from 'pip install invoke toml' to 'poetry run pip install invoke toml'
to ensure packages are installed in the correct Python 3.12 environment.
* fix: use poetry environment for invoke installation in validator job
Fixed another instance where invoke/toml packages were being installed
with system pip instead of the poetry environment. This ensures
consistency across all poetry-based jobs in the CI pipeline.
* revert: undo models.py change, fixed CI environment instead
Reverted the typing_extensions import change in models.py since the root
cause was the CI environment using the wrong Python version, not the code.
The proper fix was to ensure invoke/toml are installed in the poetry
environment rather than changing the code to accommodate CI issues.
* fix: force poetry to use correct Python 3.12 environment
The virtual environment was still using Python 3.10 despite poetry env use 3.12.
Added explicit environment cleanup and use the full path to python3.12 to
ensure poetry creates the venv with the correct Python version.
Changes:
- poetry env remove --all || true (clean slate)
- poetry env use $(which python3.12) (explicit path)
* fix ci
* ci fix
* more ci
* moar ci
* even moar ci
* still moar
* fix npm path
* test
* test vale action
* fix vale
* vale
* vale
* vale
* vale config
* moar vale
* glob
* vale
* vale
* vale
* fail on error
* test vale
* test vale 2
* i give up
* fixes
* ci
* markdownlint
* update graphql
* Improve profile guide
* fix markdownlint
* grammar
---------
Co-authored-by: Baptiste <baptiste@opsmill.com>3 months ago
 by petercrocker fixes for diffing and merging a branch into an emtpy default branch (#7062)
* fixed bugs with WIP integration test
* format
* finish tests
* add test comment
* add changelog
* one more small test update
* use all_names property2 months ago
 by ajtmccarty Merge pull request #7079 from opsmill/ajtm-08252025-generic-optional-to-false
allow updating mandatory attr on a generic to be optional Update Node.js to version 22 (#7093)2 months ago
 by bilalabbad handle overridden choice attributes on generics during schema integrity check (#7088)
* handle overridden choice attributes on generics
* update some test names
* add changelog2 months ago
 by ajtmccarty Merge pull request #7091 from opsmill/pog-dependency-updates
Update copier, h2 & uv Merge pull request #7100 from opsmill/pog-registry-branch-cleanup
Replace new_branch variable and ignore updates for -global- branch Merge pull request #7109 from opsmill/pog-global-lock-updates
Add "lock." prefix to global locks, include worker ID to lock value Merge pull request #7115 from opsmill/pog-branched-from-IFC-1790
Fix branched_from property during rebase operations fix(tests): flaky integration docker on enterprise
When running the integration tests with Infrahub Enterprise, we make use
of the new distributed task manager mode. This mode may introduce some
delay in message processing (default of 10s), which in turns make some
integration tests flaky.
Increase the wait time above 10s, and also make it consistent with other
places where we wait 20s.
Signed-off-by: Fatih Acar <fatih@opsmill.com>2 months ago
 by fatih-acar IFC-1760 Fix invalid 403s when looking at `CoreNode` (#7118) Merge pull request #7125 from opsmill/pog-infrahub-shell
Refactor 'infrahub shell' re-run migration026 in case it silently failed (#7135)
* rerun migration026
* add changelog2 months ago
 by ajtmccarty Merge pull request #7141 from opsmill/pog-deepdiff-update
Patch vulnerability for deepdiff fix(ci): add missing step for integration test
We were not properly installing invoke before using it.
Signed-off-by: Fatih Acar <fatih@opsmill.com>2 months ago
 by fatih-acar Fix artifact validation (#7067) Upgrade Biome to v2 + Ultracite config (#7153)2 months ago
 by bilalabbad update AccountTokenValidatorQuery (#7160)
* update AccountTokenValidatorQuery
* small unit test updates
* add support for expiration timestamp2 months ago
 by ajtmccarty fix branch-support bugs in IP reconciliation (#7105)
* add failing test
* fix for self-parent IP prefixes
* add a couple more failing tests
* tests and fix for child and primary node updates on branch
* add changelog
* lint
* fix query to allow missing IP node
* one more change and test for nodes with migrated kind
* one more filter update2 months ago
 by ajtmccarty Merge pull request #7134 from muffizone/fix-7119
refactor(api): update query variables type from str to Any Merge pull request #7179 from opsmill/dga-20250908-trigger-attr
Add option Any to Trigger Attribute Match fix(ci): increase sdk timeout in upgrade test job
Branch rebase might take more than the default one minute.
Signed-off-by: Fatih Acar <fatih@opsmill.com>2 months ago
 by fatih-acar feat: allow group mapping for google sso (#7200)
* feat: allow group mapping for google sso
Google does not include groups within the tokens.
We can only fetch groups through their APIs.
One available API is the Admin SDK/Directory API which requires admin
permissions, which would in turn require extra configuration for
Infrahub.
Another API is the Cloud Identity API which provides endpoints to fetch
group memberships using the user token.
Signed-off-by: Fatih Acar <fatih@opsmill.com>2 months ago
 by fatih-acar fix: update params type in RequestGraphQLQueryGroupUpdate (#7209)
* fix: update params type in RequestGraphQLQueryGroupUpdate to accept any value
* fix: update params type in RequestGraphQLQueryGroupUpdate to use Any
* fix: correct import statement for Any in models.py2 months ago
 by minitriga Pass in branch_name to the exception within create_locally to provide proper branch name (#5714)
* backend/git/base.py: Pass in branch_name to the exception within create_locally for proper error message.
* Fix tests. Add news fragment.
* Fix InfrahubServices import for test.2 months ago
 by FragmentedPacket Merge pull request #7207 from opsmill/fac-upgrade-codspeed
Bump CodSpeedHQ/action from 3 to 4 Merge pull request #7212 from opsmill/pog-webhook-artdef-name-IFC-1803
Add artifact definition name to artifact webhook events fix(backend): add info metric for workers
This is useful when troubleshooting a long running instance.
We might need to identify a specific worker using its ID.
Signed-off-by: Fatih Acar <fatih@opsmill.com>2 months ago
 by fatih-acar Use smaller transactions in branch delete cypher query (#7229)
* fix branch delete cypher oom error
* update changelog wording
Co-authored-by: Damien Garros <dgarros@gmail.com>
---------
Co-authored-by: Damien Garros <dgarros@gmail.com>2 months ago
 by ajtmccarty IFC-1695 Prune git old remote references on fetch (#7131) updates and tests for Relationship queries to not return deleted rels (#7163)
* updates and tests for Relationship queries to not return deleted rels
* add changelog
* clean it up a little2 months ago
 by ajtmccarty Add hfid and uniqueness constraint to Attribute and Relationship Match for NodeTrigger (#7182)
* Add hfid and uniqueness constraints to Attribute and Relationship Match for NodeTrigger
* Update get_schema_branch to return the default branch if the global branch is provided
* Add upgrade test from 1.3.6 migration for fixing improperly reconciled IP objects (#7164)
* WIP migration for fixing improperly reconciled IP objects
* another test case
* add updated address test
* another test case
* final test case
* add some logging
* add migration039 all the way in
* use TestInfrahubApp class1 month ago
 by ajtmccarty Convert GraphQL query group update tasks to interval to hide it from the task list (#7242) bug in NodeGetListQuery if filter includes peer IDs for peers with migrated kind (#7248)
* fix NodeGetListQuery filter ordering
* add changelog
* update a few unit tests1 month ago
 by ajtmccarty Fix HFID not being accepted when using the prefix/address mutations. (#7240)
* Fix HFID not being accepted when adding the prefix/address mutations.
* Added news fragment.1 month ago
 by FragmentedPacket fix schema integrity check to remove resolved violations (#7279)
* run integrity check updated even if no conflicts
* add changelog1 month ago
 by ajtmccarty Fix docs for configuration and update object storage docs (#7283)
* feat(docs): enhance configuration documentation with nested parameters and types
* fix(docs): correct title and improve clarity in object storage documentation
* fix(workflow): add pydantic-settings to Python environment setup
* fix(docs): correct link formatting in object storage documentation
* fix(docs): add missing period in object storage configuration reference link
* Update docs/docs/topics/object-storage.mdx
Co-authored-by: fatih-acar <fatih-acar@users.noreply.github.com>
---------
Co-authored-by: fatih-acar <fatih-acar@users.noreply.github.com> Merge pull request #7293 from opsmill/dga-20250930-fix-7259
Ignore attribute from template if the value is not defined fix ordering in artifact diff query (#7300)
* add more specific ordering to ArtifactDiffQuery
* add changelog
* update changelog, fix existing ordering issue1 month ago
 by ajtmccarty small cypher fix (#7303)1 month ago
 by ajtmccarty fix(backend): enable gzip compression only on specific routes
During testing, we noticed that all graphql queries were compressed even
though the size of the response was less than the defined 100kB size.
It seems compression is always enabled for streamed response, thus
compressing almost ALL requests toward APIs.
Introduce a new middleware that enables compression only on specific,
useful paths.
Signed-off-by: Fatih Acar <fatih@opsmill.com>27 days ago
 by fatih-acar Merge pull request #7370 from opsmill/dependabot/pip/pip-d915839adb
chore(deps): bump authlib from 1.3.2 to 1.6.5 in the pip group across 1 directory add uniqueness constraints for SchemaAttribute/Relationship (#7348)
* add uniqueness constraints for SchemaAttribute/Relationship
* add generics back into TestingPerson schema
* CLI command to clean up duplicated attrs and rels on schemas on main
* add changelog
* fix changelog
* update docs
* test cleanup21 days ago
 by ajtmccarty IFC-1819 Fix utilization percentage of IP prefixes (#7388)
If all the IP addresses of a prefix used as a pool has been created,
marking the prefix as "not a pool" could end up in showing a percentage
of utilisation greater than 100%. fix(backend): lesser schema duplicate
Signed-off-by: Fatih Acar <fatih@opsmill.com>26 days ago
 by fatih-acar Improve logging and error handling for SSO + add group mapping documentation (#7383)
* Improve  logging and error handling for sso
* Add group mapping documentation
* Fix lint
* Improve logic based on review
* Fine tune when to raise an error
* Proper format for URL
* Adjust messages returned to users19 days ago
 by BaptisteGi fix(docs): update HA setup guide
Signed-off-by: Fatih Acar <fatih@opsmill.com>19 days ago
 by fatih-acar fix: add newsfragment
Signed-off-by: Fatih Acar <fatih@opsmill.com>18 days ago
 by fatih-acar duplicated updated generic attributes (#7408)
* WIP test for duplicated updated generic attributes
* add probable fix for issue
* update for stable
* add test, fix attribute indexed create bug
* add migration
* add changelog14 days ago
 by ajtmccarty Merge pull request #7458 from opsmill/dependabot/pip/pip-7f59f9beee
chore(deps): bump uv from 0.8.13 to 0.9.5 in the pip group across 1 directory Merge pull request #7455 from opsmill/pog-upsert-requirements-IFC-1911
Loosen requirements for Upsert mutations (for templates) apply non-template relationships in sub-templates (#7464)
* apply non-template relationships in sub-templates
* add changelog
* remove whitespace from changelog12 days ago
 by ajtmccarty Merge pull request #7479 from opsmill/pog-docker-legacy
Avoid using legacy syntax for environment variable IFC-1908: Add new error message for git connection error (#7467)
* IFC-1908: Add new error message for git connection error
FIxes https://github.com/opsmill/infrahub/issues/7392
This PR adds a new error message `Failed to connect to github.com` to be raise as a connection error.
* update changelog message
* Add task tag
* fix mypy
* remove flow from repository class
* fix mypy
* remove callback, use exception Update docker-compose-observability.yml feat(cli): add tasks flush commands
Signed-off-by: Fatih Acar <fatih@opsmill.com>20 days ago
 by fatih-acar fix(backend): use http adapter context for task worker prefect client
This avoids overhead due to SSL context initialization within Prefect
client.
Signed-off-by: Fatih Acar <fatih@opsmill.com>29 days ago
 by fatih-acar update ordering in NodeListGetRelationshipsQuery (#7535)
* update ordering in NodeListGetRelationshipsQuery
* add changelog11 hours ago
 by ajtmccarty