Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC pushing & pulling trunk from an OSI registry #69

Open
wants to merge 1 commit into
base: trunk-format
Choose a base branch
from

Conversation

theory
Copy link
Owner

@theory theory commented Jun 18, 2024

Modify trunk.mk to build JSON files required to build OCI image manifests and an OCI image index, including new make variables TITLE, DESCRIPTION, VENDOR, URL, and REPO_URL.

Add push_trunk, a shell script to take those JSON files and use oras to build the images and manifests and push them to a registry.

Add docker_compose.yml to spin up a PGXN tools image for AMD64 and running Postgres 16, as well as zot, a vendor-neutral OCI registry.

Finally, modify install_trunk to download an artifact from a registry address, rather than build from a local file. Use oras to fetch the image for the current platform. There's no support for distinguishing between artifacts built for different Postgres versions, but there are annotations in the image index that would allow it.

Modify `trunk.mk` to build JSON files required to build [OCI image
manifests] and an [OCI image index], including new `make` variables
`TITLE`, `DESCRIPTION`, `VENDOR`, `URL`, and `REPO_URL`.

Add `push_trunk`, a shell script to take those JSON files and use `oras` to
build the images and manifests and push them to a registry.

Add `docker_compose.yml` to spin up a PGXN tools image for AMD64 and
running Postgres 16, as well as [zot], a vendor-neutral OCI registry.

Finally, modify `install_trunk` to download an artifact from a registry
address, rather than build from a local file. Use `oras` to fetch the
image for the current platform. There's no support for distinguishing
between artifacts built for different Postgres versions, but there are
annotations in the image index that would allow it.

  [OCI image manifests]: https://github.com/opencontainers/image-spec/blob/main/manifest.md
  [OCI image index]: https://github.com/opencontainers/image-spec/blob/main/image-index.md
  [zot]: https://github.com/project-zot/zot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Design Binary Packaging Architecture Design Packaging Automation
1 participant