feat: modernize chrony cookbook and refactor master to server#74
Merged
feat: modernize chrony cookbook and refactor master to server#74
Conversation
- Refactor to resource-based API with 'chrony_config' custom resource. - Remove EOL platforms (CentOS 7/8, Debian 9/10) and add modern ones (Ubuntu 22.04, Debian 12, Rocky 9). - Rename 'master' terminology to 'server' throughout recipes, tests, and documentation. - Consolidate templates into a single 'chrony.conf.erb'. - Update InSpec and ChefSpec tests for new resource and platforms.
- Fix ChefSpec tests by adding 'step_into' for the 'chrony_config' resource. - Set 'allow' attribute in server spec to ensure proper template rendering. - Import '.markdownlint-cli2.yaml' and '.mdlrc' from confluence cookbook.
- Update kitchen.yml and kitchen.dokken.yml to only test non-EOL platforms. - Update metadata.rb to reflect modern supported OS versions (Ubuntu 22.04+, Debian 12, RHEL 9+).
- Update .github/workflows/ci.yml to match modern platform list. - Add frozen_string_literal and provides to chrony_config resource. - Add resource documentation. - Add LIMITATIONS.md with vendor support details. - Ensure all kitchen and CI files are in sync.
- Remove Debian 11, Ubuntu 20.04, and RHEL/Alma/Rocky 8 from all configurations. - Update LIMITATIONS.md, metadata.rb, kitchen files, and .github/workflows/ci.yml. - Update ChefSpec tests to focus on AlmaLinux 9.
Remove recipes/ and attributes/ directories — users should call the chrony_config resource directly instead of chrony::client or chrony::server recipes. - Fix duplicate driftfile declaration in template - Scope helpers module to action_class only (remove global mixin) - Inline default_driftfile logic into lazy property default - Rewrite ChefSpec tests to test chrony_config resource directly - Split integration tests into per-suite InSpec profiles (default/server) - Restructure test cookbook to exercise resource without recipes - Align kitchen.yml, kitchen.dokken.yml, and CI matrix (9 platforms × 2 suites) - Update LIMITATIONS.md and README.md for resource-only usage BREAKING CHANGE: chrony::client, chrony::server, and chrony::default recipes have been removed. Use the chrony_config resource directly in wrapper cookbooks. The Chef search feature for auto-discovering server nodes is no longer provided — implement in your own wrapper cookbook if needed.
Slowest examplesTop 10 slowest examples (0.13 seconds, 98.17% of total time)
|
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.
This PR modernizes the chrony cookbook by refactoring it to a resource-based API, updating platform support to modern stable releases, and renaming 'master' terminology to 'server'. It also consolidates templates and updates the test suite.