6e6481e09a
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>
15 lines
604 B
Markdown
15 lines
604 B
Markdown
# 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.
|
|
|
|
```bash
|
|
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>
|
|
```
|