This message was deleted.
# puppet-enterprise
s
This message was deleted.
c
For
Error 500 on SERVER
, check
/var/log/puppetlabs/puppetserver/puppetserver.log
for error messages relating to the file.
j
I dug out this from that log 2023-03-06T172033.675Z WARN [qtp1540425082-2033] [o.e.j.s.HttpChannel] /puppet/v3/static_file_content/modules/za bbix/files/zabbix.repo clojure.lang.ExceptionInfo: throw+: {:kind ":puppetlabs.enterprise.file-sync-errors/content-error", :repo-name "pup pet-code", :repo-path "", :file "modules/zabbix/files/zabbix.repo", :revision "a009846c9da96ea92bd28fa23983755e9e76 33c3", :msg "File 'modules/zabbix/files/zabbix.repo' does not exist in the repository at revision a009846c9da96ea92 bd28fa23983755e9e7633c3", :submodule "production"}
Seems like its just not finding the file within my repo.. i wonder if its possible to provide a git path?
c
Hmm, is that
zabbix.repo
file part of the content deployed through Code Manager? Or is it being added through some other method?
j
I added it afterwards to that module path under files. Yes it should be deployed by code manager, If I understand you correctly.
2023-03-06T172704.836Z ERROR [qtp1540425082-2352] [puppetserver] Puppet Server Error: Could not get metadata for puppet:///modules/zabbix/files/zabbix_repo another error from that log
I have since tried to change the file name to see if that helps btw..
c
Ah, ok. All content fetched from the
/puppet/v3/static_file
endpoint must be deployed through Code Manager. Can't side-load anything.
✅ 1
Smaller files can be distributed through the Puppet Server using custom mount point. Larger files should be served from a dedicated file server or artifact service.
j
OK that makes sense, I am still fairly new to puppet.. how exactly can i ensure I have that custom mount point setup right, any chance you could point me in the right direction please?
from what i am reading though, I should in theory be able to serve this file from inside that module?
c
Docs for custom mounts can be found here: https://www.puppet.com/docs/puppet/7/file_serving.html You can serve files from inside the modules, but when Code Manager is enabled all environment content must be deployed through Code Manager.
File Serving visibility aside, the next code deployment can remove untracked content.
j
Thanks Sharp, I will give this a try tomorrow and see if I get a bit further, appreciate your help and advice
c
👍 And, keep file size in mind. The Puppet Server was designed to distribute a handful of small files --- like short configuration items or keypairs that are a dozen or so kB at most. Large binary blobs, like installation packages or database content, should be handed off to something that specializes in file serving. Code Manager doesn't do well with large binary blobs because they can be difficult to track in Git without special handling and custom mounts bump into Puppet Server's lack of optimizations like using
sendfile()
to avoid buffering large amounts of content in process memory.