You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/deploy-manage/run-observe/telemetry.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Local Telemetry Storage
3
3
---
4
4
5
-
# Local Telemetry Storage
5
+
# Local telemetry storage
6
6
7
7
Infrahub stores a daily telemetry snapshot locally in the Neo4j database, regardless of whether remote telemetry reporting is enabled. This ensures all deployments - including air-gapped and opted-out environments - retain usage data for support, auditing, and license compliance.
Copy file name to clipboardExpand all lines: docs/docs/development-resources/sbom.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Use the exact image reference you deploy. The attestation is attached to the ima
40
40
41
41
Use `cosign verify-attestation` to confirm the signature is valid **and** return the SBOM in a single step. Because signing is keyless, you must specify the signing identity and the OIDC issuer.
42
42
43
-
The `jq` selector `(.payload // .dsseEnvelope.payload)` below is format-agnostic: it reads the `payload` field from cosign's legacy output and falls back to `dsseEnvelope.payload` for the newer DSSE bundle format that cosign v3 emits.
43
+
The `jq` selector `(.payload // .dsseEnvelope.payload)` below is format-agnostic: it reads the `payload` field from the legacy cosign output and falls back to `dsseEnvelope.payload` for the newer DSSE bundle format that cosign v3 emits.
Copy file name to clipboardExpand all lines: docs/docs/object-templates/overview.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ This combination allows you to use templates for structural definition (which po
37
37
38
38
<ReferenceLinktitle="Creating and assigning Profiles"url="../profiles/overview" />
39
39
40
-
## Integration with Resource Pools
40
+
## Integration with resource pools
41
41
42
42
Templates can be wired to resource pools so that unique values are allocated automatically when objects are created from the template. Rather than manually assigning an IP address or number attribute to each new object, you define once on the template which pool to draw from and Infrahub handles allocation at creation time.
Copy file name to clipboardExpand all lines: docs/docs/profiles/create.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Define a reusable set of attribute values for a Profile-enabled node type.
14
14
15
15
## Create the Profile
16
16
17
-
Replace `<Kind>` with your node kind (e.g.`InfraInterface`), `<profile-name>` with a unique name (3-32 characters), and `<attribute>` / `<value>` with the values you want the Profile to set.
17
+
Replace `<Kind>` with your node kind (for example`InfraInterface`), `<profile-name>` with a unique name (3-32 characters), and `<attribute>` / `<value>` with the values you want the Profile to set.
Copy file name to clipboardExpand all lines: docs/docs/profiles/overview.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ Each Profile contains:
67
67
68
68
For details on how Profile values are resolved when an object is created or updated, see [Priority and inheritance](./priority-and-inheritance.mdx).
69
69
70
-
## Profiles vs Object Templates
70
+
## Profiles vs Object templates
71
71
72
72
Profiles and [Object Templates](../object-templates/overview) are complementary features that solve different parts of the configuration management problem.
Copy file name to clipboardExpand all lines: docs/docs/release-notes/infrahub/release-1_10_0.mdx
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ Infrahub can now **create account groups automatically from identity-provider cl
57
57
58
58
Activate it by setting a claim filter:
59
59
60
-
-`security.auto_create_groups_filter` (`INFRAHUB_SECURITY_AUTO_CREATE_GROUPS_FILTER`) - a regular expression, or an ordered list of them, matched against each incoming group claim. The first match wins. A named capture group `(?P<name>...)` becomes the local group name (e.g.`^LDAP/group/(?P<name>.+)$` maps `LDAP/group/network-eng` to `network-eng`); with no capture the full claim is used. Non-matching claims are dropped, so unrelated IdP groups never appear in Infrahub. Setting this filter is what activates the feature; leaving it empty keeps auto-creation off.
60
+
-`security.auto_create_groups_filter` (`INFRAHUB_SECURITY_AUTO_CREATE_GROUPS_FILTER`) - a regular expression, or an ordered list of them, matched against each incoming group claim. The first match wins. A named capture group `(?P<name>...)` becomes the local group name (for example`^LDAP/group/(?P<name>.+)$` maps `LDAP/group/network-eng` to `network-eng`); with no capture the full claim is used. Non-matching claims are dropped, so unrelated IdP groups never appear in Infrahub. Setting this filter is what activates the feature; leaving it empty keeps auto-creation off.
61
61
-`security.auto_create_groups_max_per_login` - caps the number of *new* groups created in a single login (default `50`). Reuse of existing groups is never capped. If the cap is hit, surplus claims are dropped, a warning event is emitted, and the login still completes.
62
62
63
63
Auto-created groups start with no roles or permissions and run on every external login (OIDC, OAuth2, and native LDAP). If at least one claim matches, it takes precedence over the existing `security.sso_user_default_group` fallback; if none match, that fallback still applies.
@@ -85,7 +85,7 @@ This is a **breaking change** for consumers that previously read `extensions.cod
85
85
Schema `order_by` entries add two capabilities, letting designers set smarter defaults without passing an ordering argument on every query or view:
86
86
87
87
- Order by **object-level metadata**: `node_metadata__created_at` and `node_metadata__updated_at` sort by the timestamps Infrahub tracks on every node.
88
-
- Add an **explicit direction**: any entry may end in `__asc` or `__desc` (e.g.`name__value__desc`, `node_metadata__created_at__desc`). Without a suffix, ascending is assumed, so existing `order_by` definitions keep their current behavior.
88
+
- Add an **explicit direction**: any entry may end in `__asc` or `__desc` (for example`name__value__desc`, `node_metadata__created_at__desc`). Without a suffix, ascending is assumed, so existing `order_by` definitions keep their current behavior.
89
89
90
90
The new grammar is honored consistently across top-level listings, relationship-peer listings, and hierarchy (`ancestors`/`descendants`) listings, and a node UUID tiebreaker is always appended so ordering - and pagination - is stable across all paths.
91
91
@@ -177,7 +177,7 @@ Recent releases across the Infrahub tooling during this cycle:
Infrahub AI Skills give an AI assistant built-in Infrahub expertise, so a team can build, query, and audit Infrahub from natural language. They are now ready for everyday use.
183
183
@@ -218,7 +218,7 @@ Read this section before upgrading.
218
218
219
219
### Structured GraphQL error codes
220
220
221
-
GraphQL error responses now return a stable **string** code in `extensions.code` (e.g. `"NODE_NOT_FOUND"`, `"AUTHENTICATION_REQUIRED"`), a typed `extensions.data` payload, and a new integer `extensions.http_status`. Previously `extensions.code` was an **integer** mirroring the HTTP status (most visible on the `/graphql` authentication short-circuit path).
221
+
GraphQL error responses now return a stable **string** code in `extensions.code` (for example `"NODE_NOT_FOUND"`, `"AUTHENTICATION_REQUIRED"`), a typed `extensions.data` payload, and a new integer `extensions.http_status`. Previously `extensions.code` was an **integer** mirroring the HTTP status (most visible on the `/graphql` authentication short-circuit path).
222
222
223
223
```json
224
224
// Before
@@ -279,7 +279,7 @@ query {
279
279
}
280
280
```
281
281
282
-
### Single Sign-On account identity
282
+
### Single sign-on account identity
283
283
284
284
SSO accounts are now keyed on the provider-issued `sub` rather than the display name (see [Reworked SSO account identity](#reworked-sso-account-identity)). The transitional `INFRAHUB_SECURITY_SSO_ACCOUNT_NAME_FALLBACK` setting (default enabled, deprecated) preserves the old display-name matching during the transition. Ensure all SSO users log in once after upgrading before you disable it, otherwise accounts that have not re-logged in will be treated as new and duplicated.
285
285
@@ -387,7 +387,7 @@ The repository [infrahub-demo-edge](https://github.com/opsmill/infrahub-demo-edg
387
387
388
388
### Changed
389
389
390
-
- **Breaking:** GraphQL error responses now carry a stable string code in `extensions.code` (e.g. `"NODE_NOT_FOUND"`, `"AUTHENTICATION_REQUIRED"`) and a typed `extensions.data` payload, plus a new integer `extensions.http_status`. Previously `extensions.code` was an integer mirroring the HTTP status. Consumers reading the integer code (most commonly on the `/graphql` auth-short-circuit path) must migrate to switching on the string code; numeric checks now read `extensions.http_status`. REST `/api/...` responses are unchanged.
390
+
- **Breaking:** GraphQL error responses now carry a stable string code in `extensions.code` (for example `"NODE_NOT_FOUND"`, `"AUTHENTICATION_REQUIRED"`) and a typed `extensions.data` payload, plus a new integer `extensions.http_status`. Previously `extensions.code` was an integer mirroring the HTTP status. Consumers reading the integer code (most commonly on the `/graphql` auth-short-circuit path) must migrate to switching on the string code; numeric checks now read `extensions.http_status`. REST `/api/...` responses are unchanged.
391
391
- HFID attribute values are now indexed in Neo4j for faster lookup. A migration normalizes existing HFID values to consistent all-string format and adds database indexes. The HFID lookup query has been simplified to match directly on the stored value instead of reconstructing per-field filters.
392
392
- Improve merge performance by moving the logic to the database level
Copy file name to clipboardExpand all lines: docs/docs/release-notes/infrahub/release-1_10_1.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ title: Release 1.10.1
25
25
### Fixed
26
26
27
27
- Periodic Git synchronization now imports new commits on a repository's configured default branch when that branch is not `main`. Previously the sync loaded repositories without their `default_branch` attribute, fell back to the schema default of `main`, and failed to locate the worktree, leaving such repositories pinned to a stale commit while still reporting `in-sync`. ([#9600](https://github.com/opsmill/infrahub/issues/9600))
28
-
- Fixed branches with a slash in their name (e.g. feature/my-branch) not being clickable on the Branches page. ([#9716](https://github.com/opsmill/infrahub/issues/9716))
28
+
- Fixed branches with a slash in their name (for example feature/my-branch) not being clickable on the Branches page. ([#9716](https://github.com/opsmill/infrahub/issues/9716))
29
29
- Restored webhook delivery: configured webhooks now fire for every triggering event, including events not associated with a branch such as account activity, instead of silently sending no request. ([#9742](https://github.com/opsmill/infrahub/issues/9742))
30
30
- Fixed webhook automation configuration running a database read on the shared worker database without opening its own session. This left a Neo4j session cached on the shared connection and could trigger `RuntimeError: read() called while another coroutine is already waiting for incoming data` in concurrently running flows. Webhook configuration now opens a dedicated read-only session.
31
31
- Merging a branch that changes a computed attribute, display label, or human-friendly ID template now refreshes those derived values on nodes that exist only on the target branch. Previously the merge applied the new schema without emitting a schema-update event, so the backfill never ran and the affected nodes kept stale values.
0 commit comments