Skip to content

Bump pillow from 12.1.1 to 12.2.0 in /requirements#4

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/pip/requirements/pillow-12.2.0
Open

Bump pillow from 12.1.1 to 12.2.0 in /requirements#4
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/pip/requirements/pillow-12.2.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 14, 2026

Bumps pillow from 12.1.1 to 12.2.0.

Release notes

Sourced from pillow's releases.

12.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html

Documentation

Dependencies

Testing

Other changes

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

baditaflorin and others added 2 commits April 14, 2026 02:58
Source: platform_server main @ d83323f
Generated by: scripts/publish_to_serverclaw.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](python-pillow/Pillow@12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.2.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Apr 14, 2026
@baditaflorin baditaflorin force-pushed the main branch 3 times, most recently from e532e09 to d5a4d83 Compare April 14, 2026 15:27
@baditaflorin baditaflorin force-pushed the main branch 3 times, most recently from e12f901 to 0620729 Compare April 23, 2026 11:11
baditaflorin added a commit that referenced this pull request Apr 23, 2026
…y path resolve (#34)

* fork-bootstrap: register converge-site in workflow catalog

Stage 5 of `make bootstrap` (introduced 2026-04-09) calls
`make preflight WORKFLOW=converge-site`, but the workflow was never
added to config/workflow-catalog.json. Every fresh-host bootstrap
attempt failed with "Unknown workflow: converge-site" the moment
Stages 2-4 finished green.

Register converge-site as a sibling of live-apply-site:
- requires bootstrap_ssh_private_key + controller-local-base manifest
- mutation execution_class
- 5400s budget for full-platform converge across 32 hosts

Why a new workflow rather than reusing live-apply-site: the live-apply
target also runs check-canonical-truth, vulnerability_budget, and
service_redundancy gates, all of which assume a steady-state platform.
Stage 5 must succeed on a freshly bootstrapped host before any of
those gates can be satisfied; live-apply remains the right path for
day-2 reconverges.

Part of ADR 0424 fork-clone validation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fork-bootstrap: multi-inventory + bypass scope runner for converge-site

Three gaps that blocked Stage 5 of `make bootstrap` on a fresh host
when PLATFORM_IDENTITY_OVERLAY is set (ADR 0437 / ADR 0424):

1. ansible_scope_runner rejected multi-inventory CLI
   `--inventory A -i B` silently dumped the `-i B` tail into the
   `ansible_args` REMAINDER and the planner only saw the first
   inventory. argparse's REMAINDER eats anything beginning with `-`
   once the first positional slot is filled.

   Fix: pre-normalise `-i PATH` -> `--inventory PATH` before argparse
   runs (stopping at the first `--` sentinel so downstream passthroughs
   stay untouched), switch `--inventory` to an appendable list, and
   thread `inventory_paths` end-to-end through plan_playbook_execution,
   run_planned_playbook, and discover_target_hosts so every
   ansible-playbook/inventory subprocess gets every `-i`.

2. converge-site cannot be planned by the scope catalog
   site.yml composes nested `import_playbook` + Jinja2 ternaries that
   the scope runner's hosts-expression grammar can't resolve. For the
   bootstrap path we need to run the full collection site playbook
   unmediated; otherwise the planner errors out before a single task
   runs. This is the same trade-off live-apply-site already accepts.

   Fix: converge-site now calls `ansible-playbook` directly with both
   inventories, `proxmox_guest_ssh_connection_mode=proxmox_host_jump`,
   the overlay extra-vars wiring, and the bootstrap key. Preflight and
   validate workflow wiring unchanged.

3. PLATFORM_IDENTITY_OVERLAY was resolved relative to the worktree
   Worktrees intentionally lack `.local/` (ADR 0376), so a value like
   `.local/identity.yml.0fork` crashed with "Could not find or access"
   even though the overlay existed at the main repo's `.local/`.

   Fix: if PLATFORM_IDENTITY_OVERLAY is a relative path starting with
   `.local/`, rewrite it through LOCAL_OVERLAY_ROOT (which already
   resolves to the main repo's `.local/` in worktree context).

Stage 5 run #4 with this stack applied is now actively converging
through the proxmox_network role on fork-pve-01 -- the first time the
one-command bootstrap has crossed into Stage 5 on a fresh host.

Workstream manifest: add the two scoped-runner files to
ws_0424_overlay_aware_bootstrap.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
baditaflorin added a commit that referenced this pull request Apr 23, 2026
* fork-bootstrap: register converge-site in workflow catalog

Stage 5 of `make bootstrap` (introduced 2026-04-09) calls
`make preflight WORKFLOW=converge-site`, but the workflow was never
added to config/workflow-catalog.json. Every fresh-host bootstrap
attempt failed with "Unknown workflow: converge-site" the moment
Stages 2-4 finished green.

Register converge-site as a sibling of live-apply-site:
- requires bootstrap_ssh_private_key + controller-local-base manifest
- mutation execution_class
- 5400s budget for full-platform converge across 32 hosts

Why a new workflow rather than reusing live-apply-site: the live-apply
target also runs check-canonical-truth, vulnerability_budget, and
service_redundancy gates, all of which assume a steady-state platform.
Stage 5 must succeed on a freshly bootstrapped host before any of
those gates can be satisfied; live-apply remains the right path for
day-2 reconverges.

Part of ADR 0424 fork-clone validation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fork-bootstrap: multi-inventory + bypass scope runner for converge-site

Three gaps that blocked Stage 5 of `make bootstrap` on a fresh host
when PLATFORM_IDENTITY_OVERLAY is set (ADR 0437 / ADR 0424):

1. ansible_scope_runner rejected multi-inventory CLI
   `--inventory A -i B` silently dumped the `-i B` tail into the
   `ansible_args` REMAINDER and the planner only saw the first
   inventory. argparse's REMAINDER eats anything beginning with `-`
   once the first positional slot is filled.

   Fix: pre-normalise `-i PATH` -> `--inventory PATH` before argparse
   runs (stopping at the first `--` sentinel so downstream passthroughs
   stay untouched), switch `--inventory` to an appendable list, and
   thread `inventory_paths` end-to-end through plan_playbook_execution,
   run_planned_playbook, and discover_target_hosts so every
   ansible-playbook/inventory subprocess gets every `-i`.

2. converge-site cannot be planned by the scope catalog
   site.yml composes nested `import_playbook` + Jinja2 ternaries that
   the scope runner's hosts-expression grammar can't resolve. For the
   bootstrap path we need to run the full collection site playbook
   unmediated; otherwise the planner errors out before a single task
   runs. This is the same trade-off live-apply-site already accepts.

   Fix: converge-site now calls `ansible-playbook` directly with both
   inventories, `proxmox_guest_ssh_connection_mode=proxmox_host_jump`,
   the overlay extra-vars wiring, and the bootstrap key. Preflight and
   validate workflow wiring unchanged.

3. PLATFORM_IDENTITY_OVERLAY was resolved relative to the worktree
   Worktrees intentionally lack `.local/` (ADR 0376), so a value like
   `.local/identity.yml.0fork` crashed with "Could not find or access"
   even though the overlay existed at the main repo's `.local/`.

   Fix: if PLATFORM_IDENTITY_OVERLAY is a relative path starting with
   `.local/`, rewrite it through LOCAL_OVERLAY_ROOT (which already
   resolves to the main repo's `.local/` in worktree context).

Stage 5 run #4 with this stack applied is now actively converging
through the proxmox_network role on fork-pve-01 -- the first time the
one-command bootstrap has crossed into Stage 5 on a fresh host.

Workstream manifest: add the two scoped-runner files to
ws_0424_overlay_aware_bootstrap.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fork-bootstrap: emit overlay host_vars next to overlay inventory

Stage 4 (guest provisioning) on a fresh host consulted the committed
inventory/host_vars/proxmox-host.yml (which has production 10.10.10.X
guest IPs) instead of the fork's .local/host_vars/proxmox-host.yml
(which intended 10.20.10.X for subnet isolation). Cloud-init baked
10.10.10.X into the 17 guests, while the generated overlay inventory
declared ansible_host=10.20.10.X for SSH — so Stage 5 tried to reach
hosts that did not exist and timed out with "Connection closed by
UNKNOWN port 65535".

Root cause: Ansible only auto-discovers host_vars from directories
co-located with the inventory file. The fork layout has
.local/inventory/hosts.yml (discovered) but .local/host_vars/ (NOT
discovered because it is parallel, not child).

Fix: when generate_inventory.py is invoked with --host-vars-overlay
(overlay mode), it now also writes the merged host_vars to
<out_dir>/host_vars/proxmox-host.yml — so a typical
`.local/inventory/hosts.yml` output also produces
`.local/inventory/host_vars/proxmox-host.yml`. Ansible then sees the
fork's proxmox_guests wholesale, and Stage 4 provisions guests in the
correct subnet from the start.

Net effect: `PLATFORM_IDENTITY_OVERLAY=<path> make generate-inventory`
is now a single self-contained emission; no manual symlink or copy
into .local/inventory/host_vars/ is needed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
baditaflorin added a commit that referenced this pull request Apr 23, 2026
…r cloud-init update (#36)

* fork-bootstrap: register converge-site in workflow catalog

Stage 5 of `make bootstrap` (introduced 2026-04-09) calls
`make preflight WORKFLOW=converge-site`, but the workflow was never
added to config/workflow-catalog.json. Every fresh-host bootstrap
attempt failed with "Unknown workflow: converge-site" the moment
Stages 2-4 finished green.

Register converge-site as a sibling of live-apply-site:
- requires bootstrap_ssh_private_key + controller-local-base manifest
- mutation execution_class
- 5400s budget for full-platform converge across 32 hosts

Why a new workflow rather than reusing live-apply-site: the live-apply
target also runs check-canonical-truth, vulnerability_budget, and
service_redundancy gates, all of which assume a steady-state platform.
Stage 5 must succeed on a freshly bootstrapped host before any of
those gates can be satisfied; live-apply remains the right path for
day-2 reconverges.

Part of ADR 0424 fork-clone validation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fork-bootstrap: multi-inventory + bypass scope runner for converge-site

Three gaps that blocked Stage 5 of `make bootstrap` on a fresh host
when PLATFORM_IDENTITY_OVERLAY is set (ADR 0437 / ADR 0424):

1. ansible_scope_runner rejected multi-inventory CLI
   `--inventory A -i B` silently dumped the `-i B` tail into the
   `ansible_args` REMAINDER and the planner only saw the first
   inventory. argparse's REMAINDER eats anything beginning with `-`
   once the first positional slot is filled.

   Fix: pre-normalise `-i PATH` -> `--inventory PATH` before argparse
   runs (stopping at the first `--` sentinel so downstream passthroughs
   stay untouched), switch `--inventory` to an appendable list, and
   thread `inventory_paths` end-to-end through plan_playbook_execution,
   run_planned_playbook, and discover_target_hosts so every
   ansible-playbook/inventory subprocess gets every `-i`.

2. converge-site cannot be planned by the scope catalog
   site.yml composes nested `import_playbook` + Jinja2 ternaries that
   the scope runner's hosts-expression grammar can't resolve. For the
   bootstrap path we need to run the full collection site playbook
   unmediated; otherwise the planner errors out before a single task
   runs. This is the same trade-off live-apply-site already accepts.

   Fix: converge-site now calls `ansible-playbook` directly with both
   inventories, `proxmox_guest_ssh_connection_mode=proxmox_host_jump`,
   the overlay extra-vars wiring, and the bootstrap key. Preflight and
   validate workflow wiring unchanged.

3. PLATFORM_IDENTITY_OVERLAY was resolved relative to the worktree
   Worktrees intentionally lack `.local/` (ADR 0376), so a value like
   `.local/identity.yml.0fork` crashed with "Could not find or access"
   even though the overlay existed at the main repo's `.local/`.

   Fix: if PLATFORM_IDENTITY_OVERLAY is a relative path starting with
   `.local/`, rewrite it through LOCAL_OVERLAY_ROOT (which already
   resolves to the main repo's `.local/` in worktree context).

Stage 5 run #4 with this stack applied is now actively converging
through the proxmox_network role on fork-pve-01 -- the first time the
one-command bootstrap has crossed into Stage 5 on a fresh host.

Workstream manifest: add the two scoped-runner files to
ws_0424_overlay_aware_bootstrap.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fork-bootstrap: emit overlay host_vars next to overlay inventory

Stage 4 (guest provisioning) on a fresh host consulted the committed
inventory/host_vars/proxmox-host.yml (which has production 10.10.10.X
guest IPs) instead of the fork's .local/host_vars/proxmox-host.yml
(which intended 10.20.10.X for subnet isolation). Cloud-init baked
10.10.10.X into the 17 guests, while the generated overlay inventory
declared ansible_host=10.20.10.X for SSH — so Stage 5 tried to reach
hosts that did not exist and timed out with "Connection closed by
UNKNOWN port 65535".

Root cause: Ansible only auto-discovers host_vars from directories
co-located with the inventory file. The fork layout has
.local/inventory/hosts.yml (discovered) but .local/host_vars/ (NOT
discovered because it is parallel, not child).

Fix: when generate_inventory.py is invoked with --host-vars-overlay
(overlay mode), it now also writes the merged host_vars to
<out_dir>/host_vars/proxmox-host.yml — so a typical
`.local/inventory/hosts.yml` output also produces
`.local/inventory/host_vars/proxmox-host.yml`. Ansible then sees the
fork's proxmox_guests wholesale, and Stage 4 provisions guests in the
correct subnet from the start.

Net effect: `PLATFORM_IDENTITY_OVERLAY=<path> make generate-inventory`
is now a single self-contained emission; no manual symlink or copy
into .local/inventory/host_vars/ is needed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(proxmox_guests): preserve firewall flag in --net0; wait for SSH after cloud-init update

proxmox_guests : Apply guest hardware and cloud-init settings was setting
--net0 without the firewall= flag, stripping the firewall=0 that
proxmox_network had just applied. This caused pve-firewall to re-evaluate
the per-VM policy on the next cycle, which triggered a brief NIC
hot-reconfigure that raced with the first guest play's Gathering Facts.

Two fixes:
1. Carry `firewall=0/1` (from proxmox_firewall_enabled) through --net0 so
   proxmox_guests never strips what proxmox_network set.
2. Add a wait_for SSH check after the cloud-init update step so the role
   guarantees all guests are SSH-reachable before the proxmox-host play ends
   and Ansible transitions to the first guest play.

Root cause of Stage 5 runs #4-#6 all failing at nginx UNREACHABLE.
Ref: ws-0424-fork-clone-0fork, ws_0424_fresh_host_bootstrap_fixes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
@baditaflorin baditaflorin force-pushed the main branch 10 times, most recently from a4c58b0 to d8e6b32 Compare April 29, 2026 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant