#19 Publish AMQP messages when new images are published
Merged by jcline. Opened by jcline.

This is best reviewed commit by commit.

The first one moves the existing Python package into a sub-directory and should introduce no functional changes (beyond adjusting a path in the container file).

The next one defines the message schema, and the last one actually adds the message publishing.

I put what I thought would be relevant in the messages, but I may have missed something.

3 new commits added

  • Publish AMQP messages when new images are published
  • Add a second Python package with message schema
  • Move the message handler into a subdirectory

rebased onto 716e06190eb181f341a38482d74c142507f2f41b

Given the recent refactoring, it probably makes sense for this message to have a list of targets rather than one message per target.

rebased onto 716e06190eb181f341a38482d74c142507f2f41b

5 new commits added

  • Publish AMQP messages when new images are published
  • Add a second Python package with message schema
  • Move the message handler into a subdirectory
  • containers: only publish manifest if all current arches present (#17)
  • container manifests: tweak use of self.container_repos

rebased onto fe807fe3510191d0ad64294b794c13559d79ac75

3 new commits added

  • Publish AMQP messages when new images are published
  • Add a second Python package with message schema
  • Move the message handler into a subdirectory

@adamwill This is all rebased on top of your changes, let me know what you think of the container message. It now sends just the one message per manifest with a list of tags and registries it pushed to.

rebased onto c9d068d12c2a07a31b3faac99708bee254ee55bb

Since this is such a huge merge conflict for any other work, I'm going to go ahead and merge this. Message publishing is behind a feature flag so we still have time to address the message formats if we want to.

Pull-Request has been merged by jcline

sorry I didn't get around to reviewing this, I got tied up in Python 3.13 fixups :( will have a look at the message format when I can and see if I have any suggestions, but other folks might actually have more clue than me.

Metadata
Changes Summary 42
+2 -1
file changed
Containerfile
+1
file added
fedora-image-uploader-messages/LICENSE
+3
file added
fedora-image-uploader-messages/README.md
+3
file added
fedora-image-uploader-messages/fedora_image_uploader_messages/__init__.py
+169
file added
fedora-image-uploader-messages/fedora_image_uploader_messages/publish.py
+59
file added
fedora-image-uploader-messages/pyproject.toml
+0 -0
file renamed
tests/__init__.py
fedora-image-uploader-messages/tests/__init__.py
+115
file added
fedora-image-uploader-messages/tests/test_publish.py
+34
file added
fedora-image-uploader-messages/tox.ini
+1
file added
fedora-image-uploader/LICENSE
+1
file added
fedora-image-uploader/README.md
+0 -0
file renamed
fedora_image_uploader/__init__.py
fedora-image-uploader/fedora_image_uploader/__init__.py
+0 -0
file renamed
fedora_image_uploader/cli.py
fedora-image-uploader/fedora_image_uploader/cli.py
+72 -10
file renamed
fedora_image_uploader/handler.py
fedora-image-uploader/fedora_image_uploader/handler.py
+0 -0
file renamed
fedora_image_uploader/playbooks/azure.yml
fedora-image-uploader/fedora_image_uploader/playbooks/azure.yml
+1 -0
file renamed
pyproject.toml
fedora-image-uploader/pyproject.toml
+0
file added
fedora-image-uploader/tests/__init__.py
+1 -0
file renamed
tests/conftest.py
fedora-image-uploader/tests/conftest.py
+739
file added
fedora-image-uploader/tests/fixtures/cassettes/test_azure_messages.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_bodhi_fail.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_bodhi_fail.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_containers[compose0].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_containers[compose0].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_containers[compose1].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_containers[compose1].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_containers_registries_not_configured.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_containers_registries_not_configured.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_download_image.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_download_image.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_eol_synthesis.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_eol_synthesis.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_gallery_name[compose0].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_gallery_name[compose0].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_gallery_name[compose1].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_gallery_name[compose1].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_gallery_name[compose2].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_gallery_name[compose2].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_gallery_name[compose3].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_gallery_name[compose3].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_gallery_name[compose4].yaml
fedora-image-uploader/tests/fixtures/cassettes/test_gallery_name[compose4].yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_old_unsupported_azure_compose.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_old_unsupported_azure_compose.yaml
+0 -0
file renamed
tests/fixtures/cassettes/test_release_info.yaml
fedora-image-uploader/tests/fixtures/cassettes/test_release_info.yaml
+0 -0
file renamed
tests/fixtures/http/test.img.xz
fedora-image-uploader/tests/fixtures/http/test.img.xz
+0 -0
file renamed
tests/fixtures/messages/beta_compose.json
fedora-image-uploader/tests/fixtures/messages/beta_compose.json
+0 -0
file renamed
tests/fixtures/messages/branched_compose.json
fedora-image-uploader/tests/fixtures/messages/branched_compose.json
+0 -0
file renamed
tests/fixtures/messages/non_cloud_compose.json
fedora-image-uploader/tests/fixtures/messages/non_cloud_compose.json
+0 -0
file renamed
tests/fixtures/messages/rawhide_compose.json
fedora-image-uploader/tests/fixtures/messages/rawhide_compose.json
+0 -0
file renamed
tests/fixtures/messages/rc_compose.json
fedora-image-uploader/tests/fixtures/messages/rc_compose.json
+0 -0
file renamed
tests/fixtures/messages/stable_nightly_compose.json
fedora-image-uploader/tests/fixtures/messages/stable_nightly_compose.json
+0 -0
file renamed
tests/fixtures/messages/unsupported_for_azure.json
fedora-image-uploader/tests/fixtures/messages/unsupported_for_azure.json
+74 -5
file renamed
tests/test_handler.py
fedora-image-uploader/tests/test_handler.py
+1 -0
file renamed
tox.ini
fedora-image-uploader/tox.ini