Skip to content

chore: backports - #228

Merged
dariofaccin merged 15 commits into
track/1.15from
chore/backports
Apr 8, 2026
Merged

dariofaccin merged 15 commits into
track/1.15from
chore/backports

Conversation

renovate Bot and others added 15 commits April 3, 2026 14:31
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [boto3](https://redirect.github.com/boto/boto3) | `1.40.25` ->
`1.40.26` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/boto3/1.40.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/boto3/1.40.25/1.40.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>boto/boto3 (boto3)</summary>

###
[`v1.40.26`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14026)

[Compare
Source](https://redirect.github.com/boto/boto3/compare/1.40.25...1.40.26)

\=======

- api-change:`iotsitewise`: \[`botocore`] Add ComputationModelVersion
support in IoT SiteWise APIs
- api-change:`s3`: \[`botocore`] This release includes backward
compatibility work on the "Expires" parameter.
- api-change:`securityhub`: \[`botocore`] This release adds the
RESOURCE\_NOT\_FOUND error code as a possible value in responses to the
following operations: BatchGetStandardsControlAssociations,
BatchUpdateStandardsControlAssociations, and BatchGetSecurityControls.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/velero-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[typing-inspection](https://redirect.github.com/pydantic/typing-inspection)
([changelog](https://redirect.github.com/pydantic/typing-inspection/blob/main/HISTORY.md))
| `==0.4.0` -> `==0.4.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/typing-inspection/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/typing-inspection/0.4.0/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pydantic/typing-inspection (typing-inspection)</summary>

###
[`v0.4.1`](https://redirect.github.com/pydantic/typing-inspection/blob/HEAD/HISTORY.md#v041-2025-05-21)

[Compare
Source](https://redirect.github.com/pydantic/typing-inspection/compare/v0.4.0...v0.4.1)

- Use `list` as a type hint for `InspectedAnnotation.metadata` by
[@&#8203;Viicos](https://redirect.github.com/Viicos) in
[#&#8203;43](https://redirect.github.com/pydantic/typing-inspection/pull/43)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/velero-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [wrapt](https://redirect.github.com/GrahamDumpleton/wrapt)
([changelog](https://wrapt.readthedocs.io/en/latest/changes.html)) |
`==1.17.2` -> `==1.17.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/wrapt/1.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/wrapt/1.17.2/1.17.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>GrahamDumpleton/wrapt (wrapt)</summary>

###
[`v1.17.3`](https://redirect.github.com/GrahamDumpleton/wrapt/releases/tag/1.17.3):
wrapt-1.17.3

[Compare
Source](https://redirect.github.com/GrahamDumpleton/wrapt/compare/1.17.2...1.17.3)

See the project page on the Python Package Index at
<https://pypi.org/project/wrapt/1.17.3/> for more information.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/velero-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [anyio](https://redirect.github.com/agronholm/anyio)
([changelog](https://anyio.readthedocs.io/en/stable/versionhistory.html))
| `==4.9.0` -> `==4.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/anyio/4.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/anyio/4.9.0/4.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>agronholm/anyio (anyio)</summary>

###
[`v4.10.0`](https://redirect.github.com/agronholm/anyio/releases/tag/4.10.0)

[Compare
Source](https://redirect.github.com/agronholm/anyio/compare/4.9.0...4.10.0)

- Added the `feed_data()` method to the `BufferedByteReceiveStream`
class, allowing users to inject data directly into the buffer
- Added various class methods to wrap existing sockets as listeners or
socket streams:
  - `SocketListener.from_socket()`
  - `SocketStream.from_socket()`
  - `UNIXSocketStream.from_socket()`
  - `UDPSocket.from_socket()`
  - `ConnectedUDPSocket.from_socket()`
  - `UNIXDatagramSocket.from_socket()`
  - `ConnectedUNIXDatagramSocket.from_socket()`
- Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects
- Added context manager mix-in classes (`anyio.ContextManagerMixin` and
`anyio.AsyncContextManagerMixin`) to help write classes that embed other
context managers, particularly cancel scopes or task groups
([#&#8203;905](https://redirect.github.com/agronholm/anyio/pull/905); PR
by [@&#8203;agronholm](https://redirect.github.com/agronholm) and
[@&#8203;tapetersen](https://redirect.github.com/tapetersen))
- Added the ability to specify the thread name in
`start_blocking_portal()`
([#&#8203;818](https://redirect.github.com/agronholm/anyio/issues/818);
PR by
[@&#8203;davidbrochart](https://redirect.github.com/davidbrochart))
- Added `anyio.notify_closing` to allow waking `anyio.wait_readable` and
`anyio.wait_writable` before closing a socket. Among other things, this
prevents an OSError on the `ProactorEventLoop`.
([#&#8203;896](https://redirect.github.com/agronholm/anyio/pull/896); PR
by [@&#8203;graingert](https://redirect.github.com/graingert))
- Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)
- Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's
- Updated the `to_interpreters` module to use the public
`concurrent.interpreters` API on Python 3.14 or later
- Fixed `anyio.Path.copy()` and `anyio.Path.copy_into()` failing on
Python 3.14.0a7
- Fixed return annotation of `__aexit__` on async context managers. CMs
which can suppress exceptions should return `bool`, or `None` otherwise.
([#&#8203;913](https://redirect.github.com/agronholm/anyio/pull/913); PR
by [@&#8203;Enegg](https://redirect.github.com/Enegg))
- Fixed rollover boundary check in `SpooledTemporaryFile` so that
rollover only occurs when the buffer size exceeds `max_size`
([#&#8203;915](https://redirect.github.com/agronholm/anyio/pull/915); PR
by [@&#8203;11kkw](https://redirect.github.com/11kkw))
- Migrated testing and documentation dependencies from extras to
dependency groups
- Fixed compatibility of `anyio.to_interpreter` with Python 3.14.0b2
([#&#8203;926](https://redirect.github.com/agronholm/anyio/issues/926);
PR by [@&#8203;hroncok](https://redirect.github.com/hroncok))
- Fixed `SyntaxWarning` on Python 3.14 about `return` in `finally`
([#&#8203;816](https://redirect.github.com/agronholm/anyio/issues/816))
- Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage
([#&#8203;880](https://redirect.github.com/agronholm/anyio/issues/880);
PR by [@&#8203;vimfu](https://redirect.github.com/vimfu))
- Renamed the `BrokenWorkerIntepreter` exception to
`BrokenWorkerInterpreter`. The old name is available as a deprecated
alias.
([#&#8203;938](https://redirect.github.com/agronholm/anyio/pull/938); PR
by [@&#8203;ayussh-verma](https://redirect.github.com/ayussh-verma))
- Fixed an edge case in `CapacityLimiter` on asyncio where a task,
waiting to acquire a limiter gets cancelled and is subsequently granted
a token from the limiter, but before the cancellation is delivered, and
then fails to notify the next waiting task
([#&#8203;947](https://redirect.github.com/agronholm/anyio/issues/947))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/velero-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Right now the `release.yaml` workflow had hardcoded the input path to
start with `charms/`. This was most probably a copy-paste issue.
Since at this point it's adding more noice and doesn't provide much
value.

renovatebot/renovate#1254
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [certifi](https://redirect.github.com/certifi/python-certifi) |
`==2025.4.26` -> `==2025.8.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/certifi/2025.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/certifi/2025.4.26/2025.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>certifi/python-certifi (certifi)</summary>

###
[`v2025.8.3`](https://redirect.github.com/certifi/python-certifi/compare/2025.07.14...2025.08.03)

[Compare
Source](https://redirect.github.com/certifi/python-certifi/compare/2025.07.14...2025.08.03)

###
[`v2025.7.14`](https://redirect.github.com/certifi/python-certifi/compare/2025.07.09...2025.07.14)

[Compare
Source](https://redirect.github.com/certifi/python-certifi/compare/2025.07.09...2025.07.14)

###
[`v2025.7.9`](https://redirect.github.com/certifi/python-certifi/compare/2025.06.15...2025.07.09)

[Compare
Source](https://redirect.github.com/certifi/python-certifi/compare/2025.06.15...2025.07.09)

###
[`v2025.6.15`](https://redirect.github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

[Compare
Source](https://redirect.github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/velero-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
# Add Velero Scheduled Backup Support

Enable automated recurring backups so client charms don't have to rely
on manual backup triggers.

As a charm operator, I can:

- Configure automated backups by setting a cron expression (e.g.,
`schedule: "0 2 * * *"` for daily backups at 2 AM), so I don't have to
manually trigger backups
- Update the backup frequency by changing the cron expression, and the
schedule automatically updates without needing to delete and recreate it
- Pause scheduled backups during maintenance windows without losing my
configuration, then resume them when ready
- Remove scheduled backups by clearing the schedule config, and the
operator cleans up the Velero Schedule CR for me
- Skip the initial backup when creating a schedule by setting
`skip_immediately: true`, so I can set up future backups without
triggering one immediately
- Auto-cleanup old backups by setting `use_owner_references_in_backup:
true`, so when I delete a schedule, all its associated backups are
garbage collected

## How to test

Run unit tests:
```bash
tox -e unit
```

Run integration tests:
```bash
tox -e integration -- tests/integration/test_schedule.py
```

---------

Signed-off-by: jneo8 <james.lin@canonical.com>
- Add grafana dashboard from
https://grafana.com/grafana/dashboards/16829-kubernetes-tanzu-velero/
- Use charmlib `grafana-k8s.grafana_dashboard` latest (0.47)
- Update `cosl` to latest to address dependency issue
The PR adds relation tests between `azure-auth-integrator` and
`velero-operator` charms.

As we currently do not test on the real AKS cluster, the new tests only
verify that the `velero-operator` charm receives the service-principal
credentials and enters a Blocked state while trying to retrieve the
resource group from the k8s nodes.

The PR also updates the deps and introduces the parallel integration
testing and in-advance charm builds to speed up the CI.

---------

Signed-off-by: Deezzir <yurii.kondrakov@canonical.com>
* Provide the charm with Prometheus rules from [upstream
template](https://github.com/vmware-tanzu/helm-charts/blob/5b4838ca911069d58ef4f4231bb900f9ae0764b0/charts/velero/values.yaml#L297) with some updates:
- Change NoNewBackup to NoNewDailyBackup with warning severity
- Add NoNewWeeklyBackup with critical severity

* Add corresponding unit tests and CI.

**Notice**: The rules only work for scheduled backups.
Signed-off-by: Deezzir <yurii.kondrakov@canonical.com>
The PR add "selective restore" filters to the Velero Operator charm’s
`restore` action used to create backups requested by client charms,
mirroring Velero CLI filtering flags.

New action parameters:
- `include-namespaces`
- `exclude-namespaces`
- `include-resources`
- `exclude-resources`
- `selector`
- `or-selector`

Closes: #164

---------

Signed-off-by: Deezzir <yurii.kondrakov@canonical.com>
This PR add GCP support for velero. 

- add `object_storage` lib
- add logic (charm config / handler) to handle gcp support
- add unit test and basic functional test (for testing in real google
cloud)
@dariofaccin
dariofaccin requested review from Deezzir and jneo8 April 3, 2026 12:35

@jneo8 jneo8 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems match the history:

git log --oneline --left-right upstream/main...upstream/track/1.15

< 7bb9e3b (tag: rev469, upstream/main, upstream/HEAD, main) Support GCP storage provider (#216)
< aa1afee (tag: rev462) Selective restore filters (#215)
< b50ead5 (tag: rev461) Update Copyrights to 2026 (#217)
< efab9fb (tag: rev455) feat: support Prometheus rules (#212)
< fcf9c71 Add tests for azure-auth-integrator (#214)
< 4ce1738 (tag: rev442) feat: add grafana dashboard (#213)
< 6e66da4 (tag: rev441) feat: velero schedule backup (#211)
< 107e2ea (tag: rev435) chore: switch to otel-collector in integration test (#210)
< 8dfc7a7 (tag: rev421, origin/main) chore(deps): update dependency certifi to v2025.8.3 (#191)
< 04cefd6 (tag: rev420) chore: disable renovate (#204)
< 18cc3dd (tag: rev404) fix: Remove hardcoded path of multi-charm repos in release.yaml (#199)
< 1d017ef (tag: rev394) chore(deps): update dependency anyio to v4.10.0 (#190)
< 1e937b4 chore(deps): update dependency wrapt to v1.17.3 (#189)
< 90b6144 (tag: rev392) chore(deps): update dependency typing-inspection to v0.4.1 (#188)
< d844eda (tag: rev393) chore(deps): update dependency boto3 to v1.40.26 (#186)

@dariofaccin
dariofaccin merged commit 03069a6 into track/1.15 Apr 8, 2026
31 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants