ARTEMIS-6094: Support YAML broker properties with native anchor/alias expansion#6491
Open
lavocatt wants to merge 1 commit into
Open
ARTEMIS-6094: Support YAML broker properties with native anchor/alias expansion#6491lavocatt wants to merge 1 commit into
lavocatt wants to merge 1 commit into
Conversation
36a630b to
f6280ac
Compare
f6280ac to
d5b095d
Compare
gtully
reviewed
Jun 3, 2026
Contributor
gtully
left a comment
There was a problem hiding this comment.
this looks great, having yaml do the heavy lifting for substution.
f222218 to
f98bf50
Compare
gtully
approved these changes
Jun 4, 2026
Add YAML (.yaml) as a broker properties file format alongside the
existing .properties and .json formats. YAML files are parsed via
SnakeYAML Engine (2.10), which natively resolves anchors and aliases at
parse time, enabling role/config reuse without custom macro logic.
This allows configurations like:
```
securityRoles:
"TEMP.*":
role1: &base_perms
createAddress: true
send: true
consume: true
createNonDurableQueue: true
role2: *base_perms
role3: *base_perms
```
Changes:
- Add snakeyaml-engine dependency root pom, artemis-pom, artemis-server
- Extend defaultPropertiesFileNamePattern to accept .yaml
- Add YAML dispatch branch in parseFileProperties()
- Implement loadYaml() on InsertionOrderedProperties with recursive
map flattening and key.surround support mirrors loadJson()
- Add tests: anchor/alias security roles, basic YAML parsing,
invalid YAML error handling
f98bf50 to
28d0d66
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add YAML (.yaml/.yml) as a broker properties file format alongside the existing .properties and .json formats. YAML files are parsed via SnakeYAML Engine (2.10), which natively resolves anchors and aliases at parse time, enabling role/config reuse without custom macro logic.
This allows configurations like:
Changes: