Skip to main content

Extensions configuration

[extensions]​

Andromeda's features beyond the NGSI-LD specification.
[extensions]
mode = "configured"

extensions.mode​

stringrestart to apply

Whether the extensions follow their own tables ("configured") or are all forced off ("conformance").

Default
"configured"
Allowed values
"configured"Each extension is served as its own table says.
"conformance"Every extension is off, cursor pagination included, whatever its own table says; each override is logged at startup. The ETSI conformance runs set it, so the shipped binary is the one tested.
Environment variable
ANDROMEDA__EXTENSIONS__MODE

[extensions.cursor_pagination]​

Opaque cursor page pointers, and how a request that names neither offset nor cursor is paged.
[extensions.cursor_pagination]
mode = "enabled"
fresh_requests = "offset"

extensions.cursor_pagination.mode​

stringrestart to apply

Whether cursors are offered. Off, collections page by offset only and a cursor parameter is refused with InvalidRequest. With extensions.mode set to "conformance", collections page by offset whatever this says.

Default
"enabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__CURSOR_PAGINATION__MODE

extensions.cursor_pagination.fresh_requests​

stringrestart to apply

How a request that names neither offset nor cursor is paged while cursors are offered. Read only when extensions.cursor_pagination.mode is "enabled".

Default
"offset"
Allowed values
"cursor"It walks by cursor; offset and an empty cursor= both remain available.
"offset"It pages by offset; an empty cursor= opts into a cursor walk.
Environment variable
ANDROMEDA__EXTENSIONS__CURSOR_PAGINATION__FRESH_REQUESTS

[extensions.temporal_delete_by_query]​

Temporal delete-by-query on DELETE /temporal/entities: a windowed, selector-scoped history purge the NGSI-LD temporal delete operations have no equivalent for.
[extensions.temporal_delete_by_query]
mode = "disabled"
max_matches = 100000

extensions.temporal_delete_by_query.mode​

stringrestart to apply

Whether temporal delete-by-query is served on DELETE /temporal/entities. It acts on local history only and is never forwarded.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__TEMPORAL_DELETE_BY_QUERY__MODE

extensions.temporal_delete_by_query.max_matches​

positive integerrestart to apply

The most history instances one delete-by-query may remove. The matches are counted before anything is deleted, so a larger purge is refused whole with 403 TooManyResults and deletes nothing.

Default
100000
Must be
0 < max_matches
Environment variable
ANDROMEDA__EXTENSIONS__TEMPORAL_DELETE_BY_QUERY__MAX_MATCHES

[extensions.temporal_aggregation_grouping]​

Grouped temporal aggregation through aggrGroupBy and format=groupedValues.
[extensions.temporal_aggregation_grouping]
mode = "disabled"
max_groups = 10000

extensions.temporal_aggregation_grouping.mode​

stringrestart to apply

Whether grouped temporal aggregation is served: calendar and cyclic time buckets, per-entity-member keys and value-in-effect keys, with groups of mixed units split rather than refused. Off, aggrGroupBy and groupedValues are refused with InvalidRequest.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__TEMPORAL_AGGREGATION_GROUPING__MODE

extensions.temporal_aggregation_grouping.max_groups​

positive integerrestart to apply

The most distinct groups one grouped aggregation may produce. The groups are counted before they are computed, so a larger grouping is refused whole with 403 TooManyResults.

Default
10000
Must be
0 < max_groups
Environment variable
ANDROMEDA__EXTENSIONS__TEMPORAL_AGGREGATION_GROUPING__MAX_GROUPS

[extensions.temporal_linked_retrieval]​

Linked entity retrieval on the temporal operations. On, Retrieve and Query Temporal Evolution and the temporal Entity Map accept join, joinLevel and containedBy and retrieve the linked entities' temporal evolution over the request's window. Off, those parameters are refused with InvalidRequest, and a nested projection, a q hop or a retrieving join in a query body with BadRequestData.
[extensions.temporal_linked_retrieval]
mode = "disabled"

extensions.temporal_linked_retrieval.mode​

stringrestart to apply

Whether the extension is served. Off, the broker answers as a conformant broker that never implemented it.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__TEMPORAL_LINKED_RETRIEVAL__MODE

[extensions.purge_dataset_scope]​

datasetId and deleteAll on Purge Entities. On, DELETE /entities gains the per-datasetId precision Delete Attribute already has. Off, a datasetId or deleteAll there is refused with InvalidRequest.
[extensions.purge_dataset_scope]
mode = "disabled"

extensions.purge_dataset_scope.mode​

stringrestart to apply

Whether the extension is served. Off, the broker answers as a conformant broker that never implemented it.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__PURGE_DATASET_SCOPE__MODE

[extensions.tenant_management]​

Tenant management on /tenants. On, the broker serves the tenant collection, per-tenant introspection and suspend or resume through PATCH isActive, and advertises them at /info/sourceIdentity. No API operation ever drops a tenant's database.
[extensions.tenant_management]
mode = "disabled"

extensions.tenant_management.mode​

stringrestart to apply

Whether the extension is served. Off, the broker answers as a conformant broker that never implemented it.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__TENANT_MANAGEMENT__MODE

[extensions.near_distance_band]​

A near geo-query bounded from both sides. On, a near carrying both minDistance and maxDistance matches the entities between the two, on queries, temporal queries, subscription geoQ and registration discovery. Off, the pair is refused with BadRequestData.
[extensions.near_distance_band]
mode = "disabled"

extensions.near_distance_band.mode​

stringrestart to apply

Whether the extension is served. Off, the broker answers as a conformant broker that never implemented it.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__NEAR_DISTANCE_BAND__MODE

[extensions.accept_language]​

Accept-Language read as the language filter. On, a Retrieve or Query of entities, Temporal Evolutions or context source registrations that carries no lang takes its filter from Accept-Language, and the response carries Vary: Accept-Language. Off, the header is ignored.
[extensions.accept_language]
mode = "disabled"

extensions.accept_language.mode​

stringrestart to apply

Whether the extension is served. Off, the broker answers as a conformant broker that never implemented it.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__ACCEPT_LANGUAGE__MODE

[extensions.q_target_languages]​

What a q bracket may name as a target language.
[extensions.q_target_languages]
mode = "disabled"
level = "language-tags"

extensions.q_target_languages.mode​

stringrestart to apply

Whether a q bracket may name a language tag. Off, a bracket names only what the NGSI-LD q grammar defines: [en] is admitted, [en-GB] is refused with BadRequestData. A query carrying a target language is held to the level every context source it reaches advertises.

Default
"disabled"
Allowed values
"disabled"Turn the feature off.
"enabled"Turn the feature on.
Environment variable
ANDROMEDA__EXTENSIONS__Q_TARGET_LANGUAGES__MODE

extensions.q_target_languages.level​

stringrestart to apply

What a q bracket may name while the extension is on. Read only when extensions.q_target_languages.mode is "enabled".

Default
"language-tags"
Allowed values
"language-tags"Every RFC 5646 language tag, matched by case-insensitive tag equality.
"language-ranges"Every RFC 5646 tag and RFC 4647 extended range, matched by extended filtering, so [en] selects en-GB too. This changes what some queries the specification's grammar admits select.
Environment variable
ANDROMEDA__EXTENSIONS__Q_TARGET_LANGUAGES__LEVEL