Commit Graph

6 Commits

Author SHA1 Message Date
Tianon Gravi b20e82cb0d Add new "bashbrew remote arches" command
This command will, given a remote image reference, look up the list of platforms from it and match them to supported bashbrew architectures (providing content descriptors for each).

Also, refactor registry code to be more correct: previously, this couldn't fetch from Docker without `DOCKERHUB_PUBLIC_PROXY` (see `registry-1.docker.io` change) and was ignoring content digests.  Now it works correctly with or without `DOCKERHUB_PUBLIC_PROXY`, verifies the size of every object it pulls, verifies the digest, _and_ should continue working with the in-progress Moby containerd-integration (where the local image ID becomes the digest of the manifest or index instead of the digest of the config blob as it is today).
2022-11-16 15:31:47 -08:00
Tianon Gravi d0452fbee0 Add very basic "oci-platform" string test 2022-11-02 12:55:19 -07:00
Tianon Gravi b9b4dacdc0 Set DOCKER_DEFAULT_PLATFORM when building "FROM scratch" images
This will make sure "variant" gets set properly on the resulting images if our Docker version is 20.10+.

We set this as tightly/sparingly as possible because the `--platform` flag is used for several different things inside Docker, the most visible being platform mismatch warnings/errors that we want to avoid.
2021-08-02 14:56:31 -07:00
Tianon Gravi 7143aaa8ad Update to Go 1.16
(and add riscv64 binaries 👀)
2021-03-10 13:04:46 -08:00
Tianon Gravi f3844f04a8 Add "mips64le" in SupportedArches
Looking at https://golang.org/doc/install/source#environment under "GOARCH", this is the accepted Go architecture value for the 64-bit little endian MIPS platform.
2019-12-27 12:24:54 -08:00
Tianon Gravi b33efdf4ad Add a package for converting from a "bashbrew arch" to a full OCI "platform" object (os+arch+variant)
This also includes a list of standard mappings (intended for both input validation and output conversion).
2017-06-06 23:27:51 -07:00