diff --git a/CHANGELOG.md b/CHANGELOG.md index b0b30b69f..40088d36f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ ## Current release: - * [CHANGELOG-1.0.md][10] + * [CHANGELOG-1.1.md][11] ## Development release: * [Unreleased Changes][0] ## Older releases: + * [CHANGELOG-1.0.md][10] * [CHANGELOG-0.11.md][9] * [CHANGELOG-0.10.md][8] * [CHANGELOG-0.9.md][7] @@ -16,6 +17,7 @@ * [CHANGELOG-0.3.md][1] +[11]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-1.1.md [10]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-1.0.md [9]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.11.md [8]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.10.md diff --git a/changelogs/CHANGELOG-1.1.md b/changelogs/CHANGELOG-1.1.md index 8415a1648..dc8d56764 100644 --- a/changelogs/CHANGELOG-1.1.md +++ b/changelogs/CHANGELOG-1.1.md @@ -1,40 +1,69 @@ -## v1.1.0-beta.2 -#### 2019-08-13 +## v1.1.0 +#### 2019-08-22 ### Download -- https://github.com/heptio/velero/releases/tag/v1.1.0-beta.2 +- https://github.com/heptio/velero/releases/tag/v1.1.0 ### Container Image -`gcr.io/heptio-images/velero:v1.1.0-beta.2` +`gcr.io/heptio-images/velero:v1.1.0` ### Documentation -https://velero.io/docs/v1.1.0-beta.2/ +https://velero.io/docs/v1.1.0/ -### Bug Fixes +### Upgrading -* Use VELERO_NAMESPACE to determine what namespace Velero server is running in. For any v1.0 installations using a different namespace, the VELERO_NAMESPACE environment variable will need to be set to the correct namespace. (#1748, @nrb) -* Use backup's namespace when syncing pod volume backups into cluster from object storage (#1760, @skriss) -* support setting CPU/memory requests with unbounded limits using velero install (#1745, @prydonius) -* sort output of resource list in `velero backup describe --details` (#1741, @prydonius) -* upload pod volume backups from *all* pods to object storage (#1739, @skriss) +**If you are running Velero in a non-default namespace**, i.e. any namespace other than `velero`, manual intervention is required when upgrading to v1.1. See [upgrading to v1.1](https://velero.io/docs/v1.1.0/upgrade-to-1.1/) for details. + +### Highlights + +#### Improved Restic Support + +A big focus of our work this cycle was continuing to improve support for restic. To that end, we’ve fixed the following bugs: -## v1.1.0-beta.1 -#### 2019-08-07 +- Prior to version 1.1, restic backups could be delayed or failed due to long-lived locks on the repository. Now, Velero removes stale locks from restic repositories every 5 minutes, ensuring they do not interrupt normal operations. +- Previously, the PodVolumeBackup custom resources that represented a restic backup within a cluster were not synchronized between clusters, making it unclear what restic volumes were available to restore into a new cluster. In version 1.1, these resources are synced into clusters, so they are more visible to you when you are trying to restore volumes. +- Originally, Velero would not validate the host path in which volumes were mounted on a given node. If a node did not expose the filesystem correctly, you wouldn’t know about it until a backup failed. Now, Velero’s restic server will validate that the directory structure is correct on startup, providing earlier feedback when it’s not. +- Velero’s restic support is intended to work on a broad range of volume types. With the general release of the [Container Storage Interface API](https://kubernetes.io/blog/2019/01/15/container-storage-interface-ga/), Velero can now use restic to back up CSI volumes. -### Download -- https://github.com/heptio/velero/releases/tag/v1.1.0-beta.1 +Along with our bug fixes, we’ve provided an easier way to move restic backups between storage providers. Different providers often have different StorageClasses, requiring user intervention to make restores successfully complete. -### Container Image -`gcr.io/heptio-images/velero:v1.1.0-beta.1` +To make cross-provider moves simpler, we’ve introduced a StorageClass remapping plug-in. It allows you to automatically translate one StorageClass on PersistentVolumeClaims and PersistentVolumes to another. You can read more about it in our [documentation](https://velero.io/docs/v1.1.0/restore-reference/#changing-pv-pvc-storage-classes). -### Documentation -https://velero.io/docs/v1.1.0-beta.1/ +#### Quality-of-Life Improvements +We’ve also made several other enhancements to Velero that should benefit all users. + +Users sometimes ask about recommendations for Velero’s resource allocation within their cluster. To help with this concern, we’ve added default resource requirements to the Velero Deployment and restic init containers, along with configurable requests and limits for the restic DaemonSet. All these values can be adjusted if your environment requires it. + +We’ve also taken some time to improve Velero for the future by updating the Deployment and DaemonSet to use the apps/v1 API group, which will be the [default in Kubernetes 1.16](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#action-required-3). This change means that `velero install` and the `velero plugin` commands will require Kubernetes 1.9 or later to work. Existing Velero installs will continue to work without needing changes, however. + +In order to help you better understand what resources have been backed up, we’ve added a list of resources in the `velero backup describe --details` command. This change makes it easier to inspect a backup without having to download and extract it. + +In the same vein, we’ve added the ability to put custom tags on cloud-provider snapshots. This approach should provide a better way to keep track of the resources being created in your cloud account. To add a label to a snapshot at backup time, use the `--labels` argument in the `velero backup create` command. + +Our final change for increasing visibility into your Velero installation is the `velero plugin get` command. This command will report all the plug-ins within the Velero deployment.. + +Velero has previously used a restore-only flag on the server to control whether a cluster could write backups to object storage. With Velero 1.1, we’ve now moved the restore-only behavior into read-only BackupStorageLocations. This move means that the Velero server can use a BackupStorageLocation as a source to restore from, but not for backups, while still retaining the ability to back up to other configured locations. In the future, the `--restore-only` flag will be removed in favor of configuring read-only BackupStorageLocations. + +#### Community Contributions + +We appreciate all community contributions, whether they be pull requests, bug reports, feature requests, or just questions. With this release, we wanted to draw attention to a few contributions in particular: + +For users of node-based IAM authentication systems such as kube2iam, `velero install` now supports the `--pod-annotations` argument for applying necessary annotations at install time. This support should make `velero install` more flexible for scenarios that do not use Secrets for access to their cloud buckets and volumes. You can read more about how to use this new argument in our [AWS documentation](https://velero.io/docs/v1.1.0/aws-config/#alternative-setup-permissions-using-kube2iam). Huge thanks to [Traci Kamp](https://github.com/tlkamp) for this contribution. + +Structured logging is important for any application, and Velero is no different. Starting with version 1.1, the Velero server can now output its logs in a JSON format, allowing easier parsing and ingestion. Thank you to [Donovan Carthew](https://github.com/carthewd) for this feature. + +AWS supports multiple profiles for accessing object storage, but in the past Velero only used the default. With v.1.1, you can set the `profile` key on yourBackupStorageLocation to specify an alternate profile. If no profile is set, the default one is used, making this change backward compatible. Thanks [Pranav Gaikwad](https://github.com/pranavgaikwad) for this change. + +Finally, thanks to testing by [Dylan Murray](https://github.com/dymurray) and [Scott Seago](https://github.com/sseago), an issue with running Velero in non-default namespaces was found in our beta version for this release. If you’re running Velero in a namespace other than `velero`, please follow the [upgrade instructions](https://velero.io/docs/v1.1.0/upgrade-to-1.1/). ### All Changes - - * adds the ability to define custom tags to be added to snapshots by specifying custom labels on the Backup CR with the `velero backup create --labels` flag (#1729, @prydonius) + * Add the prefix to BSL config map so that object stores can use it when initializing (#1767, @betta1) + * Use `VELERO_NAMESPACE` to determine what namespace Velero server is running in. For any v1.0 installations using a different namespace, the `VELERO_NAMESPACE` environment variable will need to be set to the correct namespace. (#1748, @nrb) + * support setting CPU/memory requests with unbounded limits using velero install (#1745, @prydonius) + * sort output of resource list in `velero backup describe --details` (#1741, @prydonius) + * adds the ability to define custom tags to be added to snapshots by specifying custom labels on the Backup CR with the velero backup create --labels flag (#1729, @prydonius) * Restore restic volumes from PodVolumeBackups CRs (#1723, @carlisia) * properly restore PVs backed up with restic and a reclaim policy of "Retain" (#1713, @skriss) * Make `--secret-file` flag on `velero install` optional, add `--no-secret` flag for explicit confirmation (#1699, @nrb) diff --git a/changelogs/unreleased/1428-guilhem b/changelogs/unreleased/1428-guilhem deleted file mode 100644 index 148e22276..000000000 --- a/changelogs/unreleased/1428-guilhem +++ /dev/null @@ -1 +0,0 @@ -add ability to use wildcard in includes/excludes diff --git a/changelogs/unreleased/1480-carlisia.md b/changelogs/unreleased/1480-carlisia.md deleted file mode 100644 index f68f781ca..000000000 --- a/changelogs/unreleased/1480-carlisia.md +++ /dev/null @@ -1 +0,0 @@ -Stop returning an error when a restic volume is empty since it is a valid scenario. \ No newline at end of file diff --git a/changelogs/unreleased/1517-skriss b/changelogs/unreleased/1517-skriss deleted file mode 100644 index 7dce5518d..000000000 --- a/changelogs/unreleased/1517-skriss +++ /dev/null @@ -1 +0,0 @@ -Allow individual backup storage locations to be read-only diff --git a/changelogs/unreleased/1522-coonsd b/changelogs/unreleased/1522-coonsd deleted file mode 100644 index f92796ee2..000000000 --- a/changelogs/unreleased/1522-coonsd +++ /dev/null @@ -1 +0,0 @@ -Added author as a tag on blog post. Should fix 404 error when trying to follow link as specified in issue #1522. \ No newline at end of file diff --git a/changelogs/unreleased/1535-carlisia b/changelogs/unreleased/1535-carlisia deleted file mode 100644 index 77bf2f032..000000000 --- a/changelogs/unreleased/1535-carlisia +++ /dev/null @@ -1 +0,0 @@ -Add CLI command to list (get) all Velero plugins \ No newline at end of file diff --git a/changelogs/unreleased/1548-pranavgaikwad b/changelogs/unreleased/1548-pranavgaikwad deleted file mode 100644 index e0b7b7ba3..000000000 --- a/changelogs/unreleased/1548-pranavgaikwad +++ /dev/null @@ -1 +0,0 @@ -support for multiple AWS profiles \ No newline at end of file diff --git a/changelogs/unreleased/1556-prydonius b/changelogs/unreleased/1556-prydonius deleted file mode 100644 index 41e4d0ab5..000000000 --- a/changelogs/unreleased/1556-prydonius +++ /dev/null @@ -1 +0,0 @@ -fix panic when processing DeleteBackupRequest objects without labels diff --git a/changelogs/unreleased/1558-skriss b/changelogs/unreleased/1558-skriss deleted file mode 100644 index 8d81d01b3..000000000 --- a/changelogs/unreleased/1558-skriss +++ /dev/null @@ -1 +0,0 @@ -move issue-template-gen from docs/ to hack/ diff --git a/changelogs/unreleased/1559-skriss b/changelogs/unreleased/1559-skriss deleted file mode 100644 index 09c89766e..000000000 --- a/changelogs/unreleased/1559-skriss +++ /dev/null @@ -1 +0,0 @@ -remove dependency on glog, update to klog diff --git a/changelogs/unreleased/1561-prydonius b/changelogs/unreleased/1561-prydonius deleted file mode 100644 index d43890e48..000000000 --- a/changelogs/unreleased/1561-prydonius +++ /dev/null @@ -1 +0,0 @@ -Hides `velero server` and `velero restic server` commands from the list of available commands as these are not intended for use by the velero CLI user. diff --git a/changelogs/unreleased/1577-carlisia b/changelogs/unreleased/1577-carlisia deleted file mode 100644 index 89070b89d..000000000 --- a/changelogs/unreleased/1577-carlisia +++ /dev/null @@ -1 +0,0 @@ -Store restic PodVolumeBackups in obj storage & use that as source of truth like regular backups. \ No newline at end of file diff --git a/changelogs/unreleased/1587-prydonius b/changelogs/unreleased/1587-prydonius deleted file mode 100644 index db3cc1ced..000000000 --- a/changelogs/unreleased/1587-prydonius +++ /dev/null @@ -1 +0,0 @@ -ensures backup item action modifications to an item's namespace/name are saved in the file path in the tarball diff --git a/changelogs/unreleased/1588-prydonius b/changelogs/unreleased/1588-prydonius deleted file mode 100644 index a8481eff4..000000000 --- a/changelogs/unreleased/1588-prydonius +++ /dev/null @@ -1 +0,0 @@ -allows excluding resources from backups with the velero.io/exclude-from-backup=true label diff --git a/changelogs/unreleased/1601-prydonius b/changelogs/unreleased/1601-prydonius deleted file mode 100644 index 7fc955ddc..000000000 --- a/changelogs/unreleased/1601-prydonius +++ /dev/null @@ -1 +0,0 @@ -ensure correct backup item actions run with namespace selector diff --git a/changelogs/unreleased/1605-prajyot-parab b/changelogs/unreleased/1605-prajyot-parab deleted file mode 100644 index e2ee5b920..000000000 --- a/changelogs/unreleased/1605-prajyot-parab +++ /dev/null @@ -1 +0,0 @@ -enable support for ppc64le architecture diff --git a/changelogs/unreleased/1607-skriss b/changelogs/unreleased/1607-skriss deleted file mode 100644 index da409235d..000000000 --- a/changelogs/unreleased/1607-skriss +++ /dev/null @@ -1 +0,0 @@ -bug fix: respect namespace selector when determining which restore item actions to run diff --git a/changelogs/unreleased/1609-prydonius b/changelogs/unreleased/1609-prydonius deleted file mode 100644 index 0504109cd..000000000 --- a/changelogs/unreleased/1609-prydonius +++ /dev/null @@ -1 +0,0 @@ -add startTimestamp and completionTimestamp to PodVolumeBackup and PodVolumeRestore status fields diff --git a/changelogs/unreleased/1612-skriss b/changelogs/unreleased/1612-skriss deleted file mode 100644 index d2896dcf1..000000000 --- a/changelogs/unreleased/1612-skriss +++ /dev/null @@ -1 +0,0 @@ -bug fix: only restore additional items returned from restore item actions if they match the restore's namespace/resource selectors diff --git a/changelogs/unreleased/1615-nrb b/changelogs/unreleased/1615-nrb deleted file mode 100644 index 15b7a7db5..000000000 --- a/changelogs/unreleased/1615-nrb +++ /dev/null @@ -1 +0,0 @@ -Add restic support for CSI volumes diff --git a/changelogs/unreleased/1616-prydonius b/changelogs/unreleased/1616-prydonius deleted file mode 100644 index d02f36973..000000000 --- a/changelogs/unreleased/1616-prydonius +++ /dev/null @@ -1 +0,0 @@ -adds validation for pod volumes hostPath mount on restic server startup diff --git a/changelogs/unreleased/1621-skriss b/changelogs/unreleased/1621-skriss deleted file mode 100644 index ece2defce..000000000 --- a/changelogs/unreleased/1621-skriss +++ /dev/null @@ -1 +0,0 @@ -add plugin for updating PV & PVC storage classes on restore based on a config map diff --git a/changelogs/unreleased/1626-tlkamp b/changelogs/unreleased/1626-tlkamp deleted file mode 100644 index e49ace987..000000000 --- a/changelogs/unreleased/1626-tlkamp +++ /dev/null @@ -1 +0,0 @@ -enhancement: allow users to specify additional Velero/Restic pod annotations on the command line with the pod-annotations flag. \ No newline at end of file diff --git a/changelogs/unreleased/1630-jwmatthews b/changelogs/unreleased/1630-jwmatthews deleted file mode 100644 index 17ba7d21b..000000000 --- a/changelogs/unreleased/1630-jwmatthews +++ /dev/null @@ -1 +0,0 @@ -bug fix: Fixed namespace usage with cli command 'version' diff --git a/changelogs/unreleased/1654-carthewd b/changelogs/unreleased/1654-carthewd deleted file mode 100644 index 53fad6b38..000000000 --- a/changelogs/unreleased/1654-carthewd +++ /dev/null @@ -1 +0,0 @@ -enhancement: allow option to choose JSON log output diff --git a/changelogs/unreleased/1656-nrb b/changelogs/unreleased/1656-nrb deleted file mode 100644 index c2cee2492..000000000 --- a/changelogs/unreleased/1656-nrb +++ /dev/null @@ -1 +0,0 @@ -Respect the --kubecontext and --kubeconfig arugments for `velero install`. diff --git a/changelogs/unreleased/1673-nrb b/changelogs/unreleased/1673-nrb deleted file mode 100644 index 85294d154..000000000 --- a/changelogs/unreleased/1673-nrb +++ /dev/null @@ -1 +0,0 @@ -Update Velero Deployment to use apps/v1 API group. `velero install` and `velero plugin add/remove` commands will now require Kubernetes 1.9+ diff --git a/changelogs/unreleased/1677-nrb b/changelogs/unreleased/1677-nrb deleted file mode 100644 index ae4c945be..000000000 --- a/changelogs/unreleased/1677-nrb +++ /dev/null @@ -1 +0,0 @@ -Add low cpu/memory limits to the restic init container. This allows for restoration into namespaces with quotas defined. diff --git a/changelogs/unreleased/1678-prydonius b/changelogs/unreleased/1678-prydonius deleted file mode 100644 index 89c929119..000000000 --- a/changelogs/unreleased/1678-prydonius +++ /dev/null @@ -1 +0,0 @@ -Adds configurable CPU/memory requests and limits to the Velero Deployment generated by velero install. diff --git a/changelogs/unreleased/1694-skriss b/changelogs/unreleased/1694-skriss deleted file mode 100644 index 4fd54cbbd..000000000 --- a/changelogs/unreleased/1694-skriss +++ /dev/null @@ -1 +0,0 @@ -error if backup storage location's Bucket field also contains a prefix, and gracefully handle leading/trailing slashes on Bucket and Prefix fields. diff --git a/changelogs/unreleased/1699-nrb b/changelogs/unreleased/1699-nrb deleted file mode 100644 index d5f28c035..000000000 --- a/changelogs/unreleased/1699-nrb +++ /dev/null @@ -1 +0,0 @@ -Make --secret-file argument on `velero install` optional, add --no-secret flag for explicit confirmation diff --git a/changelogs/unreleased/1708-skriss b/changelogs/unreleased/1708-skriss deleted file mode 100644 index a7bd811ce..000000000 --- a/changelogs/unreleased/1708-skriss +++ /dev/null @@ -1 +0,0 @@ -remove any stale locks from restic repositories every 5m diff --git a/changelogs/unreleased/1710-prydonius b/changelogs/unreleased/1710-prydonius deleted file mode 100644 index 46079c138..000000000 --- a/changelogs/unreleased/1710-prydonius +++ /dev/null @@ -1 +0,0 @@ -Adds configurable CPU/memory requests and limits to the restic DaemonSet generated by velero install. diff --git a/changelogs/unreleased/1713-skriss b/changelogs/unreleased/1713-skriss deleted file mode 100644 index 798998b78..000000000 --- a/changelogs/unreleased/1713-skriss +++ /dev/null @@ -1 +0,0 @@ -properly restore PVs backed up with restic and a reclaim policy of "Retain" diff --git a/changelogs/unreleased/1723-carlisia b/changelogs/unreleased/1723-carlisia deleted file mode 100644 index a1852a8f9..000000000 --- a/changelogs/unreleased/1723-carlisia +++ /dev/null @@ -1 +0,0 @@ -Restore restic volumes from PodVolumeBackups CRs \ No newline at end of file diff --git a/changelogs/unreleased/1729-prydonius b/changelogs/unreleased/1729-prydonius deleted file mode 100644 index 6ba027a01..000000000 --- a/changelogs/unreleased/1729-prydonius +++ /dev/null @@ -1 +0,0 @@ -adds the ability to define custom tags to be added to snapshots by specifying custom labels on the Backup CR with the velero backup create --labels flag diff --git a/changelogs/unreleased/1741-prydonius b/changelogs/unreleased/1741-prydonius deleted file mode 100644 index 0e10fbbab..000000000 --- a/changelogs/unreleased/1741-prydonius +++ /dev/null @@ -1 +0,0 @@ -sort output of resource list in `velero backup describe --details` diff --git a/changelogs/unreleased/1745-prydonius b/changelogs/unreleased/1745-prydonius deleted file mode 100644 index aa4ab49a5..000000000 --- a/changelogs/unreleased/1745-prydonius +++ /dev/null @@ -1 +0,0 @@ -support setting CPU/memory requests with unbounded limits using velero install diff --git a/changelogs/unreleased/1748-nrb b/changelogs/unreleased/1748-nrb deleted file mode 100644 index 6d6a02071..000000000 --- a/changelogs/unreleased/1748-nrb +++ /dev/null @@ -1 +0,0 @@ -Use VELERO_NAMESPACE to determine what namespace Velero server is running in. For any v1.0 installations using a different namespace, the VELERO_NAMESPACE environment variable will need to be set to the correct namespace. diff --git a/changelogs/unreleased/1767-betta1 b/changelogs/unreleased/1767-betta1 deleted file mode 100644 index b4a1fc83a..000000000 --- a/changelogs/unreleased/1767-betta1 +++ /dev/null @@ -1 +0,0 @@ -Add the prefix to BSL config map so that object stores can use it when initializing