FreeNAS/freenas 05d162csrc/middlewared/middlewared/api/v27_0_0 app.py, src/middlewared/middlewared/plugins/apps/ix_apps portals.py query.py

Surface x-action-required compose extension on app.query
DeltaFile
+6-2src/middlewared/middlewared/plugins/apps/ix_apps/portals.py
+2-0src/middlewared/middlewared/plugins/apps/ix_apps/query.py
+2-0src/middlewared/middlewared/api/v27_0_0/app.py
+10-23 files

FreeNAS/freenas a1e54fdsrc/middlewared/middlewared/plugins/apps/ix_apps query.py

Fix get_instance issue
DeltaFile
+10-5src/middlewared/middlewared/plugins/apps/ix_apps/query.py
+10-51 files

FreeNAS/freenas 1d33c4csrc/middlewared/middlewared/plugins/vm utils.py crud.py, src/middlewared/middlewared/pytest/unit/plugins/vm test_state_utils.py

Move VM NVRAM and TPM atomically with VM rename
DeltaFile
+175-0src/middlewared/middlewared/pytest/unit/plugins/vm/test_state_utils.py
+110-0src/middlewared/middlewared/plugins/vm/utils.py
+38-19src/middlewared/middlewared/plugins/vm/crud.py
+323-193 files

FreeNAS/freenas 76bcd68src/middlewared/middlewared/api/v27_0_0 app.py

Fix integration tests
DeltaFile
+7-7src/middlewared/middlewared/api/v27_0_0/app.py
+7-71 files

FreeNAS/freenas 513ad5fsrc/middlewared/middlewared/plugins/update_ install_linux.py

prevent unlicensed LTS installation
DeltaFile
+58-0src/middlewared/middlewared/plugins/update_/install_linux.py
+58-01 files

FreeNAS/freenas edbb16csrc/middlewared/middlewared/api/v26_0_0 system_product.py, src/middlewared/middlewared/api/v27_0_0 truenas.py

Fix tests
DeltaFile
+5-2tests/runtest.py
+2-4src/middlewared/middlewared/plugins/truenas/license_utils.py
+3-1src/middlewared/middlewared/api/v27_0_0/truenas.py
+2-1src/middlewared/middlewared/plugins/truenas/license_legacy_utils.py
+1-1src/middlewared/middlewared/plugins/container/info.py
+1-1src/middlewared/middlewared/api/v26_0_0/system_product.py
+14-105 files not shown
+20-1411 files

FreeNAS/freenas c3f05a8src/middlewared/middlewared/pytest/unit/plugins test_libvirt_device_uniqueness.py, src/middlewared/middlewared/utils/libvirt utils.py nic.py

Prevent duplicate device attachment on VMs and containers
DeltaFile
+533-0src/middlewared/middlewared/pytest/unit/plugins/test_libvirt_device_uniqueness.py
+59-15src/middlewared/middlewared/utils/libvirt/utils.py
+9-0src/middlewared/middlewared/utils/libvirt/nic.py
+7-1src/middlewared/middlewared/utils/libvirt/pci.py
+8-0src/middlewared/middlewared/utils/libvirt/usb.py
+7-0src/middlewared/middlewared/utils/libvirt/gpu.py
+623-163 files not shown
+635-229 files

FreeNAS/freenas 5d59982src/middlewared/middlewared/apps webshell_app.py

More fixes
DeltaFile
+4-3src/middlewared/middlewared/apps/webshell_app.py
+4-31 files

FreeNAS/freenas da3c3b6src/middlewared/middlewared/plugins/apps available_apps_info.py

Fix app.latest/app.available models mismatch
DeltaFile
+15-10src/middlewared/middlewared/plugins/apps/available_apps_info.py
+15-101 files

FreeNAS/freenas 0c7ed8fsrc/middlewared/middlewared/plugins/apps upgrade.py app_scale.py

Some more fixes
DeltaFile
+12-5src/middlewared/middlewared/plugins/apps/upgrade.py
+6-2src/middlewared/middlewared/plugins/apps/app_scale.py
+2-2src/middlewared/middlewared/plugins/apps/crud.py
+1-1src/middlewared/middlewared/plugins/apps/custom_app_ops.py
+1-1src/middlewared/middlewared/plugins/apps/events.py
+1-1src/middlewared/middlewared/plugins/apps/rollback.py
+23-121 files not shown
+24-137 files

FreeNAS/freenas ec8596fsrc/middlewared/middlewared/plugins/apps crud.py __init__.py

Minor fixes
DeltaFile
+4-2src/middlewared/middlewared/plugins/apps/crud.py
+5-1src/middlewared/middlewared/plugins/apps/__init__.py
+1-1src/middlewared/middlewared/plugins/apps/custom_app_ops.py
+1-0src/middlewared/middlewared/plugins/apps/ix_volumes.py
+11-44 files

FreeNAS/freenas 07d4222src/middlewared/middlewared event.py, src/middlewared/middlewared/plugins/apps logs.py

Annotate eventsource methods
DeltaFile
+8-8src/middlewared/middlewared/event.py
+1-1src/middlewared/middlewared/plugins/apps/logs.py
+9-92 files

FreeNAS/freenas 6f06629src/middlewared/middlewared/plugins/apps crud.py __init__.py, src/middlewared/middlewared/service crud_service.py base.py

Fix serialization of app.query
DeltaFile
+3-2src/middlewared/middlewared/plugins/apps/crud.py
+2-2src/middlewared/middlewared/plugins/apps/__init__.py
+1-1src/middlewared/middlewared/service/crud_service.py
+2-0src/middlewared/middlewared/service/base.py
+8-54 files

FreeNAS/freenas 4182a12src/middlewared/middlewared/plugins/apps fs_attachments.py port_attachments.py, src/middlewared/middlewared/plugins/docker config.py

Initial pass at covering app.* internal usages
DeltaFile
+10-11src/middlewared/middlewared/plugins/apps/fs_attachments.py
+6-6src/middlewared/middlewared/plugins/pool_/dataset_details.py
+6-6src/middlewared/middlewared/plugins/apps/port_attachments.py
+4-4src/middlewared/middlewared/plugins/apps/cert_attachments.py
+4-4src/middlewared/middlewared/plugins/docker/config.py
+3-3src/middlewared/middlewared/plugins/apps/logs.py
+33-348 files not shown
+46-4814 files

FreeNAS/freenas e7611e1src/middlewared/middlewared/plugins/apps __init__.py, src/middlewared/middlewared/pytest/unit/api/base test_decorator.py

Allow filterable api method to pass check annotations
DeltaFile
+14-0src/middlewared/middlewared/pytest/unit/api/base/test_decorator.py
+7-3src/middlewared/middlewared/plugins/apps/__init__.py
+9-0src/middlewared/middlewared/pytest/unit/api/handler/accept/test_accept_1.py
+2-0src/middlewared/middlewared/service/decorators.py
+32-34 files

FreeNAS/freenas 053341dsrc/middlewared/middlewared/plugins/apps schema_action_context.py schema_normalization.py

Convert app.schema.actions to be typesafe
DeltaFile
+35-39src/middlewared/middlewared/plugins/apps/schema_action_context.py
+5-1src/middlewared/middlewared/plugins/apps/schema_normalization.py
+40-402 files

FreeNAS/freenas dd7152dsrc/middlewared/middlewared/plugins/apps events.py __init__.py

Convert events to be typesafe
DeltaFile
+11-38src/middlewared/middlewared/plugins/apps/events.py
+29-1src/middlewared/middlewared/plugins/apps/__init__.py
+40-392 files

FreeNAS/freenas b9b4f77src/middlewared/middlewared/api/v27_0_0 app.py, src/middlewared/middlewared/plugins/apps upgrade_old.py upgrade.py

Convert upgrade_summary to typesafe
DeltaFile
+0-64src/middlewared/middlewared/plugins/apps/upgrade_old.py
+36-1src/middlewared/middlewared/plugins/apps/upgrade.py
+10-9src/middlewared/middlewared/plugins/apps/utils.py
+7-3src/middlewared/middlewared/api/v27_0_0/app.py
+9-1src/middlewared/middlewared/plugins/apps/__init__.py
+62-785 files

FreeNAS/freenas 743362esrc/middlewared/middlewared/api/v27_0_0 app.py, src/middlewared/middlewared/plugins/apps pull_images.py __init__.py

Move pull_images methods to be typesafe
DeltaFile
+39-47src/middlewared/middlewared/plugins/apps/pull_images.py
+20-0src/middlewared/middlewared/plugins/apps/__init__.py
+3-1src/middlewared/middlewared/plugins/apps/upgrade.py
+2-1src/middlewared/middlewared/api/v27_0_0/app.py
+64-494 files

FreeNAS/freenas 69af526src/middlewared/middlewared/plugins/apps crud.py crud_old.py

Add query/get_instance impl
DeltaFile
+91-6src/middlewared/middlewared/plugins/apps/crud.py
+0-55src/middlewared/middlewared/plugins/apps/crud_old.py
+48-7src/middlewared/middlewared/plugins/apps/__init__.py
+139-683 files

FreeNAS/freenas 7dd8496src/middlewared/middlewared/plugins/apps crud.py __init__.py

Barebones crud.py
DeltaFile
+14-0src/middlewared/middlewared/plugins/apps/crud.py
+3-0src/middlewared/middlewared/plugins/apps/__init__.py
+17-02 files

FreeNAS/freenas 91d445esrc/middlewared/middlewared/plugins/apps __init__.py

Add initial app barebones init.py file
DeltaFile
+30-0src/middlewared/middlewared/plugins/apps/__init__.py
+30-01 files

FreeNAS/freenas e64c50e.github/workflows mypy.yml

Add middlewared/plugins/apps/ix_apps/ to mypy
DeltaFile
+1-0.github/workflows/mypy.yml
+1-01 files

FreeNAS/freenas 6ef21cfsrc/middlewared/middlewared/plugins/apps crud.py available_apps_info.py

Mypy fixes
DeltaFile
+18-9src/middlewared/middlewared/plugins/apps/crud.py
+21-5src/middlewared/middlewared/plugins/apps/available_apps_info.py
+8-5src/middlewared/middlewared/plugins/apps/resources.py
+2-6src/middlewared/middlewared/plugins/apps/schema_validation.py
+5-1src/middlewared/middlewared/plugins/apps/schema_action_context.py
+1-1src/middlewared/middlewared/plugins/apps/__init__.py
+55-272 files not shown
+57-288 files

FreeNAS/freenas 35dfc57.github/workflows mypy.yml

Run mypy on apps plugin
DeltaFile
+1-1.github/workflows/mypy.yml
+1-11 files

FreeNAS/freenas cabe187src/middlewared/middlewared/plugins/apps available_apps_info.py crud.py

Initial pass at moving app related endpoitns from catalog plugin
DeltaFile
+43-0src/middlewared/middlewared/plugins/apps/available_apps_info.py
+4-12src/middlewared/middlewared/plugins/apps/crud.py
+15-0src/middlewared/middlewared/plugins/apps/utils.py
+62-123 files

FreeNAS/freenas f4d7c2dsrc/middlewared/middlewared/plugins/apps __init__.py

Mark app service as generic
DeltaFile
+1-0src/middlewared/middlewared/plugins/apps/__init__.py
+1-01 files

FreeNAS/freenas 2a21fc3src/middlewared/middlewared/plugins/apps resources.py __init__.py

minor fixmes
DeltaFile
+3-5src/middlewared/middlewared/plugins/apps/resources.py
+0-1src/middlewared/middlewared/plugins/apps/__init__.py
+3-62 files

FreeNAS/freenas 50a323bsrc/middlewared/middlewared/api/v27_0_0 app.py, src/middlewared/middlewared/plugins/apps rollback.py __init__.py

Convert rollback to typesafe
DeltaFile
+73-85src/middlewared/middlewared/plugins/apps/rollback.py
+24-0src/middlewared/middlewared/plugins/apps/__init__.py
+1-1src/middlewared/middlewared/api/v27_0_0/app.py
+98-863 files

FreeNAS/freenas d815a96src/middlewared/middlewared/api/v27_0_0 app.py, src/middlewared/middlewared/plugins/apps upgrade_old.py upgrade.py

Convert upgrade_bulk to typesafe
DeltaFile
+0-29src/middlewared/middlewared/plugins/apps/upgrade_old.py
+22-1src/middlewared/middlewared/plugins/apps/upgrade.py
+19-2src/middlewared/middlewared/plugins/apps/__init__.py
+1-1src/middlewared/middlewared/api/v27_0_0/app.py
+42-334 files