Closed zmt closed 1 year ago
The flow changed back when arm64 images were introduced. Make images no longer loads the new images into the local docker registry. After running make images, you currently need to then run make load-images before running make integration.
After running make images, you currently need to then run make load-images before running make integration. I knew it had to be something simple that I was missing. Thank you. I did hit another undocumented dependency for the new image building/loading:
.github/workflows/scripts/load-oci-archives.sh
USAGE: load-oci-archives.sh
"load-oci-archives.sh" loads oci tarballs created with xbuild into docker.
Usage example(s): ./load-oci-archives.sh PLATFORM=linux/arm64 ./load-oci-archives.sh
Commands
./load-oci-archives.sh loads the oci tarball into Docker.
The regctl cli is required to run this script. make: *** [Makefile:355: load-images] Error 1
I will pick an installation method: https://github.com/regclient/regclient/blob/main/docs/install.md
I think I have a few follow-ups here:
And a few more questions: Would it make sense to choose installation methods for users for buildx and/or regctl and automate in the Makefile? Would it make sense to wire the load-images target up to the integration target in the Makefile to smooth this rough edge?
Incidentally, I filed this: https://github.com/regclient/regclient/security/advisories/GHSA-2rq7-cqrj-xgrg
I confirmed re-running my trivial repro of the single suite works after downloading a regctl
binary to support the load-images
target:
make images load-images && SUITES="suites/admin-endpoints" make integration
[snip]
[2023-03-02T19:13:35Z] "admin-endpoints" test suite succeeded.
I confirmed whole suite works except for k8s
but that is a known issue in my development environment.
make images load-images integration
The regctl team responded by pointing me at their docs regarding verifying signatures that I had missed: https://github.com/regclient/regclient/blob/main/docs/install.md#verifying-signatures
I muddled my way through with breadcrumbs from the low-level error output I was seeing with the exception of figuring out that I now need load-images
target for running integration
target. Perhaps that could/should be codified in the Makefile? I'm not sure of any counterpoint, but can imagine there might be some.
If I ever get around to it, I'll try to put up a PR that safely handles docker TLS env and context, but don't hold your breath.
This was merged recently: https://github.com/spiffe/spire/pull/3940
I'll close this for now. If you have follow up PRs suggesting documentation clarity, that would be appreciated :)
Linux ztrain 5.10.147+ #1 SMP Thu Nov 10 10:14:30 UTC 2022 x86_64 GNU/Linux
Minimal repro:
I also tinkered with the
fetch-x509-svids
suite. In that one, I was able to get past the config error by changing thedefault_x509_svid_ttl
todefault_svid_ttl
in itsconf/server/server.conf
. Then the test continued, but failed because the cache count didn't match. This leads me to believe the current code is not the system under test. I was not immediately able to find where in the test setup it could be reaching stale code.