Chapter 10. Apicurio Registry content rule reference This chapter provides reference information on the supported content rule types, their level of support for artifact types, and order of precedence of artifact-specific and global rules. Section 10.1, "Apicurio Registry content rule types" Section 10.2, "Apicurio Registry content rule maturity" Section 10.3, "Apicurio Registry content rule precedence" Additional resources For more information, see the Apicurio Registry REST API documentation . 10.1. Apicurio Registry content rule types You can specify VALIDITY , COMPATIBILITY , and INTEGRITY rule types to govern content evolution in Apicurio Registry. Theses rule types apply to both global rules and artifact-specific rules. Table 10.1. Apicurio Registry content rule types Type Description VALIDITY Validate content before adding it to Apicurio Registry. The possible configuration values for this rule are as follows: FULL : The validation is both syntax and semantic. SYNTAX_ONLY : The validation is syntax only. NONE : All validation checks are disabled. COMPATIBILITY Enforce a compatibility level when updating artifacts (for example, select BACKWARD for backwards compatibility). Ensures that new artifacts are compatible with previously added artifact versions or clients. The possible configuration values for this rule are as follows: FULL : The new artifact is forward and backward compatible with the most recently added artifact. FULL_TRANSITIVE : The new artifact is forward and backward compatible with all previously added artifacts. BACKWARD : Clients using the new artifact can read data written using the most recently added artifact. BACKWARD_TRANSITIVE : Clients using the new artifact can read data written using all previously added artifacts. FORWARD : Clients using the most recently added artifact can read data written using the new artifact. FORWARD_TRANSITIVE : Clients using all previously added artifacts can read data written using the new artifact. NONE : All backward and forward compatibility checks are disabled. INTEGRITY Enforce artifact reference integrity when creating or updating artifacts. Enable and configure this rule to ensure that any artifact references provided are correct. The possible configuration values for this rule are as follows: FULL : All artifact reference integrity checks are enabled. NO_DUPLICATES : Detect if there are any duplicate artifact references. REFS_EXIST : Detect if there are any references to non-existent artifacts. ALL_REFS_MAPPED : Ensure that all artifact references are mapped. NONE : All artifact reference integrity checks are disabled. 10.2. Apicurio Registry content rule maturity Not all content rules are fully implemented for every artifact type supported by Apicurio Registry. The following table shows the current maturity level for each rule and artifact type: Table 10.2. Apicurio Registry content rule maturity matrix Artifact type Validity rule Compatibility rule Integrity rule Avro Full Full Full Protobuf Full Full Full JSON Schema Full Full Mapping detection not supported OpenAPI Full None Full AsyncAPI Syntax Only None Full GraphQL Syntax Only None Mapping detection not supported Kafka Connect Syntax Only None Mapping detection not supported WSDL Full None Mapping detection not supported XML Full None Mapping detection not supported XSD Full None Mapping detection not supported 10.3. Apicurio Registry content rule precedence When you add or update an artifact, Apicurio Registry applies rules to check the validity, compatibility, or integrity of the artifact content. Configured artifact-specific rules override the equivalent configured global rules, as shown in the following table. Table 10.3. Apicurio Registry content rule precedence Artifact-specific rule Global rule Rule applied to this artifact Global rule available for other artifacts? Enabled Enabled Artifact-specific Yes Disabled Enabled Global Yes Disabled Disabled None No Enabled, set to None Enabled None Yes Disabled Enabled, set to None None No

Commands: