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.

Reply via email to