I thought the same and have tried that to no avail. I believe its because we are storing the files outside of the standard modules directory ie /etc/puppetlabs/code where as we are using /etc/puppetlabs/example/code.
Thanks, Chris > On May 28, 2019, at 6:03 AM, Alessandro Franceschi <[email protected]> wrote: > > In the file resource which manages /etc/bashrc you have probably a parameter > like: > source => puppet:///files/etcbashrc <puppet:///files/etcbashrc> > > that should be something like: > > source => puppet:///modules/$MODULENAME/etcbashrc > <puppet:///modules/$MODULENAME/etcbashrc> > this implies that your source etcbashrc file is in a module called > $MODULENAME in the files/etcbashrc location (note that you don't have to > specify "files" in the source param. > > For details: > https://puppet.com/docs/puppet/6.4/modules_fundamentals.html#files-in-modules > <https://puppet.com/docs/puppet/6.4/modules_fundamentals.html#files-in-modules> > > On Thursday, May 23, 2019 at 10:13:38 PM UTC+2, Chris Phillips wrote: > I am using Puppet v5.5.13 and am receiving the following error. Any help > would be appreciated. > > Error: /Stage[main]/Profiles::Base/File[/etc/bashrc]: Could not evaluate: > Could not retrieve file metadata for puppet:///files/etcbashrc: Error 500 on > SERVER: Server Error: Not authorized to call find on > /file_metadata/files/etcbashrc with {:rest=>"files/etcbashrc", > :links=>"manage", :checksum_type=>"md5", :source_permissions=>"ignore"} > > > > My auth.conf looks like: > > > > authorization: { > > version: 1 > > allow-header-cert-info: false > > rules: [ > > { > > # Allow file metadata > > match-request: { > > path: "^/file_(metadata|content)/files/" > > type: regex > > } > > allow: "*" > > sort-order: 400 > > name: "access to all file metadata" > > }, > > { > > # Allow any file access > > match-request: { > > path: "^/puppet/v3/file_(content|metadata)s?/files" > > type: regex > > method: [get, post] > > } > > allow: "*" > > sort-order: 400 > > name: "access to all files" > > }, > > { > > # Allow nodes to retrieve their own catalog > > match-request: { > > path: "^/puppet/v3/catalog/([^/]+)$" > > type: regex > > method: [get, post] > > } > > allow: ["$1"] > > sort-order: 500 > > name: "puppetlabs catalog" > > }, > > { > > # Allow nodes to retrieve the certificate they requested earlier > > match-request: { > > path: "/puppet-ca/v1/certificate/" > > type: path > > method: get > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs certificate" > > }, > > { > > # Allow all nodes to access the certificate revocation list > > match-request: { > > path: "/puppet-ca/v1/certificate_revocation_list/ca" > > type: path > > method: get > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs crl" > > }, > > { > > # Allow nodes to request a new certificate > > match-request: { > > path: "/puppet-ca/v1/certificate_request" > > type: path > > method: [get, put] > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs csr" > > }, > > { > > # Allow the CA CLI to access the certificate_status endpoint > > match-request: { > > path: "/puppet-ca/v1/certificate_status" > > type: path > > method: [get, put, delete] > > } > > allow: [ > > "localhost", > > "example.com <http://example.com/>", > > { > > extensions: { > > pp_cli_auth: "true" > > } > > } > > ] > > sort-order: 500 > > name: "puppetlabs cert status" > > }, > > { > > # Allow the CA CLI to access the certificate_statuses endpoint > > match-request: { > > path: "/puppet-ca/v1/certificate_statuses" > > type: path > > method: get > > } > > allow: [ > > "localhost", > > "example.com <http://example.com/>", > > { > > extensions: { > > pp_cli_auth: "true" > > } > > } > > ] > > sort-order: 500 > > name: "puppetlabs cert statuses" > > }, > > { > > # Allow unauthenticated access to the status service endpoint > > match-request: { > > path: "/status/v1/services" > > type: path > > method: get > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs status service - full" > > }, > > { > > match-request: { > > path: "/status/v1/simple" > > type: path > > method: get > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs status service - simple" > > }, > > { > > match-request: { > > path: "/puppet-admin-api/v1/environment-cache" > > type: path > > method: delete > > } > > allow: [ > > "localhost", > > "example.com <http://example.com/>", > > ] > > sort-order: 200 > > name: "environment-cache" > > }, > > { > > match-request: { > > path: "/puppet-admin-api/v1/jruby-pool" > > type: path > > method: delete > > } > > allow: [ > > "localhost", > > "example.com <http://example.com/>", > > ] > > sort-order: 200 > > name: "jruby-pool" > > }, > > { > > match-request: { > > path: "/puppet/v3/environments" > > type: path > > method: get > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs environments" > > }, > > { > > match-request: { > > path: "/puppet/v3/environment_classes" > > type: path > > method: get > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs environment classes" > > }, > > { > > # Allow nodes to access all file_bucket_files. Note that access > for > > # the 'delete' method is forbidden by Puppet regardless of the > > # configuration of this rule. > > match-request: { > > path: "/puppet/v3/file_bucket_file" > > type: path > > method: [get, head, post, put] > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs file bucket file" > > }, > > { > > # Allow nodes to access all file_content. Note that access for > the > > # 'delete' method is forbidden by Puppet regardless of the > > # configuration of this rule. > > match-request: { > > path: "/puppet/v3/file_content" > > type: path > > method: [get, post] > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs file content" > > }, > > { > > # Allow nodes to access all file_metadata. Note that access for > the > > # 'delete' method is forbidden by Puppet regardless of the > > # configuration of this rule. > > match-request: { > > path: "/puppet/v3/file_metadata" > > type: path > > method: [get, post] > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs file metadata" > > }, > > { > > # Allow nodes to access all file_content. Note that access for > the > > # 'delete' method is forbidden by Puppet regardless of the > > # configuration of this rule. > > match-request: { > > path: "/puppet/v3/files/" > > type: path > > method: [get, post] > > } > > allow: "*" > > sort-order: 500 > > name: "puppet file content" > > }, > > { > > # Allow nodes to access all file_content. Note that access for > the > > # 'delete' method is forbidden by Puppet regardless of the > > # configuration of this rule. > > match-request: { > > path: "/files/" > > type: path > > method: [get, post] > > } > > allow: "*" > > sort-order: 500 > > name: "puppets file content" > > }, > > { > > # Allow nodes to retrieve only their own node definition > > match-request: { > > path: "^/puppet/v3/node/([^/]+)$" > > type: regex > > method: get > > } > > allow: "$1" > > sort-order: 500 > > name: "puppetlabs node" > > }, > > { > > # Allow nodes to store only their own reports > > match-request: { > > path: "^/puppet/v3/report/([^/]+)$" > > type: regex > > method: put > > } > > allow: "$1" > > sort-order: 500 > > name: "puppetlabs report" > > }, > > { > > # Allow nodes to update their own facts > > match-request: { > > path: "^/puppet/v3/facts/([^/]+)$" > > type: regex > > method: put > > } > > allow: "$1" > > sort-order: 500 > > name: "puppetlabs facts" > > }, > > { > > match-request: { > > path: "/puppet/v3/status" > > type: path > > method: get > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs status" > > }, > > { > > match-request: { > > path: "/puppet/v3/static_file_content" > > type: path > > method: get > > } > > allow: "*" > > sort-order: 500 > > name: "puppetlabs static file content" > > }, > > { > > match-request: { > > path: "/puppet/v3/tasks" > > type: path > > } > > allow: "*" > > sort-order: 500 > > name: "puppet tasks information" > > }, > > { > > # Allow all users access to the experimental endpoint > > # which currently only provides a dashboard web ui. > > match-request: { > > path: "/puppet/experimental" > > type: path > > } > > allow-unauthenticated: true > > sort-order: 500 > > name: "puppetlabs experimental" > > }, > > { > > match-request: { > > path: "/puppet/files" > > type: path > > } > > allow: "*" > > sort-order: 500 > > name: "puppet" > > }, > > { > > match-request: { > > path: "/puppet/file_metadata" > > type: path > > } > > allow: "*" > > sort-order: 500 > > name: "puppet_metadata" > > } > > ] > > > } > > > > If anything is needed to help troubleshoot let me know and I will be happy to > post. > > > -- > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/760b932c-47e0-43aa-9e78-318646baa57b%40googlegroups.com > > <https://groups.google.com/d/msgid/puppet-users/760b932c-47e0-43aa-9e78-318646baa57b%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- 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/4F69F537-AC9F-4BA5-A954-567473C142BD%40gmail.com. For more options, visit https://groups.google.com/d/optout.
