mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-04-23 17:20:38 +00:00
Merge branch 'main' into copilot/fix-9122
Some checks failed
Some checks failed
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com>
This commit is contained in:
68
.github/workflows/e2e-test-kind.yaml
vendored
68
.github/workflows/e2e-test-kind.yaml
vendored
@@ -8,16 +8,26 @@ on:
|
||||
- "design/**"
|
||||
- "**/*.md"
|
||||
jobs:
|
||||
get-go-version:
|
||||
uses: ./.github/workflows/get-go-version.yaml
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
|
||||
# Build the Velero CLI and image once for all Kubernetes versions, and cache it so the fan-out workers can get it.
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: get-go-version
|
||||
outputs:
|
||||
minio-dockerfile-sha: ${{ steps.minio-version.outputs.dockerfile_sha }}
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go version
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
go-version: ${{ needs.get-go-version.outputs.version }}
|
||||
|
||||
# Look for a CLI that's made for this PR
|
||||
- name: Fetch built CLI
|
||||
id: cli-cache
|
||||
@@ -44,6 +54,26 @@ jobs:
|
||||
run: |
|
||||
IMAGE=velero VERSION=pr-test BUILD_OUTPUT_TYPE=docker make container
|
||||
docker save velero:pr-test-linux-amd64 -o ./velero.tar
|
||||
# Check and build MinIO image once for all e2e tests
|
||||
- name: Check Bitnami MinIO Dockerfile version
|
||||
id: minio-version
|
||||
run: |
|
||||
DOCKERFILE_SHA=$(curl -s https://api.github.com/repos/bitnami/containers/commits?path=bitnami/minio/2025/debian-12/Dockerfile\&per_page=1 | jq -r '.[0].sha')
|
||||
echo "dockerfile_sha=${DOCKERFILE_SHA}" >> $GITHUB_OUTPUT
|
||||
- name: Cache MinIO Image
|
||||
uses: actions/cache@v4
|
||||
id: minio-cache
|
||||
with:
|
||||
path: ./minio-image.tar
|
||||
key: minio-bitnami-${{ steps.minio-version.outputs.dockerfile_sha }}
|
||||
- name: Build MinIO Image from Bitnami Dockerfile
|
||||
if: steps.minio-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
echo "Building MinIO image from Bitnami Dockerfile..."
|
||||
git clone --depth 1 https://github.com/bitnami/containers.git /tmp/bitnami-containers
|
||||
cd /tmp/bitnami-containers/bitnami/minio/2025/debian-12
|
||||
docker build -t bitnami/minio:local .
|
||||
docker save bitnami/minio:local > ${{ github.workspace }}/minio-image.tar
|
||||
# Create json of k8s versions to test
|
||||
# from guide: https://stackoverflow.com/a/65094398/4590470
|
||||
setup-test-matrix:
|
||||
@@ -75,20 +105,34 @@ jobs:
|
||||
needs:
|
||||
- build
|
||||
- setup-test-matrix
|
||||
- get-go-version
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix: ${{fromJson(needs.setup-test-matrix.outputs.matrix)}}
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go version
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
go-version: ${{ needs.get-go-version.outputs.version }}
|
||||
|
||||
# Fetch the pre-built MinIO image from the build job
|
||||
- name: Fetch built MinIO Image
|
||||
uses: actions/cache@v4
|
||||
id: minio-cache
|
||||
with:
|
||||
path: ./minio-image.tar
|
||||
key: minio-bitnami-${{ needs.build.outputs.minio-dockerfile-sha }}
|
||||
- name: Load MinIO Image
|
||||
run: |
|
||||
echo "Loading MinIO image..."
|
||||
docker load < ./minio-image.tar
|
||||
- name: Install MinIO
|
||||
run:
|
||||
docker run -d --rm -p 9000:9000 -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -e "MINIO_DEFAULT_BUCKETS=bucket,additional-bucket" bitnami/minio:2021.6.17-debian-10-r7
|
||||
run: |
|
||||
docker run -d --rm -p 9000:9000 -e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123" -e "MINIO_DEFAULT_BUCKETS=bucket,additional-bucket" bitnami/minio:local
|
||||
- uses: engineerd/setup-kind@v0.6.2
|
||||
with:
|
||||
skipClusterLogsExport: true
|
||||
@@ -141,7 +185,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
- name: Upload debug bundle
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: DebugBundle
|
||||
name: DebugBundle-k8s-${{ matrix.k8s }}-job-${{ strategy.job-index }}
|
||||
path: /home/runner/work/velero/velero/test/e2e/debug-bundle*
|
||||
|
||||
33
.github/workflows/get-go-version.yaml
vendored
Normal file
33
.github/workflows/get-go-version.yaml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
description: "The target branch's ref"
|
||||
required: true
|
||||
type: string
|
||||
outputs:
|
||||
version:
|
||||
description: "The expected Go version"
|
||||
value: ${{ jobs.extract.outputs.version }}
|
||||
|
||||
jobs:
|
||||
extract:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.pick-version.outputs.version }}
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- id: pick-version
|
||||
run: |
|
||||
if [ "${{ inputs.ref }}" == "main" ]; then
|
||||
version=$(grep '^go ' go.mod | awk '{print $2}' | cut -d. -f1-2)
|
||||
else
|
||||
goDirectiveVersion=$(grep '^go ' go.mod | awk '{print $2}')
|
||||
toolChainVersion=$(grep '^toolchain ' go.mod | awk '{print $2}')
|
||||
version=$(printf "%s\n%s\n" "$goDirectiveVersion" "$toolChainVersion" | sort -V | tail -n1)
|
||||
fi
|
||||
|
||||
echo "version=$version"
|
||||
echo "version=$version" >> $GITHUB_OUTPUT
|
||||
2
.github/workflows/nightly-trivy-scan.yml
vendored
2
.github/workflows/nightly-trivy-scan.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Run Trivy vulnerability scanner
|
||||
uses: aquasecurity/trivy-action@master
|
||||
|
||||
2
.github/workflows/pr-changelog-check.yml
vendored
2
.github/workflows/pr-changelog-check.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
steps:
|
||||
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Changelog check
|
||||
if: ${{ !(contains(github.event.pull_request.labels.*.name, 'kind/changelog-not-required') || contains(github.event.pull_request.labels.*.name, 'Design') || contains(github.event.pull_request.labels.*.name, 'Website') || contains(github.event.pull_request.labels.*.name, 'Documentation'))}}
|
||||
|
||||
16
.github/workflows/pr-ci-check.yml
vendored
16
.github/workflows/pr-ci-check.yml
vendored
@@ -1,18 +1,26 @@
|
||||
name: Pull Request CI Check
|
||||
on: [pull_request]
|
||||
jobs:
|
||||
get-go-version:
|
||||
uses: ./.github/workflows/get-go-version.yaml
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
|
||||
build:
|
||||
name: Run CI
|
||||
needs: get-go-version
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go version
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
go-version: ${{ needs.get-go-version.outputs.version }}
|
||||
|
||||
- name: Make ci
|
||||
run: make ci
|
||||
- name: Upload test coverage
|
||||
|
||||
2
.github/workflows/pr-codespell.yml
vendored
2
.github/workflows/pr-codespell.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Codespell
|
||||
uses: codespell-project/actions-codespell@master
|
||||
|
||||
2
.github/workflows/pr-containers.yml
vendored
2
.github/workflows/pr-containers.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
name: Checkout
|
||||
|
||||
- name: Set up QEMU
|
||||
|
||||
2
.github/workflows/pr-goreleaser.yml
vendored
2
.github/workflows/pr-goreleaser.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
name: Checkout
|
||||
|
||||
- name: Verify .goreleaser.yml and try a dryrun release.
|
||||
|
||||
20
.github/workflows/pr-linter-check.yml
vendored
20
.github/workflows/pr-linter-check.yml
vendored
@@ -7,18 +7,26 @@ on:
|
||||
- "design/**"
|
||||
- "**/*.md"
|
||||
jobs:
|
||||
get-go-version:
|
||||
uses: ./.github/workflows/get-go-version.yaml
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
|
||||
build:
|
||||
name: Run Linter Check
|
||||
runs-on: ubuntu-latest
|
||||
needs: get-go-version
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go version
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
go-version: ${{ needs.get-go-version.outputs.version }}
|
||||
|
||||
- name: Linter check
|
||||
uses: golangci/golangci-lint-action@v8
|
||||
uses: golangci/golangci-lint-action@v9
|
||||
with:
|
||||
version: v2.1.1
|
||||
version: v2.5.0
|
||||
args: --verbose
|
||||
|
||||
2
.github/workflows/push-builder.yml
vendored
2
.github/workflows/push-builder.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
# The default value is "1" which fetches only a single commit. If we merge PR without squash or rebase,
|
||||
# there are at least two commits: the first one is the merge commit and the second one is the real commit
|
||||
|
||||
15
.github/workflows/push.yml
vendored
15
.github/workflows/push.yml
vendored
@@ -9,17 +9,24 @@ on:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
get-go-version:
|
||||
uses: ./.github/workflows/get-go-version.yaml
|
||||
with:
|
||||
ref: ${{ github.ref_name }}
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
needs: get-go-version
|
||||
steps:
|
||||
- name: Check out the code
|
||||
uses: actions/checkout@v5
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go version
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
go-version: ${{ needs.get-go-version.outputs.version }}
|
||||
|
||||
- name: Set up QEMU
|
||||
id: qemu
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
2
.github/workflows/rebase.yml
vendored
2
.github/workflows/rebase.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
|
||||
2
.github/workflows/stale-issues.yml
vendored
2
.github/workflows/stale-issues.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9.1.0
|
||||
- uses: actions/stale@v10.1.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: "This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days. If a Velero team member has requested log or more information, please provide the output of the shared commands."
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Velero binary build section
|
||||
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS velero-builder
|
||||
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS velero-builder
|
||||
|
||||
ARG GOPROXY
|
||||
ARG BIN
|
||||
@@ -49,7 +49,7 @@ RUN mkdir -p /output/usr/bin && \
|
||||
go clean -modcache -cache
|
||||
|
||||
# Restic binary build section
|
||||
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS restic-builder
|
||||
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS restic-builder
|
||||
|
||||
ARG GOPROXY
|
||||
ARG BIN
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
ARG OS_VERSION=1809
|
||||
|
||||
# Velero binary build section
|
||||
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS velero-builder
|
||||
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS velero-builder
|
||||
|
||||
ARG GOPROXY
|
||||
ARG BIN
|
||||
|
||||
@@ -42,6 +42,7 @@ The following is a list of the supported Kubernetes versions for each Velero ver
|
||||
|
||||
| Velero version | Expected Kubernetes version compatibility | Tested on Kubernetes version |
|
||||
|----------------|-------------------------------------------|-------------------------------------|
|
||||
| 1.17 | 1.18-latest | 1.31.7, 1.32.3, 1.33.1, and 1.34.0 |
|
||||
| 1.16 | 1.18-latest | 1.31.4, 1.32.3, and 1.33.0 |
|
||||
| 1.15 | 1.18-latest | 1.28.8, 1.29.8, 1.30.4 and 1.31.1 |
|
||||
| 1.14 | 1.18-latest | 1.27.9, 1.28.9, and 1.29.4 |
|
||||
|
||||
2
Tiltfile
2
Tiltfile
@@ -52,7 +52,7 @@ git_sha = str(local("git rev-parse HEAD", quiet = True, echo_off = True)).strip(
|
||||
|
||||
tilt_helper_dockerfile_header = """
|
||||
# Tilt image
|
||||
FROM golang:1.24 as tilt-helper
|
||||
FROM golang:1.25 as tilt-helper
|
||||
|
||||
# Support live reloading with Tilt
|
||||
RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/windmilleng/rerun-process-wrapper/master/restart.sh && \
|
||||
|
||||
143
changelogs/CHANGELOG-1.17.md
Normal file
143
changelogs/CHANGELOG-1.17.md
Normal file
@@ -0,0 +1,143 @@
|
||||
## v1.17
|
||||
|
||||
### Download
|
||||
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.0
|
||||
|
||||
### Container Image
|
||||
`velero/velero:v1.17.0`
|
||||
|
||||
### Documentation
|
||||
https://velero.io/docs/v1.17/
|
||||
|
||||
### Upgrading
|
||||
https://velero.io/docs/v1.17/upgrade-to-1.17/
|
||||
|
||||
### Highlights
|
||||
#### Modernized fs-backup
|
||||
In v1.17, Velero fs-backup is modernized to the micro-service architecture, which brings below benefits:
|
||||
- Many features that were absent to fs-backup are now available, i.e., load concurrency control, cancel, resume on restart, etc.
|
||||
- fs-backup is more robust, the running backup/restore could survive from node-agent restart; and the resource allocation is in a more granular manner, the failure of one backup/restore won't impact others.
|
||||
- The resource usage of node-agent is steady, especially, the node-agent pods won't request huge memory and hold it for a long time.
|
||||
|
||||
Check design https://github.com/vmware-tanzu/velero/blob/main/design/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
|
||||
|
||||
#### fs-backup support Windows cluster
|
||||
In v1.17, Velero fs-backup supports to backup/restore Windows workloads. By leveraging the new micro-service architecture for fs-backup, data mover pods could run in Windows nodes and backup/restore Windows volumes. Together with CSI snapshot data movement for Windows which is delivered in 1.16, Velero now supports Windows workload backup/restore in full scenarios.
|
||||
Check design https://github.com/vmware-tanzu/velero/blob/main/design/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
|
||||
|
||||
#### Volume group snapshot support
|
||||
In v1.17, Velero supports [volume group snapshots](https://kubernetes.io/blog/2024/12/18/kubernetes-1-32-volume-group-snapshot-beta/) which is a beta feature in Kubernetes upstream, for both CSI snapshot backup and CSI snapshot data movement. This allows a snapshot to be taken from multiple volumes at the same point-in-time to achieve write order consistency, which is helpful to achieve better data consistency when multiple volumes being backed up are correlated.
|
||||
Check the document https://velero.io/docs/main/volume-group-snapshots/ for more details.
|
||||
|
||||
#### Priority class support
|
||||
In v1.17, [Kubernetes priority class](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) is supported for all modules across Velero. Specifically, users are allowed to configure priority class to Velero server, node-agent, data mover pods, backup repository maintenance jobs separately.
|
||||
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/priority-class-name-support_design.md for more details.
|
||||
|
||||
#### Scalability and Resiliency improvements of data movers
|
||||
##### Reduce excessive number of data mover pods in Pending state
|
||||
In v1.17, Velero allows users to set a `PrepareQueueLength` in the node-agent configuration, data mover pods and volumes out of this number won't be created until data path quota is available, so that excessive number cluster resources won't be taken unnecessarily, which is particularly helpful for large scale environments. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
|
||||
Check design https://github.com/vmware-tanzu/velero/blob/main/design/node-agent-load-soothing.md for more details.
|
||||
|
||||
##### Enhancement on node-agent restart handling for data movements
|
||||
In v1.17, data movements in all phases could survive from node-agent restart and resume themselves; when a data movement gets orphaned in special cases, e.g., cluster node absent, it could also be canceled appropriately after the restart. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
|
||||
Check issue https://github.com/vmware-tanzu/velero/issues/8534 for more details.
|
||||
|
||||
##### CSI snapshot data movement restore node-selection and node-selection by storage class
|
||||
In v1.17, CSI snapshot data movement restore acquires the same node-selection capability as backup, that is, users could specify which nodes can/cannot run data mover pods for both backup and restore now. And users are also allowed to configure the node-selection per storage class, which is particularly helpful to the environments where a storage class are not usable by all cluster nodes.
|
||||
Check issue https://github.com/vmware-tanzu/velero/issues/8186 and https://github.com/vmware-tanzu/velero/issues/8223 for more details.
|
||||
|
||||
#### Include/exclude policy support for resource policy
|
||||
In v1.17, Velero resource policy supports `includeExcludePolicy` besides the existing `volumePolicy`. This allows users to set include/exclude filters for resources in a resource policy configmap, so that these filters are reusable among multiple backups.
|
||||
Check the document https://velero.io/docs/main/resource-filtering/#creating-resource-policies:~:text=resources%3D%22*%22-,Resource%20policies,-Velero%20provides%20resource for more details.
|
||||
|
||||
### Runtime and dependencies
|
||||
Golang runtime: 1.24.6
|
||||
kopia: 0.21.1
|
||||
|
||||
### Limitations/Known issues
|
||||
|
||||
### Breaking changes
|
||||
#### Deprecation of Restic
|
||||
According to [Velero deprecation policy](https://github.com/vmware-tanzu/velero/blob/main/GOVERNANCE.md#deprecation-policy), backup of fs-backup under Restic path is removed in v1.17, so `--uploader-type=restic` is not a valid installation configuration anymore. This means you cannot create a backup under Restic path, but you can still restore from the previous backups under Restic path until v1.19.
|
||||
|
||||
#### Repository maintenance job configurations are removed from Velero server parameter
|
||||
Since the repository maintenance job configurations are moved to repository maintenance job configMap, in v1.17 below Velero sever parameters are removed:
|
||||
- --keep-latest-maintenance-jobs
|
||||
- --maintenance-job-cpu-request
|
||||
- --maintenance-job-mem-request
|
||||
- --maintenance-job-cpu-limit
|
||||
- --maintenance-job-mem-limit
|
||||
|
||||
### All Changes
|
||||
* Add ConfigMap parameters validation for install CLI and server start. (#9200, @blackpiglet)
|
||||
* Add priorityclasses to high priority restore list (#9175, @kaovilai)
|
||||
* Introduced context-based logger for backend implementations (Azure, GCS, S3, and Filesystem) (#9168, @priyansh17)
|
||||
* Fix issue #9140, add os=windows:NoSchedule toleration for Windows pods (#9165, @Lyndon-Li)
|
||||
* Remove the repository maintenance job parameters from velero server. (#9147, @blackpiglet)
|
||||
* Add include/exclude policy to resources policy (#9145, @reasonerjt)
|
||||
* Add ConfigMap support for keepLatestMaintenanceJobs with CLI parameter fallback (#9135, @shubham-pampattiwar)
|
||||
* Fix the dd and du's node affinity issue. (#9130, @blackpiglet)
|
||||
* Remove the WaitUntilVSCHandleIsReady from vs BIA. (#9124, @blackpiglet)
|
||||
* Add comprehensive Volume Group Snapshots documentation with workflow diagrams and examples (#9123, @shubham-pampattiwar)
|
||||
* Fix issue #9065, add doc for node-agent prepare queue length (#9118, @Lyndon-Li)
|
||||
* Fix issue #9095, update restore doc for PVC selected-node (#9117, @Lyndon-Li)
|
||||
* Update CSI Snapshot Data Movement doc for issue #8534, #8185 (#9113, @Lyndon-Li)
|
||||
* Fix issue #8986, refactor fs-backup doc after VGDP Micro Service for fs-backup (#9112, @Lyndon-Li)
|
||||
* Return error if timeout when checking server version (#9111, @ywk253100)
|
||||
* Update "Default Volumes to Fs Backup" to "File System Backup (Default)" (#9105, @shubham-pampattiwar)
|
||||
* Fix issue #9077, don't block backup deletion on list VS error (#9100, @Lyndon-Li)
|
||||
* Bump up Kopia to v0.21.1 (#9098, @Lyndon-Li)
|
||||
* Add imagePullSecrets inheritance for VGDP pod and maintenance job. (#9096, @blackpiglet)
|
||||
* Avoid checking the VS and VSC status in the backup finalizing phase. (#9092, @blackpiglet)
|
||||
* Fix issue #9053, Always remove selected-node annotation during PVC restore when no node mapping exists. Breaking change: Previously, the annotation was preserved if the node existed. (#9076, @Lyndon-Li)
|
||||
* Enable parameterized kubelet mount path during node-agent installation (#9074, @longxiucai)
|
||||
* Fix issue #8857, support third party tolerations for data mover pods (#9072, @Lyndon-Li)
|
||||
* Fix issue #8813, remove restic from the valid uploader type (#9069, @Lyndon-Li)
|
||||
* Fix issue #8185, allow users to disable pod volume host path mount for node-agent (#9068, @Lyndon-Li)
|
||||
* Fix #8344, add the design for a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9067, @Lyndon-Li)
|
||||
* Fix #8344, add a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9064, @Lyndon-Li)
|
||||
* Add Gauge metric for BSL availability (#9059, @reasonerjt)
|
||||
* Fix missing defaultVolumesToFsBackup flag output in Velero describe backup cmd (#9056, @shubham-pampattiwar)
|
||||
* Allow for proper tracking of multiple hooks per container (#9048, @sseago)
|
||||
* Make the backup repository controller doesn't invalidate the BSL on restart (#9046, @blackpiglet)
|
||||
* Removed username/password credential handling from newConfigCredential as azidentity.UsernamePasswordCredentialOptions is reported as deprecated. (#9041, @priyansh17)
|
||||
* Remove dependency with VolumeSnapshotClass in DataUpload. (#9040, @blackpiglet)
|
||||
* Fix issue #8961, cancel PVB/PVR on Velero server restart (#9031, @Lyndon-Li)
|
||||
* Fix issue #8962, resume PVB/PVR during node-agent restarts (#9030, @Lyndon-Li)
|
||||
* Bump kopia v0.20.1 (#9027, @Lyndon-Li)
|
||||
* Fix issue #8965, support PVB/PVR's cancel state in the backup/restore (#9026, @Lyndon-Li)
|
||||
* Fix Issue 8816 When specifying LabelSelector on restore, related items such as PVC and VolumeSnapshot are not included (#9024, @amastbau)
|
||||
* Fix issue #8963, add legacy PVR controller for Restic path (#9022, @Lyndon-Li)
|
||||
* Fix issue #8964, add Windows support for VGDP MS for fs-backup (#9021, @Lyndon-Li)
|
||||
* Accommodate VGS workflows in PVC CSI plugin (#9019, @shubham-pampattiwar)
|
||||
* Fix issue #8958, add VGDP MS PVB controller (#9015, @Lyndon-Li)
|
||||
* Fix issue #8959, add VGDP MS PVR controller (#9014, @Lyndon-Li)
|
||||
* Fix issue #8988, add data path for VGDP ms PVR (#9005, @Lyndon-Li)
|
||||
* Fix issue #8988, add data path for VGDP ms pvb (#8998, @Lyndon-Li)
|
||||
* Skip VS and VSC not created by backup. (#8990, @blackpiglet)
|
||||
* Make ResticIdentifier optional for kopia BackupRepositories (#8987, @kaovilai)
|
||||
* Fix issue #8960, implement PodVolume exposer for PVB/PVR (#8985, @Lyndon-Li)
|
||||
* fix: update mc command in minio-deployment example (#8982, @vishal-chdhry)
|
||||
* Fix issue #8957, add design for VGDP MS for fs-backup (#8979, @Lyndon-Li)
|
||||
* Add BSL status check for backup/restore operations. (#8976, @blackpiglet)
|
||||
* Mark BackupRepository not ready when BSL changed (#8975, @ywk253100)
|
||||
* Add support for [distributed snapshotting](https://github.com/kubernetes-csi/external-snapshotter/tree/4cedb3f45790ac593ebfa3324c490abedf739477?tab=readme-ov-file#distributed-snapshotting) (#8969, @flx5)
|
||||
* Fix issue #8534, refactor dm controllers to tolerate cancel request in more cases, e.g., node restart, node drain (#8952, @Lyndon-Li)
|
||||
* The backup and restore VGDP affinity enhancement implementation. (#8949, @blackpiglet)
|
||||
* Remove CSI VS and VSC metadata from backup. (#8946, @blackpiglet)
|
||||
* Extend PVCAction itemblock plugin to support grouping PVCs under VGS label key (#8944, @shubham-pampattiwar)
|
||||
* Copy security context from origin pod (#8943, @farodin91)
|
||||
* Add support for configuring VGS label key (#8938, @shubham-pampattiwar)
|
||||
* Add VolumeSnapshotContent into the RIA and the mustHave resource list. (#8924, @blackpiglet)
|
||||
* Mounted cloud credentials should not be world-readable (#8919, @sseago)
|
||||
* Warn for not found error in patching managed fields (#8902, @sseago)
|
||||
* Fix issue 8878, relief node os deduction error checks (#8891, @Lyndon-Li)
|
||||
* Skip namespace in terminating state in backup resource collection. (#8890, @blackpiglet)
|
||||
* Implement PriorityClass Support (#8883, @kaovilai)
|
||||
* Fix Velero adding restore-wait init container when not needed. (#8880, @kaovilai)
|
||||
* Pass the logger in kopia related operations. (#8875, @hu-keyu)
|
||||
* Inherit the dnsPolicy and dnsConfig from the node agent pod. This is done so that the kopia task uses the same configuration. (#8845, @flx5)
|
||||
* Add design for VolumeGroupSnapshot support (#8778, @shubham-pampattiwar)
|
||||
* Inherit k8s default volumeSnapshotClass. (#8719, @hu-keyu)
|
||||
* CLI automatically discovers and uses cacert from BSL for download requests (#8557, @kaovilai)
|
||||
* This PR aims to add s390x support to Velero binary. (#7505, @pandurangkhandeparker)
|
||||
@@ -1 +0,0 @@
|
||||
This PR aims to add s390x support to Velero binary.
|
||||
@@ -1 +0,0 @@
|
||||
CLI automatically discovers and uses cacert from BSL for download requests
|
||||
@@ -1 +0,0 @@
|
||||
Inherit k8s default volumeSnapshotClass.
|
||||
@@ -1 +0,0 @@
|
||||
Add design for VolumeGroupSnapshot support
|
||||
@@ -1,2 +0,0 @@
|
||||
Inherit the dnsPolicy and dnsConfig from the node agent pod.
|
||||
This is done so that the kopia task uses the same configuration.
|
||||
@@ -1 +0,0 @@
|
||||
Pass the logger in kopia related operations.
|
||||
@@ -1,7 +0,0 @@
|
||||
Fix Velero adding restore-wait init container when not needed
|
||||
|
||||
When restoring pods with volumes that were backed up using native datamover or CSI,
|
||||
Velero was unnecessarily adding the restore-wait init container. This container is
|
||||
only needed for file system restores. Now Velero checks if any volumes actually need
|
||||
file system restores and removes the init container if it's not needed, rather than
|
||||
just skipping its addition.
|
||||
@@ -1 +0,0 @@
|
||||
Implement PriorityClass Support
|
||||
@@ -1 +0,0 @@
|
||||
Skip namespace in terminating state in backup resource collection.
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue 8878, relief node os deduction error checks
|
||||
@@ -1 +0,0 @@
|
||||
Warn for not found error in patching managed fields
|
||||
@@ -1 +0,0 @@
|
||||
Mounted cloud credentials should not be world-readable
|
||||
@@ -1 +0,0 @@
|
||||
Add VolumeSnapshotContent into the RIA and the mustHave resource list.
|
||||
@@ -1 +0,0 @@
|
||||
Add support for configuring VGS label key
|
||||
@@ -1 +0,0 @@
|
||||
Copy security context from origin pod
|
||||
@@ -1 +0,0 @@
|
||||
Extend PVCAction itemblock plugin to support grouping PVCs under VGS label key
|
||||
@@ -1 +0,0 @@
|
||||
Remove CSI VS and VSC metadata from backup.
|
||||
@@ -1 +0,0 @@
|
||||
The backup and restore VGDP affinity enhancement implementation.
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8534, refactor dm controllers to tolerate cancel request in more cases, e.g., node restart, node drain
|
||||
@@ -1 +0,0 @@
|
||||
Add support for [distributed snapshotting](https://github.com/kubernetes-csi/external-snapshotter/tree/4cedb3f45790ac593ebfa3324c490abedf739477?tab=readme-ov-file#distributed-snapshotting)
|
||||
@@ -1 +0,0 @@
|
||||
Mark BackupRepository not ready when BSL changed
|
||||
@@ -1 +0,0 @@
|
||||
Add BSL status check for backup/restore operations.
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8957, add design for VGDP MS for fs-backup
|
||||
@@ -1 +0,0 @@
|
||||
fix: update mc command in minio-deployment example
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8960, implement PodVolume exposer for PVB/PVR
|
||||
@@ -1 +0,0 @@
|
||||
Make ResticIdentifier optional for kopia BackupRepositories
|
||||
@@ -1 +0,0 @@
|
||||
Skip VS and VSC not created by backup.
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8988, add data path for VGDP ms pvb
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8988, add data path for VGDP ms PVR
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8959, add VGDP MS PVR controller
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8958, add VGDP MS PVB controller
|
||||
@@ -1 +0,0 @@
|
||||
Accommodate VGS workflows in PVC CSI plugin
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8964, add Windows support for VGDP MS for fs-backup
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8963, add legacy PVR controller for Restic path
|
||||
@@ -1 +0,0 @@
|
||||
Fix Issue 8816 When specifying LabelSelector on restore, related items such as PVC and VolumeSnapshot are not included
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8965, support PVB/PVR's cancel state in the backup/restore
|
||||
@@ -1 +0,0 @@
|
||||
Bump kopia v0.20.1
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8962, resume PVB/PVR during node-agent restarts
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8961, cancel PVB/PVR on Velero server restart
|
||||
@@ -1 +0,0 @@
|
||||
Remove dependency with VolumeSnapshotClass in DataUpload.
|
||||
@@ -1 +0,0 @@
|
||||
Removed username/password credential handling from newConfigCredential as azidentity.UsernamePasswordCredentialOptions is reported as deprecated.
|
||||
@@ -1 +0,0 @@
|
||||
Make the backup repository controller doesn't invalidate the BSL on restart
|
||||
@@ -1 +0,0 @@
|
||||
Allow for proper tracking of multiple hooks per container
|
||||
@@ -1 +0,0 @@
|
||||
Fix missing defaultVolumesToFsBackup flag output in Velero describe backup cmd
|
||||
@@ -1 +0,0 @@
|
||||
Add Gauge metric for BSL availability
|
||||
@@ -1 +0,0 @@
|
||||
Fix #8344, add a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore
|
||||
@@ -1 +0,0 @@
|
||||
Fix #8344, add the design for a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8185, allow users to disable pod volume host path mount for node-agent
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8813, remove restic from the valid uploader type
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8857, support third party tolerations for data mover pods
|
||||
@@ -1 +0,0 @@
|
||||
Enable parameterized kubelet mount path during node-agent installation
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #9053, Always remove selected-node annotation during PVC restore when no node mapping exists. Breaking change: Previously, the annotation was preserved if the node existed.
|
||||
@@ -1 +0,0 @@
|
||||
Avoid checking the VS and VSC status in the backup finalizing phase.
|
||||
@@ -1 +0,0 @@
|
||||
Add imagePullSecrets inheritance for VGDP pod and maintenance job.
|
||||
@@ -1 +0,0 @@
|
||||
Bump up Kopia to v0.21.1
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #9077, don't block backup deletion on list VS error
|
||||
@@ -1 +0,0 @@
|
||||
Update "Default Volumes to Fs Backup" to "File System Backup (Default)"
|
||||
@@ -1 +0,0 @@
|
||||
Return error if timeout when checking server version
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #8986, refactor fs-backup doc after VGDP Micro Service for fs-backup
|
||||
@@ -1 +0,0 @@
|
||||
Update CSI Snapshot Data Movement doc for issue #8534, #8185
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #9095, update restore doc for PVC selected-node
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #9065, add doc for node-agent prepare queue length
|
||||
@@ -1 +0,0 @@
|
||||
Add comprehensive Volume Group Snapshots documentation with workflow diagrams and examples
|
||||
@@ -1 +0,0 @@
|
||||
Remove the WaitUntilVSCHandleIsReady from vs BIA.
|
||||
@@ -1 +0,0 @@
|
||||
Fix the dd and du's node affinity issue.
|
||||
@@ -1 +0,0 @@
|
||||
Add ConfigMap support for keepLatestMaintenanceJobs with CLI parameter fallback
|
||||
@@ -1 +0,0 @@
|
||||
Add include/exclude policy to resources policy
|
||||
@@ -1 +0,0 @@
|
||||
Remove the repository maintenance job parameters from velero server.
|
||||
1
changelogs/unreleased/9148-Lyndon-Li
Normal file
1
changelogs/unreleased/9148-Lyndon-Li
Normal file
@@ -0,0 +1 @@
|
||||
Fix issue #7725, add design for backup repo cache configuration
|
||||
@@ -1 +0,0 @@
|
||||
Fix issue #9140, add os=windows:NoSchedule toleration for Windows pods
|
||||
@@ -1 +0,0 @@
|
||||
Introduced context-based logger for backend implementations (Azure, GCS, S3, and Filesystem)
|
||||
1
changelogs/unreleased/9173-clementnuss
Normal file
1
changelogs/unreleased/9173-clementnuss
Normal file
@@ -0,0 +1 @@
|
||||
feat: Permit specifying annotations for the BackupPVC
|
||||
@@ -1 +0,0 @@
|
||||
Add priorityclasses to high priority restore list
|
||||
1
changelogs/unreleased/9226-sseago
Normal file
1
changelogs/unreleased/9226-sseago
Normal file
@@ -0,0 +1 @@
|
||||
Get pod list once per namespace in pvc IBA
|
||||
1
changelogs/unreleased/9233-Lyndon-Li
Normal file
1
changelogs/unreleased/9233-Lyndon-Li
Normal file
@@ -0,0 +1 @@
|
||||
Fix issue #9229, don't attach backupPVC to the source node
|
||||
1
changelogs/unreleased/9244-priyansh17
Normal file
1
changelogs/unreleased/9244-priyansh17
Normal file
@@ -0,0 +1 @@
|
||||
Update AzureAD Microsoft Authentication Library to v1.5.0
|
||||
1
changelogs/unreleased/9248-0xLeo258
Normal file
1
changelogs/unreleased/9248-0xLeo258
Normal file
@@ -0,0 +1 @@
|
||||
Protect VolumeSnapshot field from race condition during multi-thread backup
|
||||
1
changelogs/unreleased/9256-shubham-pampattiwar
Normal file
1
changelogs/unreleased/9256-shubham-pampattiwar
Normal file
@@ -0,0 +1 @@
|
||||
Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment
|
||||
1
changelogs/unreleased/9264-shubham-pampattiwar
Normal file
1
changelogs/unreleased/9264-shubham-pampattiwar
Normal file
@@ -0,0 +1 @@
|
||||
Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases
|
||||
1
changelogs/unreleased/9269-Lyndon-Li
Normal file
1
changelogs/unreleased/9269-Lyndon-Li
Normal file
@@ -0,0 +1 @@
|
||||
Fix issue #7904, remove the code and doc for PVC node selection
|
||||
1
changelogs/unreleased/9281-0xLeo258
Normal file
1
changelogs/unreleased/9281-0xLeo258
Normal file
@@ -0,0 +1 @@
|
||||
Implement concurrency control for cache of native VolumeSnapshotter plugin.
|
||||
1
changelogs/unreleased/9291-Lyndon-Li
Normal file
1
changelogs/unreleased/9291-Lyndon-Li
Normal file
@@ -0,0 +1 @@
|
||||
Fix issue #9193, don't connect repo in repo controller
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user