I've certainly got a few opinions.
I think that the following are mandatory:
- rspec-puppet tests (that pass)
- beaker, litmus, or test-kitchen tests (that pass)
- Critical path test coverage that matches your supported operating
systems (as much as is reasonable)
- Documented parameters (generated docs with puppet-strings should pass)
- A reasonable README.md
- A generated REFERENCE.md
- A useful Changelog (however you do it)
- No embedded binaries
- Use vendor provided packages as a default
- A reasonable update period/response time to bugs
- No telemetry/phone home capabilities
- Fail closed/safe
I think that the following are nice to have:
- Arrow alignment
- Indentation
- Muti-node tests (for externally-facing services)
I think that the following are largely pointless:
- Line length checks
- Trailing comma checks
- Code coverage checks
- Taking time to add tests for trivial non-critial-path items just
makes it more difficult to refactor the module. Acceptance tests
should be
used for functionality.
Trevor
On Thu, Oct 28, 2021 at 4:33 PM Ben Ford <[email protected]> wrote:
> Trick question, I know. Having strong opinions is part of why we do the
> work we do. So I'm hoping that many of you will help us out on this project.
>
> Some time ago, the Forge turned off the quality scores detail display
> because many of the warnings were confusing and frightening to less
> experienced Puppet users. And we didn't really have a good specification of
> what made quality code anyway. That's what I hope to improve on today, and
> we'd like to turn it back on with a better picture of each module's quality.
>
> Vox Pupuli has a meta-gem that defines a list of the puppet-lint checks
> <https://github.com/voxpupuli/voxpupuli-puppet-lint-plugins/blob/master/voxpupuli-puppet-lint-plugins.gemspec>
> that they use for their definition of a quality Puppet module. I'd like the
> Forge and Vox Pupuli to be in alignment here, and this seems like the best
> place to start.
>
> Do you have a favorite list of puppet-lint checks you use? Do you think
> they'd be useful as an ecosystem standard? Can you support that opinion
> with a cogent argument for it? Suggest it as a pull request and let's have
> that conversation. Together as a community we can all come up with a solid
> starting point as a standard definition of module quality.
>
>
> https://github.com/voxpupuli/voxpupuli-puppet-lint-plugins/blob/master/voxpupuli-puppet-lint-plugins.gemspec
>
> Thank you all for your help!
>
> --
> Ben Ford
> @binford2k
> Ecosystem Product Manager
> _._,_._,_
> ------------------------------
> Groups.io Links:
>
> You receive all messages sent to this group.
>
> View/Reply Online (#395) <https://groups.io/g/voxpupuli/message/395> | Reply
> To Group
> <[email protected]?subject=Re:%20%5Bvoxpupuli%5D%20Do%20you%20have%20opinions%20on%20what%20module%20quality%20means%3F>
> | Reply To Sender
> <[email protected]?subject=Private:%20Re:%20%5Bvoxpupuli%5D%20Do%20you%20have%20opinions%20on%20what%20module%20quality%20means%3F>
> | Mute This Topic <https://groups.io/mt/86662086/1024671> | New Topic
> <https://groups.io/g/voxpupuli/post>
> Your Subscription <https://groups.io/g/voxpupuli/editsub/1024671> | Contact
> Group Owner <[email protected]> | Unsubscribe
> <https://groups.io/g/voxpupuli/leave/4249677/1024671/629153198/xyzzy> [
> [email protected]]
> _._,_._,_
>
>
--
Trevor Vaughan
Vice President, Onyx Point
(410) 541-6699 x788
-- This account not approved for unencrypted proprietary information --
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/CANs%2BFoV-6fcCAZAq5L5AQeqDs03-K_96d0Mx-HsHbAMjd3Qgjg%40mail.gmail.com.