Skip to content

chg: type it_infra_and_services meta_template IP as ipv4 - #234

Open
DocArmoryTech wants to merge 4 commits into
cerebrate-project:mainfrom
DocArmoryTech:chg/it-infra-services-ipv4-types
Open

chg: type it_infra_and_services meta_template IP as ipv4#234
DocArmoryTech wants to merge 4 commits into
cerebrate-project:mainfrom
DocArmoryTech:chg/it-infra-services-ipv4-types

Conversation

@DocArmoryTech

Copy link
Copy Markdown
Contributor

All five fields in this template were typed text, so values matched as
strings. Typed ipv4, IPv4Type::setQueryExpression matches by CIDR
containment instead, which is what lets a stored range answer "which
organisation owns this address?".

Given the template exists specifically to "register the IP of part of the
infrastructure or services", string matching forfeits most of its value.

Version bumped 2 -> 3.

This is a tightening change. Instances holding values that are not IPv4 --
hostnames, or IPv6 addresses stored in the absence of a v6 field -- will not
update automatically: getMetaTemplateConflictsForMetaTemplate reports them as
conflicting entities and blocks the automatic path, which is the intended
behaviour for a stricter field. Operators resolve those before updating, and
nothing is silently dropped.

Two related points deliberately left out of this commit: whether matching
ipv6 fields should be added, and the Microsfot typo, which cannot be
corrected without discarding stored values because field names are matched
by name on update.

iglocska and others added 4 commits June 11, 2026 09:45
All five fields in this template were typed `text`, so values matched as
strings. Typed `ipv4`, IPv4Type::setQueryExpression matches by CIDR
containment instead, which is what lets a stored range answer "which
organisation owns this address?".

Given the template exists specifically to "register the IP of part of the
infrastructure or services", string matching forfeits most of its value.

Version bumped 2 -> 3.

This is a tightening change. Instances holding values that are not IPv4 --
hostnames, or IPv6 addresses stored in the absence of a v6 field -- will not
update automatically: getMetaTemplateConflictsForMetaTemplate reports them as
conflicting entities and blocks the automatic path, which is the intended
behaviour for a stricter field. Operators resolve those before updating, and
nothing is silently dropped.

Two related points deliberately left out of this commit: whether matching
ipv6 fields should be added, and the `Microsfot` typo, which cannot be
corrected without discarding stored values because field names are matched
by name on update.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants