https://www.puppet.com/community logo
Join Slack
Powered by
# office-hours
  • b

    bastelfreak

    05/25/2023, 6:34 PM
    I wanted to ask Josh that, but probable the forge office hours is even better
  • b

    bastelfreak

    05/25/2023, 6:34 PM
    is there a spec that defines the files and directores allowed in a puppet module
  • b

    bastelfreak

    05/25/2023, 6:35 PM
    and can we use that as an allowlist in forge releases and in r10k/code-manager
  • b

    bastelfreak

    05/25/2023, 6:36 PM
    I've customers with 40+ environments and a few million files in total. roughly 20% of them are
    .github
    and other stuff no-one needs on a puppetserver. getting rid of them would improve deployment time/filesync performance a lot
  • b

    bastelfreak

    05/25/2023, 6:36 PM
    code-manager already has an option to exclude the spec stuff and that's nice, but there's so much more that could be ignored
  • b

    binford2k

    05/25/2023, 6:38 PM
    there is a spec for what files and directories Puppet will use in a module, but not one for what is allowed. All that's required to make a forge module is a directory with a valid metadata.json. Everything else is gravy on top.
  • b

    bastelfreak

    05/25/2023, 6:38 PM
    mhm
  • b

    bastelfreak

    05/25/2023, 6:38 PM
    but does it make sense to allow so much gravy?
  • b

    bastelfreak

    05/25/2023, 6:39 PM
    changing that on the forge is probably ugly, but r10k/code-manager could have a filter with sane defaults in the next major version
  • b

    binford2k

    05/25/2023, 6:39 PM
    maybe not, but we'd have to be careful not to break things
  • s

    Slackbot

    05/25/2023, 6:39 PM
    This message was deleted.
    c
    b
    • 3
    • 8
  • b

    bastelfreak

    05/25/2023, 6:39 PM
    that's bastelfreak approved
  • b

    binford2k

    05/25/2023, 6:39 PM
    people use /docs, /documentation, etc
  • b

    binford2k

    05/25/2023, 6:40 PM
    however -- if we start defining the puppet module as a stricter interface to Puppet, then we don't so much care if people can untar it and look at its internals
  • b

    binford2k

    05/25/2023, 6:40 PM
    you can read the docs on github, for example
  • b

    bastelfreak

    05/25/2023, 6:40 PM
    yes
  • b

    bastelfreak

    05/25/2023, 6:41 PM
    no person runs tests in a module on a puppetserver or reads the docs
  • b

    bastelfreak

    05/25/2023, 6:41 PM
    that's totally fine in a git repo, but you don't need those files on the puppetserver
  • b

    binford2k

    05/25/2023, 6:42 PM
    The approach @npwalker was taking was to make r10k strip /spec, etc during install.
  • b

    bastelfreak

    05/25/2023, 6:42 PM
    that's now the default for code-manager
  • b

    bastelfreak

    05/25/2023, 6:42 PM
    I would like to extend that
  • b

    binford2k

    05/25/2023, 6:42 PM
    so here's a question for you: is there a use case in which you'd want to puppet module install a module and run the tests or read the docs or whatever?
  • b

    bastelfreak

    05/25/2023, 6:43 PM
    no
  • b

    binford2k

    05/25/2023, 6:43 PM
    if so, then the original tarball needs all that stuff. If not, the forge can filter all that out.
  • b

    bastelfreak

    05/25/2023, 6:43 PM
    I never had that usecase in ~10 years of Puppet
  • b

    bastelfreak

    05/25/2023, 6:43 PM
    at the moment the forge doesn't modify the uploaded tar.gz, right?
  • b

    binford2k

    05/25/2023, 6:43 PM
    nope
  • b

    bastelfreak

    05/25/2023, 6:44 PM
    from a maintainer perspective I like that approach
  • b

    binford2k

    05/25/2023, 6:44 PM
    and doing so gets hard because checksums and signatures
  • b

    bastelfreak

    05/25/2023, 6:44 PM
    yes exactly
1...585960...78Latest