An AMQP consumer that automatically uploads Cloud images to their respective homes.
  • Python 99.2%
  • Dockerfile 0.8%
Find a file
Daniel Milnes 658016a534
Fixup failing AWS test
Not totally sure about this one, I've removed a couple of test
conditions where it seems like an image was expected to be filtered out
but the only thing which has changed since the previous line was
removing the thing that caused it to be filtered in the first place.

Happy to put these back if someone can explain what the intention was.
2026-04-26 16:45:57 +01:00
fedora-image-tester Skip Azure tests if the Azure environment variables aren't set 2026-04-26 16:18:41 +01:00
fedora-image-uploader Fixup failing AWS test 2026-04-26 16:45:57 +01:00
fedora-image-uploader-messages Make all tests runnable through hatch test 2026-04-26 16:13:40 +01:00
Containerfile Update fedora-image-uploader image to F43 2026-01-20 10:09:51 -05:00
Containerfile.fit Update to LISA 20260330.1 2026-04-03 12:32:21 -04:00
fedora-messaging-fit.toml.example fedora-image-tester: various fix-ups 2025-11-10 13:28:30 -05:00
fedora-messaging.toml.example Add support for Google Cloud Platform 2024-11-04 10:26:07 -05:00
LICENSE Initial commit 2024-03-27 17:18:39 -04:00
README.md Support publishing container images to registries (#4) 2024-05-30 13:07:27 -07:00

cloud-image-uploader

An AMQP consumer that automatically uploads Cloud and container images to their respective homes.

Configuring

The fedora-messaging service is the container entrypoint and is also used to provide most of the configuration. An example configuration file is included and the full list of options are in fedora-messaging's configuration documentation. The FEDORA_MESSAGING_CONF environment variable should be set to the configuration file's location.

In addition to fedora-messaging, the Azure Ansible collection needs Azure credentials provided. It supports using environment variables, a credentials file at ~/.azure/credentials or the azure-cli credentials. For example, to authenticate via environment variables using an app registration in the Microsoft Entra ID service with a client secret, setting the AZURE_TENANT, AZURE_CLIENT_ID, and AZURE_SECRET along with the AZURE_SUBSCRIPTION_ID will be picked up by the Ansible playbook. The app registration needs to be configured in the given subscription's access control settings.

Container image upload to registries uses the skopeo and buildah commands, so for this to work, the system must be in a state such that these commands have the necessary credentials to upload to the registries configured, non-interactively. If no container registries are configured, container images will not be handled.