Skip to content

Conversation

@span786
Copy link

@span786 span786 commented Dec 12, 2025

Summary

Implement the finish method for class tag inheritance within Puppet::ResourceApi.
This method is being overridden to allow reinjection of default tags (such as the class name) back into the Puppet catalog during compilation.

Additional Context

  • The Puppet::ResourceApi currently does not handle metaparams like tags effectively.
  • To handle default tags, we needed a point in the catalog-building process where they could be reintroduced. Overriding the finish method provides that opportunity, enabling us to push the tags back into the catalog at the right stage.

Related Issues (if any)

Due to this limitation, modules such as puppetlabs-firewall (version 8.0.0 and later) fail to recognize default tags like the class name. As a result, running puppet apply <manifest.pp> --tags <classname> does nothing because the expected tags are missing.

Checklist

  • 🟢 Spec tests.
  • 🟢 Acceptance tests.
  • Manually verified.

… Puppet::ResourceApi

1. This method is overridden so that we could again inject the default tags (like class name) in puppet catalog.
@span786 span786 requested a review from a team as a code owner December 12, 2025 09:11
@span786 span786 added the bug label Dec 12, 2025
@span786
Copy link
Author

span786 commented Dec 12, 2025

The puppet-resource_api gem version 2.0.0 is currently unstable, so 1.9.0 has been tagged for puppet-agent releases.
This PR targets the 1.9.0 tag to allow us to release version 1.9.1 with the changes introduced here, ensuring no breaking changes are included in the puppet-agent release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants