Project: Velero (Runtime / Cloud Native Storage)
File: CHANGELOG-0.10.md

- https://github.com/heptio/ark/releases/tag/v0.10.2 upgrade restic to v0.9.4 & replace --hostname flag with --host (#1156, @skriss) use 'restic stats' instead of 'restic check' to determine if repo exists (#1171, @skriss) Fix concurrency bug in code ensuring restic repository exists (#1235, @skriss) https://github.com/heptio/ark/releases/tag/v0.10.1 Fix minio setup job command (#1118, @acbramley) Add debugging-install link in doc get-started.md (#1131, @hex108) `ark version`: show full git SHA & combine git tree state indicator with git SHA line (#1124, @skriss) Delete spec.priority in pod restore action (#879, @mwieczorek) Allow to use AWS Signature v1 for creating signed AWS urls (#811, @bashofmann) add multizone/regional support to gcp (#765, @wwitzel3) Fixed the newline output when deleting a schedule. (#1120, @jwhitcraft) Remove obsolete make targets and rename 'make goreleaser' to 'make release' (#1114, @skriss) Update to go 1.11 (#1069, @gliptak) Update CHANGELOGs (#1063, @wwitzel3) Initialize empty schedule metrics on server init (#1054, @cbeneke) Added brew reference (#1051, @omerlh) Remove default token from all service accounts (#1048, @ncdc) Add pprof support to the Ark server (#234, @ncdc) https://github.com/heptio/ark/releases/tag/v0.10.0 We've introduced two new custom resource definitions, `BackupStorageLocation` and `VolumeSnapshotLocation`, that replace the `Config` CRD from previous versions. As part of this, you may now configure more than one possible location for where backups and snapshots are stored, and when you create a `Backup` you can select the location where you'd like that particular backup to be stored. See the for an overview of this feature. Ark's plugin system has been significantly refactored to improve robustness and ease of development. Plugin processes are now automatically restarted if they unexpectedly terminate. Additionally, plugin binaries can now contain more than one plugin implementation (e.g. and object store and a block store, or many backup item actions). The sync process, which ensures that Backup custom resources exist for each backup in object storage, has been revamped to run much more frequently (once per minute rather than once per hour), to use significantly fewer cloud provider API calls, and to not generate spurious Kubernetes API errors. Ark can now be configured to store all data under a prefix within an object storage bucket. This means that you no longer need a separate bucket per Ark instance; you can now have all of your clusters' Ark backups go into a single bucket, with each cluster having its own prefix/subdirectory within that bucket. Restic backup data is now automatically stored within the same bucket/prefix as the rest of the Ark data. A separate bucket is no longer required (or allowed). Ark resources (backups, restores, schedules) can now be bulk-deleted through the `ark` CLI, using the `--all` or `--selector` flags, or by specifying multiple resource names as arguments to the `delete`

The `ark` CLI now supports waiting for backups and restores to complete with the `--wait` flag for `ark backup create` and `ark restore create` Restores can be created directly from the most recent backup for a schedule, using `ark restore create --from-schedule SCHEDULE_NAME` Heptio Ark v0.10 contains a number of breaking changes. Upgrading will require some additional steps beyond just updating your client binary and your container image tag. We've provided a to help you with the upgrade process. Please read and follow these instructions carefully to ensure a successful upgrade! The `Config` CRD has been replaced by `BackupStorageLocation` and `VolumeSnapshotLocation` CRDs. The interface for external plugins (object/block stores, backup/restore item actions) has changed. If you have authored any custom plugins, they'll need to be updated for v0.10. The signature has changed to add a `prefix` parameter. Registering plugins has changed. Create a new plugin server with the `NewServer` function, and register plugins with the appropriate functions. See the interface for details. The organization of Ark data in object storage has changed. Existing data will need to be moved around to conform to the new layout. update docs to reference config/ dir within release tarballs goreleaser: update example image tags to match version being released add rbac content, rework get-started for NodePort and publicUrl, add versioning information add content for docs issue 819 add doc explaining locations Added qps and burst to server's client Support a separate URL base for pre-signed URLs Update storage-layout-reorg-v0.10.md lower some noisy logs to debug level add troubleshooting for loadbalancer restores remove code that checks directly for a backup from restore controller Move clearing up of metadata before plugin's actions Document upgrading plugins in the deployment fix goreleaser bugs Add correct link and change role add 0.10 breaking changes warning to readme in main add content for issue 994 address docs issue #978 don't require a default provider VSL if there's only 1 v0.10 changelog add docs page on versions and upgrading goreleaser scripts for building/creating a release on a workstation update restic prerequisite with min k8s version Silence git detached HEAD advice in build container instructions for upgrading to v0.10 sync controller: fill in missing .spec.storageLocation fix bug preventing PV snapshots from v0.10 backups from restoring Run 'make update' to update formatting Update formatting script support restoring/deleting legacy backups with .status.volumeBackups rename variables #967 fix broken link restore storageclasses before pvs and pvcs backup describer: show snapshot summary by default, details optionally remove pvProviderExists param from NewRestoreController create a struct for multiple return of same type in restore_contoroller #967 Corrected grammatical error Specify return arguments

#424: Add CRDs to list of prioritized resources fix bugs in GetBackupVolumeSnapshots and add test remove all references to Config from docs/examples remove Config-related code update restore process using snapshot locations avoid panics if can't get block store during deletion update backup deletion controller for snapshot locations include snapshot locations in created schedule's backup spec azure: update blockstore to allow storing snaps in different resource group close gzip writer before uploading volumesnapshots file store volume snapshot info as JSON in backup storage add --volume-snapshot-locations flag to ark backup create update backup code to work with volume snapshot locations add unit test for getDefaultVolumeSnapshotLocations add default-volume-snapshot-locations to server cmd Default and validate VolumeSnapshotLocations add create CLI command for snapshot locations Add printer for snapshot locations Add volume snapshot CLI get command Add VolumeLocation and Snapshot. upgrade to restic v0.9.3 Remove broken references to docs that are not existing Fixed relative link for image don't require a default backup storage location to exist templatize error message in DeleteOptions add support for bulk deletion to ark schedule delete add azure-specific code to support multi-location restic update restic to support multiple backup storage locations Change link for the support matrix Fix broken storage providers link fix backup storage location example YAMLs only sync a backup location if it's changed since last sync clarify Azure resource group usage in docs Minor code cleanup Fix formatting for live site add documentation on running Ark on-premises have restic share main Ark bucket refactor to make valid dirs part of an object store layout store backups & restores in backups/, restores/ subdirs in obj storage add support for bulk deletion to ark restore delete remove deps used for docs gen remove script for generating docs remove cli reference docs and related scripts Fix infinite sleep in fsfreeze container Add links for Portworx plugin support Fix Portworx name in doc Make fsfreeze image building consistent get a new metadata accessor after calling backup item actions Adding support for the AWSCLUSTERNAME env variable allowing to claim volumes ownership Document single binary plugins Remove ROADMAP.md, update ZenHub link to Ark board convert all controllers to use genericController, logContext -> log Document SignatureDoesNotMatch error and triaging move ObjectStore mock into pkg/cloudprovider/mocks add a BackupStore to pkg/persistence that supports prefixes create pkg/persistence and move relevant code from pkg/cloudprovider into it move object and block store interfaces to their own files Set schedule labels to subsequent backups set azure restic env vars based on default backup location's config Regenerate CLI docs Pin cobra version Update pflag version azure: update documentation and examples azure: refactor to not use helpers/ pkg, validate all env/config inputs azure: support different RGs/storage accounts per backup location azure: fix for breaking change in

bump Azure SDK version and include storage mgmt package server: remove unused code, replace deprecated func controllers: take a newPluginManager func in constructors Update examples and docs for backup locations backup sync: process the default location first generic controller: allow controllers with only a resync func remove Config CRD's BackupStorageProvider & other obsolete code move server's defaultBackupLocation into config struct update sync controller for backup locations Use backup storage location during restore use the default backup storage location for restic Add storage location to backup get/describe download request: fix setting of log level for plugin manager backup deletion: fix setting of log level in plugin manager download request controller: fix bug in determining expiration refactor download request controller test and add test cases download request controller: use backup location for object store backup deletion controller: use backup location for object store Use backup location in the backup controller add create and get CLI commands for backup locations add --default-backup-storage-location flag to server cmd Add --storage-location argument to create commands Correct metadata for BackupStorageLocationList Generate clients for BackupStorageLocation Add BackupStorageLocation API type apply annotations on single line, no restore mode minor word updates and command wrapping Update hooks/fsfreeze example add an ark bug command Add DigitalOcean to S3-compatible backup providers Fix map merging logic Switch Config CRD elements to server flags start using a namespaced label on restored objects, deprecate old label Bring back 'make local' add bulk deletion support to ark backup delete Preserve node ports during restore when annotations hold specification. Add --wait support to ark backup create Document CRD not found errors Extend doc about synchronization Add --wait support to `ark restore create` Only delete unused backup if they are complete remove SnapshotService, replace with direct BlockStore usage Refactor plugin management Add restore failed phase and metrics update testify to latest released version Add schedule command info to quickstart fix bug preventing backup item action item updates from saving Delete backups from etcd if they're not in storage Fix ZenHub link on Readme.md Update gcp-config.md check s3URL scheme upon AWS ObjectStore Init() Add contributor docs for our ZenHub usage cleanup service account action log statement Initialize schedule Prometheus metrics to have them created beforehand (see https://prometheus.io/docs/practices/instrumentation/#avoid-missing-metrics) Clarify that object storage should per-cluster delete old deletion requests for backup when processing a new one return nil error if 404 encountered when deleting snapshots fix tagging latest by using make's ifeq Add commands for context to the bug template Update Ark library code to work with Kubernetes 1.11 Add some basic troubleshooting commands require namespace for backups/etc. to exist at server startup switch to using .status.startTimestamp for sorting backups Record backup completion time before uploading Add example ark version command to issue templates Add minor improvements and aws example<Plug>delimitMateCR Skip backup sync if it already exists in k8s restore controller: switch to 'c' for receiver name enable a schedule to be provided as the source for a restore fix up Slack link in troubleshooting on main branch Document how to run the Ark server locally Remove outdated namespace deletion content fix paths use posix-compliant conditional for checking TAG_LATEST Added new templates replace pkg/restore's osFileSystem with pkg/util/filesystem's Update generated Ark code based on the 1.11 k8s.io/code-generator script Update vendored library code for Kubernetes 1.11