Setting up an APT package repository
Running your own package repository has several advantages. You can distribute your own packages with it. You can control the versions of upstream or third-party packages that you put into it. And you can locate it close to where your servers are, to avoid the problem of slow or unreliable mirror sites.
Even if you don't need to create your own packages, you may want to download the required versions of your critical dependency packages and store them in your own repo, thus preventing any surprises when things change upstream (for example, your distro version could reach end-of-life and the repos could be turned off).
It also makes it easier to auto-update packages within Puppet. You may occasionally need to ...