An AMQP consumer that automatically uploads Cloud images to their respective homes.
  • Python 99.7%
  • Dockerfile 0.3%
Find a file
Jeremy Cline cbcb72860d
Some checks failed
/ test (push) Failing after 23s
azure: maybe fix crashing on gallery creation
Somewhat recently, Azure images started failing to upload, crashing when
calling azure_compute_client.gallery_images.begin_create_or_update with
a server-side error of "HttpResponseError: (InvalidParameter) Required
parameter 'galleryImageVersionName' is missing (null)."

It _seems_ like it no longer allows updating a gallery image (even if
there are no actual updates happening, it just declares it as it always
was) with features that don't include a version within that gallery
where the feature is first enabled.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-06-10 12:33:44 -04:00
.forgejo/workflows Add Forgejo job to run tests 2026-04-26 17:22:31 +01:00
fedora-image-tester fedora-image-tester: Tweak requires to fix the container build 2026-04-27 15:46:48 -04:00
fedora-image-uploader azure: maybe fix crashing on gallery creation 2026-06-10 12:33:44 -04:00
fedora-image-uploader-messages Make all tests runnable through hatch test 2026-04-26 16:13:40 +01:00
.gitignore Add a .gitignore 2026-04-26 17:23:09 +01:00
Containerfile Update fedora-image-uploader image to F43 2026-01-20 10:09:51 -05:00
Containerfile.fit Update LISA to 20260521.1 2026-06-10 11:10:13 -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.