Files
artifactapi/docs/puppet/local.md
T
unkin-agent 6e6481e09a Split per-type registration points into per-type files (#150)
Parallel package-type PRs conflict because every type edits the same shared lines (README tables, provider.go, server.go imports, the package type list, UI maps, the e2e caching table). A new type now only adds files.

- move per-type README sections into docs/<type>/{remote,local,virtual}.md
- split provider.go capability and metadata types into cap_*.go and metadata_*.go
- import providers via internal/provider/all, one file per type
- declare each package type in package_type_<type>.go, registered via init()
- split the e2e caching cases and UI colours/snippets into per-type files

Reviewed-on: #150
Co-authored-by: unkin-agent <unkin-agent@unkin.net>
Co-committed-by: unkin-agent <unkin-agent@unkin.net>
2026-10-17 15:54:47 +11:00

604 B

Local puppet forge

A local puppet repo is a Forge: PUT a module tarball to /api/v2/remotes/<repo>/files/<owner>-<module>-<version>.tar.gz and the Forge v3 API (/v3/modules, /v3/releases, /v3/files) is served from each release's metadata.json at /api/v1/local/<repo>. Versions are immutable.

puppet module build ./hello
curl -fsSL --upload-file pkg/unkin-hello-0.1.0.tar.gz \
  https://artifactapi.example.com/api/v2/remotes/<repo>/files/unkin-hello-0.1.0.tar.gz
puppet module install unkin-hello \
  --module_repository https://artifactapi.example.com/api/v1/local/<repo>