Compare commits

...

1911 Commits

Author SHA1 Message Date
Nolan Brubaker
45168087f1 v1.5.0-beta.1 changelog and docs (#2849)
* Add changelogs for v1.5.0-beta.1

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add v1.5-pre docs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-21 12:07:24 -07:00
Nolan Brubaker
97c14e34be Merge pull request #2844 from ashish-amarnath/1.5-upgrade-instructions
📖  document velero v1.5 upgrade instructions
2020-08-21 12:35:39 -04:00
Nolan Brubaker
718a94ad05 Invoke DeleteItemActions on backup deletion (#2815)
* Add serving and listing support

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-20 17:24:29 -07:00
Ashish Amarnath
89d4e4417f 📖 document velero v1.5 upgrade instructions
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-20 16:21:36 -07:00
Abigail McCarthy
71fd7cc5a7 add index files to api types folder (#2839)
* add index files to api tyypes folder

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* updating to using cascade

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-08-20 14:30:18 -07:00
Ashish Amarnath
d33982b811 🏃‍♂️remove go mod download from Dockerfile for build speedup (#2842)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-19 13:45:08 -07:00
Nolan Brubaker
e0098d8a69 Update the number of reviewers for PRs/add Bridget (#2843)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-19 12:42:43 -07:00
Nolan Brubaker
e9ece0f7b5 Implement DeleteItemAction plugin support (#2808)
* Add DeleteItemAction struct & protobuf definition

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-18 12:16:26 -07:00
Steph Bman
d1a1d063e1 Create Velero security policy (#2797)
* Create securitypolicy.md

Creating the Security Policy documentation for Project Velero.
2020-08-18 11:28:14 -07:00
Ashish Amarnath
e6eb5372ea update image link in readme (#2827)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-18 11:06:16 -07:00
JenTing Hsiao
62b2a0e17f The EnableCSI flag on velero backup describe command only (#2817)
Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-08-18 11:05:45 -07:00
Ashish Amarnath
9ed43f96c1 📖 update default-volumes-to-restic exclusion list (#2828)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-18 11:05:12 -07:00
Imran Pochi
52b6838004 docs: add metadata to resource-filtering.md (#2832)
This metadata is required by hugo to discover the content in the
documentation website, without which a page not found is shown to the
viewer.

Fixes: #2831

Signed-off-by: Imran Pochi <imran@kinvolk.io>
2020-08-18 11:02:49 -07:00
Benoit Gagnon
5d2c9e2ba1 Override logrus.ErrorKey when json logging is enabled (#2830)
* override logrus.ErrorKey when json logging is enabled

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>

* document the logrus.ErrorKey override

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>

* add changelog entry

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>
2020-08-18 13:53:45 -04:00
runzexia
3a4e441af8 add kindfor func to get apiresource from gvk (#2764)
* add kindfor func to get apiresource from gvk

Signed-off-by: RyderXia <ryder.xia@sap.com>

* impl interface & changelog

Signed-off-by: RyderXia <ryder.xia@sap.com>
2020-08-17 15:52:33 -07:00
Tony Batard
c663ce15ab Hugo migration (#2720)
* Move files to a Hugo structure

Signed-off-by: Tony Batard <tbatard@pivotal.io>
2020-08-13 09:09:15 -07:00
Nolan Brubaker
681123596f Checkout code on builder image workflow (#2816)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-12 17:55:53 -07:00
Phuong N. Hoang
14170b52a8 Enhance Backup to backup resources in specific order. (#2724)
Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

Co-authored-by: Phuong Hoang <phuong.n.hoang@dell.com>
2020-08-12 17:17:31 -07:00
Steph Bman
dd2d040fcf Create restore-hooks_product-requirements.md (#2699)
Restore Hooks Design Proposal

Signed-off-by: Stephanie Bauman <bstephanie@vmware.com>
Co-authored-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-12 16:13:52 -07:00
Ashish Amarnath
d4bbd7b817 🐛 Patch generated yaml for restore CRD as a hacky workaround (#2814)
* 🐛 Patch generated yaml for restore CRD as a hacky workaround

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* changelog

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-12 18:43:29 -04:00
Jason Scarano
827d5d34f5 Improve and clarify cmd help documentation, flags, and examples (#2736)
* capitalize `backup create` cmd comments & examples

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update copyright and capitilize flags and comments

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update copyright and capitilize flags and comments

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update copyright and capitilize flags and comments

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update backuplocation, restic, & restore cmd doc

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* fix local typo

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update copyrights & capitalize pflag/help strings

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* update copyright in utils dir

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* Revert "update copyright in utils dir"

This reverts commit d116efe3a3.

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* revert copyright changes

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* restore missing file

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* revert copyright changes

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

* add cacert flag back

Signed-off-by: Jason Scarano <scaranoj@vmware.com>

Co-authored-by: Carlisia Campos <carlisia@vmware.com>
2020-08-12 18:13:44 -04:00
Abigail McCarthy
98a09bcbc5 add note about windows support (#2806)
* add note about windows support

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* adding to 1.4 docs and adjusting wording to be more clear

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-08-12 18:03:36 -04:00
Ashish Amarnath
9eca0fcbff Pass default-volumes-to-restic flag from create schedule to backup (#2776)
* Pass default-volumes-to-restic flag from create schedule to backup

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-12 12:09:07 -07:00
Nolan Brubaker
70e9391278 Add design doc for DeletionAction plugins (#2713)
* Add design doc for DeletionAction plugins

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-12 11:21:55 -07:00
Carlisia Campos
d7d6a85e46 Add an auto-rebase workflow (#2813)
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-08-12 10:27:41 -07:00
Nolan Brubaker
7914138dd7 Merge pull request #2802 from ashish-amarnath/fix-restic-restore
🐛 Supply command to run restic-wait init container
2020-08-11 14:37:19 -04:00
Ashish Amarnath
e391e43192 🐛 Supply command to run restic-wait init container
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-11 11:05:30 -07:00
Nolan Brubaker
5b28d70e49 Switch event to use pull_request_target (#2807)
The pull_request_target event is like pull_request, but runs in the
context of the target repo (Velero, in this case), instead of the fork.
This allows us to use the GitHub token secret as expected.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-08-11 10:57:16 -07:00
Ashish Amarnath
a68e5fc330 🏃‍♂️ Setup crd validation github action on k8s versions (#2805)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-11 10:45:12 -07:00
Ashish Amarnath
5d6da6517b Implement restore hooks injecting init containers into pod spec (#2787)
*  Implement restore hooks injecting init containers into pod spec

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-11 10:38:44 -07:00
Ashish Amarnath
9b9bb62968 🐛 Make init and exec restore hooks as omitempty in restore hookSpec (#2793)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-08-11 10:13:41 -07:00
Abigail McCarthy
4364a813c1 update docs to include cpu/memory defaults for restic (#2772)
* update docs to include cpu/memory defaults

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* fixes from review

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* updates from review

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* update to use kubectl patch command

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>

* update typos and add changes to 1.4 docs

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-08-10 09:38:35 -07:00
Nolan Brubaker
6edf279bd8 Merge pull request #2803 from vmware-tanzu/dependabot/bundler/site/kramdown-2.3.0
Bump kramdown from 2.2.1 to 2.3.0 in /site
2020-08-10 12:21:40 -04:00
dependabot[bot]
1386a85657 Bump kramdown from 2.2.1 to 2.3.0 in /site
Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/gettalong/kramdown/releases)
- [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page)
- [Commits](https://github.com/gettalong/kramdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-08 01:14:58 +00:00
Alex Punnen
0b87fbbde8 Update minio.md (#2799)
Added  option for --snapshot-location-config region as else it will give an error during backup - https://github.com/vmware-tanzu/velero-plugin-for-aws/issues/12

Signed-off-by: Alex Punnen <alexcpn@gmail.com>
2020-08-07 14:35:17 -07:00
Mike Tritabaugh
4e2f4bb6af Add resource filtering page (#2771)
* added resource filtering page

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

* added resource filtering page to v1.4

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

* change  to  per style guide

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>
2020-08-06 15:09:59 -07:00
Benoit Gagnon
0e8a7a23cb always use groupResource.String() when logging (fixes #2795) (#2796)
Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>
2020-08-06 10:10:59 -07:00
Piper Dougherty
19e65689ef Add the ability to set the allowPrivilegeEscalation property on the Restic restore helper via plugin ConfigMap (#2792)
* Add the ability to set the `allowPrivilegeEscalation` security context attribute on the Restic restore helper init container.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>

* Add changelog.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>

* Fix old tests and add tests for new allowPrivilegeEscalation config option.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>

* Correct spelling in changelog.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>

* Switch to boolptr type.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>

* Reorder imports for sanity.

Signed-off-by: Piper Dougherty <doughertypiper@gmail.com>
2020-08-06 13:08:36 -04:00
Rob Reus
6ac0398c7b Reverting change on 1.4 docs and re-applying to main docs (#2791)
Signed-off-by: Rob Reus <rob@devrobs.nl>
2020-08-04 14:11:52 -07:00
Rob Reus
db139cf07c Refactor image builds to use buildx for multi arch image building (#2754)
* Refactor image builds to use buildx for multi arch image building

Signed-off-by: Rob Reus <rob@devrobs.nl>

* Adding image build sanity checks to Makefile

Signed-off-by: Rob Reus <rob@devrobs.nl>

* Making locally building of docker images possible

Signed-off-by: Rob Reus <rob@devrobs.nl>

* Adding docs on building container images using buildx

Signed-off-by: Rob Reus <rob@devrobs.nl>

* Adding changelog and implementing feedback from PR

Signed-off-by: Rob Reus <rob@devrobs.nl>

* Making GOPROXY used in the build containers configurable

Signed-off-by: Rob Reus <rob@devrobs.nl>
2020-08-04 11:40:05 -07:00
Nolan Brubaker
4e05e81ca2 Merge pull request #2786 from skriss/upd-build-badge
update CI badge on README
2020-08-04 13:55:26 -04:00
Steve Kriss
c5a2137538 update CI badge on README
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-08-03 12:53:49 -06:00
JenTing Hsiao
1fdb647c7f Add cacert flag for velero backup-location create (#2778)
Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-07-30 11:33:45 -07:00
Ashish Amarnath
9de644f1a4 Add types to implement restore hooks (#2761)
* Add types to implement restore hooks

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-29 13:29:40 -07:00
Carlisia Campos
5bafa9b317 Add JenTing Hsiao (#2768)
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-07-29 12:41:28 -07:00
Carlisia Campos
fcf7f27967 Moved FAQ (#2769)
* Moved FAQ

Signed-off-by: Carlisia <carlisia@vmware.com>

* Better entry point

Signed-off-by: Carlisia <carlisia@vmware.com>
2020-07-29 10:16:32 -07:00
Ashish Amarnath
028818a053 exclude vols mounting secrets and configmaps from defaultVolumesToRestic (#2762)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-27 20:27:49 -07:00
Nolan Brubaker
94872ea2fc Add github token so action can actually auth (#2766)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-27 14:35:26 -07:00
Ashish Amarnath
8e672408a2 📖 update VSC DeletionPolicy docs to be inline with code (#2765)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-27 13:42:38 -07:00
Nolan Brubaker
7005879f3f Fix YAML in auto-assign GitHub Action (#2759)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-24 14:08:09 -07:00
Ashish Amarnath
bc25e789e0 Add constants for restore hook annotation keys (#2750)
* add annotation key constants for restore hooks

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-24 13:05:27 -07:00
Nolan Brubaker
cffb639380 Auto-assign github PR reviewers and assignee (#2758)
Use a GitHub Action to automatically assign GitHub PRs to the author, as
well as add reviewers.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-24 12:58:44 -07:00
Andrew Reed
9011b192e9 Add hooks fields to restore context (#2755)
* Add hooks fields to restore context

Signed-off-by: Andrew Reed <andrew@replicated.com>

* Changelog

Signed-off-by: Andrew Reed <andrew@replicated.com>
2020-07-24 11:43:44 -07:00
Nolan Brubaker
bbcbde084d Create hook package (#2734)
* Move pkg/backup/item_hook_handler to internal/hoo

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add internal packages to test target

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-22 14:26:14 -07:00
Nolan Brubaker
e83ec79df3 Merge pull request #2751 from ashish-amarnath/fix-boilerplate
Use correct year for copyright
2020-07-22 15:32:24 -04:00
Ashish Amarnath
2636730ef2 fix copyright year
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-22 12:11:59 -07:00
Martin Odstrčilík
86efd1577e add support for setting SecurityContext (user, group) for restic restore (#2621)
* add support for setting SecurityContext (user, group) for restic restore

Signed-off-by: Martin Odstrcilik <martin.odstrcilik@gmail.com>
2020-07-22 12:10:25 -07:00
Ashish Amarnath
91ccc4adb2 Add metrics for restic back up operation (#2719)
* add metrics for restic back up operation

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* changelog

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-22 15:07:52 -04:00
Ashish Amarnath
a63a82fcb0 📖 update csi docs to document volumesnapshotclass label (#2741)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-22 11:49:47 -07:00
Thejas Babu
d0d143e119 Add StartTimestamp and CompletionTimestamp in Restore Status (#2748)
Signed-off-by: thejas <thejasb99@gmail.com>
2020-07-22 11:40:39 -07:00
Carlisia Campos
c27c3cd56a Fix path + add helpful message (#2740)
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-07-22 11:13:02 -07:00
Nolan Brubaker
84dbd13313 Move style guide to main (#2735)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-21 11:30:05 -07:00
Nolan Brubaker
caeb4ae404 Update changelogs for v1.4.2 (#2705)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-21 11:14:41 -07:00
Carlisia Campos
e60d9f2821 Remove unneeded auto-generated files (#2732)
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-07-20 15:37:27 -07:00
fvsqr
01e2dcb364 StorageGrid compatibility (#2712)
* remove explicit Accept-Encoding header

For StorageGrid compatibility the Accept-Encoding header should not be set, otherwise StorageGrid compresses the already compressed log files which are only decompressed by the client once

Signed-off-by: fvsqr <48791253+fvsqr@users.noreply.github.com>

* Removed explicit gzip Accept-Encoding header

For StorageGrid compatibility the Accept-Encoding header should not be set, otherwise StorageGrid compresses the already compressed log files which are only decompressed by the client once.
Unclear, how this affects Backup endpoints from Azure or GCP

Signed-off-by: fvsqr <48791253+fvsqr@users.noreply.github.com>

* Create 2712-fvsqr

Signed-off-by: fvsqr <48791253+fvsqr@users.noreply.github.com>
2020-07-20 13:11:26 -04:00
Marc Campbell
9189cffb1c Design proposal for Restore hooks (#2465)
* Add design proposal for restore hooks

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>

* Add details to restore hooks design

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>

* Restore initContainers and requested changes

Change post-restore exec hooks to wait for container running status
instead of pod ready status.
Add separate exec timeout and wait timeouts for post-restore exec hooks.

Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>

Co-authored-by: Andrew Reed <andrew@replicated.com>
2020-07-20 08:34:16 -07:00
Nolan Brubaker
f42c63af1b Address insensitive language (#2677)
* Change master to main in most uses

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-17 14:59:51 -07:00
Nolan Brubaker
2376b697af Fix brew-update script, their commands changed (#2711)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-16 15:49:06 -07:00
Ashish Amarnath
eff358e27e replace -q with -f for docker rmi in build-image make target (#2716)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-16 13:53:49 -07:00
kathpeony
243ac62e3f Add backupValidationFailureTotal to metrics (#2714)
* Add backValidationFailureTotal to metrics

Signed-off-by: Kathrin Mao <kathrin.mao@sap.com>
2020-07-16 10:13:17 -07:00
Andrew Lavery
a368370bef k8s 1.18 import (#2651)
* k8s 1.18 import wip

backup, cmd, controller, generated, restic, restore, serverstatusrequest, test and util

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* go mod tidy

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* add changelog file

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* go fmt

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* update code-generator and controller-gen in CI

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* checkout proper code-generator version, regen

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* fix remaining calls

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* regenerate CRDs with ./hack/update-generated-crd-code.sh

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* use existing context in restic and server

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* fix test cases by resetting resource version

also use main library go context, not golang.org/x/net/context, in pkg/restore/restore.go

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* clarify changelog message

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* use github.com/kubernetes-csi/external-snapshotter/v2@v2.2.0-rc1

Signed-off-by: Andrew Lavery <laverya@umich.edu>

* run 'go mod tidy' to remove old external-snapshotter version

Signed-off-by: Andrew Lavery <laverya@umich.edu>
2020-07-16 12:21:37 -04:00
Nolan Brubaker
9366fab980 Don't check non-code labeled PRs for changelogs (#2710)
The labels 'Documentation', 'Website', and 'Design' are all for PRs
exclusively related to those things, not code, so they don't need to be
checked for changelogs or have the extra label applied.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-14 15:13:47 -07:00
Carlisia Campos
13e1eeabfe Return early from a BSL controller (#2709)
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-07-14 15:09:11 -07:00
Phuong N. Hoang
3239b3e9d5 Design: Backup Resources of Specific Type by Specified Order (#2627)
* azure: support aad-pod-identity auth when using restic (#2602)

Signed-off-by: Steve Kriss <krisss@vmware.com>
Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Add design for BackupOrders.

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Fix format.

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Add changelogs

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Use OrderedResources instead of BackupOrders.

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Add the changelog

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Remove changelogs

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Fix merge accidental change

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Fix wrong line changes

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

* Call out limitation of this design when pods belong to DaemonSet or Deployment get restarted.

Signed-off-by: Phuong Hoang <phuong.n.hoang@dell.com>

Co-authored-by: Steve Kriss <krisss@vmware.com>
Co-authored-by: Phuong Hoang <phuong.n.hoang@dell.com>
2020-07-14 14:52:19 -07:00
Carlisia Campos
dbd0aa4915 Add a BSL controller to handle validation + update BSL status phase (#2674)
* Add BSL controller

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add changelog

Signed-off-by: Carlisia <carlisia@vmware.com>

* Make update

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update docs

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add kubebuilder dependency

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add export

Signed-off-by: Carlisia <carlisia@vmware.com>

* add kubebuilder binaries into velero builder image

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* Reset velero dockerfile

Signed-off-by: Carlisia <carlisia@vmware.com>

* Consolidate all logic

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add copyright header

Signed-off-by: Carlisia <carlisia@vmware.com>

* Clean up + add "last validated" column

Signed-off-by: Carlisia <carlisia@vmware.com>

* Better tests

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add more tests

Signed-off-by: Carlisia <carlisia@vmware.com>

* Better logging

Signed-off-by: Carlisia <carlisia@vmware.com>

* Format

Signed-off-by: Carlisia <carlisia@vmware.com>

* Code reviews

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address code review

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove redundant logic

Signed-off-by: Carlisia <carlisia@vmware.com>

Co-authored-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-14 17:47:00 -04:00
Ashish Amarnath
3d3b9e312a Revert "🐛 fix file perissions on the manifest JSON in backup archive (#2685)" (#2700)
dae5230aae

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-10 14:07:05 -07:00
Nolan Brubaker
a0d2fc2f0e Clarify migration between cloud providers (#2666)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-09 11:05:09 -07:00
Nolan Brubaker
54aa75a4cd Adjust restic timeout and pod values up (#2696)
* Adjust restic timeout and pod values up

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-08 14:59:19 -07:00
Nolan Brubaker
c8f4b60b5b Add scripts for tagging Velero releases (#2592)
* Add release tools

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Document the tag-release release tool

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Make sure the upstream used is correct

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add copyright statement

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Address review feedback

* Pause to allow for cherry-picking on the release branch before pushing
  it
* Move master branch logic into an else statement
* Correct typo

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Uncomment check for dirty git working tree

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-07-08 14:56:18 -07:00
Elana Hashman
695715ff6a Fix missing quotes that are breaking page render (#2698)
Signed-off-by: Elana Hashman <ehashman@redhat.com>
2020-07-08 14:37:09 -07:00
Nolan Brubaker
841d64982a Merge pull request #2667 from ashish-amarnath/link-blog
📖  make external blogposts clickable links
2020-07-08 15:43:52 -04:00
Ashish Amarnath
0a53aeebbc 📖 make external blogposts clickable links
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-08 11:56:09 -07:00
Ashish Amarnath
dae5230aae 🐛 fix file perissions on the manifest JSON in backup archive (#2685)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-08 06:37:59 -07:00
a-mccarthy
4c76fc9ffa add style guide file (#2619)
* add style guide file

Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-07-08 06:36:13 -07:00
Vishnu Itta
c3cac0a9a7 design: progress on backup/restore operations by volume snapshotters (#2543)
* design: progress on backup/restore operations by volume snapshotters

Signed-off-by: Vitta <vitta@mayadata.io>
2020-07-08 06:14:46 -07:00
Ashish Amarnath
b4465e92b8 🐛 Use CRD version prior to remap_crd_version backup item action (#2683)
* 🐛 preserve crd version before remapping

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-07-07 10:59:41 -07:00
Duffie Cooley
2d48ac79c2 Image handling (#2620)
* Fix Image Handling

Signed-off-by: Duffie Cooley <cooleyd@vmware.com>

Co-authored-by: Carlisia <carlisia@vmware.com>
2020-07-06 15:15:38 -07:00
Nolan Brubaker
e61308908c Merge pull request #2661 from carlisia/c-skriss
Change maintainer
2020-07-06 17:15:43 -04:00
Daniel Thrasher
94a9522f75 updated acceptable values on cron schedule for day of the week from 0-7 to 0-6 (#2676)
* updated acceptable values on cron schedule for day of the week from 0-7 to 0-6

Signed-off-by: Daniel Thrasher <dannythrasher@gmail.com>

* added a changelog file to changelog directory

Signed-off-by: Daniel Thrasher <dannythrasher@gmail.com>

Co-authored-by: Daniel Thrasher <dannythrasher@gmail.com>
2020-07-06 17:14:44 -04:00
Tony Batard
b968813058 Add linter (#2615)
* Add linter to Makefile and build image

* Also make it part of verify step

Signed-off-by: Tony Batard <tbatard@pivotal.io>

* clean up of Makefile and permissions for .go/golangci-lint

Signed-off-by: Duffie Cooley <cooleyd@vmware.com>

* changed verify-lint.sh to lint.sh to avoid breaking ci

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

* Add changelog

Signed-off-by: Tony Batard <tbatard@pivotal.io>

* Add LINTERS option to run only specific linters

* e.g. make lint LINTERS=unused,deadcode

Signed-off-by: Tony Batard <tbatard@pivotal.io>

* adding timeout to golangci-lint, and checking cache

Signed-off-by: Matyas Danter <mdanter@vmware.com>

* Fixed some formatting and added comments

Signed-off-by: Matyas Danter <mdanter@vmware.com>

* modifying lint script to use golangci.yaml

Signed-off-by: Matyas Danter <mdanter@vmware.com>

* update to move default linters to Makefile

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

* Adding documentation for lint make targets.

Signed-off-by: Matyas Danter <mdanter@vmware.com>

* Update Copyright with current year

Signed-off-by: Tony Batard <tbatard@pivotal.io>

* initial git workflow commit

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

* Added lint-all target and implemented -n as default

* Added a local-lint-all and lint-all target that will show lint errors
for all of the codebase
* changed the default of lint and local-lint to only show new lint
errors

Signed-off-by: Duffie Cooley <cooleyd@vmware.com>

* updated docs to reflect new target

Signed-off-by: mtritabaugh <mtritabaugh@vmware.com>

Co-authored-by: Duffie Cooley <cooleyd@vmware.com>
Co-authored-by: mtritabaugh <mtritabaugh@vmware.com>
Co-authored-by: Matyas Danter <mdanter@vmware.com>
2020-06-30 12:51:10 -04:00
Carlisia Campos
4048c020a8 Convert manifests + BSL api client to kubebuilder (#2561)
* kubebuilder init - minimalist version

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add back main.go, apparently kb needs it

Signed-off-by: Carlisia <carlisia@vmware.com>

* Tweak makefile to accomodate kubebuilder expectations

Signed-off-by: Carlisia <carlisia@vmware.com>

* Port BSL to kubebuilder api client

Signed-off-by: Carlisia <carlisia@vmware.com>

* s/cache/client bc client fetches from cache
And other naming improvements

Signed-off-by: Carlisia <carlisia@vmware.com>

* So, .GetAPIReader is how we bypass the cache
In this case, the cache hasn't started yet

Signed-off-by: Carlisia <carlisia@vmware.com>

* Oh that's what this code was for... adding back

We still need to embed the CRDs as binary data in the Velero binary to
access the generated CRDs at runtime.

Signed-off-by: Carlisia <carlisia@vmware.com>

* Tie in CRD/code generation w/ existing scripts

Signed-off-by: Carlisia <carlisia@vmware.com>

* Mostly result of running update-fmt, updated file formatting

Signed-off-by: Carlisia <carlisia@vmware.com>

* Just a copyright fix

Signed-off-by: Carlisia <carlisia@vmware.com>

* All the test fixes

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add changelog + some cleanup

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update backup manifest

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove unneeded auto-generated files

Signed-off-by: Carlisia <carlisia@vmware.com>

* Keep everything in the same (existing) package

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix/clean scripts, generated code, and calls

Deleting the entire `generated` directory and running `make update`
works. Modifying an api and running `make verify` works as expected.

Signed-off-by: Carlisia <carlisia@vmware.com>

* Clean up schema and client calls + code reviews

Signed-off-by: Carlisia <carlisia@vmware.com>

* Move all code gen to inside builder container

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address code review

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix imports/aliases

Signed-off-by: Carlisia <carlisia@vmware.com>

* More code reviews

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add waitforcachesync

Signed-off-by: Carlisia <carlisia@vmware.com>

* Have manager register ALL controllers

This will allow for proper cache management.

Signed-off-by: Carlisia <carlisia@vmware.com>

* Status subresource is now enabled; cleanup

Signed-off-by: Carlisia <carlisia@vmware.com>

* More code reviews

Signed-off-by: Carlisia <carlisia@vmware.com>

* Clean up

Signed-off-by: Carlisia <carlisia@vmware.com>

* Manager registers ALL controllers for restic too

Signed-off-by: Carlisia <carlisia@vmware.com>

* More code reviews

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add deprecation warning/todo

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add documentation

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add helpful comments

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address code review

Signed-off-by: Carlisia <carlisia@vmware.com>

* More idiomatic Runnable

Signed-off-by: Carlisia <carlisia@vmware.com>

* Clean up imports

Signed-off-by: Carlisia <carlisia@vmware.com>
2020-06-24 12:55:18 -04:00
Nolan Brubaker
6e86a83cf3 Add RBAC page to table of contents (#2659)
* Add rbac page to ToC

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Shorten RBAC ToC title

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-06-23 11:12:21 -07:00
Carlisia Campos
0b8e2cbbe5 Improve velero download doc (#2660)
* Improve velero download doc

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add changelog

Signed-off-by: Carlisia <carlisia@vmware.com>

* Better message

Signed-off-by: Carlisia <carlisia@vmware.com>
2020-06-23 11:12:01 -07:00
Carlisia
f4cc7cd4de Change maintainer
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-06-22 16:37:32 -07:00
Ashish Amarnath
fcf0f3e5c2 move csi pluing out of prototype (#2636)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-19 13:27:00 -07:00
Nolan Brubaker
7b1126ff28 Merge pull request #2655 from carlisia/c-header
Add header info + fix broken tags
2020-06-19 12:54:12 -04:00
Nolan Brubaker
ae1f4e284f Merge pull request #2611 from ashish-amarnath/restic-by-default
  Implement option to back up all volumes by default with restic
2020-06-19 12:42:25 -04:00
Carlisia
a191363ee6 Add header info + fix broken tags
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-06-19 09:03:34 -07:00
Ashish Amarnath
e5e7c025dd fix copyright boilerplate
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-18 14:14:15 -07:00
Ashish Amarnath
7abd2c6db9 doc updates
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-18 13:57:59 -07:00
Nolan Brubaker
af79f96513 Merge pull request #2638 from adamrushuk/update-docs
Update basic-install and release-instructions documentation
2020-06-17 15:20:56 -04:00
Jess G
c58331d408 add a supported provider: Storj object storage (#2635)
* add storj as provider

Signed-off-by: Jessica Grebenschikov <Jessica.greben1+github@gmail.com>

* update plugin list and master docs

Signed-off-by: Jessica Grebenschikov <Jessica.greben1+github@gmail.com>

* add changelog

Signed-off-by: Jessica Grebenschikov <Jessica.greben1+github@gmail.com>

* fix name of changelog

Signed-off-by: Jessica Grebenschikov <Jessica.greben1+github@gmail.com>

* add newline

Signed-off-by: Jessica Grebenschikov <Jessica.greben1+github@gmail.com>
2020-06-17 11:19:10 -07:00
Steve Kriss
043c628fa5 remove skriss as maintainer, add nrb as tech lead (#2642)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-06-17 11:11:16 -07:00
Nolan Brubaker
e9820b985c Merge pull request #2640 from ashish-amarnath/allow-changelog-ignore
🏃‍♂️ allow ignoring missing changelog
2020-06-17 12:42:18 -04:00
Nolan Brubaker
c8c2e710b0 Merge pull request #2641 from ashish-amarnath/reorg-build
🏃‍♂️ pass git state to build from makefile
2020-06-17 12:40:22 -04:00
Ashish Amarnath
43305ec788 🏃‍♂️allow ignoring missing changelog
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-17 09:29:44 -07:00
Nolan Brubaker
5ad7a55445 Merge pull request #2639 from ashish-amarnath/rogue-br
🏃‍♂️ remove stray html tags
2020-06-17 12:07:25 -04:00
Ashish Amarnath
a7e9fbaf79 🏃‍♂️ pass git state to build from makefile
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-17 07:59:02 -07:00
Ashish Amarnath
3c94b36be4 🏃‍♂️ remove stray html tags
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-17 07:16:09 -07:00
Adam Rush
2af9d6a52a Changed pr number for changelog
Signed-off-by: Adam Rush <adamrushuk@gmail.com>
2020-06-17 09:04:51 +01:00
Adam Rush
e7b413c7de Update basic-install and release-instructions documentation for Windows Chocolatey package
Signed-off-by: Adam Rush <adamrushuk@gmail.com>
2020-06-17 08:58:53 +01:00
Ashish Amarnath
6a8dca6b84 add default-volumes-to-restic flag to velero installation
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-16 14:46:36 -07:00
Ashish Amarnath
63f7690f44 more tests
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-16 14:46:36 -07:00
Nolan Brubaker
0bdd6ef5a4 Merge pull request #2629 from adamrushuk/master
Update basic-install.md: Add windows cli installation option via chocolatey
2020-06-16 17:24:00 -04:00
Nolan Brubaker
0daea437d6 Merge pull request #2625 from tbatard/jekyll-to-hugo-migration
Update Jekyll to 4.1.0
2020-06-16 17:17:07 -04:00
Adam Rush
6a895be415 add windows cli installation option via chocolatey for docs v1.4
Signed-off-by: Adam Rush <adamrushuk@gmail.com>
2020-06-16 16:57:25 +01:00
Ashish Amarnath
b0fd3d35c1 rename field
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 15:26:44 -07:00
Ashish Amarnath
b71173228a add velero server flag to allow default restic use on all pod volumes
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 14:46:06 -07:00
Ashish Amarnath
dd11b175ec changelog
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 14:46:06 -07:00
Ashish Amarnath
8a2a852b87 use backup's defaultRestic flag to identify pod volumes using restic
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 14:46:06 -07:00
Ashish Amarnath
f34aab251e add default restic flag to backup create cli
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 14:46:06 -07:00
Ashish Amarnath
69cceb0d7e add backup level flag to opt-in for default restic use
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-15 14:46:06 -07:00
Nolan Brubaker
c29a3a4ea0 Merge pull request #2624 from vmware-tanzu/michmike-patch-1
Update ROADMAP.md
2020-06-15 12:38:57 -04:00
Adam Rush
d1b188421f changed pr number for changelog
Signed-off-by: Adam Rush <adamrushuk@gmail.com>
2020-06-13 13:01:58 +01:00
Adam Rush
a728ea8015 add windows cli installation option via chocolatey
Signed-off-by: Adam Rush <adamrushuk@gmail.com>
2020-06-13 12:53:17 +01:00
Tony Batard
9518ac898a Add changelog
Signed-off-by: Tony Batard <tbatard@pivotal.io>
2020-06-11 14:57:28 -07:00
Tony Batard
07da583e37 Update Jekyll to 4.1.0
* also updates jekyll-redirect-from to 0.16.0

Signed-off-by: Tony Batard <tbatard@pivotal.io>
2020-06-11 14:39:55 -07:00
Michael Michael
30051e679d Update ROADMAP.md 2020-06-11 15:54:17 -05:00
Steve Kriss
a5346c1a87 azure: support aad-pod-identity auth when using restic (#2602)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-06-08 11:17:43 -07:00
Nolan Brubaker
13afbf39a1 Merge pull request #2613 from ashish-amarnath/changelog-check
🏃‍♂️Add a CI check for changelog file
2020-06-08 13:43:39 -04:00
Ashish Amarnath
e1eba6f4a6 changelog
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-08 09:48:33 -07:00
Ashish Amarnath
5643b0f634 add a CI check for changelog file
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-06-08 09:48:33 -07:00
Nolan Brubaker
d9d9dc60da Log when a hook timeout duration can't be parsed (#2610)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-06-05 12:45:50 -07:00
Steve Kriss
1c80ba903e don't error during backup when additional items returned by plugin don't exist (#2595)
* log a warning instead of erroring if additional item can't be found

Signed-off-by: Steve Kriss <krisss@vmware.com>

* always show backup warning/error count in get/describe

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-06-04 16:29:55 -07:00
Nolan Brubaker
2fd9d900ff Merge pull request #2608 from skriss/vsphere-support
docs: move vSphere plugin into velero-supported section
2020-06-04 14:13:14 -04:00
Steve Kriss
305732b306 docs: move vSphere plugin into velero-supported section
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-06-04 09:37:01 -06:00
Michael Michael
ac2905b479 creating the Velero ROADMAP.md (#2548)
* Create ROADMAP.md
2020-06-03 14:20:13 -06:00
Jonas Rosland
7ca08730af Add emoji support (#2594)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-06-01 09:43:25 -07:00
Michael Michael
0f934bc406 updating governance for Velero - WIP (#2541)
* Create GOVERNANCE.md

Signed-off-by: Michael Michael <michmike@cs.stanford.edu>
2020-05-29 12:39:39 -07:00
Nolan Brubaker
eaec20f2fe Merge pull request #2553 from ashish-amarnath/csi-blog
📖  Blogpost announcing CSI snapshotting capability
2020-05-29 15:00:03 -04:00
Ashish Amarnath
1de9556707 blogpost announcing CSI snapshotting capability
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-28 16:33:01 -07:00
Nolan Brubaker
e7b668af2a Merge pull request #2588 from ashish-amarnath/remove-travis
🏃‍♂️ Travis decommission
2020-05-28 16:45:29 -04:00
Ashish Amarnath
be48119c50 update release instructions
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-28 13:34:58 -07:00
Ashish Amarnath
6aecc0f6b1 remove travis config
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-28 13:34:58 -07:00
Ashish Amarnath
86878063d9 update build status badge on readme
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-28 13:34:58 -07:00
Christoph Blecker
ceae7a2fdc When creating backup from schedule, allow default name (#2569)
* When creating backup from schedule, allow default name

Signed-off-by: Christoph Blecker <admin@toph.ca>
2020-05-28 12:31:25 -07:00
Carlisia Campos
40d8511f64 Add status column to get BSL output (#2493)
* Add status column to get BSL output

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address code review

Signed-off-by: Carlisia <carlisia@vmware.com>
2020-05-28 10:52:46 -07:00
Nolan Brubaker
93612087d3 Merge pull request #2584 from ashish-amarnath/github-actions
🏃‍♂️ Setup ci in github actions
2020-05-28 13:03:26 -04:00
Ashish Amarnath
941b804a06 setup ci in github actions
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-28 09:52:10 -07:00
Steve Kriss
5b52fd3efd re-instantiate backup store just before persisting artifacts (#2550)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-27 16:03:52 -07:00
Jonas Rosland
d10eea3ba3 Add up and down votes to the issue templates and contributing guide (#2583)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-05-27 14:09:07 -07:00
Nolan Brubaker
759da5b597 Add instructions for bumping homebrew version (#2580)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-27 10:22:39 -06:00
Nolan Brubaker
c283e62d32 Merge pull request #2578 from a-mccarthy/v1.4-blog
V1.4 blog
2020-05-26 17:05:26 -04:00
Nolan Brubaker
5963650c9d v1.4.0 changelog and docs (#2577)
* Add changelog for v1.4.0

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add v1.4.0 docs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix broken CI, links, and date

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix duplicate and missing TOC info

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-26 13:27:26 -07:00
Nolan Brubaker
7e627f8380 Clarify cloud platform wording in README (#2579)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-26 12:56:05 -07:00
Abigail McCarthy
cbd0ba5323 fixing post image and blog date
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-05-26 15:52:39 -04:00
Abigail McCarthy
95e815f293 Update site/index.html
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-05-26 15:23:57 -04:00
Nolan Brubaker
0effb5d74b Merge pull request #2576 from skriss/fix-2562
bug fix: pass ca cert file to restic stats command on restore
2020-05-26 15:16:28 -04:00
Abigail McCarthy
3384da1957 adding 1.14 blog post
Signed-off-by: Abigail McCarthy <mabigail@vmware.com>
2020-05-26 15:05:54 -04:00
Steve Kriss
98c1a34558 bug fix: pass ca cert file to restic stats command on restore
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-26 10:16:03 -06:00
Nolan Brubaker
5cc0b0bc6e Merge pull request #2560 from skriss/save-progress-updates
Save backup progress updates to object storage
2020-05-26 12:10:08 -04:00
Steve Kriss
92693ad422 update backup struct with progress updates
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-21 15:40:59 -06:00
Steve Kriss
3f6183b522 add missing kubebuilder tags
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-21 15:30:12 -06:00
Steve Kriss
98261ee9a0 fix broken link on website (#2556)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-21 09:55:37 -07:00
Nolan Brubaker
3c6341d3fc Document airgapped installation (#2552)
* Document airgapped installation

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Document restic image and specific images

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-20 17:45:58 -07:00
Ashish Amarnath
532c6c5dc3 increment restic volumesnapshot count after successful pvb create (#2542)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-20 09:05:23 -07:00
Nolan Brubaker
92cac03a82 📖 Document CSI operation overview and usage (#2517)
* Document CSI operation overview and usage

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move documentation around

* Move some prereqs into installation
* Document deletion logic

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update based on review feedback

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add changes to v1.4-pre version

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Correct CSI plugin image

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-18 08:51:22 -06:00
Nolan Brubaker
df239b92b6 Document using a public URL to access logs (#2314)
* Document using a public URL to access logs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update documentation to clarify why HTTP endpoints

Also mention custom certificates on master & v1.4.0.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove information about split TLS minio installs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix typo and use kubectl patch command

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-12 14:15:40 -07:00
Nolan Brubaker
c1494d6804 Tweak VolumeSnapshotContent describe output (#2534)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-12 13:58:47 -07:00
Nolan Brubaker
2a144ec3b3 Add changelog entries for PR #2373 (#2529)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-11 14:16:16 -07:00
Nolan Brubaker
09d9342bd6 Merge pull request #2525 from ashish-amarnath/fix-changelog-gen
🐛 Fix change log generation
2020-05-11 13:46:59 -04:00
Ashish Amarnath
e85ffcb415 fix change log generation
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-08 16:38:10 -07:00
Nolan Brubaker
8bf75bd4f2 Add change log and docs site for v1.4.0-beta.1 (#2523)
* Update site for v1.4.0-beta.1

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add v1.4.0-beta.1 changelogs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update upgrade link to v1.4

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Correct docs links in changelog

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-08 16:40:29 -06:00
Nolan Brubaker
e400be9c8f Include CSI volume snapshot information in velero backup describe (#2448)
* Add download methods for CSI objects

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add support for downloading CSI volume objects

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add new methods to mock.

Remove generated information from file since mockery no longer appears
to work. It isn't maintained anymore and doesn't support go module-based
projects.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add describe command for CSI

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add csi package with helpers

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove duplicate import from server

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove CSI API that will not be used with describe

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add VolumeSnapshotContents output to describe command

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Document NewCSIListOptions function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Document csi package

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove stutter in function name

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix CI

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix nil pointer error when not using CSI snapshots

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove unused CSI download request kinds

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add back mocks

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Change persistent volumes to velero-native snapshots

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove unused function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Address review feedback

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add changelog

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove unnecessary doc.go

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-08 12:42:30 -07:00
Nolan Brubaker
f1eeff7a91 Merge pull request #2521 from ashish-amarnath/add-shortlink
Add shortlink for CSI docs
2020-05-08 15:08:56 -04:00
Ashish Amarnath
8d3ef6384b add shortlink for CSI docs
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-08 11:57:24 -07:00
Nolan Brubaker
e91dfe3d91 Remove comment that has been turned into an issue (#2500)
Logged comment as issue #2499

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-08 09:27:01 -07:00
Steve Kriss
d498406c35 v1.4 upgrade instructions (#2509)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-08 09:15:53 -07:00
Ashish Amarnath
c48354bdd5 document --features (#2511)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-07 15:15:55 -07:00
Nolan Brubaker
5ee4e47b64 Merge pull request #2516 from skriss/2440-changelog
add changelog for PR #2440
2020-05-07 15:14:55 -04:00
Steve Kriss
d0ea0e617e add changelog for PR #2440
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-07 13:00:01 -06:00
Nolan Brubaker
de8962ea18 Bug fix: Calculate label using backup name for CSI objects (#2510)
* Use a helper function when querying w/ backup label

Setting or querying for a backup label name should always pass the value
through the GetValidName function. This change passes query uses of the
backup label value through the GetValidName function by introducing 2
new helpers, one for making a Selector, one for making a ListOptions.

It also removes functions returning the same data, but under
unecessarily specific names.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Document using the label.GetValidName function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update copyright year

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Clarify labels.GetValidName and annotations

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move functions to pkg/label

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix function comments

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-07 11:56:13 -07:00
Nolan Brubaker
abae81ddc8 Merge pull request #2440 from skriss/backup-progress
report backup progress
2020-05-07 14:51:20 -04:00
Nolan Brubaker
3411cb7b25 Merge pull request #2512 from ashish-amarnath/revert-verbose-test
🏃‍♂️ Revert verbosity of tests
2020-05-06 20:51:16 -04:00
Ashish Amarnath
f3a4efe075 revert verbosity of tests
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-06 16:01:19 -07:00
Ashish Amarnath
c49afd44bd Use label selector to list VSCs to persist (#2502)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-06 11:04:34 -07:00
Ashish Amarnath
911a607cf8 Allow feature flags to be passed from install CLI (#2503)
* allow feature flags to be passed from install CLI

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-06 10:52:44 -07:00
Ashish Amarnath
577e87d1b8 Sync CSI API objects during backup sync (#2496)
* add changelog

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* Sync CSI API volumesnapshotcontents during backup sync

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-06 08:00:05 -06:00
Nolan Brubaker
8671a639c9 Backup entire v1beta1 CRD instead of just changing version string (#2478)
* Switch to backing up v1beta1 CRDs from API server

Instead of simply switching out the APIVersion string on a v1
CustomResourceDefinition object, re-download the object from the API
server entirely to get the correct fields.

This should fix validation errors upon restore.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix existing tests

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add full example CRDs to automated tests

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move beta CRD lookup into helper function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add case for preserveUnknownFields CRDs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add PreserveUnknownFields case and refactor execute

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add older prometheus CRD test cases

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add changelog

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-05-05 13:21:28 -07:00
Ashish Amarnath
6b5a084f32 Delete dangling volumesnapshotcontents from velero backups (#2480)
* Delete dangling volumesnapshotcontents from velero backups

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* add changelog

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* handle not found errors from VSC delete

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* clean up unit tests

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-04 15:41:27 -04:00
Steve Kriss
4b0f654a1e add progress info to backup status
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-01 15:30:50 -06:00
Steve Kriss
30ca0e4322 split out collecting items from backing up items
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-01 15:30:42 -06:00
Steve Kriss
19c52434b4 simplify group/resource/item backupper structure
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-01 15:29:01 -06:00
Nolan Brubaker
577af5a5b1 Merge pull request #2487 from skriss/fix-error-logging
don't return an error from log hook if value is not an error type
2020-05-01 16:11:16 -04:00
Nolan Brubaker
1ed5a13012 Merge pull request #2484 from skriss/fix-2319
bug fix: fix int/float conversion issue with CRD type in restore plugin
2020-05-01 16:09:57 -04:00
Ashish Amarnath
bf52caf658 Delete CSI volumesnapshots created as part of a backup in its deletion (#2411)
* delete CSI volumesnapshots in backup on backup delete

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* set vsc deletionpolicy to delete prior to vs deletion

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* add more unit tests

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* add change log

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* passes build need to pass unit tests

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* remove GetNamespacesInBackup

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* fix unit tests

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* check feature flag instead of nil check

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* cleanup

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-05-01 16:05:20 -04:00
Rafael Brito
0d97f9400e Backup all groups and versions with backward compatibility (#2373)
* Backup all API Groups versions while keeping backward compatibility

Signed-off-by: Rafael Brito <rbrito@vmware.com>

* Backup all API Groups versions while keeping backward compatibility

Signed-off-by: Rafael Brito <rbrito@vmware.com>

* Adding feature flag to enable backup of multiple API group versions

Signed-off-by: Rafael Brito <rbrito@vmware.com>
2020-05-01 15:54:57 -04:00
Jonas Rosland
e569637dc7 Add GitHub links to team member list (#2492)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-05-01 11:46:02 -07:00
Steve Kriss
234bd1e361 changelog for PR #2455 (#2491)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-05-01 10:06:24 -07:00
Martin Odstrčilík
26f67f1b10 add support for getting Azure Storage Account key from ENV variable (#2455)
Signed-off-by: Martin Odstrcilik <martin.odstrcilik@gmail.com>
2020-05-01 07:55:50 -07:00
Ashish Amarnath
d10970b3db update csi docs with implementation choices and known issues (#2469)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-04-30 16:07:11 -07:00
Steve Kriss
bfc6bd3587 update container base images from bionic to focal (#2471)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 15:13:20 -07:00
Steve Kriss
9cd6347968 change scripts/docs to generate one docs site per major.minor (#2473)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 15:12:11 -07:00
Steve Kriss
5cc6c12eb4 don't return an error from log hook if value is not an error type
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 15:30:22 -06:00
Steve Kriss
e148ddad8f Add backwards-compatibility for flags passed to plugins (#2479)
* update plugin server to ignore unknown flags during parse

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 13:19:55 -07:00
Steve Kriss
dc3593ab15 Revert "Install ca-certificates for ARM based container builds. (#2481)" (#2486)
This reverts commit 0e5ca82dba.

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 13:07:58 -07:00
twoequaldots
0e5ca82dba Install ca-certificates for ARM based container builds. (#2481)
* Install ca-certificates for ARM based container builds.

Signed-off-by: David Colon <dave@colon.dev>

* Adding changelog for PR 2481

Signed-off-by: David Colon <dave@colon.dev>
2020-04-30 09:27:02 -07:00
Steve Kriss
2d55cd2ed8 bug fix: fix int/float conversion issue with CRD type in restore plugin
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-30 09:06:03 -06:00
Samuel Lucidi
317ce03bc5 Add documentation for --cacert feature (#2470)
* Add documentation for --cacert feature

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* Document objectStorage/caCert field.

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* Add link to ca bundle docs in TOC and customize-installation

Signed-off-by: Sam Lucidi <slucidi@redhat.com>
2020-04-29 12:56:03 -07:00
Steve Kriss
15b2a1c9c6 bug fix: don't remove unresolvable includes from includes-excludes lists (#2462)
* bug fix: don't remove unresolvable includes from includes-excludes lists

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-27 17:17:39 -04:00
Jonas Rosland
237065d91f Add Stephanie Bauman as new PM to the site (#2456)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-04-24 14:46:34 -07:00
FNU Raghavendra Manjunath
98d2fc732e clarify the wording for restore describe for namespaces included (#2449)
* clarify the wording for restore describe for namespaces included

Instead of showing it as "*" explicitly mention that all the namespaces
from the backup object are included.

refer to https://github.com/vmware-tanzu/velero/issues/1918

Signed-off-by: Raghavendra M <raghavendra@redhat.com>

* Update pkg/cmd/util/output/restore_describer.go

Co-Authored-By: Ashish Amarnath <ashisham@vmware.com>
Signed-off-by: Raghavendra M <raghavendra@redhat.com>

* Update pkg/cmd/util/output/restore_describer.go

Co-Authored-By: Ashish Amarnath <ashisham@vmware.com>
Signed-off-by: Raghavendra M <raghavendra@redhat.com>

Co-authored-by: Ashish Amarnath <ashisham@vmware.com>
2020-04-24 14:44:20 -07:00
Mayank
962f5d6859 Skipping validation for volumesnapshotlocation for backup if snapshotvolume set to false (#2450)
* Disabling validation for volumesnapshotlocation if the backup has snapshotvolume set to false

Signed-off-by: mayank <mayank.patel@mayadata.io>

* adding a changelog

Signed-off-by: mayank <mayank.patel@mayadata.io>

* addressing review comment

Signed-off-by: mayank <mayank.patel@mayadata.io>
2020-04-24 09:46:20 -07:00
Steve Kriss
a3a9101436 add VMware vSphere plugin to documentation (#2452)
* alphabetize community-supported providers in docs

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add VMware vSphere plugin to documentation

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-22 11:50:53 -07:00
Ashish Amarnath
9db74baee9 Merge pull request #2323 from nrb/upload-csi-snaps
Upload CSI snapshot information to object storage
2020-04-20 13:33:15 -07:00
Nolan Brubaker
68ee0ecfed Add changelog
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 14:39:45 -04:00
Nolan Brubaker
aa3abefdbf Address review feedback
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
16cf2780d8 Fetch contents based on volumesnapshots found
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
bc04c568cd Return list of errors for encoding/zipping
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
eefd12b3e4 Rename CSI variables to be more descriptive
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
b567859655 Add data description for encoding JSON in case of error
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
d31951c81c Add CSI feature flag constant
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
15d4c11305 Wrap CSI lister access in a nil check
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
b4e18b489c Clean up object contents when other files fail
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
ad18318bb1 Rename snapshotter factory variable, return nil in wrapper
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
6c3fc8c780 Addresss simple review feedback
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
9372eaa31b Reduce duplication in object serialization
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
850554911f Reduce duplication in object storage uploads
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
9c1a2e884b Update comments
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
8c11afa30a Update dependencies to latest versio
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
5202885349 Remove unused CSI client variable
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
9719e4de9d Don't defer cancelFunc, since it causes issues
Infomers won't start if cancelFunc is invoked as soon as the newServer
function exits via the defer

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
b7142465fc Wrap usage of the CSI informer in flag checks
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
6827a41cf7 Add dependency to external-snapshotter v2.0.1
All changes to go.mod/go.sum besides the external-snapshotter repo are a
result of its transitive dependencies.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:18 -04:00
Nolan Brubaker
c71318bf19 Address more review feedback
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
5bde12939e Address review feedback on object store
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
5de15c450b Address some review feedback on server
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
aff529e5d5 Upload CSI volumesnapshots associated with backup
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
6a7beaf5ce Plumb CSI listers through to backup controller
Account for having CSI enabled or not, as well as having the snapshot
CRDs installed in the kubernetes cluster.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
232e1d8927 Add clients for CSI snapshots
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Nolan Brubaker
b4be7eccb9 Document locations for CSI support
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-20 13:49:17 -04:00
Pablo Chico de Guzman
33e154f0d9 Add Okteto to the list of adopters (#2445)
Signed-off-by: Pablo Chico de Guzman <pchico83@gmail.com>
2020-04-20 08:38:51 -06:00
Steve Kriss
9acb8af7f0 Merge pull request #2442 from carlisia/c-tilt-ignore
Add Tiltfile to gitignore
2020-04-17 08:10:16 -06:00
Carlisia
b92f813492 Add Tiltfile to gitignore
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-04-16 18:38:26 -07:00
Nolan Brubaker
29769eeb5b Merge pull request #2439 from skriss/dynamic-list-refactor
change dynamic client's List return type to UnstructuredList
2020-04-16 15:16:30 -04:00
Ashish Amarnath
5167eee2c9 Merge pull request #2441 from mynktl/local-openebs
Updating plugin page for OpenEBS plugin
2020-04-16 11:20:34 -07:00
mayank
9e2cc9ef6b Updating plugin page for openebs
Signed-off-by: mayank <mayank.patel@mayadata.io>
2020-04-16 23:14:20 +05:30
Ashish Amarnath
cff5c12614 Merge pull request #2436 from nrb/format-versioning
Add documentation for file format versioning
2020-04-16 09:22:45 -07:00
Ashish Amarnath
bf2ef69aa7 Merge pull request #2431 from nrb/fix2429
Annotate backups with kubernetes version information
2020-04-15 11:45:10 -07:00
Steve Kriss
ca58d7ab90 change dynamic client's List return type to UnstructuredList
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-15 12:41:47 -06:00
Nolan Brubaker
2ea694a3d3 Reword proposal based on review feedback
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-15 13:37:40 -04:00
Steve Kriss
1826b6b67b bug fix: populate namespace in logs for backup errors (#2438)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-15 10:31:40 -07:00
Nolan Brubaker
03963db3c8 Clarify what changes would justify major versions
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-14 17:54:40 -04:00
Nolan Brubaker
62f8f108d2 Spelling fix
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-14 17:52:19 -04:00
Nolan Brubaker
29c837557f Add changelog
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-14 17:34:20 -04:00
Nolan Brubaker
07fa6da0d6 Add documentation for file format versioning
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-14 17:26:17 -04:00
Nolan Brubaker
67322d555e Write kubernetes version info to annoations
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-04-14 17:11:04 -04:00
Ashish Amarnath
fdba6a6c55 Merge pull request #2202 from carlisia/c-cli-design
Initial redesign of CLI commands
2020-04-09 13:35:12 -07:00
Ashish Amarnath
c5b8dd7642 Merge pull request #2406 from duyanghao/add-velero-volume-controller
update 3rd party controllers for v1.3.2 restic docs
2020-04-09 09:05:41 -07:00
Ashish Amarnath
824bc8eec5 Merge pull request #2390 from skriss/fix-2366
bug fix: save PVBs even if no snapshot was taken
2020-04-08 12:21:43 -07:00
Steve Kriss
72524ffd18 bump k8s deps to v0.17.4 (#2407)
* bump k8s deps to v0.17.4

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-08 09:57:02 -07:00
Ashish Amarnath
78f50008bb Update prerequisites for CSI driver name for cross cluster restore (#2401)
* update prerequisites for CSI driver name for cross cluster restore

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* update 1.3.x docs

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-04-08 12:23:12 -04:00
duyanghao
d3deb2b1e2 update 3rd party controllers for v1.3.2 restic docs
Signed-off-by: duyanghao <1294057873@qq.com>
2020-04-08 10:22:14 +08:00
Nolan Brubaker
90c324a76d Merge pull request #2393 from duyanghao/add-velero-volume-controller
Add velero-volume-controller as an implemented choice of velero restic 3rd party controller
2020-04-07 15:38:48 -04:00
Carlisia
79dbf09a78 Fix validation on CRD yamls
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-04-07 08:46:33 -07:00
duyanghao
a7ebca2453 update docs
Signed-off-by: duyanghao <1294057873@qq.com>
2020-04-07 10:33:35 +08:00
Carlisia
bb8cda7fdc More code reviews
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-04-06 16:21:49 -07:00
Carlisia
7147458660 Clean up velero server flags
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-04-06 15:28:52 -07:00
Nolan Brubaker
fffed56319 Merge pull request #2399 from rochfordk/master
Highlight use of TTL flag to specify backup retention
2020-04-06 15:48:39 -04:00
Keith
3817b98a78 Amended documentation to clarify use of ttl flag
Signed-off-by: Keith <keith.rochford@gmail.com>
2020-04-06 16:35:04 +01:00
Keith
e4ccb00649 Amended documentation to clarify use of ttl flag
Signed-off-by: Keith <keith.rochford@gmail.com>
2020-04-06 14:01:46 +01:00
Steve Kriss
a65eff6fde Merge pull request #2388 from skriss/v1.3.2-release
v1.3.2 changelog & docs
2020-04-03 11:21:43 -06:00
Samuel Lucidi
c8223608ba Add --cacert flag to velero cli commands (#2364)
* Add --cacert flag to velero cli commands

Adds a --cacert flag to the log and describe commands
that takes a path to a PEM-encoded certificate bundle
as an alternative to --insecure-skip-tls-verify for
dealing with self-signed certificates.

Signed-off-by: Sam Lucidi <slucidi@redhat.com>
2020-04-03 08:02:41 -07:00
Mayank
016868ecd3 add restore item action to update PVC selected-node annotation (#2377)
* New RestoreItemAction for PVC with annotation `volume.kubernetes.io/selected-node`

Signed-off-by: mayank <mayank.patel@mayadata.io>
2020-04-03 08:01:34 -07:00
Ashish Amarnath
061b4463ce ensure target namespace exists prior to retoring a resource (#2389)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-04-03 07:57:01 -07:00
duyanghao
819657d863 add velero-volume-controller as an implemented choice of velero restic 3rd party controller
Signed-off-by: duyanghao <1294057873@qq.com>
2020-04-03 10:51:22 +08:00
Steve Kriss
a6b60f9f9f changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-02 13:25:00 -06:00
Steve Kriss
91228522be bug fix: save PVBs even if no snapshot was taken
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-02 13:17:41 -06:00
Carlisia
203bb7cbe7 Remove design for new secret functionality
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-04-02 10:44:48 -07:00
Steve Kriss
f277b22fba v1.3.2 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-02 09:06:27 -06:00
Steve Kriss
2203a9a055 v1.3.2 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-04-02 09:00:50 -06:00
Ashish Amarnath
969526cee5 Merge pull request #2381 from nrb/plugin-feature-flag
Add features flag to plugin server
2020-03-31 16:57:02 -07:00
Samuel Lucidi
02b5578810 Add --cacert flag to the installer (#2368)
* Add --cacert flag to the installer

Allows setting the cacert field on the BSL during
the install process using the file at the path
specified by the --cacert field.

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* Add changelog for #2368

Signed-off-by: Sam Lucidi <slucidi@redhat.com>
2020-03-31 14:48:16 -06:00
Nolan Brubaker
c850b8225f Merge pull request #2380 from nrb/fix-2379
Only add CA cert to plugin config if it's defined
2020-03-31 14:27:58 -04:00
Nolan Brubaker
bc2717fca1 Add features flag to plugin server
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-31 14:01:47 -04:00
Nolan Brubaker
7c87aebe5f Only add CA cert to plugin config if it's defined
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-31 13:59:37 -04:00
Ashish Amarnath
4961040652 add secrets to kuberesource (#2369)
CSI plugin for velero will use this to return secrets as additional
resource while backing up CSI objects

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-03-30 09:43:58 -07:00
Jonas Rosland
69182a5653 Add back the proper Algolia logo for the search dropdown (#2372)
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2020-03-30 09:19:31 -06:00
Nolan Brubaker
a8852c34e6 Document using multiple commands in hooks (#2365)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-30 09:15:27 -06:00
Nolan Brubaker
0fdb79aa2d Merge pull request #2367 from jonasrosland/add-docs-search
Add documentation search to the site
2020-03-27 12:16:05 -04:00
jonasrosland
bc8d5762cd Add better styling and mobile support
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-03-27 09:57:30 -04:00
jonasrosland
ddbe4f666c Add documentation search to the site
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-03-26 10:01:18 -04:00
Samuel Lucidi
4d49b5971c Support setting a custom CA bundle to use with a BackupStorageLocation (#2353)
* Support setting a custom CA certificate for a BSL

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* update CRDS

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* Add changelog for #2353

Signed-off-by: Sam Lucidi <slucidi@redhat.com>

* Clean up temp file from TestTempCACertFile

Signed-off-by: Sam Lucidi <slucidi@redhat.com>
2020-03-24 15:50:48 -06:00
Carlisia
d763e7518b Add question to TBD section
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 12:07:36 -07:00
Carlisia
789a9a198f Address alternative CLI examples
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 12:05:58 -07:00
Carlisia
abf4b7b6e2 Address server behavior changes
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 11:13:28 -07:00
Nolan Brubaker
d1482d927e Bump checkout github action version (#2362)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-23 11:32:05 -06:00
Carlisia
0dbf016063 Change "provider" to "plugin"
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:05 -07:00
Carlisia
762f48aca1 Handle GitOps
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
b1246b5853 Handle certs + secrets + env vars
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
eda0936c5c Add plugin flag for CA cert
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
e06e7a6e09 Refine restic and server config
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
dafc1abd94 Address code reviews
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
2b614e7e3a Remove unneeded files
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:04 -07:00
Carlisia
73d0f7ca29 Flexible way to add the secret
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
539c6e13b5 Add kustomize PoC
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
5865204e72 Small flag deprecation fix
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
418f831d18 Cleanup of CLI commands and flags
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
b2bdb562d2 Reinements
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
66207f53ae Fix
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:03 -07:00
Carlisia
57cecb562d Initial redesign of CLI commands
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-03-23 09:04:01 -07:00
Rafael Brito
f6cd53c6cb Adding k8s version labels on backup CRD #2342 (#2346)
Signed-off-by: Rafael Brito <rbrito@vmware.com>
2020-03-19 09:18:05 -07:00
Ashish Amarnath
016df403f6 Merge pull request #2350 from skriss/allow-plugins-dir
allow plugins/ as a valid directory in the BSL bucket
2020-03-17 13:25:02 -07:00
Steve Kriss
32ab45fa27 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-17 11:21:56 -06:00
Steve Kriss
4a5e70e00d allow plugins/ as a valid directory in the BSL bucket
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-17 11:14:41 -06:00
Steve Kriss
d846b47c9a v1.3.1 docs site (#2336)
* update 1.3 upgrade instructions for v1.3.1

Signed-off-by: Steve Kriss <krisss@vmware.com>

* generate v1.3.1 docs

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-10 13:07:18 -06:00
Nolan Brubaker
4f6e8c98a7 Update changelog for v1.3.1 (#2337)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-10 13:06:56 -06:00
Nolan Brubaker
7258167548 Merge pull request #2248 from skriss/refactor-restore-priorities
refactor restore priorities code to use single loop and lazy discovery
2020-03-10 12:16:42 -04:00
Nolan Brubaker
040f6806f1 Fix int/float conversion issues in CRD version remapping plugin (#2322)
* Add builders for CRD schemas

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add test case for #2319

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add failing test case

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove unnecessary print and temporary variable

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add some options for fixing the test case

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Switch to a JSON middle step to "fix" conversions

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add comment and changelog

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-03-10 09:24:22 -06:00
Steve Kriss
583ef4258a refactor restore priorities code to use single loop and lazy discovery
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-10 08:57:50 -06:00
Nolan Brubaker
ed42d5a9f1 Merge pull request #2318 from ashish-amarnath/csi-core-changes
Add CSI snapshot API types into default restore priorities
2020-03-06 13:53:43 -05:00
Ashish Amarnath
b7cbc4873e add csi types into restore priorities
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-03-06 10:37:03 -08:00
Nolan Brubaker
fd95a59cf7 bug fix: don't panic on nil restic repo maintenance time (#2315)
* bug fix: don't panic on nil restic repo maintenance time

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-05 17:11:59 -05:00
Nolan Brubaker
bdb9145375 Merge pull request #2321 from skriss/fix-install-docs
update docs for installing with kubectl apply
2020-03-05 17:11:16 -05:00
Steve Kriss
b11086a3d4 update docs for installing with kubectl apply
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-05 12:42:46 -07:00
Ashish Amarnath
cc848fb3b9 Merge pull request #2299 from skriss/refactor-cache-sync
wait for informer caches to sync before running controllers
2020-03-04 14:25:17 -08:00
Steve Kriss
9f8e0ca752 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-03 15:55:17 -07:00
Steve Kriss
c7f283c7fa wait for informer caches to sync before running controllers
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-03 15:55:17 -07:00
Ashish Amarnath
36e76518da Merge pull request #2246 from jonasrosland/plugins-page
Add Plugins page
2020-03-03 14:13:12 -08:00
jonasrosland
6fe4d84ae3 Changed the order of the plugins, and added a Prototype status
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-03-03 16:42:41 -05:00
Ashish Amarnath
3e1b8e01a7 Merge pull request #2214 from skriss/final-go-mod-migrate
migrate to go 1.14 + modules
2020-03-03 13:34:25 -08:00
Nolan Brubaker
aa3c4a1a5a Merge pull request #2313 from go10/go10-patch01
Add Cloudian HyperStore to storage providers list.
2020-03-03 16:11:59 -05:00
Gary Ogasawara
7c77007341 Add Cloudian to storage providers list in v1.2.0, v1.3.0
Signed-off-by: Gary Ogasawara <garyo@garyo-pc2.geminimobile.com>
2020-03-03 12:52:26 -08:00
Gary Ogasawara
5c237b04de Add Cloudian HyperStore to storage providers list.
Signed-off-by: Gary Ogasawara <garyo@garyo-pc2.geminimobile.com>
2020-03-03 11:06:45 -08:00
Steve Kriss
9a4938b522 v1.3 blog post (#2306)
* v1.3 blog post

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add image, fix issues

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update index.html

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 11:04:32 -07:00
Steve Kriss
514e24ff2c changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:22 -07:00
Steve Kriss
ac7a84cc58 update generated CRDs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
9d7bd59957 update to go 1.14
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
17d7ea7876 add modules & verify-modules make targets
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
34e1f1e152 set GO111MODULE=on for build container
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
2bb4922c7a bump go versions to 1.13
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
83c2382e7c bind-mount velero in outside GOPATH for clarity
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
01526a1016 remove unneeded bindmount of vendor subdir
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
ea418ceda7 update generated CRDs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
21e382abe4 bump builder image to go 1.13, updates for modules
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
9e19c1d3bd fix goimport noise in prep for bump to latest
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
89d9413ef4 remove Gopkg.toml, Gopkg.lock and vendor/
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:08 -07:00
Steve Kriss
af9e11e23a fix Azure dependency
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:06 -07:00
Steve Kriss
f18ac40364 go mod init + go mod tidy
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-03-02 10:55:06 -07:00
Steve Kriss
8fec8ed7fb Merge pull request #2307 from skriss/v1.3-docs-changelog
v1.3.0 docs & changelog
2020-03-02 09:43:52 -07:00
Steve Kriss
b7f6b5170d v1.3.0 docs site
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-28 09:44:04 -07:00
Steve Kriss
ba7f8d2e62 v1.3.0 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-28 09:44:04 -07:00
Dylan Murray
a9f0726df3 Add design doc for Custom CA support for S3 BSLs and Velero Installation (#2259)
* Add design doc for Custom CA support for S3

Signed-off-by: Dylan Murray <dymurray@redhat.com>
2020-02-27 12:03:41 -08:00
Ashish Amarnath
a916d8f2ae Merge pull request #2305 from nrb/fix-2142
Add initial documentation for CSI support
2020-02-27 11:18:21 -08:00
Nolan Brubaker
54a041ed27 Add initial documentation for CSI support
Fixes #2142

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-02-27 12:08:36 -05:00
Nolan Brubaker
c1a14316b6 Merge pull request #2294 from skriss/update-to-1.3-docs
update upgrade instructions for v1.3
2020-02-26 16:07:31 -05:00
Steve Kriss
73ee80f17e update upgrade instructions for v1.3
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-26 12:21:40 -07:00
Jonas Rosland
f1b1dc7c22 Update site/plugins.md
Co-Authored-By: Steve Kriss <stephen.kriss@gmail.com>
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-02-26 13:46:10 -05:00
Jonas Rosland
6b6ce3e134 Update site/plugins.md
Co-Authored-By: Steve Kriss <stephen.kriss@gmail.com>
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-02-26 13:46:10 -05:00
jonasrosland
ee716bd645 Add supported by the Velero team, and OpenShift specific tags
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-02-26 13:46:10 -05:00
jonasrosland
67f13a461c Add Plugins page
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-02-26 13:46:10 -05:00
Rushinth John
2ff8ad192c Corrected selfLink in site/docs/master/output-file-format.md (#2292)
Signed-off-by: Rushinth John <rushinth@appranix.com>
2020-02-25 16:01:13 -07:00
Ashish Amarnath
31dca0ea1b add GroupResources for volumesnapshot types (#2288)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-02-24 11:47:35 -08:00
Ashish Amarnath
0c1b8ed538 Merge pull request #2293 from skriss/v1.3.0-beta.2-release
v1.3.0-beta.2 changelog + docs
2020-02-24 11:29:53 -08:00
Steve Kriss
809e01aaa9 v1.3.0-beta.2 docs site
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-24 12:08:58 -07:00
Steve Kriss
486fc07e85 v1.3.0-beta.2 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-24 12:08:58 -07:00
Nolan Brubaker
766ab5d3ee Account for possible missing schemas on v1 CRDs (#2264)
* Account for possible missing schemas on v1 CRDs

If a v1beta1 CRD without a Schema was submitted to a Kubernets v1.16
cluster, then Kubernetes will server it back as a v1 CRD without a
schema.

However, when Velero tries to restore this document, the request will be
rejected as a v1 CRD must have a schema.

This commit has some defensive coding on the restore side, as well as
potential fixes on the backup side for getting around this.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Back up nonstructural CRDs as v1beta1

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add tests for remapping plugin

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add builders for v1 CRDs

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Address review feedback

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove extraneous log message

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add changelog

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-02-24 12:07:50 -07:00
Ashish Amarnath
e681759178 export restic pod annotation (#2283)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-02-19 12:37:40 -07:00
JenTing Hsiao
b4446bd358 Fix restic backup volume snapshot to the second location failed (#2244)
* Fix restic backup volume snapshot to the second location failed

Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-02-19 11:01:21 -08:00
Michael Michael
4a6febd4db Update ADOPTERS.md (#2257)
* Update ADOPTERS.md

Co-authored-by: Ashish Amarnath <ashisham@vmware.com>
Co-authored-by: Carlisia Campos <carlisia@grokkingtech.io>
Co-authored-by: Steve Kriss <stephen.kriss@gmail.com>
2020-02-18 15:25:27 -08:00
Nolan Brubaker
677f767b6b Merge pull request #2274 from skriss/shortlinks
add a few more shortlinks to docs pages
2020-02-13 14:40:40 -05:00
Steve Kriss
8c7f0bf44a add a few more shortlinks to docs pages
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-13 10:46:58 -07:00
Nolan Brubaker
61e1047bcb Merge pull request #2271 from jonasrosland/fix-redirects
Fix shortlinks redirect
2020-02-13 12:26:25 -05:00
jonasrosland
145f8ac29b Fix shortlinks redirect
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-02-13 11:07:04 -05:00
Kiran Mova
f96de29c35 Add mayadata.io as a Velero adopter (#2266)
The OpenEBS community uses Velero as a preferred tool to enable data protection strategies. And at MayaData, we have
been using Velero since its ark days to power DMaaS - Data Migration as a service. Thank you for an amazing product and
community.

Signed-off-by: kmova <kiran.mova@mayadata.io>
2020-02-12 12:19:16 -07:00
Ángel Barrera
18b9b2f2b8 Add SIGHUP.io as a Velero adopter (#2265)
Signed-off-by: Ángel Barrera Sánchez <angel@sighup.io>
2020-02-12 08:54:42 -07:00
William Starling
e74923aea6 Correct Bugsnag casing (#2261)
Signed-off-by: William Starling <william@bugsnag.com>
2020-02-11 11:33:28 -08:00
Mayank
1a1372550d Use PV name returned from volumesnapshotter while creating a PV (#2216)
* Using PV name returned from volumesnapshotter while creating a PV

Signed-off-by: mayank <mayank.patel@mayadata.io>
2020-02-10 13:17:15 -07:00
Ashish Amarnath
ef1fa034de Merge pull request #2242 from vmware-tanzu/add-adopters
Add ADOPTERS.md
2020-02-07 13:27:03 -08:00
Jonas Rosland
e02fca0b92 Add ADOPTERS.md
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2020-02-07 16:05:38 -05:00
Ashish Amarnath
70432894c3 Merge pull request #2238 from carlisia/c-ns-doc
Improvement to namespace documentation
2020-02-06 16:57:44 -08:00
Ashish Amarnath
4b9352f333 Merge pull request #2252 from skriss/fix-2125
backup describer: reword resource list not found msg
2020-02-06 10:48:08 -08:00
Steve Kriss
44d3f91e97 backup describer: reword resource list not found msg
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-06 11:40:15 -07:00
Ashish Amarnath
079c0e10d1 Merge pull request #2247 from ashish-amarnath/update-helm-chart-repo-docs
📖 Update helm chart repo docs
2020-02-05 13:16:55 -08:00
Ashish Amarnath
c806f32749 update 1.3.0-beta.1 branch docs
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-02-05 13:10:10 -08:00
John Naulty Jr
600e342c49 Add api-types/restore.md doc (#2240)
Signed-off-by: John Naulty <johnnaulty@bitgo.com>
2020-02-05 12:18:53 -08:00
Ashish Amarnath
36d20e39b0 📖 Update helm chart repo URL
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-02-05 11:57:46 -08:00
Mark Davydov
95c8cd3d66 Replaced deprecated helm repo url at docs 📄 (#2209)
* Replaced deprecated helm repo url at docs 📄

Signed-off-by: Mark Davydov <mark@monday.com>
2020-02-05 11:52:27 -08:00
Jonas Rosland
52d3185e04 Change M2 from project to product mgr (#2243)
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2020-02-05 09:03:35 -07:00
Carlisia
8859766b5d Code reviews
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-02-04 12:27:47 -08:00
Ashish Amarnath
2fbcc04d03 Merge pull request #2239 from skriss/v1.3.0-beta.1-release
v1.3.0-beta.1 changelog + docs site
2020-02-04 10:30:28 -08:00
Steve Kriss
f3409c406a v1.3.0-beta.1 docs site
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-04 09:38:13 -07:00
Steve Kriss
88d123fcdc v1.3.0-beta.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-04 09:38:13 -07:00
Carlisia
ec7c04df2c Better instructions
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-02-03 14:28:02 -08:00
Carlisia
9d30439f67 Fix typo
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-02-03 13:54:31 -08:00
Carlisia
afca601acd Change title
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-02-03 13:53:49 -08:00
Carlisia
96197bf1b5 Improvement do doc
Signed-off-by: Carlisia <carlisia@vmware.com>
2020-02-03 13:51:52 -08:00
Shane Utt
e794d8404d Add ARM container builds (#2227)
Signed-off-by: Shane Utt <shaneutt@linux.com>
2020-02-03 13:12:47 -08:00
Brad Koehn
b25fea3bea properly handle empty restic stdout during progress updates (#2231)
* properly handle empty restic stdout during progress updates

Signed-off-by: Brad Koehn <brad@koehn.com>
2020-02-03 12:49:23 -07:00
Ashish Amarnath
c5e8bdd7c8 allow override of container image (#2233)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-02-03 11:10:08 -08:00
Steve Kriss
08c549a092 Restore result refactoring (#2234)
* move Result helper funcs to be methods

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-02-03 10:56:57 -08:00
Carlos Tadeu Panato Junior
c9bc6646a5 use GA topology labels for PVs (#2219)
* use GA toplogy labels for PVs

Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-02-03 10:47:18 -08:00
Ashish Amarnath
21264a11ec Merge pull request #2218 from cpanato/GH-1168
remove schedule validation
2020-01-31 13:00:24 -08:00
Jonas Rosland
1f2375a53d Add YouTube plugin for the site (#2236)
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2020-01-31 13:20:19 -07:00
Steve Kriss
37011ee5ac bug fix: back up server-preferred version of CRD (#2230)
* bug fix: back up server-preferred version of CRD

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-31 08:45:46 -07:00
Carlos Panato
42b6126458 update variable name
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-01-31 09:22:46 +01:00
Carlisia Campos
2f2666f5d8 Update resources (#2224)
* Update resources

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fixes

Signed-off-by: Carlisia <carlisia@vmware.com>

* Much better formatting

Signed-off-by: Carlisia <carlisia@vmware.com>
2020-01-30 16:06:20 -05:00
Nolan Brubaker
6745979a7b Wait for CRDs to be ready before restoring CRs (#1937)
* Wait for CRDs to be available and ready

When restoring CRDs, we should wait for the definition to be ready and
available before moving on to restoring specific CRs.

While the CRDs are often ready by the time we get to restoring a CR,
there is a race condition where the CRD isn't ready.

This change waits on each CRD at restore time.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-01-30 09:19:13 -08:00
Carlos Panato
4a5a63fc92 add changelog
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-01-29 18:24:36 +01:00
Carlos Panato
f7adc4dfd1 check if schedule have a backup
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-01-29 18:24:32 +01:00
Carlos Panato
445b5b781e remove schedule validation
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-01-29 18:24:32 +01:00
Jonas Rosland
710beb96c2 Update Code of Conduct (#2229)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-01-29 09:48:49 -07:00
JenTing Hsiao
b19097f825 Pruning unknown fields (#2187)
* Pruning unknown fields

In CRD apiversion v1beta1, default preserveUnknownFields=true.

In CRD apiversion v1, the preserveUnknownFields can only be false.
Otherwise, the k8s validation bumps out error message for the
invalid preserveUnknownFields value.

Deploy Velero on k8s 1.16+ with CRD apiversion v1beta1, the
k8s cluster converts apiversion from v1beta1 to v1 automatically.

Fully backup and restore the cluster, restore bumps out error message
due to the preserveUnknownFields=true is not allowed on k8s 1.16+.

Since the CRD structural schema had been defined, enable the preserveUnknownFields
to false to solves the restore bumps out error message on k8s 1.16+.

Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>

* Add changelog

Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-01-28 14:04:28 -05:00
Ashish Amarnath
f00922ddf1 📖 Add docs for troubleshooting prometheus metrics (#2223)
* Add docs for troubleshooting prometheus metrics

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-01-28 10:33:34 -08:00
Nolan Brubaker
5b1280c2cd Fix restore issues for CRD v1 on Kubernetes v1.16 clusters (#2197)
Fix restore issues for CRD v1 on Kubernetes v1.16 clusters

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-01-27 13:59:08 -08:00
Carlos Tadeu Panato Junior
82d6ad4ae3 [GH-1505] add documentation regarding autocompletion for velero CLI (#2208)
* add documentation regarding autocompletion for velero CLI

Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2020-01-27 13:51:36 -08:00
Jonas Rosland
fc3ec9ff2c Fix a few images with unneccessary large file sizes (#2222)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-01-27 09:38:15 -08:00
Ashish Amarnath
ec22f2c88d Merge pull request #2196 from skriss/fix-1777
recompute backup_last_successful_timestamp metric during resync
2020-01-21 17:01:51 -08:00
Ashish Amarnath
421dcd4e8d Merge pull request #2201 from skriss/fix-2121
fix race condition in waiting for restic restores to complete
2020-01-21 15:16:08 -08:00
Steve Kriss
71201fe929 extract helper func and add unit tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-21 13:21:28 -07:00
Steve Kriss
ae316193ea move log statement
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-21 12:36:46 -07:00
Nolan Brubaker
a10f57d720 Merge pull request #2210 from Sh4d1/bump_restic
bump restic to 0.9.6
2020-01-21 13:14:39 -05:00
Nolan Brubaker
c0eef6009e Merge pull request #2206 from skriss/fix-276
remove hardcoded svc, netpol mappings
2020-01-21 13:13:58 -05:00
Patrik Cyvoct
823b1f7d6d bump restic to 0.9.6
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-01-21 18:12:15 +01:00
Steve Kriss
d4ccdd6460 remove hardcoded svc, netpol mappings
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-16 19:16:45 -07:00
David L. Smith-Uchida
dcca3c3d2b change nobody:nobody to nobody:nogroup to be correct for Debian based image (#2189)
(for some reason, basic Kubernetes is able to run a Debian based container with nobody:nobody but
docker run and VMware WCP fail which should be expected behavior)

Signed-off-by: Dave Smith-Uchida <dsmithuchida@vmware.com>
2020-01-16 18:00:34 -07:00
Steve Kriss
65e970f59d changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-15 16:09:54 -07:00
Steve Kriss
3b80e00d62 fix race condition in waiting for restic restores to complete
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-15 16:09:54 -07:00
Nolan Brubaker
ee0cbcf11e Merge pull request #2199 from jnaulty/jnaulty/improve-config-file-perms
Restrict file permissions for config file/dir
2020-01-15 15:13:22 -05:00
John Naulty
254a5eebb5 Restrict file permissions for config file/dir
Velero client config file should have restricted file permissions to be
read/write-able for the user that creates it--similiar to files like
`.ssh/id_rsa`

Refer to OTG-CONFIG-009: Test File Permission
> Impoper file permission configuration may result in privilledge
escalation, information explousure, DLL injection, or unauthorized file
access.
Therefore, files permission must be properly configured with minium
access permission by default.

[source](https://www.owasp.org/index.php/Test_File_Permission_(OTG-CONFIG-009))

Ticket: #1758
Signed-off-by: John Naulty <johnnaulty@bitgo.com>
2020-01-15 09:41:25 -08:00
Scott Seago
aa44cf1c32 Check for nil LastMaintenanceTime in dueForMaintenance (#2200)
* Check for nil LastMaintenanceTime in dueForMaintenance

ResticRepository.dueForMaintenance causes a panic in the velero pod
("invalid memory address or nil pointer dereference") if
repository.Status.LastMaintenanceTime is nil. This fix returns 'true'
if it's nil, so the repository is due for maintenance if LastMaintenanceTime
is nil *or* the time elapsed since the last maintenance is greater than
repository.Spec.MaintenanceFrequency.Duration

Signed-off-by: Scott Seago <sseago@redhat.com>

* changelog for PR#2200

Signed-off-by: Scott Seago <sseago@redhat.com>
2020-01-15 12:06:16 -05:00
Steve Kriss
f4f2351411 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-14 14:29:46 -07:00
Steve Kriss
9fa302aa8b recompute backup_last_successful_timestamp metric during resync
Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-14 14:11:21 -07:00
Steve Kriss
b2acd3b683 bump go-hclog and prometheus dependency versions in prep for go modules (#2188)
* update revision of go-hclog to match go.mod requirement

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update prometheus dep to prepare for go module migration

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-14 11:29:37 -05:00
Jonas Rosland
61b7c7dee0 Add M2 as a team member on the site (#2183)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2020-01-10 12:36:19 -08:00
Steve Kriss
04d8b47d3e update to k8s 1.17 deps and fix breaks (#2180)
* update to k8s 1.17 deps

Signed-off-by: Steve Kriss <krisss@vmware.com>
2020-01-10 08:55:58 -08:00
Ashish Amarnath
555e8ff2e3 add myself and remove adnan (#2181)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-01-09 11:45:57 -08:00
JenTing Hsiao
97b33402a4 Assign default CPU/Memory resource value if not present (#2176)
Install restic with CPU/Memory limits is optional.
If velero cannot parse resource requirements, use default value instead.

After that, the administrator won't get confused that something recovered failed.

Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-01-09 08:48:35 -07:00
Nolan Brubaker
c6ff6333a9 Remove duplicate lines from doc (#2177)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2020-01-07 11:45:12 -07:00
Prajyot-Parab
b9d02795b5 Multiarch image support (#1768)
* multi-arch docker image support

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* updated manifest for latest tag

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* updated manifest part

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* update changelog

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* Removed commented out code lines

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* minor changes

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* bumped restic version

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* refactoring vars

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* added purge flag to manifest push command

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* removed all-build from workflow

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* enabled docker_cli_experimental flag for docker manifest

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* Updated manifest related info

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>

* Updated manifests info to doc

Signed-off-by: Prajyot Parab <prajyot.parab@ibm.com>
2020-01-07 13:33:31 -05:00
Shuwei Hao
c832e52905 add ALIBABA_CLOUD_CREDENTIALS_FILE env in deployment and daemonset installation (#2166)
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>
2020-01-06 14:56:23 -08:00
Steve Kriss
f43c1ad55e document --validate=false flag for manual installation to v1.13/earlier (#2172)
Signed-off-by: Steve Kriss <krisss@vmware.com>

Co-authored-by: Ashish Amarnath <ashish.amarnath@gmail.com>
2020-01-06 14:34:05 -08:00
Ashish Amarnath
408c0dfb5a Add documentation for velero install cli (#2155)
* Add documentation for velero install cli

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* mirror doc changes into v1.2.0

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2020-01-06 13:13:02 -07:00
JenTing Hsiao
93e4737258 Fix incorrect output log format (#2165)
Signed-off-by: JenTing Hsiao <jenting.hsiao@suse.com>
2020-01-06 09:05:38 -07:00
Steve Kriss
be140985c5 bug fix: only prioritize restoring replicasets.apps (#2157)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-19 09:44:08 -08:00
Steve Kriss
4907bea398 add missing --plugins flag to minio docs (#2158)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-19 09:31:33 -08:00
Nolan Brubaker
2cd0b540bd Run CI checks on pushes and pull requests (#2150)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-12-18 15:08:30 -07:00
Nolan Brubaker
a98bfd14c5 Merge pull request #2154 from skriss/doc-support-process
support process doc
2019-12-18 16:15:26 -05:00
Steve Kriss
0fc42662aa more edits
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 13:26:57 -07:00
Steve Kriss
d09aee9fae change SUPPORT.md to point to community page
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 13:09:13 -07:00
Steve Kriss
13fb36cda4 add link to SUPPORT.md
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 12:58:55 -07:00
Steve Kriss
6d71e288ef add link in TOCs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 12:58:45 -07:00
Steve Kriss
cc142d9ad7 add to v1.2.0 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 12:58:28 -07:00
Steve Kriss
bf3952338b copy edits
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 12:58:13 -07:00
Steve Kriss
2755496563 support process doc
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-18 09:20:34 -07:00
John Naulty Jr
cd860771c2 Add error return to pvRenamer func (#2138)
Migrate logic from NewUUID function into the pvRenamer function.

PR #2133 switched to a new NewUUID function that returns an error, but
the invocation of that function needs to happen within the pvRenamer
closure. Because the new function returns an error, the pvRenamer should
return the error, the signature needs to be changed and the return
checked.

Signed-off-by: John Naulty <johnnaulty@bitgo.com>
2019-12-17 10:23:58 -08:00
Steve Kriss
171f329fcc Merge pull request #2148 from dns2utf8/patch-1
Use more recent nginx in example
2019-12-17 08:58:18 -07:00
Stefan Schindler
88d35290bf Use more recent nginx in example
Signed-off-by: Stefan Schindler <dns2utf8@estada.ch>
2019-12-17 16:50:36 +01:00
Nolan Brubaker
ebace913d8 Merge pull request #2136 from skriss/oc-patch-cmds
add oc patch cmds for OpenShift+restic setup
2019-12-16 17:39:23 -05:00
Nolan Brubaker
aa9423593f Merge pull request #2133 from jnaulty/jnaulty/switch-from-satori-uuid-to-gofrs-uuid
Switch from satori/go.uuid to gofrs/uuid
2019-12-16 11:47:29 -05:00
Steve Kriss
89f0309e7b add oc patch cmds for OpenShift+restic setup
Signed-off-by: Steve Kriss <krisss@vmware.com>
Co-authored-by: Aleks <git001@users.noreply.github.com>
2019-12-16 09:43:17 -07:00
Nolan Brubaker
22e8c4e045 CSI support proposal (#1661)
* Initial CSI proposal

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-12-16 09:02:58 -07:00
John Naulty
ff889283b8 Switch from satori/go.uuid to gofrs/uuid
satori/go.uuid has a known issue with random uuid generation.
gofrs/uuid is still maintained and has fixed the random uuid generation
issue present in satori/go.uuid

Signed-off-by: John Naulty <johnnaulty@bitgo.com>
2019-12-14 10:27:00 -08:00
Ashish Amarnath
96ca41ca9a 📖 Doc fixes (#2123)
* Reorganize docs for the velero site

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>

* mirror master docs to v1.2

Signed-off-by: Ashish Amarnath <ashisham@vmware.com>
2019-12-13 15:31:27 -07:00
Steve Kriss
7c60829f38 bug fix: don't restore cluster-scoped resources by default when restoring specific namespaces (#2118)
* add failing test case for bug

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-12 12:45:41 -08:00
Steve Kriss
96297ea437 add replicasets.apps to prioritized restore resources (#2120)
* add replicasets.apps to prioritized restore resources

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-11 15:32:33 -05:00
Steve Kriss
bbaa0196d1 add missing spec.template field to Schedule API docs (#2112)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-10 16:18:08 -08:00
Dinesh Yadav
83ef4eb4d0 Support AWS_PROFILE for restic backups/restore operations (#2096)
* Support AWS_PROFILE for restic backups/restore operations

It enables Velero to switch credentials if multiple s3-compatible
backupLocations are present.

Signed-off-by: dinesh <dinesh1042@gmail.com>

* better comments and fixing typos

Signed-off-by: dinesh <dinesh1042@gmail.com>

* add changelog entry

Signed-off-by: dinesh <dinesh1042@gmail.com>
2019-12-09 09:46:02 -05:00
Shashank Ranjan
6391b84dc6 Updating restic document for OpenShift cluster having version 4.1 or later (#2106)
* Updating restic document for OpenShift cluster having version 4.1 or later

Signed-off-by: shashank855 <shashank.ranjan@mayadata.io>

* update documentation for velero-v1.2.0

Signed-off-by: shashank855 <shashank.ranjan@mayadata.io>
2019-12-06 12:11:41 -05:00
Steve Kriss
f42406723c bug fix: deep-copy backup's labels for snapshot tags (#2075)
* bug fix: deep-copy backup's labels for snapshot tags

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-05 12:54:19 -08:00
SDBrett
91bbb98cab Improve site accessibility score (#2095)
Fixes: #2094

Updates to site colours to align with VMware branding and improve contrast rations for site accessibility.

Update to youtube plugin for that it can will insert an iframes title as well. New usage of liquid template `{% youtube "<title>" %}

Updates to links to provide link text

Updates to images to add alt text.

Accessibility changes assist people visiting the site with visual impairments and improve the function of text to speech tools such as Jaws.

Signed-off-by: Brett Johnson <brett@sdbrett.com>
2019-12-04 14:30:23 -07:00
Nolan Brubaker
08d9a3c507 Add time conversion tool link (#2099)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-12-04 12:34:02 -08:00
Roman Klimenko
87be775139 Add support for private registry with custom port in restic-helper image (#1999)
* Add support for private registry with custom port in restic-helper image definition

Signed-off-by: Roman Klimenko <cognoz@ya.ru>
2019-12-04 08:01:39 -08:00
SDBrett
6395fa086d Ruby gem vulnerability CVE-2019-13117 (#2093)
Fixes: #2092
Resolves: CVE-2019-13117

Updated gemfile.lock for security vulnerability.

Updated Gemfile to specify gem versions, providing more control over versions when using bundle update. Including the Jekyll version in the Gemfile tells Nelify which version to build with.

Signed-off-by: Brett Johnson <brett@sdbrett.com>
2019-12-04 08:20:39 -07:00
Nolan Brubaker
5296227dac Merge pull request #2102 from carlisia/c-typo
Fix tiny typo
2019-12-03 18:08:50 -05:00
Carlisia
6046e3cc0a Fix tiny typo
Signed-off-by: Carlisia <carlisia@vmware.com>
2019-12-03 14:14:11 -08:00
Nolan Brubaker
a5a9827d9c Document common GitHub topic for plugins (#2091)
* Document common GitHub topic for plugins

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-12-02 14:37:25 -08:00
Steve Kriss
36c7ebf4b7 remove fsfreeze-pause image, replace with ubuntu in nginx example (#2068)
* remove fsfreeze-pause image, replace with ubuntu in nginx example

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* switch to sleep infinity for clarity

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-12-02 11:48:47 -08:00
SinFulNard
d33014bf3c Remove ref to exclude label in v1.1.0 (#2025)
* Remove ref to exclude label in v1.1.0

Signed-off-by: Jess Belliveau <jbelliveau@apptio.com>

* Correct wording to better describe label use scenario

Signed-off-by: Jess Belliveau <jbelliveau@apptio.com>
2019-11-20 08:04:53 -08:00
Steve Kriss
0704c77ba1 release instructions (#2052)
* release instructions

Signed-off-by: Steve Kriss <krisss@vmware.com>

* edits

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add announce locations

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-15 18:18:44 -08:00
Steve Kriss
e5a85f140a use field selector on name when watching download requests (#2065)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-14 16:50:24 -08:00
Daniel Helfand
cd045be028 change ,plus to and in README (#2064)
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
2019-11-14 08:58:47 -07:00
Shuwei Hao
63cdc5f087 update supported-providers docs to add Alibaba Cloud OSS for AlibabaCloud Provider (#2063)
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>
2019-11-14 08:42:32 -07:00
Nolan Brubaker
374eee776e Merge pull request #2057 from skriss/fix-292
add better error message when cluster config can't be found
2019-11-12 16:52:49 -05:00
Steve Kriss
54f94ecd67 add docs for using restic with Azure File (#2054)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-11 14:07:55 -08:00
Steve Kriss
9e2f2d8419 remove obsolete gcr.io/heptio-images-related files and docs (#2055)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-11 14:04:55 -08:00
Steve Kriss
3add90ba52 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-08 15:02:37 -07:00
Steve Kriss
5a31a78df5 add better error message when cluster config can't be found
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-08 15:01:12 -07:00
Steve Kriss
5d008491bb Merge pull request #2050 from skriss/v1.2-release
v1.2 release
2019-11-07 11:44:02 -07:00
Steve Kriss
c090050c5a v1.2 blog post
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-07 11:25:03 -07:00
Steve Kriss
b9f4282201 fix alignment/numbering on upgrade instructions
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-07 08:20:22 -07:00
Steve Kriss
7d27f951ff v1.2.0 docs site
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-07 08:20:22 -07:00
Steve Kriss
f016aae9c3 v1.2.0 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-07 08:20:22 -07:00
Steve Kriss
e1bdc417ca run goreleaser.sh in container (#2049)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-06 12:55:47 -07:00
Nolan Brubaker
a367bfa829 Merge pull request #2046 from skriss/dedupe-bsl-vsl-docs
remove AWS/Azure/GCP BSL/VSL config tables from docs
2019-11-05 20:55:44 -05:00
Steve Kriss
5cb7f94bfd spell out plugin names in providers table
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-05 13:28:34 -07:00
Steve Kriss
df374d5079 add upgrading to v1.2 doc (#2035)
* add upgrading to v1.2 doc

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add CRD upgrade command

Signed-off-by: Steve Kriss <krisss@vmware.com>

* fix daemonset container name

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add comma

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-05 10:33:07 -08:00
Steve Kriss
ef1178ff11 remove AWS/Azure/GCP BSL/VSL config tables from docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-05 11:02:24 -07:00
Antony S Bett
121dc02d2f Ensure object store plugin processes are cleaned up after restore and after BSL validation during server start up (#2041)
* Ensure child object store plugin processes are cleaned up during restore

Signed-off-by: Antony Bett <antony.bett@gmail.com>
2019-11-05 08:58:08 -08:00
KubeKween
3c6842bfe1 Add code and website guidelines (#2032)
* Add code and website guidelines

Signed-off-by: Carlisia <carlisia@vmware.com>

* Move other contrib info to documentation

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix typo

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update doc

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-11-05 11:23:47 -05:00
Steve Kriss
4fb1bc2ef3 restic: don't try to restore PVBs with no snapshotID (#2031)
* restic: don't try to restore PVBs with no snapshotID

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-11-04 16:18:08 -07:00
Adnan Abdulhussein
636a5b9db6 add velero install --crds-only to easily update CRDs (#2038)
* add velero install --crds-only to easily update CRDs

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* make update

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-11-04 14:36:04 -08:00
Nolan Brubaker
bf7df45e53 Merge pull request #2037 from nrb/fix-2036
Add GOPROXY for go module operations
2019-11-04 14:07:24 -05:00
Nolan Brubaker
c5d0110429 Add GOPROXY for go module operations
Without a GOPROXY, go modules are fetched from their respective hosts,
which increases the likelihood that any given host might be unavailable
and break builds.

Fixes #2036

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-11-04 13:58:06 -05:00
Naina Verma
984e2ce589 Update Restore Documentation (#1957)
Signed-off-by: naina verma <vnaina@cloudhealthtech.com>
2019-11-04 08:21:42 -07:00
Steve Kriss
83752d28d7 Restic restore fixes (#2013)
* restic: use restore cmd's env when getting snapshot size

Signed-off-by: Steve Kriss <krisss@vmware.com>

* restic: remove code that considers 0-byte backups an error

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-29 07:42:12 -07:00
Steve Kriss
5d6b129ea5 fix typo in download request validation tag (#2009)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-28 16:00:03 -07:00
Steve Kriss
558e4b9075 v1.2.0-beta.1 release (#1995)
* generate v1.2.0-beta.1 docs site

Signed-off-by: Steve Kriss <krisss@vmware.com>

* v1.2.0-beta.1 changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add PR 1994 changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* fix image tag

Co-Authored-By: Adnan Abdulhussein <adnan@prydoni.us>
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-24 15:24:18 -06:00
Steve Kriss
0c1fc8195a add --allow-partially-failed flag to velero restore create (#1994)
* add --allow-partially-failed flag to velero restore create

Signed-off-by: Steve Kriss <krisss@vmware.com>

* remove extraneous client creation

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add godoc to helper func

Signed-off-by: Steve Kriss <krisss@vmware.com>

* todo

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-24 14:20:57 -07:00
KubeKween
ff89c12946 Update docs w plugin info (#1992)
* Update docs w plugin info

Signed-off-by: Carlisia <carlisia@vmware.com>

* Review

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-24 08:33:27 -06:00
Antony S Bett
0450567bba Allow backup storage locations to specify backup sync period or toggle off sync (#1936)
* Allow backup storage locations to specify backup sync period or toggle off sync

Signed-off-by: Antony Bett <antony.bett@gmail.com>

* Add --backup-sync-period flag to backup location create command

Signed-off-by: Antony Bett <antony.bett@gmail.com>
2019-10-24 08:32:45 -06:00
Steve Kriss
49f9f3248f revised install overview (#1964)
* WIP revised install overview

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add info on different installing different VSL provider

Signed-off-by: Steve Kriss <krisss@vmware.com>

* address review and TODOs

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-22 15:42:36 -07:00
KubeKween
d26bf05b33 Extract providers (#1985)
* Remove cloud providers and reorg code

Signed-off-by: Carlisia <carlisia@vmware.com>

* Update dependencies

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix tests

Signed-off-by: Carlisia <carlisia@vmware.com>

* fix dependency issues

Signed-off-by: Carlisia <carlisia@vmware.com>

* Delete dup test

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add back spaces to file

Signed-off-by: Carlisia <carlisia@vmware.com>

* Remove and update docs

Signed-off-by: Carlisia <carlisia@vmware.com>

* Make the plugins flag required

Signed-off-by: Carlisia <carlisia@vmware.com>

* Add changelog

Signed-off-by: Carlisia <carlisia@vmware.com>

* Make the plugins flag conditional

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-22 15:31:27 -07:00
Adnan Abdulhussein
69f993aebd update gcr.io/heptio-images/ references to velero/ (#1988)
* update gcr.io/heptio-images/ references to velero/

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-22 14:39:43 -07:00
Jonas Rosland
4b91a97ff7 Add blog and date to the post urls (#1969)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-10-22 11:22:37 -07:00
rochfordk
4db655d536 Replace ark with velero in backup process diagram (#1982)
Signed-off-by: Keith Rochford <keith.rochford@gmail.com>
2019-10-22 08:23:10 -06:00
Alexander Demichev
1564317cef Restore action for cluster/namespace role bindings (#1974)
Signed-off-by: Alexander Demichev <ademicev@redhat.com>
2019-10-21 15:11:26 -06:00
Adnan Abdulhussein
f2eb072694 fix controller-gen version in builder image (#1984)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-21 13:49:32 -07:00
FrankChen7
ae33441500 Add --no-default-storage-location flag to velero install to enable velero deployment without default BSL (#1931)
This closes #1853.

Signed-off-by: Yunqian <specyq@gmail.com>
2019-10-18 08:41:59 -06:00
Steve Kriss
92ea44e8e6 tweak test case names for clarity (#1976)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-17 12:39:42 -07:00
Scott Seago
970f17c1ef If includeClusterResources is nil/auto, pull in necessary CRDs (#1831)
Related issue: https://github.com/heptio/velero/issues/1830

This accomplishes everything
that's needed, although there might be room for improvement in avoiding
a GET call for matching CRDs for each resource backed up. An alternative
could be a single call to get all CRDs prior to iterating over resources
and passing this into the backupResource function.

Signed-off-by: Scott Seago <sseago@redhat.com>
2019-10-17 12:31:04 -06:00
Adnan Abdulhussein
09a1c4dac7 travis: re-add ci-check (#1968)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-16 11:38:52 -06:00
Adnan Abdulhussein
b50e0f5a1d migrate images to docker hub (#1966)
* travis: add pushing to docker hub

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add comment describing how secrets were generated

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-16 11:03:23 -06:00
Steve Kriss
bedd4b1274 fix links to azure setup instructions (#1963)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-15 14:46:36 -06:00
Adnan Abdulhussein
e3d64d9dd9 use pointer types for metav1.Time fields (#1951)
* use pointer types for metav1.Time fields

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* simpler metav1.Time ptrs

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* remove test debug println

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-14 10:20:28 -06:00
KubeKween
3fc4097231 Update to CoC (#1955)
Add info on enforcement + email address for reporting.

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-09 16:11:03 -06:00
KubeKween
d868b71e29 Move validation of plugins (#1953)
* Move validation of plugins

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-09 10:48:37 -06:00
Steve Kriss
557d170541 restic: only backup ReadWriteMany PVC's once per velero backup (#1896)
* restic: only backup ReadWriteMany PVC's once per velero backup

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-08 17:16:35 -04:00
Steve Kriss
d3e30dd58b Azure china/germany support (#1938)
* feat: add azure china support

Signed-off-by: andyzhangx <xiazhang@microsoft.com>

* remove AZURE_CLOUD_NAME from required env var fetching

Signed-off-by: Steve Kriss <krisss@vmware.com>

* minor simplification of parseAzureEnvironment

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* remove cloudNameEnvVar from getRequiredValues call

Signed-off-by: Steve Kriss <krisss@vmware.com>

* just check for err != nil

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-10-08 17:13:51 -04:00
Cormac Hogan
92a3797460 vSphere Tutorials Take #2 (#1900)
* vSphere Tutorials

Signed-off-by: cormachogan <chogan@vmware.com>
2019-10-08 11:15:49 -07:00
Jonas Rosland
77b8dd4a71 Update community page with correct links and info (#1947)
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-10-07 13:29:09 -06:00
Adnan Abdulhussein
0dba825fbf Revert "Remove unused flag (#1913)" (#1939)
This reverts commit a1545b7d32.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-10-07 08:46:15 -06:00
Nolan Brubaker
f009fe9bd1 Add --plugins flag to velero install (#1930)
* Add plugins flag to install

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-10-03 16:44:52 -07:00
Steve Chung
db59d8d4bc Revert "Revert "allow self signed certs with insecureSkipVerify"" (#1793)
* handle self-signed certs with insecureSkipTLSVerify server config

Signed-off-by: Steven Chung <schung@d2iq.com>
2019-10-03 13:46:46 -07:00
Joshua Wong
46822aea2c Add support for GKE Workload Identity (#1810)
* Allow the velero server to be created on GCP even without a provided service account key in order to support workload identity and default compute engine credentials. Add option for adding service account annotations.

Signed-off-by: Joshua Wong <joshua99wong@gmail.com>
2019-10-03 13:45:18 -07:00
Moritz Schmitz von Hülst
eadac44e10 Add option for Azure cross subscription backups (#1895)
* add option for different subscription id

Signed-off-by: Moritz Schmitz von Hülst <msc@marketlogicsoftware.com>
2019-10-03 13:31:35 -07:00
KubeKween
aa9ca9a69d Reorg install and plugin docs (#1916)
* Reorg plugin docs

Signed-off-by: Carlisia <carlisia@vmware.com>

* Improve install docs

Signed-off-by: Carlisia <carlisia@vmware.com>

* Change path

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix broken links

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address more feedback

Signed-off-by: Carlisia <carlisia@vmware.com>

* One more fix

Signed-off-by: Carlisia <carlisia@vmware.com>

* Minor changes to address feedback

Signed-off-by: Carlisia <carlisia@vmware.com>

* More fixes

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-02 16:24:42 -04:00
Christopher Angelo Phillips
81a4fcbb24 Update Schedule Docs 684 (#1925)
* add basic skeleton docs

Signed-off-by: Christopher Phillips <cphillips918@gmail.com>
2019-10-02 12:22:43 -07:00
KubeKween
e054a2f0b3 Make "not restored" message a bit better (#1901)
* Make "not restoring" message a bit better

Signed-off-by: Carlisia <carlisia@vmware.com>

* Tweak error msg

Signed-off-by: Carlisia <carlisia@vmware.com>

* Address feedback

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-01 16:47:21 -04:00
KubeKween
3984c7fa7e Fix broken link (#1923)
Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-01 11:21:31 -07:00
KubeKween
c284746aab Blog post: new GH org (#1897)
* Blog post: new GH org

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-10-01 11:08:28 -07:00
Nolan Brubaker
132f1fd3a8 Prevent master from being tagged as latest (#1922)
By default, git does not fetch tags on a checkout, so fetch those when
building a tag.

When the tags are not fetched and building master, both HIGHEST and
LATEST_TAG were "", which was equal. Thus, every master push was tagged
as latest. This is now handled correctly.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-10-01 12:04:57 -06:00
Steve Kriss
48792ece1f Updates for org move to vmware-tanzu (#1920)
* update import paths to github.com/vmware-tanzu/...

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update other GH org refs to vmware-tanzu

Signed-off-by: Steve Kriss <krisss@vmware.com>

* site and docs: update GH org to vmware-tanzu

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update travis badge links on docs readmes

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-30 17:26:56 -04:00
Steve Kriss
d96186473c sync controller: replace revision file with full diff each interval (#1892)
* backup sync controller: replace revision file with full diff each interval

Signed-off-by: Steve Kriss <krisss@vmware.com>

* remove getting/setting of metadata/revision file

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* tweak logging

Signed-off-by: Steve Kriss <krisss@vmware.com>

* don't keep podVolumeBackup log field around after syncing PVBs

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update generated CRDs

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-27 16:23:11 -04:00
Christopher Angelo Phillips
ca6c0a5a3d Increment logging for item backupper (#1904)
Signed-off-by: Christopher Phillips <cphillips918@gmail.com>
2019-09-27 13:17:54 -07:00
lintongj
2d845683a2 Add LD_LIBRARY_PATH as an env varible for the use of vsphere plugin (#1893)
* Add LD_LIBRARY_PATH as an env varible for the use of vsphere plugin

Signed-off-by: Lintong Jiang <lintongj@vmware.com>
2019-09-27 13:10:00 -07:00
Nolan Brubaker
a1545b7d32 Remove unused flag (#1913)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-26 12:50:29 -06:00
Nolan Brubaker
01b0b05762 Use layers in the builder Dockerfile (#1907)
Using layers can simplify iteration on the builder image itself, and
shorten build times when only one command is changed

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-25 18:03:13 -07:00
Steve Kriss
2e849dcb99 Fix for #1888: check item's original namespace, not remapped one, for inclusion/exclusion (#1909)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-25 18:01:16 -07:00
Adnan Abdulhussein
63ff1ad99b fail on make verify if generated CRDs differ (#1906)
* fail on make verify if generated CRDs differ

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* make verification error more clear

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-25 14:28:38 -04:00
Adnan Abdulhussein
dd088e3475 velero API type changes for structural schema CRDs (#1898)
* velero API type changes for structural schema CRDs

- make optional fields consistent with comment and omitempty struct tags
- adds kubebuilder annotations for structural schema validations

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update generated crds

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update velero install to use structural schema generated crds

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* move enum declarations closer to type declarations

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add labels to generated crds

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* allow null values in some fields

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* allow labelSelector to be null

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* remove debug statement

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* make update

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add enum validations for CRD phases

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-24 18:37:28 -04:00
Adnan Abdulhussein
5e22f9c1c8 Generate CRDs with structural schema (#1885)
* generating CRDs with controller-tools and embedding in binary

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-23 10:25:48 -06:00
KubeKween
dc11e2a829 Plan for moving plugin repos (#1870)
* Initial plan for moving plugin repos

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-09-19 14:06:15 -06:00
Steve Kriss
8582238ad2 move plugin proto updating into make update (#1887)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-18 14:03:40 -07:00
Nolan Brubaker
8ec1548b3c Add features package (#1849)
* Add features package

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-18 10:57:04 -06:00
Steve Kriss
fdd04b4d90 GCP: support specifying Cloud KMS key name for backup storage locations (#1879)
GCP: support specifying Cloud KMS key for backup storage location

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-17 16:35:28 -04:00
KubeKween
b7d53d201b Adds to website (#1882)
Signed-off-by: Carlisia <carlisia@vmware.com>
2019-09-17 10:58:34 -06:00
Adnan Abdulhussein
ee455a2304 proposal for generating Velero CRDs with structural schema (#1875)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-16 14:01:41 -07:00
KubeKween
6ef67fe0e7 Improve contributing docs (#1852)
Signed-off-by: Carlisia <carlisia@vmware.com>
2019-09-16 12:18:38 -06:00
kerami
c55845f168 [doc] Diagram (image) now mentions velero (#1877)
* Delete backup-process.png

Signed-off-by: Mac <ko@Mac-MacBook-Pro.local>

* I changed command as ark to velero

Signed-off-by: Mac <ko@Mac-MacBook-Pro.local>
2019-09-16 08:07:24 -06:00
Steve Kriss
bc60412f29 AWS: add support for arbitrary SSE algorithms, e.g. AES256 (#1869)
* AWS: add support for arbitrary SSE algorithms, e.g. AES256

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-12 10:13:46 -07:00
Steve Kriss
756c66c408 update restic docs for PR #1807 (#1867)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-11 12:41:49 -07:00
Nolan Brubaker
78fc0a3fa2 Merge pull request #1866 from skriss/1864-changelog
changelog for PR #1864
2019-09-11 12:59:21 -04:00
Steve Kriss
b51d725c81 changelog for PR #1864
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-11 09:30:37 -06:00
Adnan Abdulhussein
23376e6293 record restic restore progress in PodVolumeRestore (#1854)
* record restic restore progress in PodVolumeRestore

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add progress output to velero describe restore --details

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* test getVolumeSize

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* block on send to finish goroutine

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* remove sync import

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* make update

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-10 15:50:57 -06:00
colin bayer
8b0cf3855c Bug/1848 (#1865)
* Modifies documentation to use a wider layout; adds better md table formatting

Signed-off-by: Colin Bayer <ccbayer@gmail.com>

* Adds Changelog notes

Signed-off-by: Colin Bayer <ccbayer@gmail.com>

* remove redundant css rule

Signed-off-by: Colin Bayer <ccbayer@gmail.com>
2019-09-10 14:33:26 -06:00
Steve Kriss
6623e1f273 Change restic prune default interval to 7d and make user-configurable (#1864)
* change restic prune default interval to 7d, add server flag for it

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-10 11:58:42 -07:00
Adnan Abdulhussein
26e06dae53 fix excluding additional items with the exclude-from-backup label (#1843)
* fix excluding additional items with the exclude-from-backup label

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-10 11:45:55 -07:00
Adnan Abdulhussein
1e182e5837 record restic backup progress in PodVolumeBackup (#1821)
* record restic backup progress in PodVolumeBackup

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-09-10 11:28:19 -07:00
KubeKween
fc39ac6d51 Add a check to avoid nil pointer (#1861)
Signed-off-by: Carlisia <carlisia@vmware.com>
2019-09-10 09:29:32 -06:00
KubeKween
fc05f0c11c Plan to move this repo to vmware-tanzu (#1822) 2019-09-09 16:49:19 -07:00
Steve Kriss
11190065fd velero install: wait for restic daemonset to be ready (#1859)
* velero install: wait for restic daemonset to be ready

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-09 17:54:47 -04:00
Nolan Brubaker
8da9ef2b03 Make GCP credentials parsing errors less ambiguous (#1850)
A user encountered the following error on a GCP project:

An error occurred: some backup storage locations are invalid: error getting backup store for location "default": rpc error: code = Unknown desc = invalid character '-' in numeric literal

This error was ambiguous and took some time to track down to the fact
that their credentials file wasn't a JSON file, but instead the contents
of the private key field. This change makes the problem slightly easier
to debug.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-09 08:22:00 -06:00
Nolan Brubaker
1e88e47b93 Configure docker helper in Travis (#1847)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-05 11:54:32 -06:00
Steve Kriss
1573b2e082 update resources page on website (#1846)
* change youtube embed to playlist

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add blog post links to resources

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-05 10:32:50 -07:00
Nolan Brubaker
275546eea0 Add script for pushing container images via Travis (#1800)
* Add script for pushing container images via Travis

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Explain the latest tag logic

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add travis integration to deployment

* ensure $BRANCH is always the same value (borrowed from Sonobuoy)
* get gcloud SDK installed (borrowed from Sonobuoy)
* use deploy step to run GCR push script (borrowed from Sonobuoy)
* use gcloud's docker to do the image building/pushing
* placeholders for secure values
* rename $LATEST to $HIGHEST to more accurately reflect what it is

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add encrypted GCR creds

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove unused env section

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Rearrange logic so that there's only one make call

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Review feedback

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update gcloud and OS for Travis environment

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Remove redundant make dependencies

verify and test targets already run on the ci target, which must pass
before deploy.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Re-encrypt file after testing

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-09-05 11:16:23 -06:00
Steve Kriss
5a77a7aec6 Merge pull request #1838 from skriss/bsl-accessmode-doc
document accessMode field for backup storage locations
2019-09-04 13:00:56 -06:00
Steve Kriss
8f3b3f4953 fix podcast link (#1840)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-04 11:57:39 -07:00
Raunak Kumar
73488cdc0c hpe velero plugin support (#1829)
Signed-off-by: Raunak Kumar <rkumar@nimblestorage.com>
2019-09-04 10:38:16 -06:00
Steve Kriss
df3e7b8b3b document accessMode field for backup storage locations
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-09-04 08:38:31 -06:00
Steve Kriss
29f29f9d61 Merge pull request #1828 from carlisia/c-1826-test-bug
Sort mounts in test case to avoid intermittent fail
2019-09-03 12:39:59 -06:00
Carlisia
966222ac0f Sort mounts in test case to avoid intermitent fail
Closes #1826.

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-08-29 17:55:13 -07:00
Steve Kriss
fd2609ee9a Merge pull request #1827 from heptio/remove-status-doc-template
design doc template: remove status field
2019-08-29 18:42:47 -06:00
Adnan Abdulhussein
d5df3cb2b6 design doc template: remove status field
After discussing with the team, it doesn't make sense for all design proposals to have a draft/accepted status. Currently draft proposals can be kept open as PRs and all merged proposals are considered to be accepted. Removing the status field here removes the extra step of having to update the proposal status before merging.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-29 16:33:44 -07:00
Steve Kriss
e210626a36 create pkg/archive with functionality extracted from pkg/restore (#1801)
* move pkg/restore's backup extractor to pkg/archive

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-28 18:03:01 -07:00
Steve Kriss
60f9898ca0 restore: rename PV when remapping a namespace if PV exists in-cluster (#1779)
* rename PV during restore when cloning a namespace

Signed-off-by: Steve Kriss <krisss@vmware.com>

* rename func and vars, switch to if..else

Signed-off-by: Steve Kriss <krisss@vmware.com>

* make pv renamer func configurable for testing purposes

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add unit test cases

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* address review feedback

Signed-off-by: Steve Kriss <krisss@vmware.com>

* address review feedback

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-27 16:42:38 -07:00
Steve Kriss
ef911ff21b when backing up PVCs with restic, explicitly specify --parent (#1807)
* when backing up PVCs with restic, explicitly specify --parent

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* address review feedback

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-27 16:37:51 -07:00
KubeKween
6b66a49a21 Unit tests for restic restore (#1747)
* Add unit tests for PVB restore functionality

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Add tests for restore action

Signed-off-by: Carlisia <carlisiac@vmware.com>

* TestRestoreWithRestic wip

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Fix build

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Mockery

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Cleanup mocks

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Remove unused mock

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Use consistent pattern for test building

Signed-off-by: Carlisia <carlisia@vmware.com>

* Test cleanup

Signed-off-by: Carlisia <carlisia@vmware.com>

* Better godoc

Signed-off-by: Carlisia <carlisia@vmware.com>

* Improve test cases

Signed-off-by: Carlisia <carlisia@vmware.com>

* Fix build

Signed-off-by: Carlisia <carlisia@vmware.com>

* Minor test cleanup

Signed-off-by: Carlisia <carlisia@vmware.com>

* New pvb test input names

Signed-off-by: Carlisia <carlisia@vmware.com>
2019-08-27 15:49:23 -07:00
Adnan Abdulhussein
7ea065a94f Upgrade kubernetes dependencies to 1.15.3 (#1808)
* bump kubernetes dependency to 1.15.3

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-27 13:58:15 -07:00
Adnan Abdulhussein
6aa0215137 create backups from schedules using velero create backup (#1734)
* add --from-schedule to `velero backup create` to create backups from schedules

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-23 13:03:51 -07:00
Steve Kriss
686f41ebec remove calls to restic check before/after prune (#1794)
* remove calls to restic check before/after prune

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-23 10:53:00 -07:00
Nolan Brubaker
3a0c1be7f0 Merge pull request #1742 from skriss/validate-restic-repo-id
Allow BSLs to specify restic repo prefixes, error if the prefix can't be determined
2019-08-23 11:27:00 -04:00
Steve Kriss
fc8ca5d8bf Merge pull request #1759 from nrb/feature-flags
Feature flag design
2019-08-23 08:48:39 -06:00
Nolan Brubaker
38643f2f4a Propose adding feature flags to velero
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-08-23 10:41:35 -04:00
Adnan Abdulhussein
86408bf805 restic backup and restore progress proposal (#1765)
* restic backup and restore progress proposal

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update approach to lookup based on files rather than total size

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* typo

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* record TotalBytes and BytesDone in PodVolumeBackup/Restore and calculate percentage in UI

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update to go with restic stats approach for restore

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* typo

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update high-level design for restic stats

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* wait for bytes_done

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* change status to accepted

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-22 10:47:38 -06:00
Steve Kriss
32d46871cc allow custom restic repo prefix to be specified in BSL config
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-22 10:19:22 -06:00
Steve Kriss
8b6c505817 error if restic repo identifier can't be determined
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-22 10:19:22 -06:00
Steve Kriss
00882c2de4 Merge pull request #1790 from skriss/bump-nokogiri-dep
update nokogiri dep for website
2019-08-22 10:00:01 -06:00
Steve Kriss
124ca44958 update nokogiri dep for website
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-22 09:55:12 -06:00
Steve Kriss
efc0be5e48 Merge pull request #1781 from mesosphere/fix_url
fix error formatting
2019-08-22 09:32:14 -06:00
Steve Kriss
cd901ed9a7 update links on website home page for latest release (#1789)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-22 08:01:36 -07:00
Steve Kriss
017f7cff46 Merge pull request #1783 from jonasrosland/velero-1.1
Velero 1.1 blog post
2019-08-22 08:50:03 -06:00
Steve Kriss
a357f21aec Merge pull request #1778 from skriss/v1.1.0-release
v1.1.0 docs & changelog
2019-08-22 08:34:59 -06:00
Jonas Rosland
b75fadbe2f Velero 1.1 blog post
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-08-21 14:01:22 -07:00
Steve Kriss
dfb225807b v1.1.0 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-21 15:01:10 -06:00
Steven Chung
8ae40b55ec fix error formatting
would interpret % as printf formatted strings

Signed-off-by: Steven Chung <schung@d2iq.com>
2019-08-21 12:49:59 -04:00
Steve Kriss
b1b6a79dfc Merge pull request #1776 from heptio/revert-1769-ssl
Revert "allow self signed certs with insecureSkipVerify"
2019-08-20 12:16:21 -06:00
KubeKween
b25865f5bb Revert "allow self signed certs with insecureSkipVerify (#1769)"
This reverts commit 8e35ce0bde.

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-08-20 11:02:27 -07:00
Steve Chung
8e35ce0bde allow self signed certs with insecureSkipVerify (#1769)
* patch velero to handle self-signed certs on client

you'll get this error otherwise:
x509: certificate signed by unknown authority

Signed-off-by: Steven Chung <schung@d2iq.com>
2019-08-20 10:29:02 -07:00
Steve Kriss
9e946ee698 v1.1.0 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-20 10:44:57 -06:00
betta1
cfb663f795 Add the prefix to BSL config map so that object stores can use it when initializing (#1767)
Signed-off-by: Antony Bett <antony.bett@gmail.com>
2019-08-19 14:05:38 -06:00
Nolan Brubaker
a0cd954ce9 Merge pull request #1772 from zakkg3/master
[DOCS] Add stable/velero to helm commands
2019-08-19 12:44:06 -04:00
Nicolas Kowenski
67203ff972 add stable/velero to helm commands
Signed-off-by: Nicolas Kowenski <nico@garufa.ethz.ch>
2019-08-19 10:56:11 +02:00
Nolan Brubaker
af4b9373fc Merge pull request #1762 from skriss/v1.1-beta.2-docs
replace v1.1.0-beta.1 docs with v1.1.0-beta.2 docs
2019-08-13 16:39:53 -04:00
Nolan Brubaker
90bb939c4d Merge pull request #1761 from skriss/v1.1-beta.2-changelog
v1.1.0-beta.2 changelog
2019-08-13 16:39:04 -04:00
Steve Kriss
c80f679802 replace v1.1.0-beta.1 docs with v1.1.0-beta.2 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-13 13:41:36 -06:00
Steve Kriss
76a91a80b2 v1.1.0-beta.2 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-13 13:38:01 -06:00
Steve Kriss
3c8020e922 Merge pull request #1748 from nrb/fix-1743
Use custom namespace when creating Velero clients
2019-08-13 12:08:30 -06:00
Nolan Brubaker
dadb466545 Document process for adding VELERO_NAMESPACE
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-08-13 13:42:08 -04:00
Steve Kriss
5ef0a84128 create pod volume backups in backup's namespace during sync (#1760)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-13 10:20:25 -07:00
Nolan Brubaker
363c2692a1 Use custom namespace when creating Velero clients
The Velero deployment did not have a way of exposing the namespace it
was installed in to the API client. This is a problem for plugins that
need to query for resources in that namespaces, such as the restic
restore process that needs to find PodVolume(Backup|Restore)s.

While the Velero client is consulted for a configured namespace, this
cannot be set in the server pod since there is no valid home directory
in which to place it.

This change provides the namespace to the deployment via the downward
API, and updates the API client factory to use the VELERO_NAMESPACE
before looking at the config file, so that any plugins using the client
will look at the appropriate namespace.

Fixes #1743

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-08-13 13:06:12 -04:00
Christian Kotzbauer
1670aa17b6 Fix port-forward typo (#1756)
* doc: fix typo

Signed-off-by: Christian Kotzbauer <christian.kotzbauer@gmail.com>

* doc: fix typo

Signed-off-by: Christian Kotzbauer <christian.kotzbauer@gmail.com>

* doc: fix typo

Signed-off-by: Christian Kotzbauer <christian.kotzbauer@gmail.com>
2019-08-12 11:37:22 -06:00
Nolan Brubaker
52e5589b3d Merge pull request #1705 from skriss/pv-cloning-design
draft design doc for cloning PVs while remapping namespaces
2019-08-12 12:33:33 -04:00
Jonas Rosland
e576f23c70 Add SEO functionality to the site (#1753)
* Add SEO functionality to the site

Signed-off-by: Jonas Rosland <jrosland@vmware.com>

* Add some more SEO

Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-08-12 10:11:42 -06:00
Adnan Abdulhussein
7b7b96de74 velero install: support velero/restic pod cpu/mem requests with unbounded limits (#1745)
* support velero/restic pod cpu/mem requests with unbounded limits

explicitly treat "0" value as unbounded

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update flag documentation

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* update restic configmap docs

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-09 12:54:04 -06:00
Nolan Brubaker
ad026107c9 Merge pull request #1741 from prydonius/1731-sort-resource-list
sort output of resource list in `velero backup describe --details`
2019-08-09 14:35:54 -04:00
Adnan Abdulhussein
92b930d351 sort GVKs in output
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-08 15:13:35 -07:00
Adnan Abdulhussein
f18d7300a8 changelog
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-08 13:56:48 -07:00
Adnan Abdulhussein
faef20d45a ensure backup resource list per gvk is sorted
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-08 13:53:40 -07:00
Steve Kriss
9b18e238b1 change to approved
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-08 11:21:14 -06:00
Steve Kriss
5917445511 incorporate review feedback
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-08 10:19:34 -06:00
Nolan Brubaker
1429f226ed Merge pull request #1739 from skriss/fix-pvb-upload-bug
bug fix: upload pod volume backups from *all* pods to obj storage
2019-08-08 11:42:46 -04:00
Steve Kriss
c69fa4d0e1 bug fix: upload pod volume backups from *all* pods to obj storage
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-08 09:27:46 -06:00
Nolan Brubaker
53b5b87742 Merge pull request #1736 from skriss/goreleaser-fixes
goreleaser: archive -> archives, add auto prerelease setting
2019-08-07 12:16:52 -04:00
Nolan Brubaker
e2278ed9d2 Merge pull request #1737 from skriss/move-pkg-util-test
move contents of pkg/util/test into pkg/test
2019-08-07 11:56:01 -04:00
Steve Kriss
ffa3251efc move contents of pkg/util/test into pkg/test
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-07 08:26:00 -06:00
Steve Kriss
efdb3796ac goreleaser: archive -> archives, add auto prerelease setting
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-07 08:18:40 -06:00
Steve Kriss
9d9c232729 add v1.1.0-beta.1 changelog (#1733)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-07 07:51:46 -06:00
Nolan Brubaker
d5dd39c941 Merge pull request #1732 from skriss/v1.1-beta.1-docs
generate v1.1.0-beta.1 docs
2019-08-06 18:01:10 -04:00
Steve Kriss
d881a10fba generate v1.1.0-beta.1 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-06 15:14:16 -06:00
Steve Kriss
80692a8a39 Properly restore PVs with a reclaim policy of Retain and restic backups (#1713)
* reorganize persistent volume restore code for clarity

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-06 13:40:35 -07:00
KubeKween
4accb8512a Restore from PodVolumeBackups (#1723)
* Restore from PodVolumeBackups

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Partially address code reviews

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Partially address code reviews #2

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Clean up struct

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Fix log messages

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Fix tests

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Clean up

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Add changelog

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-08-06 13:17:36 -07:00
Adnan Abdulhussein
4e1b1f9457 use Backup CR labels as tags for snapshots (#1729)
* use Backup CR labels as tags for snapshots

This allows users to define custom tags to be added to snapshots, by
specifying custom labels on the Backup CR with the `velero backup create
--labels` flag.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-06 13:01:36 -07:00
Nolan Brubaker
de442c1106 Merge pull request #1727 from skriss/fix-pvb-sync
fix bugs preventing pod volume backups from syncing properly
2019-08-06 14:13:32 -04:00
Steve Kriss
6522ba7c42 fix bugs preventing pod volume backups from syncing properly
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-06 09:23:49 -06:00
Steve Kriss
a590fc9468 refactor GetBackupVolumeSnapshots and GetPodVolumeBackups (#1721)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-05 15:42:01 -06:00
Steve Kriss
539e0b54c6 use the persistent --namespace flag in 'velero install' (#1722)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-08-05 15:40:39 -06:00
Nolan Brubaker
a4e70456a1 Add resource limits to restic init container (#1677)
* Add resource limits to restic init container

Fixes #1201

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Start restic restore item action tests

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Get initial tests for restore action working

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add new test case

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move resource parsing into a shared function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fetch request/limits from plugin's ConfigMap

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Use builders

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Use moved ParseResourceRequirements function

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Move init container building inline

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Drop CPU limit down a bit and clarify error message

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Fix godoc

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Add resource requirements to doc

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-08-05 13:18:11 -06:00
Adnan Abdulhussein
2254635bcb print resource list metadata in velero backup describe --details (#1714)
* print resource list metadata in velero backup describe details

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* rewrite TestGetDownloadURL to test more scenarios

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* move backup printer helpers to backup_printer.go

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* move describe printer helpers back to backup_describer

and rename to prefix with describe* to indicate that they are used for the describe command

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* split backup and restore tests for TestGetDownloadURL

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* friendlier error message when backup resource list missing

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-05 12:23:20 -06:00
Adnan Abdulhussein
07525bd593 store backup resource list metadata in object storage (#1709)
* move backedUpItems to pkg/backup.Request struct

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* construct resource itemKey field from gvk

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* store backup resource list metadata in object storage

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* remove debug log

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* fix formatting

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add missing license blocks and split BackupInfo struct lines

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add test for checking BackedUpItems matches tarball contents

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* add comment to explain test

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-08-05 11:15:55 -06:00
Nolan Brubaker
635dd27e1a Make secret file optional on install (#1699)
* Make secret file optional on install

Fixes #1689

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-08-01 15:57:36 -07:00
Adnan Abdulhussein
2a6929d453 add velero install flags for configuring restic resource requirements (#1710)
* add velero install flags for configuring restic resource requirements

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-31 12:24:47 -07:00
Steve Kriss
b24a603711 periodically check for stale restic repo locks (#1708)
* periodically check for stale restic repo locks

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* only try to init a restic repo if it doesn't already exist

Signed-off-by: Steve Kriss <krisss@vmware.com>

* reword comment

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-31 10:52:23 -07:00
Steve Kriss
f2d06bc5e9 strip leading/trailing slashes from BSL bucket & prefix vals (#1694)
* strip leading/trailing slashes from BSL bucket & prefix vals

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-31 08:27:12 -07:00
Steve Kriss
4543258970 Update tests to use object builders in pkg/builder (#1707)
* add pkg/builder with BackupBuilder and ObjectMeta functional options

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-31 07:46:48 -07:00
carthewd
22eca22ac8 Add JSON as an option for log output (#1654)
* Add JSON as an option for log output

Signed-off-by: Donovan Carthew <donovan.carthew@gmail.com>
2019-07-30 16:29:34 -07:00
Pierre Ozoux
6188cdffb0 Fixes documentation about aws region. (#1690)
Signed-off-by: pierreozoux <pierre@ozoux.net>
2019-07-30 10:16:05 -06:00
Adnan Abdulhussein
935107e1a2 update backup resource list proposal to use gzipped json (#1706)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-29 16:08:43 -07:00
Steve Kriss
bf247836e6 Migrate restic backup tests (#1703)
* migrate pkg/backup restic tests to new structure

Signed-off-by: Steve Kriss <krisss@vmware.com>

* rename backup_new_test.go to backup_test.go

Signed-off-by: Steve Kriss <krisss@vmware.com>

* use pod volume backup builder

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-29 15:29:44 -07:00
Steve Kriss
b24e940399 V1.1 docs updates (#1704)
* remove docs header about project rename

Signed-off-by: Steve Kriss <krisss@vmware.com>

* remove Upgrade to 1.0 page from master TOC

Signed-off-by: Steve Kriss <krisss@vmware.com>

* standardize TOC titles

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add backup/restore docs for undocumented features

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-29 14:37:18 -07:00
Steve Kriss
65030f7fbc draft design doc for cloning PVs while remapping namespaces
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-29 14:35:54 -06:00
Adnan Abdulhussein
248ee89123 add configurable CPU/memory requests/limits for velero pod on install (#1678)
* add configurable CPU/memory requests/limits for velero pod on install

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-29 15:13:06 -04:00
Adnan Abdulhussein
52d97e7bd7 proposal: expose list of backed up resources in backup details (#1682)
* proposal: expose list of backed up resources in backup details

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-29 14:00:56 -04:00
ThoTischner
b8f3a008cb Add docu for restic pvc backup annotation watch controller (#1680)
Signed-off-by: Thomas Tischner <tti@bitsbeats.com>
2019-07-25 12:54:09 -06:00
Nolan Brubaker
25a481f6b1 Clarify language on the restic docs (#1700)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-25 08:59:47 -06:00
KubeKween
3b9af8c654 Store PodVolumeBackups in obj storage & use as source of truth (#1577)
* Store PodVolumeBackups in object storage

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-07-24 15:51:20 -04:00
Nolan Brubaker
f80e1dc390 Enable Jekyll incremental rebuilds (#1695)
Without the incremental switch, live rebuilds were taking 20s (on a
Linux host) for a single-line change. With the switch, they dropped to
8s.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-23 12:45:54 -06:00
Steve Kriss
3c4dd3e526 fix typo in schedule create example (#1693)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-23 11:02:38 -07:00
Steve Kriss
8336d95f57 tweak use case bullets in readme for clarity (#1692)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-23 10:13:05 -07:00
Nolan Brubaker
5f409f12c8 Document --pod-annotations install argument (#1674)
* Document --pod-annotations install argument

Fixes #1667

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Revert v1.0.0 edits

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Make pod annotations example commands complete

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-19 12:12:57 -07:00
Adnan Abdulhussein
65906efffa fix Deployments in examples for apps/v1 selector requirement (#1684)
The apps/v1 API makes the selector in Deployments a required property.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-19 11:40:47 -06:00
Nolan Brubaker
c8bac5bfae Merge pull request #1681 from jonasrosland/add-survey
Add link to the Velero user survey
2019-07-18 12:23:20 -04:00
jonasrosland
92ac710dab Add link to the Velero user survey
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-07-18 12:13:28 -04:00
Nolan Brubaker
c69b94da76 Merge pull request #1649 from skriss/fix-hooks-link
fix link for hooks example
2019-07-17 18:48:47 -04:00
Steve Kriss
927d2775bf add make gen-docs to generate a new versioned docs directory (#1662)
* add make gen-docs to generate a new versioned docs directory

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-17 18:44:13 -04:00
Steve Kriss
1594bdc8d0 fix jekyll build errors (#1666)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-17 14:24:18 -07:00
Nolan Brubaker
aa8c0cd471 Honor kube client flags in install command (#1656)
Flags specifying the kubeconfig or kubecontext to use weren't actually
being used by the install command.

Fixes #1651

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-17 14:19:14 -07:00
Nolan Brubaker
3124570c7f Remove references to apps/v1beta1 API group (#1673)
* Remove references to apps/v1beta1 API group

In Kubernetes v1.16, the apps/v1 API group will be the default served
for relevant resources.

Update any references to apps/v1beta1 for fowards compatibility.

Fixes #1672

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>

* Update API group on plugin commands

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-17 15:03:48 -06:00
Nolan Brubaker
1d54996fce Document Helm secrets format. (#1665)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-17 14:03:31 -07:00
Nolan Brubaker
5841f82ee9 Merge pull request #1671 from prydonius/1663-update-azure-sp-creation-docs
docs: remove custom password option from azure service principle create command
2019-07-17 13:42:42 -04:00
Adnan Abdulhussein
1c69bafeeb docs: remove custom password option from azure service principle create command
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-16 15:13:27 -07:00
Steve Kriss
8e098e2f6c document the ConfigMap convention for plugins (#1670)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-16 14:21:40 -07:00
Adnan Abdulhussein
500d5485b1 omit storageClassName in nginx example to use default StorageClass (#1669)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-16 11:15:35 -06:00
Steve Kriss
1bb167ef90 add restore item action to change PVC/PV storage class name (#1621)
* add restore item action to change PVC/PV storage class name

Signed-off-by: Steve Kriss <krisss@vmware.com>

* code review

Signed-off-by: Steve Kriss <krisss@vmware.com>

* change existing plugin names to lowercase/hyphenated

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add validation for new storage class name

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add test cases

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>

* fix imports

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update plugin names to be more consistent

Signed-off-by: Steve Kriss <krisss@vmware.com>

* update unit tests to use pkg/test object constructors

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-15 11:19:38 -07:00
Steve Kriss
11194d1071 fix link for hooks example
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-11 12:25:16 -06:00
Nolan Brubaker
63964fc6f9 Append "/mount" to directory for CSI volumes (#1615)
CSI volumes are mounted one level deeper than "native" kubernetes
volumes, and this needs to be appended for proper restic support.

Fixes #1313.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-07-10 15:16:21 -07:00
ThoTischner
d615cc6de0 openshift needs namespace annotation for restic to schedule on all nodes (#1629)
* openshift needs namespace annotation for restic to schedule on all nodes

Signed-off-by: Thomas Tischner <tti@bitsbeats.com>
2019-07-10 14:04:39 -07:00
Steve Kriss
8cde8fdbc7 update GitHub feature enhancement template (#1632)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-10 13:45:54 -07:00
Steve Kriss
ac00185a5f add design/ dir and doc template (#1636)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-10 13:35:45 -07:00
Nolan Brubaker
31973fbf04 Merge pull request #1640 from skriss/restore-test-refactor
Reorganize pkg/restore test code
2019-07-10 16:11:01 -04:00
Steve Kriss
d1025f7547 rename restore_new_test.go to restore_test.go
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-10 09:59:27 -06:00
Steve Kriss
678c02c560 move contents of restore_test.go into other files and delete it
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-10 09:59:01 -06:00
Nolan Brubaker
7724464017 Merge pull request #1605 from Prajyot-Parab/add-ppc64le-support
enable support for ppc64le architecture
2019-07-09 13:43:11 -04:00
Prajyot-Parab
f44bd53cf0 minor fixes
Signed-off-by: Prajyot-Parab <Prajyot.Parab@ibm.com>
2019-07-09 06:02:14 +00:00
Nolan Brubaker
2498ac6cab Merge pull request #1630 from jwmatthews/cli_namespace
bug fix: Fixed namespace usage with cli command 'version'
2019-07-08 13:42:29 -04:00
John Matthews
afa49f398f bug fix: Fixed namespace usage with cli command 'version'
Signed-off-by: John Matthews <jwmatthews@gmail.com>
2019-07-07 13:54:46 -04:00
Traci Kamp
f829dabcf4 Add pod-annotations CLI flag to the install command (#1626)
* allow users to specify additional Velero/restic pod annotations on the command line with the pod-annotations flag

Signed-off-by: Traci Kamp <traci.kamp@gmail.com>
2019-07-03 15:22:34 -07:00
Adnan Abdulhussein
eec5cc687e validate pod volumes hostpath mount on restic server startup (#1616)
Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-07-03 14:20:31 -06:00
Steve Kriss
bf00754280 fix schedule create examples to use hours as units (#1625)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-03 12:20:49 -07:00
Nolan Brubaker
13cac85c1e Merge pull request #1614 from skriss/restore-pv-tests
migrate restore PV tests
2019-07-03 12:34:09 -04:00
Steve Kriss
567802299b move PV/PVC setup helpers into pkg/test
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-03 08:50:11 -06:00
Steve Kriss
adb93c33b1 migrate restore PV tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-07-03 08:50:09 -06:00
Nolan Brubaker
e371ba78b0 Merge pull request #1612 from skriss/restore-addl-items-bugs
properly filter additional items returned from restore item actions
2019-06-28 17:12:38 -04:00
Adnan Abdulhussein
2156124dfc record PodVolumeBackup/Restore start and completion timestamps (#1609)
* record PodVolumeBackup start and completion timestamps

adds startTimestamp and completionTimestamp fields to the
PodVolumeBackup status spec

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* record PodVolumeRestore start and completion timestamps

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-28 11:58:02 -04:00
Steve Kriss
db393ec199 properly filter additional items returned from restore item actions
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-28 08:59:23 -06:00
Steve Kriss
022099a62e Refactor pkg/restore tests (part 3) (#1611)
* add modifying restore item action tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add restore item action additional items tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* migrate ShouldRestore test

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-27 15:43:59 -07:00
Nolan Brubaker
55054f67a5 Merge pull request #1607 from skriss/fix-restore-action-bugs
Fix bugs in determining which restore item actions to run
2019-06-27 16:50:58 -04:00
Steve Kriss
75a96dfa92 fix bugs in finding applicable restore item actions
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-27 13:06:16 -06:00
Steve Kriss
81c2adc059 Refactor pkg/restore tests (part 2) (#1606)
* update TestPrioritizeResources to use real discovery helper

Signed-off-by: Steve Kriss <krisss@vmware.com>

* migrate invalid tarball contents tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* migrate item restore tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* migrate restore item action tests

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-27 11:57:47 -07:00
Nolan Brubaker
dd96aa76db Merge pull request #1603 from skriss/restore-tests
Migrate restore tests to new structure (part 1)
2019-06-26 12:37:01 -04:00
Steve Kriss
0089fa4d93 migrate restore resource priorities test
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-26 10:24:02 -06:00
Nolan Brubaker
553df25710 Merge pull request #1604 from skriss/update-install-link
update README.md link to install docs, minor reorg install docs content
2019-06-26 12:12:16 -04:00
root
764de79cf5 add changelog
Signed-off-by: root <root@prajyot-ppc-velero-client.novalocal>
2019-06-26 11:13:49 +00:00
root
f4c64ae75a enable support for ppc64le architecture
Signed-off-by: root <root@prajyot-ppc-velero-client.novalocal>
2019-06-26 10:37:34 +00:00
Steve Kriss
c48586a8c7 update README.md link to install docs, minor reorg install docs content
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-25 09:00:40 -06:00
Steve Kriss
5d8ba1b90d migrate namespace mapping tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-24 16:57:30 -06:00
Steve Kriss
1a339f06ac migrate restore resource filtering tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-24 15:53:15 -06:00
Adnan Abdulhussein
b0bdaeea73 ensure correct backup item actions run with namespace selector (#1601)
* ensure correct backup item actions run with namespace selector

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* don't run backup item actions for namespace resources

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* simplify cluster-scope resources checks

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-24 15:50:25 -06:00
Nolan Brubaker
08fe7be851 Fix test conflicts from #1595 and #1598 (#1602)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-06-24 15:34:56 -06:00
Nolan Brubaker
67512a3808 Merge pull request #1595 from skriss/restore-test-refactor-1
initial refactoring for pkg/restore tests
2019-06-24 17:08:51 -04:00
Nolan Brubaker
37c7b618ad Merge pull request #1598 from skriss/rm-has-controller-owner
remove unused hasControllerOwner func and tests
2019-06-24 16:51:28 -04:00
Nolan Brubaker
d143137a70 Merge pull request #1599 from jonasrosland/add-github-link
Add GitHub link in the footer
2019-06-24 16:39:59 -04:00
Steve Kriss
5634a4f463 migrate backup hooks tests (#1591)
* migrate hooks tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add more test cases

Signed-off-by: Steve Kriss <krisss@vmware.com>

* refactor to strongly typed expectation, add pre+post hook test case

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-24 12:23:17 -07:00
Steve Kriss
19052994ed replace TestBackup with pkg/backup.Builder (#1593)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-21 17:08:08 -04:00
jonasrosland
8cb9ee9eb8 Add GitHub link in the footer
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-06-21 16:53:00 -04:00
Steve Kriss
0d326a3903 remove unused hasControllerOwner func and tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-21 11:44:13 -06:00
Mickey Boxell
d916ae0a25 document Oracle Cloud Storage as a backup provider (#1570)
Signed-off-by: mickey.boxell <mickey.boxell@oracle.com>
2019-06-21 10:29:58 -06:00
Nolan Brubaker
b00e0e834a Merge pull request #1594 from jonasrosland/community-update
Add more community info - direct links to meetings and ZenHub
2019-06-21 12:20:34 -04:00
Steve Kriss
d421fcd85c initial structure for refactored pkg/restore tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-21 09:15:18 -06:00
Steve Kriss
0735ee7218 extract shared API test helpers to pkg/test
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-20 14:57:31 -06:00
jonasrosland
223aec8200 Add more community info - direct links to meetings and ZenHub
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-06-20 13:35:32 -04:00
Jonas Rosland
870743a28d Add redirect for docs (#1584)
* Add redirects for docs

Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-06-19 12:20:56 -04:00
Adnan Abdulhussein
1f4139a5bf allow exclusion of resources using standard label (#1588)
* allow exclusion of resources using standard label

excludes any resources with the velero.io/exclude-from-backup=true label

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-19 10:58:02 -04:00
Steve Kriss
a2e88c4d3f Merge pull request #1585 from nrb/local-docs
Add make serve-docs target for local viewing
2019-06-18 14:00:09 -06:00
Adnan Abdulhussein
2d81e29276 ensure backup item action modifications reflected in tarball filepath (#1587)
* ensure backup item action modifications reflected in tarball filepath

This patch ensures the updated backup item's name and namespace are used
when constructing the filepath for the tarball.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-18 12:19:00 -06:00
Ross Fenrick
5d3312b7b5 added top spacing and reduced bottom (#1583)
* added top spacing and reduced bottom

Signed-off-by: Ross Fenrick <rossf@heptio.com>

* added marign to h3's

Signed-off-by: Ross Fenrick <rossf@heptio.com>
2019-06-18 12:14:13 -06:00
Nolan Brubaker
fac3cd4a78 Merge pull request #1574 from skriss/backup-snapshot-tests
migrate backup PV snapshot tests
2019-06-17 14:47:38 -04:00
Stephen Carter
3ff95eaa40 Add restic instructions for Enterprise PKS (#1579)
* Add restic instructions for Enterprise PKS

Signed-off-by: Stephen Carter <carters@vmware.com>

* Add instructions to v1.0.0 docs

Signed-off-by: Stephen Carter <carters@vmware.com>
2019-06-14 15:35:44 -07:00
Nolan Brubaker
023d43d0fe Add make serve-docs target for local viewing
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-06-14 15:15:36 -04:00
Nolan Brubaker
b807b449d6 Merge pull request #1582 from jonasrosland/add-adnan
Adding Adnan to the team
2019-06-14 15:07:01 -04:00
jonasrosland
1ded7c7207 Adding Adnan to the team
Signed-off-by: jonasrosland <jrosland@vmware.com>
2019-06-14 10:51:52 -04:00
Monica
f3850210aa Discontinue use of excerpt separators in blog posts. (#1578)
Signed-off-by: Monica rodriguezmo@vmware.com
2019-06-13 10:30:36 -07:00
Steve Kriss
e2bf39a027 migrate PV snapshot tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-12 13:03:32 -06:00
Steve Kriss
6513e8f30e migrate more backup action tests, remove obsolete test code (#1564)
* migrate more backup action tests, remove obsolete test code

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-12 14:45:04 -04:00
Steve Kriss
49f52b54b2 Merge pull request #1562 from carlisia/c-bug-sort
Fix test comparison
2019-06-11 12:34:35 -06:00
Adnan Abdulhussein
74b575200c hide server commands in velero CLI (#1561)
* hide server commands in velero CLI

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* changelog

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>

* remove unnecessary comment

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-10 19:20:17 -06:00
Carlisia
520077c3a9 Fix test comparison
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-06-10 16:34:29 -07:00
Steve Kriss
e183c4b597 remove glog (#1559)
* remove glog refs, replace with klog equivalents

Signed-off-by: Steve Kriss <krisss@vmware.com>

* remove glog from deps

Signed-off-by: Steve Kriss <krisss@vmware.com>

* changelog

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-10 15:44:44 -07:00
Steve Kriss
f0f7d31e1b move issue-template-gen from docs/ to hack/ (#1558)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-10 15:22:27 -07:00
Steve Kriss
9a62d887d3 update go-plugin to latest for bug fix (#1560)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-10 14:15:00 -07:00
Adnan Abdulhussein
d6c60b2dd5 fix panic when processing DeleteBackupRequest objs without labels (#1556)
This fix initialises an empty map if the request object's Labels map
is nil, allowing the controller to later add and modify labels on the
object.

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-10 10:04:51 -07:00
Steve Kriss
9e7ff4e3d9 Refactoring for backup item action tests (#1545)
* migrate and enhance backup item action tests

Signed-off-by: Steve Kriss <krisss@vmware.com>

* migrate terminating resource test

Signed-off-by: Steve Kriss <krisss@vmware.com>

* add godoc for test functions

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-09 21:02:49 -07:00
Pranav Gaikwad
bb12cbd2d7 Support for multiple AWS profiles (#1548)
* added support for multiple AWS credential profiles

Signed-off-by: Pranav Gaikwad <pgaikwad@redhat.com>
2019-06-07 11:01:39 -07:00
Steve Kriss
16a08b82a9 Merge pull request #1543 from AliyunContainerService/master
add a link of velero plugin for alibabacloud to support-matrix docs
2019-06-07 08:13:30 -06:00
Shuwei Hao
c539e8ad63 add a link of velero plugin for alibabacloud to support-matrix docs
Signed-off-by: Shuwei Hao <haoshuwei24@gmail.com>
2019-06-07 22:00:55 +08:00
Adnan Abdulhussein
f1319be60b fixes inlining of command in GCP setup docs (#1547)
* fixes inlining of command in GCP setup docs

Signed-off-by: Adnan Abdulhussein <aadnan@vmware.com>
2019-06-06 16:39:05 -07:00
coonsd
7d9fc88eb3 Signed-off-by: David Coons <coonsd@oregonstate.edu> (#1550) 2019-06-06 06:10:31 -07:00
KubeKween
0a771e6a53 Add cmd to list plugins (#1535)
* Add cmd to list plugins

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-06-05 13:41:02 -04:00
Steve Kriss
bc7ee686d7 Merge pull request #1428 from guilhem/glob
Add ability to use wildcard in includes/excludes
2019-06-05 09:53:37 -06:00
Guilhem Lettron
81a26e4aad Add ability to use wildcard in includes/excludes
Use https://github.com/gobwas/glob as glob engine
Fix #373

Signed-off-by: Guilhem Lettron <guilhem@barpilot.io>
2019-06-05 16:28:25 +02:00
Steve Kriss
caa0bff5a3 Initial pkg/backup test refactoring (#1532)
Initial pkg/backup test refactoring

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-06-04 19:47:22 -07:00
Steve Kriss
83c3143825 Merge pull request #1506 from nrb/ci-optimization
Only run CI when relevant files have changed
2019-05-31 09:57:56 -06:00
Nolan Brubaker
81287e4751 Only run CI when relevant files have changed
If nothing outside of the site directory was modified, don't run `make
ci`.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-30 17:32:23 -04:00
KubeKween
0804f34644 Don't log error if restic volume is empty (#1480)
* Don't log error if restic volume is empty

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-05-30 12:48:21 -04:00
Steve Kriss
411d44a673 allow individual backup storage locations to be read-only (#1517)
* allow individual backup storage locations to be read-only

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-29 14:21:25 -04:00
Steve Kriss
4e2e4cd5c4 Merge pull request #1490 from abessifi/restic-openshift
[DOC] Restic support on OpenShift
2019-05-29 08:29:42 -06:00
abessifi
108d826ca5 [DOC] Restic support on OpenShift
Signed-off-by: abessifi <ahmed.bessifi@gmail.com>
2019-05-29 14:12:10 +02:00
Jonas Rosland
bbb11a8d23 Docs updates - extra finishing touches (#1516)
* Docs formatting updates

Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-05-28 12:42:27 -04:00
Nolan Brubaker
82e464672b Merge pull request #1526 from emenare/1521-emenare
1521: Change menu order for docs header.
2019-05-28 11:56:23 -04:00
Monica Rodriguez
035c297287 1521: Change menu order for docs header.
Signed-off-by: Monica rodriguezmo@vmware.com
2019-05-28 11:32:39 -04:00
Steve Kriss
02095d21d8 Merge pull request #1513 from jonasrosland/master
Fix formatting on AWS docs
2019-05-22 09:03:39 -06:00
Jonas Rosland
5f7bab945d Fix formatting on AWS docs
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-05-21 14:35:58 +02:00
Nolan Brubaker
ddb335475b Merge pull request #1510 from skriss/1.14-deps
upgrade to kubernetes 1.14 dependencies
2019-05-20 16:30:57 -04:00
Nolan Brubaker
915b3a1ddf Merge pull request #1509 from skriss/rm-cli-doc-gen-code
remove obsolete code for generating CLI ref docs (breaks go test ./...)
2019-05-20 16:28:16 -04:00
Steve Kriss
a1f26aa3a8 remove obsolete code for generating CLI ref docs (breaks go test ./...)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-20 13:26:44 -06:00
Steve Kriss
9287505f62 fixes for breaking changes
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-20 13:25:36 -06:00
Steve Kriss
02c7df9ea0 update generated code
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-20 13:25:36 -06:00
Steve Kriss
13b6cbb4db update to kubernetes 1.14 deps
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-20 13:25:36 -06:00
Steve Kriss
029cee6bc3 Merge pull request #1504 from jonasrosland/1.0-blog
Add 1.0 release blog
2019-05-20 09:53:04 -06:00
Jonas Rosland
1ed5255f17 Add 1.0 release blog
Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-05-20 14:54:06 +02:00
Steve Kriss
72f5cadc3a Merge pull request #1502 from skriss/1.0-docs
add 1.0 docs
2019-05-19 20:02:15 -06:00
Steve Kriss
1ed1a84ebf Merge pull request #1478 from skriss/readme-updates
remove text about release tarball containing static YAML
2019-05-19 20:00:29 -06:00
Steve Kriss
15289295af Merge pull request #1491 from skriss/1.0-changelog
1.0 changelog
2019-05-19 19:59:48 -06:00
Steve Kriss
f44ad1ad34 update root README.md to point to 1.0 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-19 13:47:00 -06:00
Steve Kriss
e7e2e8c390 add 1.0 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-19 13:42:16 -06:00
Steve Kriss
effa5dbeee add 1.0 docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-19 13:41:47 -06:00
Steve Kriss
f3fd902de8 remove text about release tarball containing static YAML
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-19 13:39:15 -06:00
Steve Kriss
ac9b29f2d7 Merge pull request #1503 from skriss/fix-links
update docs links to point to velero.io
2019-05-19 13:17:49 -06:00
Steve Kriss
93c0ed111f update docs links to point to velero.io
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-19 13:11:30 -06:00
Steve Kriss
0753a2572a Merge pull request #1501 from skriss/migration-secret
add instructions for getting local credentials when upgrading
2019-05-19 12:39:40 -06:00
Steve Kriss
a053989693 add instructions for getting local credentials when upgrading
Signed-off-by: Steve Kriss <krisss@vmware.com>
Co-authored-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-19 12:32:30 -06:00
Steve Kriss
6db2283b84 Merge pull request #1497 from skriss/docs-fixes
docs fixes
2019-05-17 14:01:34 -07:00
Steve Kriss
9194eba5f0 add master docs to dropdown
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-17 14:55:15 -06:00
Steve Kriss
e57eeef208 fix image link
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-17 14:55:15 -06:00
Steve Kriss
b0afa979ff remove issue-template-gen/ from v0.10 and master docs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-17 14:55:15 -06:00
Steve Kriss
e8e5485b94 Merge pull request #1495 from jonasrosland/master
Small fixes to the README and site
2019-05-17 13:54:14 -07:00
Jonas Rosland
eafe53560b Small fixes to the README and site
Signed-off-by: Jonas Rosland <jrosland@vmware.com>

Add docs/latest

Signed-off-by: Jonas Rosland <jrosland@vmware.com>

Add hardcoded links to latest release for now

Signed-off-by: Jonas Rosland <jrosland@vmware.com>
2019-05-17 22:48:22 +02:00
Steve Kriss
f3663846a2 Merge pull request #1496 from carlisia/c-types2
Add types
2019-05-17 12:41:17 -07:00
Carlisia
bdb7fe854c Add types
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-05-17 12:17:10 -07:00
Lee Springer
d995018a3e add velero.io site content, move docs to under site/docs (#1489)
* Adding in Jekyll site | Adjusting gitignore for Jekyll build | Moving docs to site folder

Signed-off-by: Lee Springer <lee@smalltalk.agency>

Adding in Jekyll site | Adjusting gitignore for Jekyll build | Moving docs to site folder

Signed-off-by: Lee Springer <lee@smalltalk.agency>

* Restore main.go to original location

Signed-off-by: Lee Springer <lee@smalltalk.agency>

* Updates to footer

Signed-off-by: Lee Springer <lee@smalltalk.agency>

* Updates to homepage links

Signed-off-by: Lee Springer <lee@smalltalk.agency>

* Content updates

Signed-off-by: Lee Springer <lee@smalltalk.agency>
2019-05-17 10:56:03 -07:00
Steve Kriss
5d8df26b35 Merge pull request #1485 from skriss/0.11.1-cl-master
v0.11.1 changelog (in master branch)
2019-05-17 09:44:00 -07:00
Nolan Brubaker
deb8a27bd4 Merge pull request #1488 from skriss/ubuntu-base
change base images to ubuntu:bionic
2019-05-15 13:33:18 -07:00
Steve Kriss
c49e1ff0cc change base images to ubuntu:bionic
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-15 12:56:20 -07:00
Mayank
5a811b4629 Add OpenEBS to Volume Snapshot Providers (#1483)
Signed-off-by: mayank <mayank.patel@cloudbyte.com>
2019-05-15 10:20:07 -07:00
KubeKween
5602ca9d29 Add all api types to docs (#1482)
* Add all api types to docs

Signed-off-by: Carlisia <carlisiac@vmware.com
2019-05-15 09:59:19 -07:00
Steve Kriss
95d2d47b77 v0.11.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-15 09:45:19 -07:00
Steve Kriss
ee8f8ca1db Merge pull request #1479 from carlisia/c-site
Ignore site directory when making
2019-05-14 10:06:33 -07:00
Carlisia
91a35c2f4e Ignore site directory when making
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-05-14 09:57:08 -07:00
Nolan Brubaker
b3c6e5e483 Add more examples to schedule create (#1473)
Partially addresses #1464

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-13 09:25:25 -07:00
Nolan Brubaker
079444410f Document that hooks don't execute within a shell (#1474)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-13 09:24:27 -07:00
Nolan Brubaker
c209f0c0c3 Add snapshot-location to velero create command (#1472)
`velero snapshot-location create` existed, but not `velero create
snapshot-location`; update subcommand for parity with backup-location

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-13 09:23:25 -07:00
Steve Kriss
d05f8e53d8 Merge pull request #1466 from skriss/rc1-changelog
add changelog for v1.0.0-rc.1
2019-05-10 14:01:02 -06:00
Steve Kriss
a1eb8411f9 Merge pull request #1469 from nrb/always-pull-base-image
Always pull the docker layers on image build
2019-05-10 13:22:36 -06:00
Nolan Brubaker
e52b04dfa3 Always pull the docker layers on image build
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-10 15:14:53 -04:00
Steve Kriss
8c2c96adeb add changelog for v1.0.0-rc.1
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-10 09:05:22 -06:00
Steve Kriss
a27e1a4c02 Merge pull request #1465 from nrb/fix-1436
Add documentation for minio running in KinD
2019-05-09 14:40:54 -06:00
Steve Kriss
757a9862a5 Merge pull request #1462 from nrb/fix-1453
Add flag to disable creation of VSL on install
2019-05-09 14:38:29 -06:00
Nolan Brubaker
363748667b Fix instances of 'an Velero' typo
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-09 16:34:25 -04:00
Nolan Brubaker
d4f9c62449 Add documentation for minio running in KinD
Fixes #1436

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-09 16:31:20 -04:00
Nolan Brubaker
e0bc14d56b Add flag to disable creation of VSL on install
Fixes #1453

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-09 15:04:42 -04:00
Steve Kriss
f27ff115e2 Merge pull request #1461 from nrb/restic-limitations
Document more restic limitations
2019-05-09 12:37:16 -06:00
Nolan Brubaker
b82e221310 Document more restic limitations
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-09 14:05:06 -04:00
Steve Kriss
c96b7b3e40 update build-from-scratch.md for clarity, velero install cmd (#1458)
* update build-from-scratch.md for clarity, velero install cmd

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-08 09:32:55 -07:00
Fábio Franco Uechi
58d34700da Add new gauge to hold the timestamp of the last successful backup (#1448)
* add new gauge to hold the timestamp of the last sucessfull backup

Signed-off-by: fabito <fuechi@ciandt.com>

* add changelog entry

Signed-off-by: fabito <fuechi@ciandt.com>

* fix gauge name

Signed-off-by: fabito <fuechi@ciandt.com>

* renaming metric to backup_last_successful_timestamp

Signed-off-by: fabito <fuechi@ciandt.com>

* fix typo

Signed-off-by: fabito <fuechi@ciandt.com>

* ✏️ fix typo II

Signed-off-by: fabito <fuechi@ciandt.com>

* 🔀 rename method

Signed-off-by: fabito <fuechi@ciandt.com>
2019-05-08 07:00:26 -06:00
Nolan Brubaker
05b8edf894 Merge pull request #1457 from skriss/shortcuts-perf-issue
shortcut expander: use discovery helper's cached resource list
2019-05-07 15:57:12 -04:00
Nolan Brubaker
e5e3bc6b89 Merge pull request #1455 from skriss/install-config-links
add links to the configurable BSL/VSL params on install pages
2019-05-07 15:56:33 -04:00
Steve Kriss
90c89f764e shortcut expander: use discovery helper's cached resource list
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-07 12:23:45 -06:00
Steve Kriss
cdd583b8bf add links to the configurable BSL/VSL params on install pages
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-07 09:33:47 -06:00
Nolan Brubaker
e0b3e6fa5f Add note about restic support being beta (#1446)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-06 10:15:12 -07:00
Fábio Franco Uechi
24d28c8633 Check for backup existence before download (#1447)
* check for backup existence in download command

Signed-off-by: fabito <fuechi@ciandt.com>
2019-05-06 12:24:29 -04:00
Steve Kriss
0462217c9b Merge pull request #1445 from nrb/inprogress-troubleshooting
Add note about backups stuck InProgress
2019-05-03 15:34:38 -06:00
Nolan Brubaker
e35cf8845d Add note about backups stuck InProgress
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-03 17:28:37 -04:00
Nolan Brubaker
7a04e987ea Merge pull request #1442 from skriss/beta.1-changelogs
Beta.1 changelogs
2019-05-03 15:46:14 -04:00
Steve Kriss
4352158435 add v0.11.1-beta.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-03 12:49:49 -06:00
Steve Kriss
71f358c160 add v1.0.0-beta.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-03 12:49:49 -06:00
Nolan Brubaker
884e512f93 Use latest container image when version is empty (#1439)
When using `velero install`, the image used should be a reasonable
default, even if buildinfo.Version is missing (such as when using `go
build` directly).

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-05-03 11:10:47 -07:00
Nolan Brubaker
26d86f514c Merge pull request #1438 from skriss/loc-cred-doc
add note about single credentials per provider to locations doc
2019-05-03 13:53:52 -04:00
Steve Kriss
c0e105f5cd add note about single credentials per provider to locations doc
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-03 11:38:14 -06:00
Steve Kriss
6ebedf6b25 more docs updates (#1432)
* revise versions.md, move supported K8s info into support-matrix.md

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-03 10:05:11 -07:00
Nolan Brubaker
de79f4d0b7 Merge pull request #1405 from skriss/gcp-project
GCP: add optional 'project' config to volume snapshot location
2019-05-03 11:24:42 -04:00
Steve Kriss
2406994740 remove ref to v0.10 from BSL validation error msg (#1429)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-02 11:20:50 -07:00
Nolan Brubaker
ac9e0173e8 Merge pull request #1420 from skriss/1.0-upgrade-doc
doc on upgrading to v1.0
2019-05-02 14:02:59 -04:00
Steve Kriss
c95abf69b2 update docs/backup.md (#1427)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-01 13:59:07 -07:00
Steve Kriss
f3d36afd3a remove refs to pre-v1.0 velero versions from docs (#1425)
* remove refs to pre-v1.0 velero versions from docs

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-05-01 13:54:51 -07:00
Nolan Brubaker
0205a43028 Merge pull request #1392 from canshul08/restore_labels
Validate restore name label length
2019-05-01 16:01:16 -04:00
Anshul Chandra
4e12b08953 Validate restore name label length
Velero should handle cases when the label length exceeds 63 characters.

- if the length of the backup/restore name is <= 63 characters, use it as the value of the label
- if it's > 63 characters, take the SHA256 hash of the name. the value of
  the label will be the first 57 characters of the backup/restore name
  plus the first six characters of the SHA256 hash.

Fixes heptio#1021

Signed-off-by: Anshul Chandra <anshulc@vmware.com>
2019-05-01 10:25:11 -07:00
Steve Kriss
721d19c7bf doc on upgrading to v1.0
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-30 14:49:23 -06:00
Nolan Brubaker
28612afa27 Merge pull request #1416 from skriss/restic-connect
switch to snapshots cmd for checking repo exists
2019-04-30 12:24:17 -04:00
Steve Kriss
987ce55894 Merge pull request #1417 from carlisia/c-minor-doc
Super minor doc cleanup
2019-04-30 08:35:59 -06:00
Carlisia
4514c2e27d Super minor doc cleanup
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-29 18:18:41 -07:00
Steve Kriss
660080e6f3 remove all remaining legacy Ark references (#1415)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-29 12:33:54 -07:00
Steve Kriss
dea81bbe15 switch to snapshots cmd for checking repo exists
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-29 12:19:03 -06:00
Steve Kriss
3b5de11c74 update to optionally use distinct snapshot vs volume project
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-29 09:47:13 -06:00
Steve Kriss
4ed63edea0 GCP: add optional 'project' config to volume snapshot location
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-29 09:47:13 -06:00
Steve Kriss
8392e6d83f add PartiallyFailed phase for backups, log+continue on errors (#1386)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-26 09:14:26 -07:00
Steve Kriss
42f351b000 Merge pull request #1407 from nrb/bucket-dashes
Throw an error on an invalid bucket name
2019-04-25 15:41:19 -06:00
Nolan Brubaker
bf19623e82 Merge pull request #1389 from skriss/restore-partially-failed
Add PartiallyFailed phase for restores
2019-04-25 17:06:26 -04:00
Nolan Brubaker
f2b4e73e2e Merge pull request #1406 from skriss/examples
copy examples/ dir as-is to release tarballs
2019-04-25 17:04:50 -04:00
Nolan Brubaker
9e19ab8d8b Throw an error on an invalid bucket name
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-25 16:26:03 -04:00
Steve Kriss
26b940c81c copy examples/ dir as-is to release tarballs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-25 13:09:58 -06:00
Sylvain Rabot
011db15f1c azure: restore volumes with zone (#1298)
Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
2019-04-25 11:25:57 -07:00
Steve Kriss
dda76b05a8 Merge pull request #1400 from skriss/alpha2-changelog
v1.0.0-alpha.2 changelog
2019-04-24 20:19:50 -06:00
Steve Kriss
c7025b98e4 v1.0.0-alpha.2 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 15:43:32 -06:00
Nolan Brubaker
58bb7ed3aa Merge pull request #1390 from carlisia/c-check-for-backup-III
Fail backup if it already exists in object storage
2019-04-24 17:31:48 -04:00
Carlisia
6f496a8921 Bug fix
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-24 14:18:24 -07:00
Steve Kriss
3155bb159f remove VolumeBackupInfo from API pkg (#1388)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 13:16:03 -07:00
Steve Kriss
dcd663b8cf bug fix: set discovery helper's logger in constructor (#1399)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 13:12:03 -07:00
Steve Kriss
0471c6ee35 Merge pull request #1397 from nrb/uninstall-docs
Add instructions for uninstalling Velero
2019-04-24 13:54:02 -06:00
Nolan Brubaker
15aaa7bb9d Add instructions for uninstalling Velero
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-24 15:15:16 -04:00
Carlisia
fc25f0ae89 Clean up + changelog
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-24 12:04:19 -07:00
Steve Kriss
c201a2c103 fix describer output
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 12:57:40 -06:00
Steve Kriss
1a55964326 update CLI outputs for PartiallyFailed phase
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 12:57:40 -06:00
Steve Kriss
eb30ec0666 move restores to PartiallyFailed if >=1 error in restore results
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 12:57:40 -06:00
Nolan Brubaker
e7e666306c Merge pull request #1394 from skriss/update-minio-install-docs
switch minio install docs to use velero install
2019-04-24 14:37:10 -04:00
Nolan Brubaker
8cd46b8a0c Merge pull request #1393 from skriss/update-ibm-install-docs
update IBM install doc to use velero install, remove examples
2019-04-24 14:36:04 -04:00
Steve Kriss
db9f8e16d9 Merge pull request #1376 from nrb/install-docs
Document install command
2019-04-24 12:12:57 -06:00
Nolan Brubaker
9cd2862c8e Document install command for GCP, AWS, and Azure
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-24 14:06:36 -04:00
Carlisia
7e949080cf Revert
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-24 11:05:23 -07:00
Carlisia
7d28f82540 Address code review
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-24 10:54:43 -07:00
Steve Kriss
b6cfce2dd9 switch minio install docs to use velero install
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 11:31:25 -06:00
Steve Kriss
64dd3ed7ad update IBM install doc to use velero install, remove examples
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-24 11:18:08 -06:00
Steve Kriss
e9c131df71 Merge pull request #1391 from vbellur/patch-3
Update mailing list URL in SUPPORT.md
2019-04-24 08:29:50 -06:00
Vijay Bellur
662a36df90 Update mailing list in SUPPORT.md
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
2019-04-23 20:45:56 -07:00
Carlisia
38ccb40ca1 Add back code and tests
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-23 16:19:49 -07:00
Carlisia
c59d03dfb1 Fix test?
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-22 15:22:58 -07:00
Carlisia
c7bb288d87 More clean up
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-22 15:22:58 -07:00
Carlisia
05a88345e5 Code clean up
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-22 15:22:58 -07:00
Andy Goldstein
01d0b026e9 Fail backup if it already exists in object storage
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2019-04-22 15:22:58 -07:00
Steve Kriss
134323fbf7 Merge pull request #1385 from nrb/deploy-tags
Provide more specific label for velero deployment
2019-04-19 12:37:28 -06:00
Nolan Brubaker
8870281afc Merge pull request #1353 from fabito/gauge-for-number-of-backups-and-restores
Add gauge metrics for number of existing backups and restores
2019-04-19 12:52:55 -04:00
Steve Kriss
6dd007b507 remove deprecated hooks (replaced by pre hooks) (#1384)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-19 08:40:35 -07:00
Nolan Brubaker
e85c367ce5 Provide more specific label for velero deployment
Using only the `component: velero` selector caused the restic pods to be
matched, as well, which made things such as `kubectl logs` return too
much information.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-18 14:18:21 -04:00
Nolan Brubaker
b01b12472f Merge pull request #1375 from ctrox/gcp-snapshot-location
GCP: Implement configurable snapshot location
2019-04-18 12:06:18 -04:00
fabito
475cf2ab60 add new metrics (gauges): backup_total and restore_total
Signed-off-by: fabito <fuechi@ciandt.com>
2019-04-18 01:28:38 -03:00
Nolan Brubaker
f8f0d15da2 Add --namespace parameter to install command (#1380)
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-17 09:38:14 -07:00
Cyrill Troxler
6020823aaf Add config parameter for gcp to customize the snapshot location
Signed-off-by: Cyrill Troxler <cyrill@nine.ch>
2019-04-17 18:34:09 +02:00
Cyrill Troxler
ff642d739d Update vendored google API
Signed-off-by: Cyrill Troxler <cyrill@nine.ch>
2019-04-17 18:33:56 +02:00
Nolan Brubaker
0750b2c789 Merge pull request #1367 from skriss/restic-repo-fixes
Restic repository management fixes
2019-04-17 11:49:17 -04:00
Nolan Brubaker
975bec692b Merge pull request #1378 from skriss/move-restore-result
move RestoreResult from api to pkg/restore, rename to Result
2019-04-17 11:29:18 -04:00
Nolan Brubaker
38604e88fe Merge pull request #1379 from skriss/archive-wrap-in-dir
wrap contents of release tarball in directory
2019-04-17 11:28:03 -04:00
Steve Kriss
c475108345 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-17 08:24:06 -06:00
Nolan Brubaker
f2418052e4 Merge pull request #1377 from jmontleon/fix-restic-repo
Fix restic repository identifier
2019-04-16 17:46:56 -04:00
Steve Kriss
2cef9d26ec wrap contents of release tarball in directory
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-16 14:27:49 -06:00
Steve Kriss
5bc6695109 move RestoreResult from api to pkg/restore, rename to Result
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-16 12:57:02 -06:00
Jason Montleon
8c9ae491f0 Fix restic repository identifier
Signed-off-by: Jason Montleon <jmontleo@redhat.com>
2019-04-16 12:24:25 -04:00
Nolan Brubaker
39bab5ada9 Merge pull request #1372 from skriss/v1.0.0-alpha.1-changelog
v1.0.0-alpha.1 changelog
2019-04-15 17:48:16 -04:00
Steve Kriss
316e6cc67e v1.0.0-alpha.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 15:41:21 -06:00
Nolan Brubaker
6f474016a6 Add velero install command (#1287)
Add velero install command

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-15 14:10:11 -07:00
Steve Kriss
bc8f07f963 Azure: add support for loading env vars from a file, $AZURE_CREDENTIALS_FILE (#1364)
* azure: load env vars from AZURE_CREDENTIALS_FILE if it exists

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 14:05:13 -07:00
Nolan Brubaker
9470983d5f Merge pull request #1365 from skriss/update-base-images
switch to debian:stretch-slim base images and go 1.12.x
2019-04-15 16:24:17 -04:00
Nolan Brubaker
94f014101d Merge pull request #1323 from skriss/v1.0-removals
v1.0 removals
2019-04-15 16:24:02 -04:00
Nolan Brubaker
c38def0849 Merge pull request #1370 from skriss/install-fixes
add some missing config to pkg/install daemonset, deployment
2019-04-15 15:45:52 -04:00
Steve Kriss
66c6d7a026 add some missing config to pkg/install daemonset, deployment
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 13:12:35 -06:00
Nolan Brubaker
9b9b4f666e Merge pull request #1369 from skriss/update-daemonset-log
update daemonset log to show version and SHA
2019-04-15 13:37:59 -04:00
Steve Kriss
373e4c9abe update daemonset log to show version and SHA
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 11:27:04 -06:00
Steve Kriss
ce374584c4 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:41 -06:00
Steve Kriss
c59544cb79 remove backup.status.volumeBackups and all related code
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:40 -06:00
Steve Kriss
6ed4e1f147 remove legacy metrics
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
b04d6b02f3 remove support for legacy restic annotations
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
7f36f78aee remove code that removes legacy GC finalizer from backups
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
892673816b remove legacy restore label
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
c8c03a38e9 remove support for legacy Azure snapshot ID format
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
ede9a8f5b4 remove support for legacy client config file
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
b87de94723 remove legacy hook annotation support
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:03 -06:00
Steve Kriss
77e648eafa remove Ark field from RestoreResult
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:17:02 -06:00
Steve Kriss
d49008dec0 remove Ark API pkg and generated code
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:15:18 -06:00
Steve Kriss
b03da3c0ed remove code referencing Ark API pkg
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:15:18 -06:00
Steve Kriss
49cb4cd5c3 switch to debian:stretch-slim base images and go 1.12.x
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-15 10:07:23 -06:00
Steve Kriss
3ed97db550 Merge pull request #1362 from nrb/include-resources-examples
Add example for restoring with --include-resources
2019-04-12 14:45:15 -06:00
Steve Kriss
44acdcbc60 repo ensurer: fix channel lifecycles
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
5d06bd4ab9 restic repo controller: lower resync period to 5min
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
0328a70ff0 repo ensurer: rename readyChans to repoChans
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
8d61cb0384 repo ensurer: wait at most one minute for repo to become ready
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
f879670906 repo ensurer: return error if new repo becomes NotReady
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
7251c8ca81 restic: change log statement from error to debug
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 14:43:40 -06:00
Steve Kriss
02cbb77dea Merge pull request #1366 from nrb/fix-1363
Prepend velero.io to non-namespaced names
2019-04-12 14:43:17 -06:00
Nolan Brubaker
d679498c8a Add example for restoring with --include-resources
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-12 16:36:39 -04:00
Nolan Brubaker
c326f59627 Prepend velero.io to non-namespaced names
Prior to 1.0, user-provided values such as cloud provider names didn't
need to be namespaced. This change allows those values to continue
working without the user editing the fields manually.

Fixes #1363

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-12 16:31:16 -04:00
Nolan Brubaker
bc93b2bbac Merge pull request #1358 from skriss/restore-log-fix
instantiate plugin manager with per-restore logger so plugin logs are captured
2019-04-12 12:47:11 -04:00
Steve Kriss
3116185e5b instantiate plugin manager with per-restore logger so plugin logs are captured
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-12 10:36:20 -06:00
KubeKween
abee09aa2d Add validation for plugin name format and dups (#1339)
* Add validation for plugin name format and dups

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Bug fix

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Add changelog

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Address code reviews

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Fix code

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Address code reviews

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Add documentation

Signed-off-by: Carlisia <carlisiac@vmware.com>

* Update godoc

Signed-off-by: Carlisia <carlisiac@vmware.com>

* More doc

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-12 08:25:04 -06:00
Aman Wangde
0e0f357cef Added ability to disable controllers (#1326)
Signed-off-by: James King <james.king@emc.com>
2019-04-10 15:41:28 -04:00
Steve Kriss
23c0d3f612 Merge pull request #1352 from rohandvora/default-backup-ttl
Set default backup TTL
2019-04-09 15:34:32 -06:00
Rohan Vora
4beb8aab3c Set default backup TTL
Set default backup TTL to 30 days when TTL
is not provided in the backup yaml configuration.

Updates #138

Signed-off-by: Rohan Vora <vorar@vmware.com>
2019-04-09 14:13:29 -07:00
Imran Pochi
b444d3c2f1 Update Restic documentation for RancherOS (#1348)
Signed-off-by: Imran Pochi <pochiimran@yahoo.co.in>
2019-04-09 11:22:50 -07:00
KubeKween
13eaad0e64 Refactor protobuf (#1354)
* Update protobuffs

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-09 13:50:05 -04:00
Steve Kriss
956152d6e1 Merge pull request #1355 from nrb/backup-examples
Add examples to backup create command
2019-04-09 08:15:00 -06:00
Nolan Brubaker
bca21a1ec0 Add examples to backup create command
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-04-05 14:40:05 -04:00
Steve Kriss
2f47ca62ad always allow 'bucket' as a config key for object stores (#1349)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-05 11:24:55 -07:00
sseago
a519547efc Adds support for allowing a RestoreItemAction to skip item restore (#1336)
* Adds support for allowing a RestoreItemAction to skip item restore

This allows a RestoreItemAction plugin to signal to velero that
the returned item should be skipped rather than restored to the
cluster.

To support this, a boolean SkipRestore attribute is added to
RestoreItemActionExecuteOutput. If restore.restoreResource finds
this set to true, any remaining actions on this item are skipped,
and restore on this item is skipped. Execution continues with
the next item of this resource type.

To signal this for a particular item, the RestoreItemAction's
Execute method should call WithoutRestore() on the
RestoreItemActionExecuteOutput before returning it.

Signed-off-by: Scott Seago <sseago@redhat.com>

* Autogenerated code to support SkipRestore

Signed-off-by: Scott Seago <sseago@redhat.com>

* Added changelog for #1336

Signed-off-by: Scott Seago <sseago@redhat.com>
2019-04-04 13:39:54 -06:00
Fábio Franco Uechi
0167539a14 add new counter metrics for backup deletion (#1280)
* compute backup deletion metrics (attempt, success, fail)

Signed-off-by: fabito <fuechi@ciandt.com>
2019-04-04 14:25:59 -04:00
Steve Kriss
985479094f Merge pull request #1342 from cwilkers/patch-1
Add NooBaa to support matrix
2019-04-03 07:32:28 -06:00
Chandler Wilkerson
a611658436 Add NooBaa to support matrix
Per https://github.com/heptio/velero/pull/1334#issuecomment-479190807

Signed-off-by: cwilkers <cwilkers@redhat.com>
2019-04-03 07:08:24 -05:00
Nolan Brubaker
0f442b002d Merge pull request #1341 from skriss/fix-changelogs
changelog fixes
2019-04-02 17:24:52 -04:00
Steve Kriss
a774b54ae7 changelog fixes
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-02 15:16:47 -06:00
Steve Kriss
2e3f00f64d Merge pull request #1340 from carlisia/c-copy
Fix copyright
2019-04-01 15:49:06 -06:00
Nolan Brubaker
c3a933d3e3 Merge pull request #1338 from skriss/validate-config-keys
objectstores/volumesnapshotters: check for invalid keys in config
2019-04-01 15:11:15 -04:00
Nolan Brubaker
bbd28a9fb9 Merge pull request #1337 from skriss/logs-cmd-validation
logs commands: validate item exists & is finished processing
2019-04-01 15:10:52 -04:00
Carlisia
23b1098950 Fix copyright
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-04-01 12:06:14 -07:00
Steve Kriss
1d3d66aa77 logs commands: validate backup/restore exists & is finished processing
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-01 12:39:02 -06:00
Fábio Franco Uechi
40c7fbce09 Gracefully handle failed API groups from the discovery API (#1293)
* log details and continue executing if error of type ErrGroupDiscoveryFailed is returned by discovery API

Signed-off-by: fabito <fuechi@ciandt.com>
2019-04-01 14:27:37 -04:00
Steve Kriss
6bf29e17aa objectstores/volumesnapshotters: check for invalid keys in config
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-04-01 08:15:24 -06:00
Steve Kriss
7298a4eda0 allow restic restore helper image to be specified via ConfigMap (#1311)
* allow restic restore helper image to be specified via ConfigMap

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-29 17:11:34 -04:00
Steve Kriss
2a36cdcbf6 set backup start timestamp before patching to inprogress (#1330)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-29 13:33:50 -07:00
Steve Kriss
dcee310745 improve handling of custom S3 URLs (#1331)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-29 13:32:43 -07:00
Steve Kriss
a696cd09f2 remove Warning from restore item action output (#1318)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-28 13:08:37 -07:00
Steve Kriss
be42ea782d turn down log levels in plugin server to DEBUG (#1325)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-28 12:44:26 -07:00
Steve Kriss
9b635c0e14 add additionalItems to restore item actions (#1304)
* add additionalItems to restore item actions

Signed-off-by: Steve Kriss <krisss@vmware.com>
Co-authored-by: Andy Goldstein <goldsteina@vmware.com>
2019-03-28 12:21:56 -07:00
KubeKween
477e42286c Bump plugin client version (#1319)
* Bump plugin client version

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-03-28 11:34:43 -04:00
Nolan Brubaker
21f3169ad3 Merge pull request #1321 from skriss/rename-block-store
rename BlockStore to VolumeSnapshotter
2019-03-28 11:33:06 -04:00
Nolan Brubaker
59e0ef4524 Merge pull request #1322 from skriss/fix-grpc-streaming
don't wrap io.EOF errors during gRPC streaming
2019-03-28 11:30:54 -04:00
Steve Kriss
86293b68b3 don't wrap io.EOF errors during gRPC streaming
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-27 16:22:28 -06:00
Steve Kriss
e4e0ed68a6 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-27 14:58:11 -06:00
Steve Kriss
bb9c3f6a1a rename BlockStore to VolumeSnapshotter
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-27 14:55:28 -06:00
Nolan Brubaker
3f2c28f6bb Merge pull request #1301 from skriss/plugins-error-location
log error locations from plugin logger and don't overwrite in client
2019-03-27 11:21:52 -04:00
Nolan Brubaker
60460f6920 Merge pull request #1300 from skriss/plugin-error-stacks
Add stack traces to plugin errors so error location info can be logged
2019-03-27 11:21:00 -04:00
Steve Kriss
7b0d8217de send plugin error stack traces over gRPC and log error locations
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-27 08:34:03 -06:00
Matt Stump
f8baf4f4f0 Fix for #1312, use describe to determine if AWS EBS snapshot is encrypted and explicitly pass that value in EC2 CreateVolume call. (#1316)
Signed-off-by: Matt Stump <mstump@vorstella.com>
2019-03-26 17:30:27 -07:00
Steve Kriss
b1c0e9c49b update plugins to work with updated go-plugin (#1308)
* update plugins to work with updated go-plugin

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-21 12:32:18 -07:00
Steve Kriss
4d7add1782 Merge pull request #1306 from pei0804/mustcompile
Improvement: regex faster
2019-03-21 09:07:20 -06:00
pei0804
7af9f8d74e compile only once for regexp.MustCompile
Signed-off-by: pei0804 <peeeei0804@gmail.com>
2019-03-21 21:51:48 +09:00
Steve Kriss
ff2db31b32 log error locations from plugin logger and don't overwrite in client
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-20 16:13:37 -06:00
Steve Kriss
bd662ab613 Merge pull request #1303 from carlisia/c-dep
Update go-plugin
2019-03-20 14:10:14 -06:00
Carlisia
01f2ae76e2 Update go-plugin
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-03-20 13:02:51 -07:00
Steve Kriss
a111eed2af update license headers to Velero contributors (#1302)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-20 12:32:48 -07:00
Steve Kriss
4c73e23ce8 Merge pull request #1291 from carlisia/c-plugins-III
Split velero plugin client into its own package
2019-03-19 17:42:22 -06:00
Carlisia
a71e43b2b7 Split velero plugin client into its own package
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-03-19 16:05:37 -07:00
Steve Kriss
1eac10ca9f Merge pull request #1288 from carlisia/c-plugins-II
Split plugin framework into its own package
2019-03-19 16:44:58 -06:00
Carlisia
7dfe58d37f Split plugin framework into its own package
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-03-19 15:36:31 -07:00
Nolan Brubaker
78bf8fb868 Merge pull request #1297 from skriss/restic-exclude-hostpath-pv
exclude hostPath PVs from restic backup
2019-03-19 11:35:33 -04:00
Steve Kriss
7d66fc31bd pkg/restic: check for & skip hostPath PVC/PVs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-19 08:57:47 -06:00
Steve Kriss
183bea369d make resticrepositories non-restorable resources (#1296)
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-18 11:38:37 -07:00
Nolan Brubaker
de09fd7cdc Merge pull request #1294 from skriss/master-curl-redirect
add -L flag to curl commands (master branch)
2019-03-18 13:27:16 -04:00
Steve Kriss
f64b37289d add -L flag to curl commands
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-18 10:57:28 -06:00
KubeKween
73514a003b Move plugin interfaces to same package (#1264)
* Move plugin interfaces to same package

Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-03-14 16:35:06 -04:00
Steve Kriss
7674332313 pass --log-level to plugins (#1278)
Plumb the log level through to plugin processes


Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-14 10:53:36 -07:00
Steve Kriss
409116fce8 add basic plugin panic handlers (#1270)
* add server-side panic handlers to all plugin methods

Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-13 14:07:52 -04:00
Nolan Brubaker
503b112638 Add location resources and tests (#1277)
Add locations and tests to install package

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-03-13 11:23:00 -06:00
Steve Kriss
b286c652ec Merge pull request #1274 from MetisMachine/aws-new
AWS: Inclue zone in volume ID
2019-03-12 14:02:18 -06:00
tsturzl
89ca2571f3 AWS zone on volume IDs
Signed-off-by: Travis Sturzl<travis@metismachine.com>
2019-03-12 13:04:33 -06:00
Nolan Brubaker
394548afcd Merge pull request #1254 from skriss/remove-wait-for-pv
remove restore code that waits for a PV to become Available
2019-03-11 13:20:59 -04:00
KubeKween
4ee41a13a0 Merge pull request #1261 from asaf-erlich/patch-1
Update ark restore to not open every single file open during extracti…
2019-03-08 14:59:09 -08:00
asaf-erlich
4041044a93 Update ark restore to not open every single file open during extraction of the data
Original error was:

```
ark -n <redacted> restore logs <redacted>
time="2019-03-06T18:31:06Z" level=info msg="Not including resource" groupResource=nodes logSource="pkg/restore/restore.go:124"
time="2019-03-06T18:31:06Z" level=info msg="Not including resource" groupResource=events logSource="pkg/restore/restore.go:124"
time="2019-03-06T18:31:06Z" level=info msg="Not including resource" groupResource=events.events.k8s.io logSource="pkg/restore/restore.go:124"
time="2019-03-06T18:31:06Z" level=info msg="Not including resource" groupResource=backups.ark.heptio.com logSource="pkg/restore/restore.go:124"
time="2019-03-06T18:31:06Z" level=info msg="Not including resource" groupResource=restores.ark.heptio.com logSource="pkg/restore/restore.go:124"
time="2019-03-06T18:31:06Z" level=info msg="Starting restore of backup backup/<redacted>" logSource="pkg/restore/restore.go:342"
time="2019-03-06T18:31:06Z" level=info msg="error unzipping and extracting: open /tmp/604421455/resources/rolebindings.rbac.authorization.k8s.io/namespaces/<redacted>/<redacted>: too many open files" logSource="pkg/restore/restore.go:346"
```

Downloading the directory from s3 and untarring it I found 1036 files. The ulimit -n output says 1024. This is our team's best guess at a root cause. But the code fixed in the PR definitely is holding all the files open until the method closes: https://blog.learngoprogramming.com/gotchas-of-defer-in-go-1-8d070894cb01

Please note my go code abilities are not great and I did not test this. I just edited the file in github. All I did was remove the defer and put fileClose after the copy is done. Theoretically this should only hold one file open at a time now. Let me know if you want me to do any further steps.

Thank you,
-Asaf

Signed-off-by: Asaf Erlich <aerlich@groupon.com>
2019-03-07 11:23:35 -05:00
Nolan Brubaker
5e12a921b5 Merge pull request #1256 from carlisia/c-plugins
Add original item to restore plugin interface
2019-03-06 19:02:47 -05:00
Michal Wieczorek
1354e2b6ff Add original item to restore plugin interface
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2019-03-05 17:09:42 -08:00
Steve Kriss
e29aa74a23 remove restore code that waits for a PV to become Available
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-05 17:04:52 -07:00
Nolan Brubaker
ce3f43e876 Merge pull request #1251 from skriss/backup-extractor
move backup extraction logic to its own type
2019-03-05 16:37:48 -05:00
Nolan Brubaker
5912fe66e5 Merge pull request #1250 from skriss/extract-pv-restorer
move pvRestorer and tests to their own files
2019-03-05 16:37:32 -05:00
KubeKween
c006d9246f Merge pull request #1248 from DheerajSShetty/describe_ouput
Improve `describe` output
2019-03-04 13:34:42 -08:00
DheerajSShetty
1b031f0cc4 Improve describe output
* Move Phase to right under Metadata(name/namespace/label/annotations)
 * Move Validation errors: section right after Phase: section and only
   show it if the item has a phase of FailedValidation
 * For restores move Warnings and Errors under Validation errors. Do not
   show Warnings or Errors if there are none.

Signed-off-by: DheerajSShetty <dheerajs@vmware.com>

Fixes #987
2019-03-04 13:21:18 -08:00
Steve Kriss
88e6a740f2 move pvRestorer and tests to their own files
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-01 15:07:25 -07:00
Steve Kriss
0fec56f488 move backup extraction logic to its own type
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-03-01 15:05:58 -07:00
KubeKween
e21940bee1 Merge pull request #1231 from skriss/k8s-1.12-deps
update kubernetes and azure dependencies to 1.12
2019-02-28 15:09:06 -08:00
Nolan Brubaker
421b64b1fa Merge pull request #1247 from skriss/pr-1146-changelog
add changelog for PR 1146
2019-02-28 18:08:32 -05:00
Steve Kriss
81e741ebfc add changelog for PR 1146
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 16:02:23 -07:00
Nolan Brubaker
fcf21813a5 Merge pull request #1246 from skriss/preserve-storageclass
when restoring a PV, don't remove its spec.storageClassName
2019-02-28 18:02:20 -05:00
Steve Kriss
8dd1cbf62b add changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:58:18 -07:00
KubeKween
65f3926caa Merge pull request #1146 from skriss/replace-map-utils-final
replace ark's map_utils.go with structured types and apimachinery's unstructured helpers
2019-02-28 14:37:07 -08:00
Steve Kriss
31501b79b2 when deleting snapshot, don't error if it doesn't exist
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
6bf837b233 address breaking changes in Azure SDK
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
f908d5f8c0 upgrade Azure SDK to a GA version matching Kubernetes
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
f8548e1ca1 tweak a couple of dependency versions
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
58e471bda0 fix breaking changes
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
61eab7dca3 update generated code using 1.12 generator
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:05 -07:00
Steve Kriss
efc490138c update to 1.12 dependencies
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 15:33:04 -07:00
Steve Kriss
80fe640b98 add changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 14:36:38 -07:00
Steve Kriss
21c57c46b3 when restoring a PV, don't remove its spec.storageClassName
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-28 14:34:36 -07:00
KubeKween
7353294b7f Merge pull request #1236 from DheerajSShetty/squashed_feature
defer closing the ReadCloser in ObjectStoreGRPCServer.GetObject
2019-02-28 13:12:05 -08:00
Steve Kriss
7e736ab79d Merge pull request #1244 from carlisia/c-fiximages
Fix readme links
2019-02-28 13:07:49 -08:00
Carlisia
5468ccf5cb Fix readme links
Signed-off-by: Carlisia <carlisiac@vmware.com>
2019-02-28 12:33:15 -08:00
DheerajSShetty
032aaac508 defer closing the ReadCloser in ObjectStoreGRPCServer.GetObject
Signed-off-by: DheerajSShetty <dheerajs@vmware.com>

Fixes #1093
2019-02-28 11:51:10 -08:00
KubeKween
ab2fc65c02 Merge pull request #1243 from skriss/changelogs
v0.10.2 and v0.11.0 changelogs
2019-02-28 07:03:24 -08:00
KubeKween
03b8f5397f Merge pull request #1203 from skriss/v0.11-changes
v0.11 changes
2019-02-28 07:01:23 -08:00
Steve Kriss
431602e852 add v0.11.0 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-27 12:40:42 -08:00
Steve Kriss
cb0a9281f6 add v0.10.2 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-27 08:23:21 -08:00
Nolan Brubaker
783c7d850c Merge pull request #1235 from skriss/restic-race-fix
Fix bugs in restic repository ensurer
2019-02-27 11:09:47 -05:00
Steve Kriss
e3e76c2067 pkg/restic: fix concurrency bugs causing dupe repos, panics
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-25 18:30:26 -08:00
KubeKween
e4771f582b Merge pull request #1232 from skriss/install-docs-updates
add more documentation about using official releases
2019-02-22 12:04:20 -08:00
Steve Kriss
4e0b0c87bb add more documentation about using official releases
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-22 12:56:52 -07:00
KubeKween
3724af259c Merge pull request #1227 from skriss/update-logo
update to logo with name
2019-02-21 09:10:17 -08:00
Steve Kriss
522ee9ad36 update to logo with name
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-21 10:00:06 -07:00
KubeKween
1b3c444720 Merge pull request #1190 from nrb/document-velero-migration
Instructions for migrating from Ark to Velero
2019-02-20 12:26:41 -08:00
Nolan Brubaker
3d2b031ee4 Document steps for migrating from Ark to Velero
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-20 15:18:31 -05:00
Steve Kriss
8be6f03ef0 Merge pull request #1212 from nrb/list-link-fix
Update support link to the google group
2019-02-14 11:28:15 -07:00
Nolan Brubaker
e2f84a1242 Update support link to the google group
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-14 13:19:22 -05:00
Nolan Brubaker
49eeeb04f0 Merge pull request #1204 from skriss/deprecation-notices
add deprecation notices to pkg/apis/ark/v1 types
2019-02-12 16:02:47 -05:00
Steve Kriss
e1d414338c Merge pull request #1200 from nrb/fix-1183
Fix restoring GCP regional disks
2019-02-12 13:48:42 -07:00
Nolan Brubaker
0ffaeb949d Fix restoring GCP regional disks
To create a regional disk, the URLs for the zones in which the disk is
replicated must be provided to the GCP API.

Fixes #1183

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-12 15:42:50 -05:00
Steve Kriss
ed73be44fd Merge pull request #1206 from nzoueidi/master
Add UTC time to --schedule
2019-02-12 09:19:53 -07:00
Naeil ZOUEIDI
988ce573c0 Add UTC time to --schedule
Signed-off-by: Naeil Ezzoueidi <naeilzoueidi@ubuntu.com>
2019-02-12 11:04:10 -05:00
Steve Kriss
780dc4551f fix compile err & test
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:45:04 -07:00
Steve Kriss
32835c63f6 code review feedback
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:21:49 -07:00
Steve Kriss
86c5c25d13 code review: remove obsolete commented code
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:21:49 -07:00
Steve Kriss
250f109c41 delete pkg/util/collections/map_utils.go & tests
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:21:49 -07:00
Steve Kriss
d8e9b772ff move MergeMaps func into pkg/restore where it's used
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:21:48 -07:00
Steve Kriss
88fc6e2141 pkg/controller: remove usage of pkg/util/collections
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:21:24 -07:00
Steve Kriss
38ad7d71f5 pkg/restore: remove usage of pkg/util/collections
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:20:41 -07:00
Steve Kriss
e91c841c59 pkg/backup: remove usage of pkg/util/collections
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:18:51 -07:00
Steve Kriss
902c0f797f pkg/podexec: remove usage of pkg/util/collections
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:18:37 -07:00
Steve Kriss
296dd6617e pkg/cloudprovider: remove usage of pkg/util/collections
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 16:17:33 -07:00
Steve Kriss
4cd8170386 add deprecation notices to pkg/apis/ark/v1 types
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 15:44:52 -07:00
Steve Kriss
551aaa646d remove note about rename being WIP, mention former name
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 12:46:21 -07:00
Steve Kriss
0df30c1e89 ark->velero in issue templates & bug cmd
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-11 12:43:51 -07:00
KubeKween
378011baf6 Merge pull request #1153 from daved/fix/1142-restore_log
Clarify conditional nature of restore in log
2019-02-11 09:22:25 -08:00
Daved
b2b1ee44ea Clarify restore log when object unchanged
Signed-off-by: Daved <daved@codemodus.com>
2019-02-11 09:12:07 -08:00
Steve Kriss
4583aa7078 Merge pull request #826 from nrb/fix-691
Wait for namespace to terminate before restoring
2019-02-07 11:07:25 -07:00
Steve Kriss
b15970d3ef Merge pull request #1198 from dvhart/source-archive-docs
Document build from release archive limitations
2019-02-07 11:00:35 -07:00
Darren Hart
9df3947745 Document build from release archive limitations
Due to the assumption of building from a git repository inherent in the
Makefile targets, update the documentation to limit source code archive
builds to the `go build` commands.

Note that it may be possible to update hack/build.sh to cope with
building outside a git repository, but there are a number of questions
to answer regarding how to populate the buildinfo info, and that is a
larger discussion than ensuring we can build the binary from the sources
in the source code archive.

Signed-off-by: Darren Hart <dvhart@vmware.com>
2019-02-07 09:27:01 -08:00
Steve Kriss
2364393b7c Merge pull request #1196 from dvhart/source-archive-docs
Document building from GitHub Release Source code archive
2019-02-07 07:55:14 -07:00
Darren Hart
ee2b352489 Document build from release archive and fix ToC link
Update the documentation to include minimal instructions for building
the velero binary from the GitHub Release "Source code" archive.

Correct the Download link in the Table of Contents for
build-from-scratch.md.

Signed-off-by: Darren Hart <dvhart@vmware.com>
2019-02-06 18:08:38 -08:00
Nolan Brubaker
890202f2e4 Wait for PV/namespace to delete before restore
If a PV already exists, wait for it, it's associated PVC, and associated
namespace to be deleted before attempting to restore it.

If a namespace already exists, wait for it to be deleted before
attempting to restore it.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-06 15:43:50 -05:00
Nolan Brubaker
3c7737c8b1 Merge pull request #1166 from skriss/tweak-server-log-version
velero server: log version and git SHA at startup
2019-02-06 15:28:51 -05:00
Nolan Brubaker
ca8e951ac6 Merge pull request #1194 from skriss/fix-changelogs
add/fix changelogs for recent PRs
2019-02-06 14:50:33 -05:00
Nolan Brubaker
52ecc45ec8 Merge pull request #1167 from skriss/logging-and-misc-cleanup
Logging and misc cleanup
2019-02-06 14:45:08 -05:00
Steve Kriss
8ee406b4bd add/fix changelogs for recent PRs
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-06 12:42:29 -07:00
Nolan Brubaker
46e87661c0 Merge pull request #1171 from skriss/restic-stats
use restic stats instead of check to check repo existence
2019-02-06 14:28:07 -05:00
Steve Kriss
723cda2697 use restic stats instead of check to check repo existence
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-06 12:14:11 -07:00
Nolan Brubaker
5f0ff026b0 Merge pull request #1156 from skriss/restic-v0.9.4
upgrade to restic v0.9.4 and replace --hostname with --host
2019-02-06 14:03:44 -05:00
Steve Kriss
0a810ced54 Merge pull request #1187 from nrb/issue-template-namespace-fix
Use current info in bug template
2019-02-05 14:28:27 -07:00
Nolan Brubaker
c1a817b4e9 Use current info in bug template
The binary, deployment, and namespace have yet to change for most users,
so make sure the bug template has the correct information when filing.

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-05 16:11:56 -05:00
Steve Kriss
478d12b4ff upgrade to restic v0.9.4 and replace --hostname with --host
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-05 10:15:04 -07:00
Steve Kriss
328bc361be velero server: log version and git SHA at startup
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-05 10:12:06 -07:00
Steve Kriss
7913ae1867 remove extraneous use of meta.Accessor
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-05 10:09:57 -07:00
Steve Kriss
c0a55e136b logging tweaks for clarity
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-02-05 10:08:33 -07:00
Steve Kriss
3054a38bd6 Merge pull request #1186 from nrb/issue-template-command
Update templates to use current command
2019-02-05 09:20:31 -07:00
Nolan Brubaker
381149cedf Update templates to use current command
Currently, the executable binary in the wild is `ark`, so leave it in
our github issue templates

Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-05 11:12:33 -05:00
Steve Kriss
db9dacae54 Merge pull request #1185 from ncdc/move-velero-image
Move Velero image to docs/img
2019-02-05 08:56:24 -07:00
Andy Goldstein
77327db062 Move Velero image to docs/img
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>
2019-02-05 10:48:16 -05:00
Andy Goldstein
1675943f44 Merge pull request #1184 from nrb/rename-ark-to-velero
Rename Ark to Velero!!!
2019-02-05 10:41:20 -05:00
Nolan Brubaker
43714caaec Rename Ark to Velero!!!
Signed-off-by: Nolan Brubaker <brubakern@vmware.com>
2019-02-04 17:35:22 -05:00
Andy Goldstein
bbc6caf7fe Merge pull request #1180 from skriss/fix-version-mode
change mode on metadata/version to 0755
2019-02-01 10:17:13 -05:00
Steve Kriss
25299513c1 change mode on metadata/version to 0755
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-01-31 16:27:13 -07:00
Andy Goldstein
e61d3c6ca0 Merge pull request #1174 from The-smooth-operator/kube2iam_docs
extend AWS NoCredentialsProviders troubleshooting docs with kube2iam …
2019-01-28 14:56:09 -05:00
The-smooth-operator
c56e3e5af3 extend AWS NoCredentialsProviders troubleshooting docs with kube2iam case
Signed-off-by: The-smooth-operator <alberto.delbarrio.albelda@gmail.com>
2019-01-28 12:34:53 +01:00
Andy Goldstein
78cb813210 Merge pull request #1163 from apoplawski/documentation-add-info-on-protoc
Added protoc-gen-go version info
2019-01-24 12:18:43 -05:00
Andy Goldstein
f90b8f9473 Merge pull request #1116 from skriss/status-crd
add server version to `ark version` output
2019-01-23 15:01:22 -05:00
Steve Kriss
8a58b217be show server version in ark version output using ServerStatusRequest CRD
Signed-off-by: Steve Kriss <steve@heptio.com>
2019-01-23 12:51:13 -07:00
Andy Goldstein
5847dcabba Merge pull request #1117 from wwitzel3/issue-134
Add backup-version file in backup tarball
2019-01-22 09:01:34 -08:00
Artur Poplawski
ad5146b9b1 added protoc-gen-go version info
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-01-22 15:46:01 +01:00
Nolan Brubaker
7e4fca428d Merge pull request #1155 from skriss/v0.10.1-changelog
v0.10.1 changelog
2019-01-10 15:42:24 -05:00
Steve Kriss
7c2a6caa5a v0.10.1 changelog
Signed-off-by: Steve Kriss <krisss@vmware.com>
2019-01-10 13:10:39 -07:00
Wayne Witzel III
d08c2e1b9c Add backup-version file in backup tarball
Signed-off-by: Wayne Witzel III <wwitzel3@vmware.com>
2019-01-09 16:36:32 -05:00
Steve Kriss
96fcf1661a Merge pull request #1140 from ncdc/make-test-what
Support make test WHAT=.....
2019-01-04 10:14:06 -07:00
Andy Goldstein
6cf3db6244 Support make test WHAT=.....
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>
2019-01-03 15:27:41 -05:00
Andy Goldstein
fd8bf14bb6 Merge pull request #1090 from dobozysaurus/issue-502
Added GOFLAGS support
2019-01-03 15:20:26 -05:00
Andy Goldstein
ca107423f0 Merge pull request #1098 from Bradamant3/small-reorg
reorganize get started for simplicity, clarity
2019-01-03 15:02:31 -05:00
Andy Goldstein
7384cf1115 Merge pull request #1131 from hex108/doc
Add note about kubeconfig in doc get-started.md
2019-01-03 15:00:13 -05:00
Steve Kriss
3be3ec434b Merge pull request #1139 from ncdc/remove-year-from-boilerplate
Remove YEAR from generated boilerplate comment
2019-01-03 10:36:40 -07:00
Andy Goldstein
e38e2fc5a1 Remove YEAR from generated boilerplate comment
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>
2019-01-03 12:22:19 -05:00
Jun Gong
702d0f76c2 Add debugging-install link in doc get-started.md
Signed-off-by: Jun Gong <jungong@tencent.com>
2019-01-03 09:19:42 +08:00
Andy Goldstein
2ed241b0b7 Merge pull request #1124 from skriss/ark-version-changes
ark version changes
2018-12-19 16:24:07 -05:00
Nolan Brubaker
ff0ac68157 Merge pull request #1127 from skriss/fix-quickstart-links
update links to point to get-started.md
2018-12-10 12:46:40 -05:00
Nolan Brubaker
c34e3b9127 Merge pull request #988 from carlisia/c-crd-msg
Improve directions when location CRDs not deployed
2018-12-07 16:45:15 -05:00
Steve Kriss
d69e819122 update links to point to get-started.md
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-07 14:14:52 -07:00
Carlisia
1906c33eb2 Improve directions when location CRDs not deployed
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-12-07 10:41:40 -08:00
Steve Kriss
32dd33e211 changelog
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-07 09:59:03 -07:00
Steve Kriss
246d75811a version cmd: move tree state into git sha line
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-07 09:59:03 -07:00
Steve Kriss
ac317a87ff show full git SHA in ark version output
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-07 09:59:03 -07:00
Andy Goldstein
59ca9a3974 Merge pull request #1120 from jwhitcraft/schedule-delete-fix
Fix output of Schedule Delete
2018-12-06 15:38:31 -05:00
Jon Whitcraft
f983f4fb21 Fix output of Schedule Delete
It should be `\n` and not `/n/` when doing the printf on a schedule delete.

Signed-off-by: Jon Whitcraft <jwhitcraft@mac.com>
2018-12-06 15:33:14 -05:00
Wayne Witzel III
f1deff8ffc Merge pull request #1114 from skriss/goreleaser-updates
makefile updates for goreleaser
2018-12-06 14:50:53 -05:00
Steve Kriss
6a60a55ba5 rename 'make goreleaser' to 'make release', remove obsolete targets
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-06 11:06:24 -07:00
Steve Kriss
5b529d2da0 Merge pull request #1115 from wwitzel3/issue-1112
Move changelog entries to their own files
2018-12-06 11:02:59 -07:00
Steve Kriss
cc47b65830 Merge pull request #1118 from acbramley/master
Fix minio setup job command
2018-12-06 11:01:20 -07:00
Adam Bramley
90babe0ed3 Fix minio setup job command
Signed-off-by: Adam Bramley <adam.bramley@previousnext.com.au>
2018-12-06 16:05:28 +11:00
Wayne Witzel III
1b7a64a812 Add changelog make target helper
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-05 13:32:02 -05:00
Wayne Witzel III
1da5702c0f Move changelog entries to their own files
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-05 11:00:11 -05:00
Wayne Witzel III
5464b3dce8 Merge pull request #234 from ncdc/pprof
Add pprof support to ark server
2018-12-05 10:30:43 -05:00
Andy Goldstein
aa9d96f3b7 Add pprof support to ark server
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-12-05 10:13:39 -05:00
Steve Kriss
8955199e37 Merge pull request #998 from bashofmann/add-aws-s3-v1-signer
Allow to use AWS Signature v1 for creating signed AWS urls
2018-12-04 14:15:04 -07:00
Bastian Hofmann
e13806e0b8 Allow to use AWS Signature v1 for creating signed AWS urls
Some aws implementations, for example the quobyte object storage, do not
support the v4 signing algorithm, but only v1.
This makes it possible to configure the signatureVersion.

The algorithm implementation was ported from d6c1be296e/botocore/auth.py (L860-L862)
which is used by the aws CLI client.

This fixes https://github.com/heptio/ark/issues/811.

Signed-off-by: Bastian Hofmann <bashofmann@gmail.com>
2018-12-04 18:32:41 +01:00
Steve Kriss
555f73c3ea Merge pull request #1048 from ncdc/remove-default-token-from-all-service-accounts
Remove default token from all service accounts
2018-12-04 10:01:50 -07:00
Andy Goldstein
62d8c642d2 Remove default token from all service accounts
Instead of only removing the default token from a service account when
it already exists in the cluster, always remove it. If the service
account already exists, continue to do the merging logic.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-12-04 11:41:18 -05:00
Nolan Brubaker
a4a09f09a2 Merge pull request #955 from wwitzel3/issue-765
add multizone/regional support to gcp
2018-12-04 11:38:25 -05:00
Wayne Witzel III
312c6f5c3d Merge pull request #1107 from skriss/fix-bsl-config-docs
fix indendation of BSL config in docs
2018-12-04 10:39:40 -05:00
Wayne Witzel III
b92b35d42b add multizone/region support to gcp
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-04 10:24:55 -05:00
Wayne Witzel III
cdd499dc27 update vendoring
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-04 10:23:49 -05:00
Wayne Witzel III
6b910e621a Merge pull request #1108 from wwitzel3/devel-changelog
Update current development changelog
2018-12-03 22:32:48 -05:00
Wayne Witzel III
7dd62f8374 Update current development changelog
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-03 17:23:38 -05:00
Nolan Brubaker
0dd1c4b086 Merge pull request #1105 from skriss/api-versions-docs
document Ark's behavior re: API versions
2018-12-03 16:40:56 -05:00
Nolan Brubaker
51652e6a8c Merge pull request #1106 from skriss/fix-broken-link
add back missing link ref
2018-12-03 16:39:40 -05:00
Steve Kriss
bdf2615eb0 fix indendation of BSL config in docs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-03 14:34:27 -07:00
Nolan Brubaker
ae4bffe30b Merge pull request #1063 from wwitzel3/changelog
adjust changelog layout and update contributing details.
2018-12-03 16:16:33 -05:00
Steve Kriss
f7fe949aa7 add back missing link ref
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-03 14:05:10 -07:00
Steve Kriss
d28f445c5a document Ark's behavior re: API versions
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-12-03 13:49:05 -07:00
Wayne Witzel III
7bdd7f8c87 Fixes for CHANGELOG from review
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-12-03 13:26:03 -05:00
Jennifer Rondeau
4c5f352a73 Merge pull request #1099 from skriss/fix-broken-links
fix/standardize links to api-types pages
2018-12-03 09:01:28 -05:00
Steve Kriss
e6ef2ba9e8 fix/standardize links to api-types pages
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-30 10:02:38 -07:00
JENNIFER RONDEAU
b8835d7880 reorganize get started for simplicity, clarity
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-11-30 09:45:14 -05:00
Mike Dobozy
a002ae6315 Added GOFLAGS support
Signed-off-by: Mike Dobozy <dobozysaurus@Mikes-Air.fios-router.home>
2018-11-27 17:08:45 -05:00
Andy Goldstein
09042a9015 Merge pull request #1074 from mwieczorek/del-priority
Delete spec.priority in pod restore action
2018-11-26 14:05:51 -05:00
Michal Wieczorek
43cd2ca36f Delete spec.priority in pod restore action
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2018-11-22 09:54:49 +01:00
Andy Goldstein
71214fa640 Merge pull request #1065 from omerlh/brew_ref
Added brew reference
2018-11-21 13:36:45 -05:00
omerlh
0d6d146bc1 added brew ref
Signed-off-by: omerlh <omerl@soluto.com>
2018-11-21 20:31:38 +02:00
Andy Goldstein
d85872dfb2 Merge pull request #1069 from gliptak/patch-1
Update to go 1.11
2018-11-21 08:39:06 -05:00
Gábor Lipták
daf1a75515 Bring Go current in Travis
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
2018-11-21 08:31:14 -05:00
Steve Kriss
d27e4f7f05 Merge pull request #1054 from cbeneke/master
Initialize empty schedule metrics on server init
2018-11-20 09:30:45 -07:00
Steve Kriss
858171e812 Merge pull request #1066 from danielcb/fix-documentation-link
Change documentation link to a numbered link
2018-11-19 09:29:06 -07:00
Daniel Bross
ce69ff59e0 Change documentation link to a numbered link
Signed-off-by: Daniel Bross <daniel.c.bross@gmail.com>
2018-11-19 09:31:19 +01:00
Wayne Witzel III
64fd4c7b73 Updating CONTRIBUTING.md to include CHANGELOG.md section
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-11-17 13:01:14 -05:00
Wayne Witzel III
6b94f68201 adjust changelog layout
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-11-16 16:00:35 -05:00
Steve Kriss
f4820bd892 Merge pull request #1062 from danielcb/fix-documentation-link
Fix link to upgrade documentation in readme
2018-11-16 10:22:33 -07:00
Daniel Bross
7029d627c7 Fix link to upgrade documentation in readme
Signed-off-by: Daniel Bross <daniel.c.bross@gmail.com>
2018-11-16 08:58:10 +01:00
Nolan Brubaker
0fd7872ef4 Merge pull request #1057 from skriss/v0.10-ga-changelog
update changelog for v0.10.0 GA release
2018-11-14 17:45:02 -05:00
Steve Kriss
38c212ecf8 update changelog for v0.10.0 GA release
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-14 15:22:07 -07:00
Steve Kriss
411d62fe91 Merge pull request #1006 from ncdc/add-s3-public-url
Support a separate URL base for pre-signed URLs
2018-11-14 15:12:46 -07:00
Nolan Brubaker
fde5a4d1e2 Merge pull request #1045 from skriss/goreleaser-image-tags
package version-specific example YAML with each release
2018-11-14 17:11:07 -05:00
Steve Kriss
b9de44ffbd update docs to reference config/ dir within release tarballs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-14 14:58:02 -07:00
Steve Kriss
eace0255de goreleaser: update example image tags to match version being released
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-14 14:54:41 -07:00
Steve Kriss
cbef9da721 Merge pull request #1023 from Bradamant3/docs-misc-issues
add rbac content and a candidate for more versioning information
2018-11-14 14:51:37 -07:00
JENNIFER RONDEAU
cff0215906 add rbac content, rework get-started for NodePort and publicUrl, add versioning information
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-11-14 16:07:20 -05:00
Steve Kriss
75566c6c20 Merge pull request #1038 from Bradamant3/issue-819
add draft content for docs issue 819
2018-11-14 10:57:47 -07:00
JENNIFER RONDEAU
fa14255e53 add content for docs issue 819
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-11-14 12:50:55 -05:00
KubeKween
25590a8351 Merge pull request #1050 from skriss/explain-locations
add doc explaining locations
2018-11-14 08:03:01 -08:00
Steve Kriss
22959071bc add doc explaining locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-14 08:57:23 -07:00
Christian Beneke
90c5ed0850 Initialize empty schedule metrics on server init
When backups are run manually (outside of a schedule) the metrics
will be counted for ark_*{schedule=""}. To prevent partial NaN
metrics they will be initialised on server init.

Signed-off-by: Christian Beneke <c.beneke@syseleven.de>
2018-11-14 15:31:26 +01:00
Steve Kriss
2781e4e8de Merge pull request #956 from ffd2subroutine/qps-burst-configurable
Added qps and burst to server's client
2018-11-09 12:41:41 -07:00
Darko Radisic
e5556fe608 Added qps and burst to server's client
Signed-off-by: Darko Radisic <ffd2subroutine@users.noreply.github.com>
2018-11-09 20:16:24 +01:00
Andy Goldstein
9ae861c9e2 Support a separate URL base for pre-signed URLs
This allows the Ark server to use one URL for the majority of
communications with S3 (or compatible) object storage, and a different
URL base for pre-signed URLs (for streaming logs, etc. to clients).

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-11-08 14:43:57 -05:00
Steve Kriss
449cac5806 Merge pull request #1032 from mwieczorek/plugins
Move clearing up of metadata before plugin's actions
2018-11-08 12:00:33 -07:00
Steve Kriss
5d039e4b23 Merge pull request #1044 from jrnt30/patch-1
Update storage-layout-reorg-v0.10.md
2018-11-08 11:52:31 -07:00
Wayne Witzel III
366ca748d4 Merge pull request #1042 from skriss/v0.9.11-changelog
v0.9.11 changelog
2018-11-08 11:59:39 -05:00
Steve Kriss
6ff98784fe v0.9.11 changelog
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-08 09:39:02 -07:00
Justin Nauman
698420b613 Update storage-layout-reorg-v0.10.md
Minor link fix.

Signed-off-by: Justin Nauman justin.r.nauman@gmail.com
2018-11-08 10:33:50 -06:00
Steve Kriss
caa990a272 Merge pull request #1040 from ncdc/fix-pv-not-found-check
Fix check for non-found PV
2018-11-08 09:19:15 -07:00
Andy Goldstein
3788014552 Fix check for non-found PV
We were checking for nil, but were getting back an empty
*unstructured.Unstructured{} instead, along with a NotFound error.
Change the logic to check for the NotFound error instead of a nil
object.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-11-08 10:56:14 -05:00
Steve Kriss
40e33020d8 Merge pull request #1022 from shubheksha/fix/945-restore-controller-remove-checking-backup-storage-directly
Remove code that checks backup storage directly from restore controller
2018-11-06 15:53:13 -08:00
KubeKween
becd075000 Merge pull request #1034 from skriss/tweak-logging
lower some noisy logs to debug level
2018-11-05 05:40:38 -08:00
Steve Kriss
eb59b5c593 Merge pull request #1019 from Bradamant3/0.10-beta2-docs
add troubleshooting for loadbalancer restores
2018-11-02 16:08:04 -06:00
Steve Kriss
6c9e1f187f lower some noisy logs to debug level
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-11-02 15:55:47 -06:00
JENNIFER RONDEAU
318fd8a83f add troubleshooting for loadbalancer restores
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-11-02 15:29:00 -04:00
Shubheksha Jalan
defb8aa856 remove code that checks directly for a backup from restore controller
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-11-02 23:35:04 +05:30
Michal Wieczorek
7abe115674 Move clearing up of metadata before plugin's actions
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2018-11-02 09:56:33 +01:00
Steve Kriss
96ad3ec7b4 Merge pull request #1030 from wwitzel3/master
Add v0.9.10 changelog
2018-11-01 15:32:30 -06:00
Wayne Witzel III
6b70d9225d Add v0.9.10 changelog
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-11-01 17:27:14 -04:00
Wayne Witzel III
76982d3d02 Merge pull request #1020 from skriss/goreleaser-fixes
fix goreleaser bugs
2018-11-01 11:28:48 -04:00
Steve Kriss
7d497e6f2f Merge pull request #1025 from nrb/doc-1024
Document upgrading plugins in the deployment
2018-10-31 08:24:14 -06:00
Nolan Brubaker
ec013e6ffd Document upgrading plugins in the deployment
Fixes #1024

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-10-30 16:11:19 -04:00
Andy Goldstein
cb0e6f4773 Merge pull request #999 from bashofmann/fix-backup-file-deletion-order
AWS: Ensure that the order returned by ListObjects is consistent
2018-10-30 15:46:33 -04:00
Bastian Hofmann
8bbfc538f1 AWS: Ensure that the order returned by ListObjects is consistent
When a backup is deleted, the delete method uses ListObjects to get a list of
files it needs to delete in s3. Different s3 implementations may return
the object lists in different, even non-deterministic orders, which can
result in the deletion not working because ark tries to delete a non empty folder
before it tries to delete the files in the folder.

Signed-off-by: Bastian Hofmann <bashofmann@gmail.com>
2018-10-30 20:38:47 +01:00
Steve Kriss
c3c2ea2805 Merge pull request #985 from shubheksha/fix/977-add-prom-metrics-volume-snapshots
Add prometheus metrics for successful and attempted volume snapshots per backup
2018-10-30 13:25:00 -06:00
Shubheksha Jalan
4239e61f47 add prometheus metrics for successful and attempted volume snapshots per backup
rename variables to reflect the metric name

fix comments for exported methods

explicitly record per schedule per schedule metric values

initialize metrics and change variable name to match with that of metric

add metric for recording failed volume snapshots

use singular variable instead of plural

remove extra field for failed snapshots, calculate using existing fields

initialize failure metric and rename methods

Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-10-31 00:47:05 +05:30
Steve Kriss
9165d514a3 Merge pull request #1002 from nrb/fix-609
Verify PV doesn't exist before creating new volume
2018-10-30 13:04:15 -06:00
Nolan Brubaker
6231aaa875 Verify PV doesn't exist before creating new volume
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-10-30 13:57:00 -04:00
Steve Kriss
681f7043a8 Merge pull request #996 from nrb/silence-builder-git-advice
Silence git detached HEAD advice in build container
2018-10-30 09:33:46 -06:00
Steve Kriss
d6162e943b fix goreleaser bugs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-30 09:00:11 -06:00
Steve Kriss
7c62ed2981 Merge pull request #1015 from Bradamant3/add-warning
add 0.10 breaking changes warning to readme in master
2018-10-29 22:16:02 -06:00
Steve Kriss
0f7f084fb9 Merge pull request #1010 from greggubarev/patch-1
Add correct link and change role
2018-10-29 22:14:35 -06:00
Gregory Gubarev
a15df2761c Add correct link and change role
Add correct link and change role from role/heptio-ark to role/<HEPTIO_ARK_ROLE_NAME>

Signed-off-by: Gregory Gubarev <g.gubarev63@gmail.com>
2018-10-29 22:48:22 +04:00
JENNIFER RONDEAU
46bed015f5 add 0.10 breaking changes warning to readme in master
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-10-29 13:46:31 -04:00
Steve Kriss
beb22f953b Merge pull request #1008 from Bradamant3/0.10-doc-994
add content for issue 994
2018-10-29 11:11:33 -06:00
JENNIFER RONDEAU
e3a7d6a20d add content for issue 994
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-10-29 13:03:38 -04:00
Steve Kriss
40882d7ee7 Merge pull request #1004 from Bradamant3/0.10-doc-updates
address docs issue #978
2018-10-29 10:27:17 -06:00
JENNIFER RONDEAU
400911e96b address docs issue #978
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-10-29 11:28:27 -04:00
Nolan Brubaker
52574b9c0a Merge pull request #1005 from Bradamant3/0.10-doc-updates-page
0.10 doc updates page
2018-10-29 09:22:23 -04:00
Nolan Brubaker
f1cb85134c Merge pull request #1000 from skriss/goreleaser
goreleaser scripts for building/creating a release on a workstation
2018-10-29 09:21:10 -04:00
Wayne Witzel III
ce41dd7225 Merge pull request #1009 from skriss/vsl-defaulting
don't require a default provider VSL if there's only 1
2018-10-26 15:28:10 -04:00
Steve Kriss
b818cc2769 don't require a default provider VSL if there's only 1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-26 12:45:40 -06:00
Nolan Brubaker
51379b0150 Merge pull request #1003 from skriss/v0.10-changelog
v0.10 changelog
2018-10-26 13:41:56 -04:00
Steve Kriss
9063808606 v0.10 changelog
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-26 11:37:31 -06:00
JENNIFER RONDEAU
6e2166c49c add docs page on versions and upgrading
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-10-26 13:03:20 -04:00
Steve Kriss
18b434cb24 goreleaser scripts for building/creating a release on a workstation
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-25 13:51:09 -06:00
Andy Goldstein
39d9155267 Merge pull request #963 from kmova/patch-1
update restic prerequisite with min k8s version
2018-10-25 13:18:03 -04:00
Kiran Mova
bb65d67a13 update restic prerequisite with min k8s version
Restic DaemonSet pods require shared mounts with mountPropagation
feature enabled on the Kubernetes Cluster.  Refer #669

Signed-off-by: kmova <kiran.mova@openebs.io>
2018-10-25 16:58:02 +00:00
Nolan Brubaker
b5a2ccd510 Silence git detached HEAD advice in build container
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-10-24 22:57:50 -04:00
Nolan Brubaker
74cb6a2150 Merge pull request #986 from skriss/fix-empty-bsls
sync controller: fill in missing .spec.storageLocation
2018-10-24 18:38:00 -04:00
Nolan Brubaker
0152885bb2 Merge pull request #984 from skriss/upgrade-docs
instructions for upgrading to v0.10
2018-10-24 18:36:51 -04:00
Steve Kriss
677491410b instructions for upgrading to v0.10
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-24 15:12:25 -06:00
Steve Kriss
21a2a2e1f5 Merge pull request #992 from nrb/v0.9.9-changelog
Add v0.9.9 changelog
2018-10-24 09:02:42 -06:00
Nolan Brubaker
04aedbb5ac Add v0.9.9 changelog
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-10-24 10:57:12 -04:00
KubeKween
22704d283f Merge pull request #983 from skriss/fix-restores
fix bug preventing PV snapshots from v0.10 backups from restoring
2018-10-23 21:56:21 -07:00
Steve Kriss
516422c2c4 sync controller: fill in missing .spec.storageLocation
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-23 16:26:07 -06:00
Steve Kriss
195e6aaf00 fix bug preventing PV snapshots from v0.10 backups from restoring
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-23 12:44:05 -06:00
KubeKween
9cda7eae55 Merge pull request #981 from ncdc/goimports-local
Make goimports consistent by pinning version and using -local flag
2018-10-23 10:22:18 -07:00
Andy Goldstein
bca585162f Run 'make update' to update formatting
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-10-23 13:08:42 -04:00
Andy Goldstein
573ce7d0e7 Update formatting script
- Pin to a specific revision of goimports
- Use -local flag with goimports to keep ark imports separated
- Correct shellcheck errors

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-10-23 13:01:07 -04:00
Nolan Brubaker
6cf3519c3a Merge pull request #974 from skriss/backup-describer
backup describer: show snapshot summary by default, details optionally
2018-10-23 12:58:54 -04:00
Nolan Brubaker
6591b5a09c Merge pull request #975 from skriss/rm-pvproviderexists
remove pvProviderExists param from NewRestoreController
2018-10-23 12:58:17 -04:00
KubeKween
7c4ac05ae5 Merge pull request #972 from skriss/support-pre-v0.10-snaps
Support pre v0.10 snaps
2018-10-23 09:08:52 -07:00
Steve Kriss
90d9be59d3 support restoring/deleting legacy backups with .status.volumeBackups
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-23 09:55:40 -06:00
Nolan Brubaker
a7e524db33 Merge pull request #976 from skriss/azure-doc-fix
fix broken link
2018-10-23 11:06:50 -04:00
Steve Kriss
f3a57b5b8a Merge pull request #971 from shubheksha/fix/594-restore-storageclasses-before-pv-pvc
Restore storageclasses before pvs and pvcs
2018-10-23 08:14:42 -06:00
KubeKween
b66c6b1105 Merge pull request #970 from u5surf/issue-967
create a struct for multiple return of same type in restore_contoroll…
2018-10-23 06:55:25 -07:00
u5surf
ef19497205 rename variables #967
Signed-off-by: u5surf <u5.horie@gmail.com>
2018-10-23 08:53:35 +09:00
Steve Kriss
6d4e702cda fix broken link
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-22 14:24:25 -06:00
Shubheksha Jalan
596eea1b8c restore storageclasses before pvs and pvcs
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-10-22 21:15:08 +02:00
Steve Kriss
f014cab1fe backup describer: show snapshot summary by default, details optionally
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-22 12:08:37 -06:00
Steve Kriss
8acc66d02f remove pvProviderExists param from NewRestoreController
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-22 11:47:51 -06:00
Steve Kriss
6ef155ddff Merge pull request #969 from ManavpreetSingh/master
Corrected grammatical  error
2018-10-20 12:50:23 -06:00
u5surf
57ce590fae create a struct for multiple return of same type in restore_contoroller #967
Signed-off-by: u5surf <u5.horie@gmail.com>
2018-10-20 20:45:26 +09:00
ManavpreetSingh
028fafb6cf Corrected grammatical error
Signed-off-by: ManavpreetSingh <manavpreeetsingh@gmail.com>
2018-10-20 15:42:34 +05:30
Andy Goldstein
d0937a3433 Merge pull request #960 from Atul9/return-arguments
#959 Update restoreController runRestore function to specify return arguments
2018-10-19 13:03:30 -04:00
Atul Bhosale
db856affcb Specify return arguments
Update restoreController runRestore function to specify return arguments

Signed-off-by: Atul Bhosale <atul1bhosale@gmail.com>
2018-10-19 21:41:58 +05:30
Andy Goldstein
56da761e68 Merge pull request #962 from domenicrosati/drosati/#424-crds-priority
Add CRDs to list of prioritized resources
2018-10-19 09:55:42 -04:00
Domenic Rosati
9952dfb0ad Address #424: Add CRDs to list of prioritized resources
Signed-off-by: Domenic Rosati <domenicrosati@gmail.com>
2018-10-18 22:42:37 -03:00
Steve Kriss
fe19863089 Merge pull request #954 from nrb/v0.9.8-changelog-master
Update changelog for v0.9.8
2018-10-18 09:42:19 -06:00
Nolan Brubaker
e897153328 Update changelog for v0.9.8
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-10-18 11:36:12 -04:00
Wayne Witzel III
7f1553306a Merge pull request #947 from skriss/restic-v0.9.3
upgrade to restic v0.9.3
2018-10-18 11:21:31 -04:00
Wayne Witzel III
b3b065a9fb Merge pull request #949 from skriss/remove-config
remove Config CRD
2018-10-18 10:47:23 -04:00
Wayne Witzel III
77d05ec1c3 Merge pull request #951 from skriss/fix-950
fix bugs in GetBackupVolumeSnapshots and add test
2018-10-18 10:05:08 -04:00
Steve Kriss
cf2c27141b fix bugs in GetBackupVolumeSnapshots and add test
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 15:10:42 -06:00
Steve Kriss
ec124673fa remove all references to Config from docs/examples
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 14:00:38 -06:00
Steve Kriss
c36131a024 remove Config-related code
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 14:00:38 -06:00
KubeKween
17b3a3b073 Merge pull request #948 from heptio/snapshot-locations
Add VolumeSnapshotLocations support
2018-10-17 12:54:54 -07:00
Wayne Witzel III
406b50a71b update restore process using snapshot locations
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:40:42 -06:00
Steve Kriss
268080ad09 avoid panics if can't get block store during deletion
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:40:42 -06:00
Steve Kriss
4a03370f1d update backup deletion controller for snapshot locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:40:42 -06:00
Steve Kriss
38c72b8cc2 include snapshot locations in created schedule's backup spec
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:40:41 -06:00
Steve Kriss
0ec2de55c0 azure: update blockstore to allow storing snaps in different resource group
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:39:51 -06:00
Steve Kriss
35bb533c2d close gzip writer before uploading volumesnapshots file
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:39:50 -06:00
Steve Kriss
da9ed38c63 store volume snapshot info as JSON in backup storage
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:39:49 -06:00
Steve Kriss
e24248e07a add --volume-snapshot-locations flag to ark backup create
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:36:51 -06:00
Steve Kriss
df07b7dc9f update backup code to work with volume snapshot locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:36:50 -06:00
Wayne Witzel III
4af89fa863 add unit test for getDefaultVolumeSnapshotLocations
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:35:52 -06:00
Wayne Witzel III
02f50b9c84 add default-volume-snapshot-locations to server cmd
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:35:50 -06:00
Carlisia
1aa712d236 Default and validate VolumeSnapshotLocations
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-10-17 13:33:22 -06:00
Wayne Witzel III
bbf769850e add create CLI command for snapshot locations
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:33:22 -06:00
Wayne Witzel III
aeb221eafe Add printer for snapshot locations
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:33:22 -06:00
Wayne Witzel III
ffc612ac13 Add volume snapshot CLI get command
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-17 13:33:22 -06:00
Carlisia
f20342aab9 Add VolumeLocation and Snapshot.
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-10-17 13:33:22 -06:00
Steve Kriss
7172db8a1e upgrade to restic v0.9.3
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-17 13:28:01 -06:00
Nolan Brubaker
e5a8fab9e0 Merge pull request #942 from captjt/master
Support --include-cluster-resources when creating schedule
2018-10-16 15:57:39 -04:00
captjt
ebc379ac02 Add --include-cluster-resources options when creating schedule
Signed-off-by: captjt <jtaylor007.jt@gmail.com>
2018-10-16 15:52:18 -04:00
Steve Kriss
6243a354b8 Merge pull request #935 from radlinskii/master
Remove broken references to unexisting docs.
2018-10-15 12:30:55 -06:00
radlinskii
99adc4fa55 Remove broken references to docs that are not existing
Signed-off-by: radlinskii <radlinskiignacy@gmail.com>
2018-10-15 19:53:38 +02:00
KubeKween
0e7f442f00 Merge pull request #930 from skriss/fix-898
don't require a default backup storage location to exist
2018-10-12 12:34:44 -07:00
Wayne Witzel III
37031d5e7c Merge pull request #920 from skriss/fix-225
only try to backup PVC's linked PV if PVC phase is Bound
2018-10-12 14:10:18 -04:00
Wayne Witzel III
480f1942b7 Merge pull request #927 from skriss/fix-925
pod restore action: check initContainers exist before processing
2018-10-12 14:09:35 -04:00
Steve Kriss
01980f0611 Merge pull request #933 from runyontr/master
Fixed relative link for image
2018-10-12 09:02:43 -06:00
Thomas Runyon
474efde6ba Fixed relative link for image
Signed-off-by: Thomas Runyon <runyontr@gmail.com>
2018-10-12 06:24:52 -04:00
Steve Kriss
4173515435 don't require a default backup storage location to exist
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-11 14:43:27 -06:00
Andy Goldstein
fe51be6713 Merge pull request #926 from shubheksha/fix/329-remove-get-project-gcp
Remove logic to get a gcp project
2018-10-11 15:45:40 -04:00
Steve Kriss
38e86ceff5 pod restore action: check initContainers exist before processing
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-11 13:44:02 -06:00
Shubheksha Jalan
611bc92695 remove logic to get a gcp project
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-10-11 21:23:30 +02:00
Steve Kriss
63dc6c1d9a only try to backup PVC's linked PV if PVC phase is Bound
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-10 13:34:33 -06:00
KubeKween
d7dfffa373 Merge pull request #918 from skriss/v0.9.8-beta.1-changelog
CHANGELOG entry for v0.9.8-beta.1
2018-10-10 09:03:59 -07:00
Steve Kriss
7575ff22ca CHANGELOG entry for v0.9.8-beta.1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-10 09:57:20 -06:00
KubeKween
d579784692 Merge pull request #910 from james-powis/fix_restic_restore_service_user_token
Drop volumes matching name ServiceAccountName-token-
2018-10-09 11:32:23 -07:00
James Powis
30369c2ad5 Drop volumeMounts from initContainers if SAToken
Signed-off-by: James Powis <powisj@gmail.com>
2018-10-05 16:00:58 -06:00
Nolan Brubaker
7c3f4ddd74 Merge pull request #911 from skriss/874-followup
templatize error message in DeleteOptions
2018-10-05 16:06:51 -04:00
Steve Kriss
0612c5de70 templatize error message in DeleteOptions
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-05 13:24:30 -06:00
Steve Kriss
1da3278ad6 Merge pull request #874 from shubheksha/fix/748-ark-schedule-bulk-deletion
Add support for bulk deletion to `ark schedule delete`
2018-10-05 13:21:40 -06:00
Shubheksha Jalan
66bcbc058c add support for bulk deletion to ark schedule delete
refactor and move DeleteOptions struct and methods

unexport fields not used outside the package in DeleteOptions struct

refactor BindFlags() to work with name of command

fix constructor

Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-10-05 19:45:18 +02:00
KubeKween
18c51fbd4b Merge pull request #888 from skriss/restic-multi-loc
support multiple backup locations for restic
2018-10-05 10:15:34 -07:00
Steve Kriss
3af43b492f add azure-specific code to support multi-location restic
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-05 09:20:56 -06:00
Steve Kriss
d009163b67 update restic to support multiple backup storage locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-05 09:10:35 -06:00
Wayne Witzel III
257917767f Merge pull request #907 from skriss/v0.9.7-changelog-upd
add node port fix to v0.9.7 changelog
2018-10-04 14:39:31 -04:00
Steve Kriss
6c398fc42a add node port fix to v0.9.7 changelog
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-04 12:25:50 -06:00
Steve Kriss
b31c6e1a36 Merge pull request #905 from wwitzel3/master
Update CHANGELOG.md for v0.9.7
2018-10-04 11:11:09 -06:00
Wayne Witzel III
a5834b852d Update CHANGELOG.md for v0.9.7
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-10-04 13:06:39 -04:00
Wayne Witzel III
a0604d6d1a Merge pull request #902 from scottslowe/fix-readme-csp-link
Fix broken storage providers link
2018-10-04 10:28:48 -04:00
Wayne Witzel III
9873e648d1 Merge pull request #903 from hummelo/patch-1
Change link for the support matrix
2018-10-04 10:19:50 -04:00
Oliver Hummel
f4c99c7774 Change link for the support matrix
The support-matrix.md has been moved to the docs folder, hence the link in the readme didn't work anymore.

Signed-off-by: Oliver Hummel <oliver.hummel@sap.com>
2018-10-04 10:56:50 +02:00
Scott Lowe
91e45d5689 Fix broken storage providers link
Fix a broken link in README.md pointing to the list of compatible storage providers.

Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
2018-10-03 20:14:50 -06:00
KubeKween
f7a8091645 Merge pull request #901 from skriss/fix-example-bsls
fix backup storage location example YAMLs
2018-10-03 08:51:46 -07:00
Steve Kriss
ed0eb865ec fix backup storage location example YAMLs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-03 09:39:18 -06:00
Wayne Witzel III
1d90d02a99 Merge pull request #900 from skriss/restic-restore-ns-mapping
bug: fix restic restores when using namespace mappings
2018-10-03 10:59:13 -04:00
KubeKween
cb43ff91ef Merge pull request #825 from skriss/sync-controller
sync controller improvements
2018-10-03 07:46:55 -07:00
Steve Kriss
0c88eefc0d bug: fix restic restores when using namespace mappings
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-03 08:09:55 -06:00
Steve Kriss
eb709b8f70 only sync a backup location if it's changed since last sync
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-10-03 08:05:06 -06:00
Steve Kriss
82ab2d73ac Merge pull request #894 from marctc/fix_backup_list_date
Change CreationTimestamp to StartTimestamp in backup list
2018-10-02 11:04:04 -06:00
Nolan Brubaker
65209cd0f3 Merge pull request #890 from skriss/update-azure-docs
clarify Azure resource group usage in docs
2018-10-02 12:35:47 -04:00
Andy Goldstein
190d032551 Merge pull request #837 from mwieczorek/patch-1
Enable restoring resources with ownerReference set
2018-10-02 10:57:18 -04:00
Marc Tudurí
ae4bf3d5f8 Change CreationTimestamp by StartTimestamp in backup list
Signed-off-by: Marc Tudurí <marctc@gmail.com>
2018-10-02 15:17:58 +02:00
Michal Wieczorek
0f1c5c283f Enable restoring resources with ownerReference set
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2018-10-02 12:04:51 +02:00
KubeKween
94b8fae15a Merge pull request #891 from skriss/fix-restore-logs
remove restore log helper for accurate line #'s
2018-10-01 21:02:17 -07:00
Steve Kriss
729a688b36 remove restore log helper for accurate line #'s
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-30 14:45:32 -06:00
Steve Kriss
af3af1b520 clarify Azure resource group usage in docs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-30 14:16:36 -06:00
Steve Kriss
3542f39f5f Merge pull request #889 from ffd2subroutine/minor-code-cleanup
Minor code cleanup
2018-09-30 13:45:45 -06:00
ffd2subroutine
9fdf85130a Minor code cleanup
Signed-off-by: ffd2subroutine <ffd2subroutine@users.noreply.github.com>
2018-09-30 20:43:11 +02:00
Wayne Witzel III
a57acec43d Merge pull request #876 from skriss/restic-share-bucket
Move restic repos into the main Ark bucket, under restic/
2018-09-28 12:12:45 -04:00
Steve Kriss
c5e3f0eecb Merge pull request #885 from nrb/support-formatting
Fix formatting for live site
2018-09-27 21:04:46 -06:00
Nolan Brubaker
2073e15a69 Fix formatting for live site
A blank line is necessary before starting a table with Jekyll. Fix it
here so when new versions are cut they render to HTML corectly.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-27 18:35:14 -04:00
Nolan Brubaker
2e9a83f4c0 Merge pull request #880 from skriss/on-prem-docs
Improve documentation for on-premises usage
2018-09-27 17:53:42 -04:00
JENNIFER RONDEAU
0fc3e8d852 add documentation on running Ark on-premises
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-27 15:45:12 -06:00
Nolan Brubaker
ed2bca83bd Merge pull request #869 from shubheksha/fix/786-fix-error-ExternalName-service-restore
Fix error when restoring ExternalName services
2018-09-25 16:33:36 -04:00
Nolan Brubaker
a6fa7af095 Merge pull request #853 from skriss/storage-reorg
Reorganize how data is stored in a backup storage location
2018-09-25 16:15:30 -04:00
Steve Kriss
e46e89cb61 have restic share main Ark bucket
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-25 13:12:22 -06:00
Steve Kriss
42b54586cd refactor to make valid dirs part of an object store layout
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-25 13:12:22 -06:00
Steve Kriss
8bc7e4f6aa store backups & restores in backups/, restores/ subdirs in obj storage
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-25 09:56:41 -06:00
Steve Kriss
889b220a5a Merge pull request #865 from shubheksha/fix/749-ark-restore-bulk-deletion
Add support for bulk deletion to `ark restore delete`
2018-09-25 09:19:31 -06:00
Shubheksha Jalan
e3232b7eb6 add support for bulk deletion to ark restore delete
refactor util methods into a common package

move utility methods into cli package instead of common

rename util.go to common.go

Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 20:37:20 +05:30
Shubheksha Jalan
e3222a9e3f move code dealing with node ports into a separate function
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 18:08:57 +05:30
Shubheksha Jalan
d95b18bad8 ignore spec.ports not being there for services of type ExternalName
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 01:35:13 +05:30
Shubheksha Jalan
907a9fbdd8 fix error during restore when spec.ports are not found
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 01:02:47 +05:30
Andy Goldstein
a28327b47e Merge pull request #868 from shubheksha/fix/798-remove-generated-cli-docs
Remove cli reference docs generation
2018-09-24 15:13:07 -04:00
Shubheksha Jalan
17be71e1ff remove deps used for docs gen
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 00:29:28 +05:30
Shubheksha Jalan
20635106e8 remove script for generating docs
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 00:15:50 +05:30
Shubheksha Jalan
6fd9ea9d5f remove cli reference docs and related scripts
Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>
2018-09-25 00:02:32 +05:30
KubeKween
368787c184 Merge pull request #859 from nrb/busybox-pause
Fix infinite sleep in fsfreeze container
2018-09-23 10:06:56 -07:00
Nolan Brubaker
4323e287c9 Merge pull request #860 from skriss/v0.9.6-changelog
update CHANGELOG for v0.9.6
2018-09-21 12:00:19 -04:00
Steve Kriss
a793cbb62b update CHANGELOG for v0.9.6
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-21 09:47:44 -06:00
Nolan Brubaker
4833607abd Fix infinite sleep in fsfreeze container
busybox's sleep command doesn't support the `infinity` value, so update
it to be an infinite loop.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-21 11:41:01 -04:00
Steve Kriss
5161890738 Merge pull request #852 from nrb/alpine-fix
Bump alpine image for security fix
2018-09-21 09:39:19 -06:00
Steve Kriss
3a60853340 Merge pull request #843 from james-powis/master
Discard all SA Token volumes from pod restore
2018-09-19 13:31:15 -06:00
James Powis
a5cb2ce4b7 Change from regex matching default-token to prefix SA-token-
Signed-off-by: James Powis <powisj@gmail.com>
2018-09-19 13:06:10 -06:00
Nolan Brubaker
80bc3ded14 Bump alpine image for security fix
This change includes the fix at
6484ed9849

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-18 12:18:05 -04:00
Steve Kriss
afb8102a44 Merge pull request #849 from disrani-px/px_support_links
Add links for Portworx plugin support
2018-09-17 12:04:58 -06:00
Dinesh Israni
7668bfd495 Add links for Portworx plugin support
Signed-off-by: Dinesh Israni <disrani@portworx.com>
2018-09-17 10:55:24 -07:00
Nolan Brubaker
5cc58ed305 Merge pull request #848 from skriss/v0.9.5-changelog
v0.9.5 changelog entry
2018-09-17 12:27:35 -04:00
Steve Kriss
84f01df828 v0.9.5 changelog entry
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-17 10:03:38 -06:00
Nolan Brubaker
b5e4f85b8c Merge pull request #834 from skriss/fix-restic-restores
get a new metadata accessor after calling backup item actions
2018-09-12 17:13:16 -04:00
Steve Kriss
1dda7b91cc Merge pull request #842 from disrani-px/patch-1
Fix Portworx name in doc
2018-09-12 15:07:24 -06:00
Dinesh Israni
468006e619 Fix Portworx name in doc
Signed-off-by: Dinesh Israni <disrani@portworx.com>
2018-09-12 13:33:31 -07:00
Steve Kriss
3eb1160301 Merge pull request #835 from nrb/fix-833
Make fsfreeze image building consistent
2018-09-12 09:48:34 -06:00
Nolan Brubaker
e6b44539a5 Make fsfreeze image building consistent
Due to the version of docker used to build images, the Dockerfile used
with -f must be in the same directory that's used for the context. Copy
the Dockerfile into the _output directory and make the custom targets
more closely match the standard ones.

Fixes #833

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-12 01:15:54 -04:00
Steve Kriss
fcd27a13da get a new metadata accessor after calling backup item actions
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-10 16:19:38 -06:00
Carlisia
69e2f51fbe Merge pull request #801 from ljakimczuk/master
Claim ownership of new AWS volumes by Kubernetes cluster restoring the backup
2018-09-10 14:03:06 -07:00
Lukasz Jakimczuk
ffef86e38d Adding support for the AWS_CLUSTER_NAME env variable allowing to claim volumes ownership
Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Moving check for environment variable outside the loop

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Insert a note about AWS_CLUSTER_NAME in the aws-config doc

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Improving implementation and documentation

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Changing instructions, adding unit test for getTagsForCluster and removing duplicated Lookup

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Commit after update

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>

Correcting bad formatting in aws-config.md

Signed-off-by: Lukasz Jakimczuk <ljakimczuk@gmail.com>
2018-09-10 22:34:33 +02:00
Steve Kriss
a6dbfe822f Merge pull request #832 from nrb/doc-plugin-naming
Document single binary plugins
2018-09-10 10:02:43 -06:00
Nolan Brubaker
cda3dff8e3 Document single binary plugins
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-07 17:35:13 -04:00
Steve Kriss
7c36d80ee2 Merge pull request #829 from nrb/rm-roadmap
Remove ROADMAP.md, update ZenHub link to Ark board
2018-09-07 14:01:38 -06:00
Nolan Brubaker
f049e0787b Remove ROADMAP.md, update ZenHub link to Ark board
ROADMAP.md has fallen out of date, and is superceded by ZenHub.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-07 15:47:48 -04:00
Nolan Brubaker
c9a9dd4508 Merge pull request #824 from skriss/generic-controllers
convert all controllers to use genericController, logContext -> log
2018-09-07 14:20:22 -04:00
Steve Kriss
086d0667de Merge pull request #823 from nrb/sig-error-docs
Document SignatureDoesNotMatch error and triaging
2018-09-07 09:51:12 -06:00
Steve Kriss
94617b302d convert all controllers to use genericController, logContext -> log
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-07 09:38:58 -06:00
Nolan Brubaker
779cb42854 Document SignatureDoesNotMatch error and triaging
Fixes #714

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-07 11:24:59 -04:00
Carlisia
44a75cee7b Merge pull request #820 from skriss/azure-restic-fix
set azure restic env vars based on default backup location's config
2018-09-06 13:01:45 -07:00
Carlisia
92283a52d6 Merge pull request #800 from skriss/prefixes-final
Enable Ark to store backups/etc. under a prefix within an object storage bucket
2018-09-06 10:10:56 -07:00
Steve Kriss
7d8813a96c move ObjectStore mock into pkg/cloudprovider/mocks
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-06 10:53:58 -06:00
Steve Kriss
f0edf7335f add a BackupStore to pkg/persistence that supports prefixes
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-06 10:53:58 -06:00
Steve Kriss
af64069d65 create pkg/persistence and move relevant code from pkg/cloudprovider into it
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-06 09:05:40 -06:00
Steve Kriss
29d75d72e2 move object and block store interfaces to their own files
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-06 09:05:40 -06:00
Steve Kriss
bc516112da Merge pull request #815 from waynz0r/schedule-backup-labels
Set schedule labels to subsequent backups
2018-09-06 07:47:24 -07:00
Zsolt Varga
211aa7b7fd Set schedule labels to subsequent backups
Signed-off-by: Zsolt Varga <zsolt.varga@console.hu>
2018-09-06 10:06:18 +02:00
Nolan Brubaker
5ccc27aaed Merge pull request #795 from wwitzel3/hooks-with-pv
Update Pre/Post hooks example.
2018-09-05 16:46:24 -04:00
Steve Kriss
d34994cb5f set azure restic env vars based on default backup location's config
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-09-05 14:31:42 -06:00
Steve Kriss
ae373bdbfb Merge pull request #818 from nrb/v0.9.4-changelog-master
Update CHANGELOG for v0.9.4
2018-09-05 09:20:56 -07:00
Nolan Brubaker
889f0af5b8 Update CHANGELOG for v0.9.4
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-09-05 12:13:15 -04:00
Wayne Witzel III
a8c42ab245 fix GH md link
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-08-29 16:15:35 -04:00
Steve Kriss
283a1349bd Merge pull request #792 from nrb/pflag-update
Update pflag version
2018-08-28 14:08:32 -07:00
Nolan Brubaker
a50367f148 Regenerate CLI docs
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 16:57:52 -04:00
Nolan Brubaker
7bc27bbbfd Pin cobra version
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 16:56:00 -04:00
Nolan Brubaker
e94277ac4d Update pflag version
Fixes #767

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 16:54:02 -04:00
Steve Kriss
7aadc39cd6 Merge pull request #799 from heptio/backup-locations
Replace config.backupStorageProvider with backup storage locations
2018-08-28 13:42:41 -07:00
Steve Kriss
df69b274a0 azure: update documentation and examples
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
cb321db21f azure: refactor to not use helpers/ pkg, validate all env/config inputs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
9d7ea7483c azure: support different RGs/storage accounts per backup location
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
cd4e9f5336 azure: fix for breaking change in blob.GetSASURI
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
a440029c2f bump Azure SDK version and include storage mgmt package
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
b31e25bf6e server: remove unused code, replace deprecated func
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
729d733986 controllers: take a newPluginManager func in constructors
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Nolan Brubaker
6445dbf1c7 Update examples and docs for backup locations
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
133dc185ca backup sync: process the default location first
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
7a1e6d16cc generic controller: allow controllers with only a resync func
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
6f7bfe545d remove Config CRD's BackupStorageProvider & other obsolete code
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
bd4d97b9e4 move server's defaultBackupLocation into config struct
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
0e94fa37f9 update sync controller for backup locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Carlisia
2750aa71b9 Use backup storage location during restore
Closes #740

Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-08-28 13:19:21 -07:00
Steve Kriss
20f89fbcef use the default backup storage location for restic
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Nolan Brubaker
833a6307a9 Add storage location to backup get/describe
Fixes #775

Also conforms ark imports to https://github.com/heptio/ark/issues/494

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
cf7c8587f0 download request: fix setting of log level for plugin manager
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:21 -07:00
Steve Kriss
3234124afe backup deletion: fix setting of log level in plugin manager
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:20 -07:00
Steve Kriss
74043ab428 download request controller: fix bug in determining expiration
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:20 -07:00
Steve Kriss
7007f198e1 refactor download request controller test and add test cases
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:20 -07:00
Steve Kriss
8f5346150c download request controller: use backup location for object store
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:20 -07:00
Steve Kriss
bab08ed1a6 backup deletion controller: use backup location for object store
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:20 -07:00
Nolan Brubaker
c6f488f75f Use backup location in the backup controller
Fixes #739

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:19:20 -07:00
Steve Kriss
06b5af449f add create and get CLI commands for backup locations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:19:19 -07:00
Steve Kriss
adbcd3703b add --default-backup-storage-location flag to server cmd
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-28 13:14:51 -07:00
Nolan Brubaker
2a34772ed5 Add --storage-location argument to create commands
Closes #738

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:14:51 -07:00
Nolan Brubaker
56f1617049 Correct metadata for BackupStorageLocationList
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:14:51 -07:00
Nolan Brubaker
345c3c39b1 Generate clients for BackupStorageLocation
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:14:51 -07:00
Nolan Brubaker
a25eb03290 Add BackupStorageLocation API type
This commit only provides the data model for further work. It does not
implement any logic around locations, nor does it remove anything from
the Config API type.

Closes #736
Closes #732

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-28 13:14:51 -07:00
Wayne Witzel III
575c4ddc6d apply annotations on single line, no restore mode
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-08-27 15:07:49 -04:00
Wayne Witzel III
030ea6c0ad minor word updates and command wrapping
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-08-27 14:00:20 -04:00
Wayne Witzel III
d32f8dbb6c Update hooks/fsfreeze example
Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
2018-08-27 09:58:24 -04:00
Nolan Brubaker
adc29a2db0 Merge pull request #774 from metadave/dp_report_bug
add an ark bug command
2018-08-24 16:17:21 -04:00
Dave Parfitt
342a1c6437 add an ark bug command
Signed-off-by: Dave Parfitt <diparfitt@gmail.com>
2018-08-24 13:10:56 -04:00
Steve Kriss
8a5d6f9111 Merge pull request #781 from nrb/fix-777
Fix map merging logic
2018-08-22 11:29:02 -07:00
Steve Kriss
79c45133f7 Merge pull request #783 from nrb/add-do
Add DigitalOcean to S3-compatible backup providers
2018-08-22 09:32:55 -07:00
Nolan Brubaker
9c11ba900c Add DigitalOcean to S3-compatible backup providers
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-22 12:20:04 -04:00
Nolan Brubaker
ea50ebf2b5 Fix map merging logic
Fixes #777

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-21 15:30:30 -04:00
Steve Kriss
ec61bc8654 Merge pull request #723 from nrb/support-matrix
Document supported object and volume providers
2018-08-17 12:44:52 -07:00
Nolan Brubaker
7edbb91cfa Document supported object and volume providers
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-17 15:35:09 -04:00
Carlisia
d29c96387e Merge pull request #757 from carlisia/c-538-config-m
Switch Config CRD elements to server flags
2018-08-16 09:02:48 -07:00
Carlisia
9508e4a20e Switch Config CRD elements to server flags
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-08-16 08:51:46 -07:00
Steve Kriss
7200a89e39 Merge pull request #759 from nrb/0.9.3-changelog
Add v0.9.3 changelog entry
2018-08-10 08:47:43 -07:00
Nolan Brubaker
33ee4a8721 Add v0.9.3 changelog entry
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-10 10:56:00 -04:00
Carlisia
23d570ec04 Merge pull request #711 from skriss/make-local
Bring back 'make local'
2018-08-09 12:26:53 -07:00
Nolan Brubaker
65cd5c602f Merge pull request #754 from skriss/namespace-restore-label
update how we label restored objects
2018-08-09 15:17:50 -04:00
Steve Kriss
95b2b90006 add backup name label to restored objects
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-08 16:51:33 -07:00
Steve Kriss
0c3ac67b6d start using a namespaced label on restored objects, deprecate old label
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-08 16:34:39 -07:00
Andy Goldstein
6e53aa0350 Bring back 'make local'
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-08 15:55:46 -07:00
Nolan Brubaker
17d984d4b4 Merge pull request #745 from skriss/bulk-deletion
add bulk deletion support to ark backup delete
2018-08-08 14:40:51 -04:00
Steve Kriss
5acccaa739 add bulk deletion support to ark backup delete
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-08-08 10:28:40 -07:00
Steve Kriss
1f7a4a1665 Merge pull request #712 from timoreimann/preserve-node-ports-when-specified-in-annotation
Preserve node ports during restore when annotations hold specification.
2018-08-07 09:17:27 -07:00
Timo Reimann
3aa241a74c Preserve node ports during restore when annotations hold specification.
This is to better reflect the intent of the user when node ports are
specified explicitly (as opposed to being assigned by Kubernetes). The
`last-applied-configuration` annotation added by `kubectl apply` is one
such indicator we are now leveraging.

We still default to omitting the node ports when the annotation is
missing.

Signed-off-by: Timo Reimann <ttr314@googlemail.com>
2018-08-07 07:47:17 +02:00
Steve Kriss
27003af62a Merge pull request #304 from ncdc/wait
Add --wait support to ark backup create
2018-08-03 10:57:20 -07:00
Andy Goldstein
c5f5862c9c Add --wait support to ark backup create
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-08-03 10:42:42 -07:00
Steve Kriss
c6ef76d2b3 Merge pull request #719 from nrb/prereq-faq
Document CRD not found errors
2018-08-02 16:03:09 -07:00
Steve Kriss
8ac285cf52 Merge pull request #718 from carlisia/delete-unused-II
Extend doc about synchronization
2018-08-02 16:01:20 -07:00
Nolan Brubaker
eb6f742b5d Document CRD not found errors
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-08-02 16:41:28 -04:00
Carlisia
fb4d507c8a Extend doc about synchronization
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-08-02 13:35:20 -07:00
Nolan Brubaker
de553a2fc1 Merge pull request #716 from carlisia/c-wait-restore
Add --wait support to `ark restore create`
2018-08-02 15:37:55 -04:00
Carlisia
e7bb592602 Add --wait support to ark restore create
Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-07-31 17:20:03 -07:00
Carlisia
6f061db9a2 Merge pull request #715 from skriss/remove-snapshot-service
remove SnapshotService, replace with direct BlockStore usage
2018-07-31 13:50:22 -07:00
Steve Kriss
2e875521eb Merge pull request #708 from carlisia/c-705-keep-in-progress
Only delete unused backup if they are complete
2018-07-31 09:18:47 -07:00
Carlisia
8ce513acbd Only delete unused backup if they are complete
Fixes #705

Signed-off-by: Carlisia <carlisia@grokkingtech.io>
2018-07-31 09:12:12 -07:00
Steve Kriss
1c26fbde32 remove SnapshotService, replace with direct BlockStore usage
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-31 08:58:11 -07:00
Nolan Brubaker
430ec2451a Merge pull request #710 from skriss/resumable-plugins-rebased
Resumable plugins rebased
2018-07-31 11:57:11 -04:00
Andy Goldstein
130512187a Refactor plugin management
Refactor plugin management:
- support multiple plugins per executable
- support restarting a plugin process in the event it terminates
- simplify plugin lifecycle management by using separate managers for
  each scope (server vs backup vs restore)

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-07-31 08:34:57 -07:00
Steve Kriss
131afb571e Merge pull request #607 from nrb/restore-metrics
Restore metrics
2018-07-27 12:25:56 -07:00
Nolan Brubaker
74dbf38793 Add restore failed phase and metrics
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-27 14:32:11 -04:00
Nolan Brubaker
652069b5e6 Merge pull request #709 from skriss/bump-testify
update testify to latest released version
2018-07-26 20:14:03 -04:00
Steve Kriss
8789ae5cb1 update testify to latest released version
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-26 16:24:30 -07:00
Steve Kriss
10c98caade Merge pull request #701 from nrb/restore-doc
Add schedule command info to quickstart
2018-07-26 14:58:21 -07:00
Nolan Brubaker
fe9d61a9a7 Add schedule command info to quickstart
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
Co-authord-by: Giancarlo Rubio <gianrubio@gmail.com>
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-26 17:51:52 -04:00
Nolan Brubaker
0d2efaf991 Merge pull request #706 from skriss/v0.9.2-changelog
update changelog for v0.9.2
2018-07-26 17:05:52 -04:00
Steve Kriss
7e2bec46b8 update changelog for v0.9.2
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-26 13:59:27 -07:00
Carlisia
4f3c890e82 Merge pull request #704 from skriss/fix-backupitem-action-calls
fix bug preventing backup item action item updates from saving
2018-07-26 11:26:03 -07:00
Steve Kriss
ca5656c279 fix bug preventing backup item action item updates from saving
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-26 10:38:17 -07:00
Nolan Brubaker
82f1cd87dc Merge pull request #680 from carlisia/c-delete-from-etcd
Delete backups from etcd if they're not in storage
2018-07-25 18:25:52 -04:00
Carlisia
d2e629f5a8 Delete backups from etcd if they're not in storage
This fixes #309.

Signed-off-by: Carlisia <carlisia@grokkingtech.io>

Co-authored-by: Steve Kriss <steve@heptio.com>
2018-07-25 14:53:50 -07:00
Nolan Brubaker
7cebfe2df0 Add restore attempt and success/failure counters
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-25 11:22:43 -04:00
Steve Kriss
39c03008be Merge pull request #700 from heptio/zenhub-fix
Fix ZenHub link on Readme.md
2018-07-25 06:12:23 -07:00
Ross Kukulinski
625ba48117 Fix ZenHub link on Readme.md
Signed-off-by: Ross Kukulinski <ross@kukulinski.com>
2018-07-24 23:28:24 -04:00
Jorge O. Castro
d177d94945 Merge pull request #696 from heptio/zenhub
Add contributor docs for our ZenHub usage
2018-07-24 18:34:25 -07:00
Carlisia
3b4276a0e4 Merge pull request #699 from thesandlord/master
Simplify GCP instructions
2018-07-24 15:40:39 -07:00
Sandeep Dinesh
dcae6eb0a2 Update gcp-config.md
Automated setting environment variables using gcloud commands instead of copy/paste

Signed-off-by: Sandeep Dinesh <sandeepdinesh@google.com>
2018-07-24 15:00:06 -07:00
Steve Kriss
daa61c5f71 Merge pull request #697 from metadave/dp_check_s3_url
check s3URL scheme upon AWS ObjectStore Init()
2018-07-24 11:06:55 -07:00
Dave Parfitt
06d6665abb check s3URL scheme upon AWS ObjectStore Init()
Signed-off-by: Dave Parfitt <diparfitt@gmail.com>
2018-07-24 14:01:05 -04:00
Ross Kukulinski
cc359f6ecb Add contributor docs for our ZenHub usage
Signed-off-by: Ross Kukulinski <ross@kukulinski.com>
2018-07-23 16:18:32 -04:00
Nolan Brubaker
b0af81e780 Merge pull request #689 from lemaral/init-schedule-metrics
Init schedule Prometheus metrics
2018-07-23 16:16:26 -04:00
Carlisia
08e7c54cb6 Merge pull request #693 from skriss/v0.9.1-changelog
update CHANGELOG.md for v0.9.1
2018-07-23 13:04:20 -07:00
Nolan Brubaker
4aea49dbc6 Merge pull request #694 from skriss/fix-backup-log
cleanup service account action log statement
2018-07-23 15:58:58 -04:00
Steve Kriss
f62045623c cleanup service account action log statement
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-23 12:10:30 -07:00
Steve Kriss
74d59498d7 update CHANGELOG.md for v0.9.1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-23 12:06:05 -07:00
Steve Kriss
e063b7983a Merge pull request #682 from nrb/support-rbac-1.7
Support for rbac v1beta1 on kubernetes v1.7.5+
2018-07-23 12:00:50 -07:00
Nolan Brubaker
dd1e150511 Add RBAC support for 1.7 clusters
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-23 14:19:03 -04:00
Carlisia
c47a364ab3 Merge pull request #687 from skriss/fix-delete-issues
fix delete issues
2018-07-23 10:40:14 -07:00
Alex Lemaresquier
450fa72fbb Initialize schedule Prometheus metrics to have them created beforehand (see https://prometheus.io/docs/practices/instrumentation/#avoid-missing-metrics)
Signed-off-by: Alex Lemaresquier <alex+github@lemaresquier.org>
2018-07-20 23:30:24 +02:00
Steve Kriss
cbcb9c7d79 Merge pull request #692 from metadave/dp_clarify_aws_bucket_docs
Clarify that object storage should per-cluster
2018-07-20 13:35:32 -07:00
Dave Parfitt
39c4267ace Clarify that object storage should per-cluster
Signed-off-by: Dave Parfitt <diparfitt@gmail.com>
2018-07-20 16:22:16 -04:00
Nolan Brubaker
64f0d6dffd Merge pull request #690 from skriss/fix-tag-latest
fix tagging latest by using make's ifeq
2018-07-20 15:04:49 -04:00
Steve Kriss
78cbdf95f3 delete old deletion requests for backup when processing a new one
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-20 11:42:42 -07:00
Steve Kriss
85a61b8e8d return nil error if 404 encountered when deleting snapshots
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-20 11:42:34 -07:00
Steve Kriss
a2a7dbda09 fix tagging latest by using make's ifeq
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-20 11:36:09 -07:00
Nolan Brubaker
7a964ae2ca Merge pull request #683 from skriss/fail-fast-if-missing-crds
exit server if not all Ark CRDs exist at startup
2018-07-19 16:50:34 -04:00
Steve Kriss
1df9a8a38d exit server if not all Ark CRDs exist at startup
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-18 14:30:42 -07:00
Nolan Brubaker
e11634bfbc Merge pull request #676 from skriss/dont-create-namespace
require namespace for backups/etc. to exist at server startup
2018-07-17 14:26:04 -04:00
Steve Kriss
5329a4d67d Merge pull request #677 from nrb/issue-template-commands
Add commands for context to the bug template
2018-07-17 09:03:19 -07:00
Steve Kriss
13f893f1f9 Merge pull request #634 from marpaia/k8s-1.11
Update Kubernetes and Client-Go for 1.11.0 / 8.0.0
2018-07-17 08:55:47 -07:00
Nolan Brubaker
b4a52e45cf Add commands for context to the bug template
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-17 10:48:59 -04:00
Steve Kriss
f5d975b06d Merge pull request #678 from nrb/basic-troubleshooting
Add some basic troubleshooting commands
2018-07-16 20:18:36 -07:00
Mike Arpaia
3efe677007 Update Ark library code to work with Kubernetes 1.11
Signed-off-by: Mike Arpaia <mike@arpaia.co>
2018-07-16 20:46:20 -06:00
Nolan Brubaker
7e8c8c69b9 Add some basic troubleshooting commands
These commands are intended to be general, and give users some context
for where they can look to get more information about Ark's behaviors.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-13 17:34:39 -04:00
Steve Kriss
d195512062 require namespace for backups/etc. to exist at server startup
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-13 13:50:12 -07:00
Nolan Brubaker
1e2b141e5d Merge pull request #443 from skriss/restore-from-schedule
Add --from-schedule flag to `ark restore create`
2018-07-11 13:50:08 -04:00
Steve Kriss
683f7afc0d switch to using .status.startTimestamp for sorting backups
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-11 10:35:55 -07:00
Steve Kriss
4e74e77738 Merge pull request #667 from nrb/keep-completiontimestamp
Record backup completion time before uploading
2018-07-11 10:29:51 -07:00
Nolan Brubaker
b71a37dbfc Record backup completion time before uploading
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-11 13:21:29 -04:00
Steve Kriss
9ca76226e2 Merge pull request #670 from nrb/issue-templates
Add example ark version command to issue templates
2018-07-11 09:27:28 -07:00
Nolan Brubaker
217084cdcc Add example ark version command to issue templates
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-11 11:02:55 -04:00
Nolan Brubaker
f4f602cdf9 Merge pull request #647 from jhamilton1/jhamilton1-new-templates
New templates
2018-07-11 10:57:16 -04:00
Carlisia
29b0774022 Merge pull request #661 from carlisia/docs/run-locally
Document how to run the Ark server locally
2018-07-10 16:43:11 -07:00
Carlisia Pinto
040788bb06 Add minor improvements and aws example<Plug>delimitMateCR
Signed-off-by: Carlisia Pinto <carlisia@grokkingtech.io>
2018-07-10 15:02:01 -07:00
Nolan Brubaker
09afeb6d3e Merge pull request #646 from skriss/remove-redundant-filesystem
replace pkg/restore's osFileSystem with pkg/util/filesystem's
2018-07-10 17:57:39 -04:00
Nolan Brubaker
fae00a7622 Merge pull request #659 from carlisia/cc-backupsync
Skip backup sync if it already exists on Kubernetes
2018-07-10 12:50:20 -04:00
Carlisia Pinto
5b89f7b6db Skip backup sync if it already exists in k8s
Signed-off-by: Carlisia Pinto <carlisia@grokkingtech.io>
2018-07-09 21:55:24 -07:00
Steve Kriss
c6050845a0 restore controller: switch to 'c' for receiver name
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-09 15:07:38 -07:00
Steve Kriss
706ae07d0d enable a schedule to be provided as the source for a restore
- ScheduleName is added as an API field to the Restore object
- Restore controller validates that exactly one of BackupName
  or ScheduleName has been provided
- If ScheduleName is provided, Restore controller populates
  BackupName with the name of the most recent successful backup
  created from the schedule
- --from-schedule flag is added to `ark restore create` CLI cmd

Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-09 15:07:38 -07:00
Nolan Brubaker
f349f85b05 Merge pull request #658 from Bradamant3/update-slack
fix up Slack link in troubleshooting on master branch
2018-07-09 17:22:00 -04:00
JENNIFER RONDEAU
aea68414cf fix up Slack link in troubleshooting on master branch
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-07-09 12:58:29 -04:00
Andy Goldstein
bb8e2e9131 Document how to run the Ark server locally
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-07-06 16:04:14 -07:00
Steve Kriss
1a71437d59 Merge pull request #655 from nrb/remove-ns-debugging-docs
Remove outdated namespace deletion content
2018-07-06 14:43:54 -07:00
Nolan Brubaker
dc84e591bb Remove outdated namespace deletion content
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-07-06 17:29:02 -04:00
Nolan Brubaker
c66a139ff9 Merge pull request #650 from Bradamant3/fix-doc-paths
fix paths
2018-07-06 12:32:10 -04:00
Nolan Brubaker
9c41e3fabb Merge pull request #649 from skriss/fix-tag-latest
use posix-compliant conditional for checking TAG_LATEST
2018-07-06 12:31:38 -04:00
JENNIFER RONDEAU
23abbc9a47 fix paths
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-07-06 12:27:49 -04:00
Steve Kriss
f042653886 use posix-compliant conditional for checking TAG_LATEST
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-06 09:23:16 -07:00
Andy Goldstein
efae9792db Merge pull request #642 from skriss/v0.9.0-changelog
update changelog for v0.9.0, v0.8.2, v0.8.3
2018-07-06 11:52:20 -04:00
Andy Goldstein
8327536b59 Merge pull request #643 from skriss/restic-docs-updates-v0.9.0
update restic docs for v0.9.0 GA release
2018-07-06 11:48:28 -04:00
Steve Kriss
a2c1fece33 update restic docs for v0.9.0 GA release
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-06 08:28:11 -07:00
Steve Kriss
8e7a2eed77 update changelog for v0.9.0, v0.8.2, v0.8.3
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-06 08:25:13 -07:00
Andy Goldstein
562a719382 Merge pull request #639 from Bradamant3/docs-reorg
Docs reorg
2018-07-06 11:18:41 -04:00
JENNIFER RONDEAU
cfdcd65f41 reorganize and edit docs for upcoming release
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-07-06 10:53:01 -04:00
Jesse
cf336d8019 Added new templates
Signed-off-by: Jesse <jesse.hamilton@heptio.com>
2018-07-06 07:31:13 -05:00
Steve Kriss
795dc26214 replace pkg/restore's osFileSystem with pkg/util/filesystem's
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-05 15:46:17 -07:00
Andy Goldstein
2999f158db Merge pull request #550 from skriss/restic-describers
Add pod volume backups/restores to ark backup/restore describe
2018-07-05 16:27:36 -04:00
Steve Kriss
1e08e81537 Merge pull request #645 from ncdc/fix-restic-test
Fix flakey restic tests
2018-07-05 13:27:22 -07:00
Andy Goldstein
8dd9cded1a Fix testing arbitrary map key order
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-07-05 16:22:46 -04:00
Steve Kriss
42f2891485 add pod volume backups/restores to ark backup/restore describe output
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-05 13:13:40 -07:00
Andy Goldstein
9db5e36b54 Fix test sorting function
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-07-05 16:08:05 -04:00
Andy Goldstein
a70456f5ee Merge pull request #628 from skriss/restic-units
pkg/restic unit tests
2018-07-05 15:01:04 -04:00
JENNIFER RONDEAU
3646fcce46 add docs site build to gitignore
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-07-05 14:57:15 -04:00
Steve Kriss
c18decc89b pkg/restic unit tests
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-05 11:44:17 -07:00
Andy Goldstein
5ce92adff0 Merge pull request #636 from skriss/restic-set-hostname
set --hostname flag for restic backups
2018-07-03 16:49:15 -04:00
Steve Kriss
547625c333 set --hostname flag for restic backups
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-07-02 10:52:32 -07:00
Mike Arpaia
eabef08561 Update generated Ark code based on the 1.11 k8s.io/code-generator script
Signed-off-by: Mike Arpaia <mike@arpaia.co>
2018-07-02 09:24:19 -06:00
Mike Arpaia
f5eac0b434 Update vendored library code for Kubernetes 1.11
Signed-off-by: Mike Arpaia <mike@arpaia.co>
2018-07-02 09:24:19 -06:00
Steve Kriss
32907931e1 Merge pull request #633 from hamidzr/master
fixed minor typos
2018-06-29 14:28:56 -07:00
Hamid Zare
244994d316 fixed typos/capitalization
Signed-off-by: Hamid Zare <dellydela@gmail.com>
2018-06-29 16:23:33 -05:00
Nolan Brubaker
39bb3963ee Merge pull request #631 from skriss/restic-refactor-get-snapshot-id
use pkg/util/exec for running get snapshot id cmd
2018-06-29 17:03:46 -04:00
Steve Kriss
ae4aad0890 use pkg/util/exec for running get snapshot id cmd
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-29 12:06:31 -07:00
Andy Goldstein
1857257265 Merge pull request #621 from skriss/update-restic-docs
update restic doc
2018-06-29 14:04:22 -04:00
Andy Goldstein
eb19228d16 Merge pull request #626 from ncdc/add-backups-restores-to-non-restorable-resources
Don't restore backups or restores
2018-06-29 09:53:19 -04:00
Steve Kriss
afc9e9cde1 update restic documentation
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-28 15:35:12 -07:00
Andy Goldstein
fe286ff564 Don't restore backups or restores
Add backups and restores the list of non restorable resources. Backups,
if applicable, are synced from object storage by the backup sync
controller. Restores are specific to a cluster and don't have value
moving across clusters.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-28 16:58:09 -04:00
Andy Goldstein
1cc99ffa60 Merge pull request #625 from skriss/faq-bucket-per-cluster
add FAQ about using a bucket per cluster
2018-06-28 16:53:02 -04:00
Steve Kriss
31b8ff92df add FAQ about using a bucket per cluster
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-28 13:40:02 -07:00
Andy Goldstein
eaeb9d677e Merge pull request #608 from skriss/no-pv-snapshot-if-restic-backup
don't snapshot volumes that have been backed up with restic
2018-06-28 13:27:30 -04:00
Steve Kriss
11c176c490 don't snapshot volumes that have been backed up with restic
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-28 10:19:34 -07:00
Andy Goldstein
539de6d361 Merge pull request #564 from nrb/backup-timing
Record backup start and completion times, add timing metrics
2018-06-28 11:37:39 -04:00
Nolan Brubaker
96b72acb2d Record backup start and completion times
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-06-28 11:18:14 -04:00
Andy Goldstein
fa470170cf Merge pull request #610 from skriss/restic-skip-invalid-volumes
log and skip backups for non-existent & hostPath volumes
2018-06-28 10:49:33 -04:00
Nolan Brubaker
75a9879774 Merge pull request #620 from ncdc/gitignore
Ignore more files
2018-06-28 10:44:45 -04:00
Nolan Brubaker
a5722262d1 Merge pull request #619 from ncdc/skip-mirror-pods
Stop restoring mirror pods
2018-06-28 10:43:44 -04:00
Andy Goldstein
dd7bdf05f3 Ignore more files
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-28 10:11:23 -04:00
Andy Goldstein
255a991c6e Stop restoring mirror pods
Mirror pods are pods created from static manifest files on a node.
They're mirrored to the apiserver so they're visible when querying the
apiserver for a list of pods, but it's not possible to send a pod
containing the mirror pod annotation to the apiserver and have it be
created successfully. Instead of trying to do this, log a message that
we're skipping restoring the pod because it's a mirror pod.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-28 10:06:55 -04:00
Steve Kriss
781b7cd1aa log and skip backups for non-existent & hostPath volumes
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-27 14:37:36 -07:00
Andy Goldstein
51298f84cc Merge pull request #606 from skriss/restic-auto-manage-repos
Automatically manage restic repos
2018-06-27 17:01:27 -04:00
Steve Kriss
22e8f23e2c replace ark restic repo init cmd with automatic initialization of repos
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-27 13:50:37 -07:00
Andy Goldstein
e015238e6d Merge pull request #570 from skriss/restic-controller-improvements
Restic controller improvements
2018-06-27 16:44:00 -04:00
Steve Kriss
a697ad164e refine what gets enqueued in PVB/PVR controllers, and log better
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-27 13:31:11 -07:00
Nolan Brubaker
29ac0b4a6c Merge pull request #613 from ncdc/ignore-reclaim-policy-delete-pvs-without-snapshots
Skip reclaim policy Delete PVs without snapshots
2018-06-26 16:52:01 -04:00
Andy Goldstein
ee5afe148c Merge pull request #566 from runyontr/master
Minio should support read-only file systems
2018-06-26 13:43:02 -04:00
Andy Goldstein
7c283e5de8 Skip reclaim policy Delete PVs without snapshots
If a PV has a reclaim policy of Delete and we didn't create a snapshot
of it, don't restore the PV, as doing so would create a PV whose
underlying volume is incorrect.

Also "reset" any PVCs bound to the PV so they'll be dynamically
provisioned when restored.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-26 10:40:49 -04:00
Andy Goldstein
5e28f322cf Merge pull request #580 from nikhita/add-omitempty-tags
Add omitempty tags to optional API fields
2018-06-25 10:32:22 -04:00
Nikhita Raghunath
0da5f1ccca Add omitempty tag to optional API fields
Signed-off-by: Nikhita Raghunath <nikitaraghunath@gmail.com>
2018-06-25 16:40:43 +05:30
Nolan Brubaker
6426706390 Merge pull request #571 from skriss/restic-aws-region
restic: if S3, get bucket's region up-front
2018-06-22 16:59:32 -04:00
Andy Goldstein
636b09a548 Merge pull request #569 from skriss/fix-mount-propagation
restic: use HostToContainer mount propagation for host-pods volume
2018-06-22 06:23:30 -04:00
Steve Kriss
5ad21854f7 restic: if S3, get bucket's region up-front
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-21 17:20:53 -07:00
Steve Kriss
57c5485501 restic: use HostToContainer mount prop. for host-pods volume
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-21 16:32:44 -07:00
Thomas Runyon
e4856d17ca Merge branch 'master' of github.com:heptio/ark
Signed-off-by: Thomas Runyon <runyontr@gmail.com>
2018-06-21 16:50:49 -04:00
Thomas Runyon
fb0696d0c3 Deploy minio to suppport read only file systems
Signed-off-by: Thomas Runyon <runyontr@gmail.com>
2018-06-21 16:46:45 -04:00
Andy Goldstein
13344076c2 Merge pull request #563 from skriss/restic-cache-dir
add a /scratch emptyDir to ark pods to use for restic cache
2018-06-20 14:59:04 -04:00
Steve Kriss
25d3597c9a add a /scratch emptyDir to ark pods to use for restic cache
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 11:48:09 -07:00
Nolan Brubaker
4a7457ecfe Merge pull request #557 from skriss/move-repo-id-source
Use ResticRepository's resticIdentifier field as the source of truth for repo IDs
2018-06-20 13:50:21 -04:00
Steve Kriss
f2072e5868 use repo identifier from ResticRepo CR when backing up/restoring
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 10:42:53 -07:00
Andy Goldstein
8306566216 Merge pull request #532 from skriss/restic-repo-crd
add ResticRepository CRD and move repo-level actions to a controller
2018-06-20 13:42:32 -04:00
Steve Kriss
a927906e52 add --maintenance-frequency flag to ark restic repo init
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 09:21:43 -07:00
Steve Kriss
6e9e653f76 add restic repo getter and reorg restic cmds
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 09:21:43 -07:00
Steve Kriss
3481618324 move runCommand to pkg/util/exec and use in restic repo mgr
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 09:21:43 -07:00
Steve Kriss
65ed8da4b7 add ResticRepository CRD and move repo-level actions to a controller
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-20 09:21:43 -07:00
Andy Goldstein
f1e82a2fe3 Merge pull request #561 from skriss/enable-local-restic
move restic binary into /usr/bin so it's in PATH
2018-06-19 14:59:24 -04:00
Steve Kriss
de12ca4882 move restic binary into /usr/bin so it's in PATH
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-19 11:31:27 -07:00
Steve Kriss
01b5828ee7 Merge pull request #403 from nrb/merge-serviceaccount-secrets
Merge serviceaccounts on restore
2018-06-15 09:46:26 -07:00
Nolan Brubaker
e7d00cf5fd Add merge support for serviceaccounts
All properties from a backup will be merged into the ServiceAccount
except for the default token secret.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-06-15 12:40:59 -04:00
Steve Kriss
2dfa7a1a72 Merge pull request #553 from ncdc/log-to-stdout
Log to stdout instead of stderr
2018-06-15 08:58:08 -07:00
Andy Goldstein
845c9cfa61 Merge pull request #555 from skriss/simplify-restores
get rid of restore staging dir by backing up/restoring within volume dir
2018-06-14 17:15:35 -04:00
Steve Kriss
6fb11b8087 get rid of restore staging dir by backing up/restoring within volume dir
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-14 13:49:27 -07:00
Andy Goldstein
cc9140b3cc Log to stdout instead of stderr
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-14 14:02:12 -04:00
Andy Goldstein
7be81fe60e Merge pull request #546 from skriss/rm-old-donefiles
remove existing .ark dir and contents during restic restores
2018-06-14 11:12:31 -04:00
Andy Goldstein
bc20398119 Merge pull request #551 from ashish-amarnath/update-metrics-examples
Expose metrics server port from container
2018-06-14 07:36:46 -04:00
Ashish Amarnath
05e86ee734 expose container ports in example deployment and pkg/install tooling
Signed-off-by: Ashish Amarnath <ashish.amarnath@gmail.com>
2018-06-13 19:22:09 -07:00
Steve Kriss
dc273e3bed remove existing .ark dir and contents during restic restores
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-13 16:52:06 -07:00
Nolan Brubaker
11c3837f9b Merge pull request #548 from skriss/update-restic-docs
remove references to a specific ark version for using restic
2018-06-13 17:10:02 -04:00
Steve Kriss
5d7969f4b9 remove references to a specific ark version for using restic
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-13 14:04:55 -07:00
Andy Goldstein
9245e9d5dc Merge pull request #547 from skriss/restic-rsync
use rsync to copy restored data from staging dir to volume dir
2018-06-13 16:56:42 -04:00
Steve Kriss
f7a42f378f use rsync to copy restored data from staging dir to volume dir
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-13 13:41:55 -07:00
Andy Goldstein
d1e3688468 Merge pull request #531 from ashish-amarnath/add-backup-metrics
Add metrics package to publish metrics
2018-06-13 16:33:30 -04:00
Ashish Amarnath
83658e891e Add a metrics package to add and expose metrics
* add a metrics package to handle metric registration and publishing
* add a metricsAddress field to the server struct
* make metrics a part of the server
* start a metrics endpoint as part of starting the controllers
* instrument backup_controller to report metrics
* update cli-reference docs
* update example deployments with prometheus annotations
* update 'pkg/install' tooling with prometheus annotations

Signed-off-by: Ashish Amarnath <ashish.amarnath@gmail.com>
2018-06-13 13:17:08 -07:00
Andy Goldstein
3db7c038a5 Merge pull request #545 from skriss/update-restic-instructions
update restic setup instructions
2018-06-12 15:23:50 -04:00
Steve Kriss
6236085327 update restic setup instructions
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-12 11:59:53 -07:00
Andy Goldstein
6da32a4955 Merge pull request #544 from ae-v/master
fix typo and whitespace chars in docs
2018-06-12 09:34:26 -04:00
Andre Veelken
0e0ac10388 fix typo and whitespace chars in docs
Signed-off-by: Andre Veelken
2018-06-12 15:17:28 +02:00
Steve Kriss
bd0b874631 Merge pull request #542 from ncdc/makefile-tag-latest-bool
Add TAG_LATEST support to Makefile
2018-06-11 12:51:17 -07:00
Andy Goldstein
a522a96789 Add TAG_LATEST support to Makefile
Only tag an image as "latest" if TAG_LATEST is set to "true".

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-11 15:00:15 -04:00
Andy Goldstein
3177140db0 Merge pull request #541 from skriss/rename-init-container
rename restic-init-container to ark-restic-restore-helper
2018-06-11 13:57:14 -04:00
Steve Kriss
d7134b1df2 use Ark version as the tag for the restore-helper image in init container
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 10:46:10 -07:00
Steve Kriss
81520a9b86 rename restic-init-container to ark-restic-restore-helper
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 10:24:23 -07:00
Andy Goldstein
453b0a04f4 Merge pull request #540 from skriss/restic-v0.9.1
upgrade to restic v0.9.1
2018-06-11 13:16:17 -04:00
Andy Goldstein
459fe663ee Merge pull request #534 from skriss/rm-complete-restore-sh
replace complete-restore.sh with go code
2018-06-11 13:00:46 -04:00
Steve Kriss
50816ba23b upgrade to restic v0.9.1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 09:59:29 -07:00
Steve Kriss
2c6fc5bd90 don't fail the restore if cleanup of the staging directory post-restore fails
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 09:48:26 -07:00
Steve Kriss
6897c2f901 move dotfiles from staging to volume dir on restore
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 09:31:03 -07:00
Steve Kriss
e354b1c130 replace complete-restore.sh with go code
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 09:31:03 -07:00
Andy Goldstein
e1cf244592 Merge pull request #537 from skriss/optimize-dockerfile
Dockerfile: move restic fetch before ark add so it can be cached
2018-06-11 12:28:26 -04:00
Andy Goldstein
d9924e0f3f Merge pull request #535 from skriss/rename-restic-daemonset
rename ark daemonset to ark restic server
2018-06-11 12:28:05 -04:00
Steve Kriss
c1f4e6d92d rename ark daemonset to ark restic server
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-11 09:12:49 -07:00
Steve Kriss
e7453ebc98 Dockerfile: move restic fetch before ark add so it can be cached
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-08 15:02:47 -07:00
Andy Goldstein
0396ca1dee Merge pull request #526 from yastij/ignore-resources-terminating
ignore terminating resources while doing a backup
2018-06-08 11:10:59 -04:00
Yassine TIJANI
17f6a14d37 ignore terminating resources while doing a backup
Signed-off-by: Yassine TIJANI <yasstij11@gmail.com>
2018-06-08 16:49:35 +02:00
Andy Goldstein
c0cf61912d Merge pull request #533 from skriss/fix-init-repo-key-data
ark restic init-repository: use key data if provided
2018-06-07 13:39:18 -04:00
Steve Kriss
67b40c7fc8 use fake filesystem to test key file flag for ark restic init-repo
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-07 10:29:59 -07:00
Steve Kriss
e2561f9073 ark restic init-repository: use key data if provided
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-07 10:06:15 -07:00
Andy Goldstein
e3d6902ede Merge pull request #530 from skriss/restic-quickstart-doc
restic quickstart doc for alpha testing
2018-06-06 15:33:43 -04:00
Steve Kriss
68020d0e4b restic quickstart doc for alpha testing
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-06 12:25:09 -07:00
Andy Goldstein
ed2d7b445c Merge pull request #508 from skriss/real-restic
restic integration with Ark
2018-06-06 13:24:56 -04:00
Steve Kriss
50d4084fac add restic integration for doing pod volume backups/restores
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-06 09:48:10 -07:00
Steve Kriss
c2c5b9040c add kube listers/informers to vendor/
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-06-04 14:52:35 -07:00
Wayne Witzel III
6f62749c1a Merge pull request #520 from ncdc/fix-backup-pv-action-when-volumeName-is-missing
BackupItemActionPlugin: handle nil updatedItem
2018-06-01 14:28:05 -04:00
Andy Goldstein
86b9cc6d15 BackupItemActionPlugin: handle nil updatedItem
Handle the case where a BackupItemAction may return nil for updatedItem,
meaning "no modifications to the item". The backupPVAction does this,
and we were panicking instead of accepting it.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-06-01 14:03:32 -04:00
Andy Goldstein
4e2a77d683 Merge pull request #518 from mattkelly/readme-selector-fix
Fix selector syntax in backup example
2018-05-29 10:10:34 -04:00
Matt Kelly
ca83f000ea Fix selector syntax in backup example
Signed-off-by: Matt Kelly <matt.kelly@containership.io>
2018-05-29 10:01:57 -04:00
Andy Goldstein
10d6dd006a Merge pull request #517 from c-knowles/bug/doc-default-resourcePriorities
Correct default restorePriorities docs
2018-05-26 08:47:00 -04:00
Chris Knowles
4065c0f194 Add limitRanges to default restorePriorities doc
Signed-off-by: Chris Knowles <c-knowles@users.noreply.github.com>
2018-05-26 20:23:23 +08:00
Chris Knowles
5643e8ebb5 Correct default restorePriorities
Changed in https://github.com/heptio/ark/pull/258

Signed-off-by: Chris Knowles <c-knowles@users.noreply.github.com>
2018-05-26 20:09:46 +08:00
Andy Goldstein
6dbde599bf Merge pull request #514 from carlpett/post-hooks-after-error
Run post-hooks even if backup actions fail
2018-05-23 13:37:28 -04:00
Calle Pettersson
b2ec87f05f Run post-hooks even if backup actions fail
Signed-off-by: Calle Pettersson <cpettsson@gmail.com>
2018-05-23 18:44:55 +02:00
Steve Kriss
fb33d93186 Merge pull request #512 from carlpett/additional-backup-error
Handle errors in additionalItemBackupper
2018-05-23 09:02:20 -07:00
Steve Kriss
170034787d Merge pull request #513 from ncdc/510-follow-ups
Fix copyright date, add happy path test case
2018-05-23 08:54:22 -07:00
Calle Pettersson
b92d086712 Add additional test
Signed-off-by: Calle Pettersson <cpettsson@gmail.com>
2018-05-23 17:28:51 +02:00
Andy Goldstein
18e2401e79 Merge pull request #455 from skriss/remove-aws-region
AWS: remove region requirement from config for backupStorageProvider
2018-05-23 11:02:57 -04:00
Andy Goldstein
849297e623 Fix copyright date, add happy path test case
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-05-23 09:59:32 -04:00
Andy Goldstein
92e9d307a5 Merge pull request #510 from nrb/failed-backup-upload-491
Fail backup if object store upload fails
2018-05-23 09:55:11 -04:00
Nolan Brubaker
09bbe072cd Check errors when closing GCP objects
Writing to GCP's object store is any async operation, so errors need to
be checked both on write and close calls, since errors like permission
violations aren't reported until a close.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-22 17:38:49 -04:00
Andy Goldstein
5ff582ec42 Merge pull request #501 from dhananjaysathe/downstream
Add documentation on how to use a selector negation
2018-05-22 17:24:42 -04:00
Steve Kriss
b029860b46 AWS: remove region requirement from config for backupStorageProvider
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-22 11:59:53 -07:00
Andy Goldstein
8ce2006814 Merge pull request #506 from marpaia/config-options
Add functional options for the Ark config install library
2018-05-22 14:19:45 -04:00
Calle Pettersson
24dfef6f15 Handle errors in additionalItemBackupper
Signed-off-by: Calle Pettersson <cpettsson@gmail.com>
2018-05-22 18:32:48 +02:00
Mike Arpaia
cb7bcea5c3 Add functional options for the Ark config install library
Signed-off-by: Mike Arpaia <mike@arpaia.co>
2018-05-22 09:21:12 -06:00
Andy Goldstein
aeb5f6d832 Merge pull request #437 from marpaia/install-api
Add library code to install required server components
2018-05-18 16:48:42 -04:00
Mike Arpaia
16f707aa11 Add library code to install required server components
This PR includes Go library code to assist with the installation of
required server-side components.

Signed-off-by: Mike Arpaia <mike@arpaia.co>
2018-05-18 14:43:06 -06:00
Andy Goldstein
2fde1f5fc1 Merge pull request #500 from nrb/fix-497
Exit when failing to update a backup's phase
2018-05-17 14:23:41 -04:00
Andy Goldstein
3a746a3f73 Merge pull request #496 from nrb/fix-477
Check restore Phase before downloading logs
2018-05-17 13:23:23 -04:00
Andy Goldstein
f288902e3e Merge pull request #490 from skriss/jsonpatch
Use JSON merge patches everywhere
2018-05-17 13:02:47 -04:00
Nolan Brubaker
7eac6675e8 Exit when failing to update a backup's phase
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-17 12:47:38 -04:00
Nolan Brubaker
f6761ddd00 Check restore Phase before downloading logs
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-17 12:20:55 -04:00
Dhananjay Sathe
e313d6200a Add documentation on how to use a selector negation
This will help users use the `--selector` flag to selectively exclude objects from being backed up by ark

workaround for #404 until dedicated flags are implemented

Signed-off-by: Dhananjay Sathe <dhanajaysathe@gmail.com>
2018-05-17 21:21:39 +05:30
Steve Kriss
5d74a92cf1 Merge pull request #484 from nrb/move-groupresources
Consolidate commonly used GroupResource objects
2018-05-15 14:02:29 -07:00
Nolan Brubaker
f936c55a37 Consolidate commonly used GroupResource objects
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-15 15:55:15 -04:00
Andy Goldstein
ad93135adb Merge pull request #483 from skriss/graceful-shutdown-on-sigs
shutdown gracefully on SIGINT/SIGTERM
2018-05-15 14:33:09 -04:00
Andy Goldstein
67263d2652 Merge pull request #486 from nrb/fix-475
Filter on resources that support get & delete
2018-05-15 10:58:56 -04:00
Nolan Brubaker
4fcd222777 Expand required resource verbs with get and delete
Some resources use GET for listing, which resulted in errors.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-15 10:55:03 -04:00
Steve Kriss
6d6f734bc9 use json merge patches
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-14 14:34:24 -07:00
Andy Goldstein
014c0e2c4c Merge pull request #485 from skriss/fix-cohab
use new cohabitatingResources map for each backup
2018-05-14 15:02:33 -04:00
Steve Kriss
1c950aa17b unit test to ensure new cohabitatingResources map for each backup
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-14 10:23:21 -07:00
Steve Kriss
ed7fbc9178 use new cohabitatingResources map for each backup
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-11 16:30:14 -07:00
Steve Kriss
20f56e9868 cleanup plugin subprocesses on server exit
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-11 09:48:46 -07:00
Andy Goldstein
5bfd4f64db Merge pull request #482 from skriss/add-cohab-resources
add replicasets and daemonsets to cohabitating resources
2018-05-11 10:02:10 -04:00
Steve Kriss
09c20b51e6 shutdown gracefully on SIGINT/SIGTERM
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-10 16:22:14 -07:00
Steve Kriss
fbb5ead4e9 add replicasets and daemonsets to cohabitating resources
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-10 14:15:01 -07:00
Andy Goldstein
9fc1711d45 Merge pull request #480 from skriss/fix-azure-setup
Azure: fix issues with setup instructions on macOS
2018-05-09 16:56:51 -04:00
Steve Kriss
c4d1e705d3 Azure: fix issues with setup instructions on macOS
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-09 12:56:19 -07:00
Andy Goldstein
43b1f9a19e Merge pull request #418 from skriss/refactor-patch-tests
use typed structs for decoding patch JSON in unit tests
2018-05-09 15:44:21 -04:00
Andy Goldstein
ea83ed32f5 Merge pull request #470 from skriss/backup-cluster-roles-and-bindings
backups: include clusterroles/bindings that reference serviceaccounts
2018-05-09 13:21:13 -04:00
Steve Kriss
041cfc2173 backups: include clusterroles/bindings that reference serviceaccounts
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-09 10:03:55 -07:00
Andy Goldstein
50a5550291 Merge pull request #478 from skriss/osx-build-perf-fix
when building on macOS, bind-mount volumes with delegated config
2018-05-09 10:36:14 -04:00
Andy Goldstein
ef5ac7fd05 Merge pull request #463 from nrb/fix-454
Don't restore completed pods or jobs
2018-05-09 09:59:34 -04:00
Andy Goldstein
3f3deda3d4 Merge pull request #479 from skriss/image-tagging-doc
add image-tagging policy doc
2018-05-09 09:15:38 -04:00
Steve Kriss
9e521aa757 add image-tagging policy doc
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-08 16:09:19 -07:00
Steve Kriss
a280e8cfd2 when building on macOS, bind-mount volumes with delegated config
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-07 16:00:03 -07:00
Andy Goldstein
c4bb6501ca Merge pull request #476 from skriss/dep-cleanup
Dep cleanup
2018-05-07 23:33:06 +02:00
Steve Kriss
9affb3c92a clean up/organize Gopkg.toml
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-07 10:02:59 -07:00
Steve Kriss
e81de2491f remove duplicate github.com/satori/go.uuid dependency
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-07 10:02:59 -07:00
Steve Kriss
51928e9177 use typed structs for decoding patch JSON in unit tests
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-07 09:22:20 -07:00
Andy Goldstein
5d8d221157 Merge pull request #472 from skriss/sync-ns-bug
when syncing backups, set their namespace to current cluster's Ark ns
2018-05-07 18:16:47 +02:00
Steve Kriss
6754955bcd when syncing backups, set their namespace to current cluster's Ark ns
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-05-07 09:12:51 -07:00
Andy Goldstein
fbda82ed63 Merge pull request #456 from skriss/go-1.10
upgrade to go 1.10 / alpine 3.7
2018-05-07 17:32:07 +02:00
Nolan Brubaker
923870390b Skip completed jobs and pods when restoring
Completed jobs and pods may be useful in the backup for auditing
purposes, but don't recreate them when restoring.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-05-02 12:16:54 -04:00
Jennifer Rondeau
96b0808e3a Merge pull request #460 from skriss/debugging-docs
add installation troubleshooting doc with common issues
2018-04-27 09:26:56 -04:00
Andy Goldstein
e6624506cf Merge pull request #465 from castrojo/update-slack
Add a direct link to the slack channel
2018-04-26 15:16:10 -04:00
Jorge O. Castro
6d46b5f1eb Add a direct link to the slack channel
Signed-off-by: Jorge O. Castro <jorge.castro@gmail.com>
2018-04-26 15:00:14 -04:00
Steve Kriss
193fdb7026 add installation troubleshooting doc with common issues
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-25 11:22:55 -07:00
Andy Goldstein
b6316aff70 Merge pull request #458 from gianrubio/review-docs
Fix invalid file
2018-04-25 07:13:50 -04:00
Giancarlo Rubio
1f7d5c18f2 Fix invalid file
Signed-off-by: Giancarlo Rubio <gianrubio@gmail.com>
2018-04-25 13:07:40 +02:00
Steve Kriss
fd1c8294ce use the go 1.10 build cache
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-24 13:12:54 -07:00
Steve Kriss
2889db72ac update to go 1.10 & alpine 3.7
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-24 13:12:54 -07:00
Andy Goldstein
18d6b233da Merge pull request #453 from nrb/fix-444
Make empty excludes string more accurate
2018-04-24 14:53:33 -04:00
Andy Goldstein
c8989231eb Merge pull request #417 from skriss/upgrade-k8s-deps
Upgrade apimachinery, client-go, api, kubernetes dependencies
2018-04-24 14:53:11 -04:00
Nolan Brubaker
05cb059b1a Make empty excludes string more accurate
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-04-24 14:34:56 -04:00
Andy Goldstein
ff6e9dd2f3 Merge pull request #452 from mattmoyer/update-build-image
Switch to upstream Go build images.
2018-04-24 11:07:28 -04:00
Matt Moyer
deae0e6ae1 Switch to upstream Go build images.
These internal `gcr.io/heptio-images/golang` images are deprecated. It looks like `git` and `bash` are the only things the Ark build needed that aren't in the upstream `golang:1.9-alpine3.6` image.

Signed-off-by: Matt Moyer <moyer@heptio.com>
2018-04-24 09:53:23 -05:00
Andy Goldstein
dc8c66b305 Merge pull request #447 from skriss/v0.8.1-changelog
changelog for v0.8.1
2018-04-23 16:07:56 -04:00
Steve Kriss
66646e6e03 changelog for v0.8.1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-23 13:01:03 -07:00
Andy Goldstein
726d61fab4 Merge pull request #449 from skriss/azure-restore-fix
azure: pass full snapshot name when restoring disk
2018-04-23 15:58:50 -04:00
Steve Kriss
72d7e5e01d azure: pass full snapshot name when restoring disk
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-23 12:51:05 -07:00
Andy Goldstein
206bf3dfe3 Merge pull request #446 from skriss/azure-snapshot-uri-compat
add backwards-compatibility for azure snapshot ID
2018-04-23 14:39:40 -04:00
Steve Kriss
a466208975 add backwards-compatibility for azure snapshot ID
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-23 11:34:37 -07:00
Steve Kriss
3dc093c24a regenerate code with updated generator
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:59:22 -07:00
Steve Kriss
c7b52bf1fe upgrade build image to v1.10 dependencies
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:59:22 -07:00
Steve Kriss
989169dcfe remove unused kubernetes/pkg/util/version dependency
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:59:22 -07:00
Steve Kriss
31645d163e remove Gopkg.toml override for blackfriday (not needed)
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:59:10 -07:00
Steve Kriss
97e52f2b3c add timeout arg to rest.NewRequest()
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:58:53 -07:00
Steve Kriss
961d7f2924 kubernetes/pkg/printers/ShortHumanDuration -> apimachinery/pkg/util/duration
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:58:53 -07:00
Steve Kriss
f87280d369 upgrade apimachinery, client-go, kubernetes, api deps
Update k8s.io/api to v1.10.0
Update k8s.io/apimachinery to v1.10.0
Update k8s.io/client-go to v7.0
Update k8s.io/kubernetes to v1.10

Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-20 12:58:20 -07:00
Nolan Brubaker
9155baee7c Merge pull request #442 from ncdc/ns-docs-fix
Remove guidance to run Ark in a separate namespace
2018-04-20 10:50:10 -04:00
Andy Goldstein
d6436ad2b1 Merge pull request #438 from skriss/aws-doc-link
AWS: add missing link ref
2018-04-20 06:57:38 -04:00
Andy Goldstein
783bdb0455 Remove guidance to run Ark in a separate namespace
Now that we're no longer using a finalizer as part of backup deletion,
it's fine to run the Ark server in the same namespace as all of the
resources.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-20 06:54:28 -04:00
Steve Kriss
631f3d6acc add missing link ref
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-19 14:01:23 -07:00
Andy Goldstein
94309aa72e Merge pull request #435 from skriss/tag-push-latest
docker tag and push :latest when building a git tag
2018-04-19 13:36:06 -04:00
Steve Kriss
c1af90dcc8 docker tag and push :latest when building a git tag
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-19 10:19:35 -07:00
Nolan Brubaker
3be8d072ab Merge pull request #433 from skriss/v0.8.0-changelog
update changelog for v0.8.0
2018-04-19 12:30:38 -04:00
Steve Kriss
5c0e3a6715 update changelog for v0.8.0
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-19 08:37:06 -07:00
Steve Kriss
a9bd9a76cc Merge pull request #431 from nrb/clear-finalizer-on-sync
Remove finalizers from backups before syncing
2018-04-18 14:53:09 -07:00
Nolan Brubaker
300a010959 Remove finalizers from backups before syncing
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-04-18 17:32:39 -04:00
Andy Goldstein
5d7e467794 Merge pull request #432 from asenchi/fix-docker-push
Remove deprecated method for pushing images to GCR
2018-04-18 15:37:47 -04:00
Curt Micol
bdfdf8d38e Remove deprecated method for pushing images to GCR
Signed-off-by: Curt Micol <asenchi@heptio.com>
2018-04-18 15:28:08 -04:00
Nolan Brubaker
19c2fe3aaf Merge pull request #429 from skriss/minimal-gcp-policy
GCP: create/use IAM role with minimal set of permissions
2018-04-18 14:31:43 -04:00
Steve Kriss
6549ef8075 GCP: create/use IAM role with minimal set of permissions
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-17 11:22:35 -07:00
Andy Goldstein
1f6b496f5e Merge pull request #427 from containscafeine/add-common-deployment
Add examples/common/10-deployment.yaml back
2018-04-17 09:27:38 -04:00
Shubham
d47887a807 Remove references to common/10-deployment.yaml
The changes in 1db966bf3c (diff-c31a634b9c201723f2478087620b10c5) removed examples/common/10-deployment.yaml, which is listed in
README.md to start the server  at -
https://github.com/heptio/ark#set-up-server

This commit removes the references from the documentation.

Signed-off-by: Shubham <shubham@linux.com>
2018-04-17 18:37:28 +05:30
Andy Goldstein
71e1e2990e Merge pull request #425 from lypht/fix_gcp_ns
Reverting namespace to single namespace deployment
2018-04-13 09:23:49 -04:00
Josh Hull
e7098e5d88 Fixes the remaining three occurrences of the old namespace
Signed-off-by: Josh Hull <josh.hull@lypht.com>
2018-04-13 06:37:00 -05:00
Josh Hull
b446f66baa Reverting namespace to single namespace deployment
Signed-off-by: Josh Hull <josh.hull@lypht.com>
2018-04-13 06:25:15 -05:00
Nolan Brubaker
288ce9f33c Merge pull request #402 from domderen/kube2iam
Documentation on using ark with kube2iam
2018-04-12 14:20:19 -04:00
Dominik Deren
1db966bf3c Documentation on using ark with kube2iam
This PR updates the documentation & example deployment template to show how `ark` can be ran utilizing [https://github.com/jtblin/kube2iam](Kube2iam) for AWS IAM permissions, rather than using access key & secret key.

Signed-off-by: Dominik Deren <dominik.deren@live.com>
2018-04-12 10:53:23 -07:00
Andy Goldstein
2e08fd40a7 Merge pull request #419 from hopkinsth/fix/s3-perms
fix/s3-perms
2018-04-12 11:30:22 -04:00
Andy Goldstein
3a85f25e2b Merge pull request #415 from ffd2subroutine/add-node-selector
add nodeSelector so that ark server doesn't end up on a windows node …
2018-04-12 11:28:41 -04:00
Andy Goldstein
730ddb2113 Merge pull request #391 from containscafeine/handle-restore-missing-error
Introduce validation logic to `ark restore logs`
2018-04-12 11:07:29 -04:00
Andy Goldstein
e78c892a59 Merge pull request #384 from containscafeine/add-bash-zsh-completion
Add bash and zsh completion support
2018-04-12 11:00:53 -04:00
Shubham Minglani
7f3e88151b Add bash and zsh completion support
This commit adds support for auto completion for bash and zsh
shells. A new root level command called "completion" has been
introduced, and the user can get the auto completion code by
running `ark completion bash/zsh`.

For bash completion, the built-in GenBashCompletion() from cobra
has been used, but for zsh, the built-in GenZshCompletion() is
known to cause issues. The workaround has been copied from zsh
completion code of kubectl.

Signed-off-by: Shubham <shubham@linux.com>
2018-04-12 13:26:23 +05:30
Shubham
468c4faf1b Introduce validation logic to ark restore logs
This commit introduces validation logic to `ark restore logs`
command, the way it already exists in other commands like `ark
restore create`.

Before the logs for a restore are fetched from the server, the
server is contacted to check if the specified restore exists. If
it does not, it errors out.

Fixes #389

Signed-off-by: Shubham <shubham@linux.com>
2018-04-12 13:06:32 +05:30
Andy Goldstein
a48cc6ed23 Merge pull request #421 from skriss/changelog-typos
fix typos in changelog
2018-04-11 14:53:02 -04:00
Steve Kriss
352d667e13 fix typos in changelog
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-11 11:39:33 -07:00
Andy Goldstein
8a9fdc4316 Merge pull request #420 from skriss/v0.8.0-rc.1-changelog
update changelog for v0.8.0-rc.1
2018-04-11 13:56:30 -04:00
Steve Kriss
099f91f8fb update changelog for v0.8.0-rc.1
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-11 10:39:38 -07:00
Andy Goldstein
0998f6d8af Merge pull request #405 from nrb/ignore-duplicates
Compare for duplicates before logging object exists errors
2018-04-11 09:47:37 -04:00
Thomas Hopkins
612fe31bff move AbortMultipartUpload and ListMultipartUploadParts to the object-level IAM policy statement
Signed-off-by: Thomas Hopkins <hopkinsth@gmail.com>
2018-04-10 20:32:09 -04:00
Nolan Brubaker
33cc85cd0c Compare backup and cluster objects before logging
When restoring resources that raise an already exists error, check their
equality before logging a message on the restore. If they're the same
except for some metadata, don't generate a message.

The restore process was modified so that if an object had an empty
namespace string, no namespace key is created on the object. This was to
avoid manipulating the copy of the current cluster's object by adding
the target namespace.

There are some cases right now that are known to not be equal via this
method:

- The `default` ServiceAccount in a namespace will not match, primarily
because of differing default tokens. These will be handled in their own
patch
- IP addresses for Services are recorded in the backup object, but are
either not present on the cluster object, or different. An issue for
this already exists at https://github.com/heptio/ark/issues/354
- Endpoints have differing values for `renewTime`. This may be
insubstantial, but isn't currently handled by the resetMetadataAndStatus
function.
- PersistentVolume objects do not match on spec fields, such as
claimRef and cloud provider persistent disk info

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-04-10 14:55:48 -04:00
Andy Goldstein
258f3e011e Merge pull request #409 from skriss/fix-398
get backup name from restore spec when handling restore DownloadRequests
2018-04-10 13:29:07 -04:00
Andy Goldstein
278c1c6087 Merge pull request #414 from skriss/unit-test-fix
add helper function to compare slices of actions reliably and fix test flake
2018-04-10 13:27:26 -04:00
Nolan Brubaker
b6b87668c0 Add equality dependency
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-04-10 12:27:54 -04:00
Steve Kriss
0d2b49acce get backup name from restore spec when handling restore DownloadRequests
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-09 10:50:10 -07:00
Steve Kriss
5bb47d2b7a extract a helper for comparing slices of Actions reliably
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-09 09:39:33 -07:00
ffd2subroutine
bcd63bf0e8 add nodeSelector so that ark server doesn't end up on a windows node when running a hybrid cluster
Signed-off-by: ffd2subroutine <ffd2subroutine@users.noreply.github.com>
2018-04-09 09:33:17 +02:00
Steve Kriss
25d46a709b Merge pull request #383 from ncdc/delete-backup-request
Switch from finalizer to DeleteBackupRequest for deleting backups
2018-04-06 12:24:35 -07:00
Andy Goldstein
3f2e222ae4 Don't allow deletion of in-progress backups
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-06 13:08:39 -04:00
Andy Goldstein
644a75e3c1 Set DeleteBackupRequest labels if missing
When the BackupDeletionController processes a request, set the request's
backup-name and backup-uid labels if they aren't currently set.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 15:38:44 -04:00
Andy Goldstein
ef57a44827 Require DeleteBackupRequest.Spec.BackupName
Make sure a DeleteBackupRequest has its Spec.BackupName filled in. If
not, record an error in the status and mark the request as processed.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 14:53:10 -04:00
Andy Goldstein
4328b67f93 backup delete/describe enhancements
Always request DeleteBackupRequests for a given backup so we can show
failed deletion attempts if you try to delete a backup that has PV
snapshots when Ark doesn't have a persistentVolumeProvider configured.

When creating a DeleteBackupRequest, include a label for the UID so we
can match based on name and UID when associated DeleteBackupRequests
with a given backup.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 14:21:45 -04:00
Andy Goldstein
a4d5061a02 Regen docs
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 11:19:11 -04:00
Andy Goldstein
1ae492da6c Expire processed deleted backup requests > 24hr
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 11:19:11 -04:00
Andy Goldstein
dd9b9f3bba Add DeleteBackupRequest CRD to 00-prereqs.yaml
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 11:19:11 -04:00
Andy Goldstein
1545406472 Switch back to heptio-ark for the server
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 11:19:11 -04:00
Andy Goldstein
74f60b1ee1 Switch backup finalizer to DeleteBackupRequest
We ran into a lot of problems using a finalizer on the backup to allow
the Ark server to clean up all associated backup data when deleting a
backup.

Users also found it less than desirable that deleting the heptio-ark
namespace resulted in all the backup data being deleted.

This removes the finalizer and replaces it with an explicit
DeleteBackupRequest that is created as a means of requesting the
deletion of a backup and all its associated data. This is what `ark
backup delete` does.

If you use kubectl to delete a backup or to delete the heptio-ark
namespace, this no longer deletes associated backups. Additionally, as
long as the heptio-ark namespace still exists, the Ark server's
BackupSyncController will continually sync backups into the heptio-ark
namespace from object storage.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-05 11:16:15 -04:00
Andy Goldstein
b0a2a0bf7b Remove k8s.io/code-generator dependency
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-04 16:44:16 -04:00
Andy Goldstein
1455d67152 Use a custom builder image
Use a custom builder image to do all of Ark's builds. This image now
contains k8s.io/code-generator for code generation.

Enable docker in travis to use the builder image.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-04 16:44:16 -04:00
Andy Goldstein
a5f2fec0a0 Update deps to pull in json-patch
Now that we've configured pruning for dep, this removes all unused
packages, all non-go files, and all tests from the vendor directory.

NOTE: due to a change in dep, it preserves anything that looks like a
license file. We'll be pulling in a few files we weren't previously
using - mostly license files. It's easier to just go with what dep does
than to try to exclude them after the fact.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-04 16:44:16 -04:00
Andy Goldstein
4d8fb900c6 Update dep info
- Add pruning settings to Gopkg.toml
- Update vendoring deps doc to point to dep installation instructions
  and to use dep instead of hack/dep-save.sh
- Remove hack/dep-save.sh

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-04-04 16:44:16 -04:00
Andy Goldstein
d1293825ef Merge pull request #412 from skriss/cmd-changes
use cobra's arg-count validation & call Complete() before Validate()
2018-04-04 16:39:48 -04:00
Steve Kriss
80b66434c0 move getting client into Complete()
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-03 20:43:42 -07:00
Steve Kriss
c60e47dedd use cobra's arg-count validation & call Complete() before Validate()
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-04-03 09:45:29 -07:00
Andy Goldstein
a2f5e14a32 Merge pull request #392 from containscafeine/prioritize-limitranges
Add limitranges to defaultResourcePriorities
2018-03-20 09:22:19 -04:00
Shubham
73499c2cff Add limitranges to defaultResourcePriorities
This commit adds limitranges to defaultResourcePriorities as
suggested in #385.

This is done so that pods are not restored before the LimitRange
objects, because that would lead to pods not honoring the requests
and limits set in LimitRange objects.

Fixes #385

Signed-off-by: Shubham <shubham@linux.com>
2018-03-17 21:13:44 +05:30
Andy Goldstein
3063d33d71 Merge pull request #388 from containscafeine/fix-error-typo
Fix typo: replace ; with :
2018-03-16 08:59:57 -04:00
Shubham
560f9504e1 Fix typo: replace ; with :
This commit replaces a ; with a : in an error message

Signed-off-by: Shubham <shubham@linux.com>
2018-03-16 18:24:34 +05:30
Andy Goldstein
db0a670c4a Merge pull request #386 from containscafeine/fix-minio-storage
Change minio volume to emptyDir from hostPath
2018-03-16 08:02:34 -04:00
Shubham Minglani
fd2bf9f03a Change minio volume to emptyDir from hostPath
This commit changes the type of volume mounted inside the minio pod
from hostPath to emptyDir. This is done because minio requires
at least 1Gi to start, but the default hostPath under /tmp in
minishift does not have enough capacity.

Fixes #382

Signed-off-by: Shubham <shubham@linux.com>
2018-03-16 14:40:35 +05:30
Andy Goldstein
3172e907a1 Merge pull request #341 from skriss/snapshot-tags
Add tags to snapshots, restored volumes
2018-03-14 12:50:40 -04:00
Andy Goldstein
07fcc927b7 Merge pull request #359 from skriss/reduce-azure-polling-interval
Azure: reduce client polling interval from default 60s to 5s
2018-03-14 12:17:54 -04:00
Steve Kriss
45cee7d222 Azure: reduce client polling interval from default 60s to 5s
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-14 09:07:20 -07:00
Andy Goldstein
bd505fb0ad Merge pull request #378 from skriss/fix-az-snap-deletion
Azure: fix bug preventing snapshot deletion
2018-03-14 06:53:28 -04:00
Steve Kriss
b2b16b3c85 Azure: fix bug preventing snapshot deletion
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 17:03:14 -07:00
Steve Kriss
0388845bca AWS: tag snapshots during create
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 12:17:50 -07:00
Steve Kriss
0dddfc3e0f update AWS SDK to 1.13.12, remove unused Azure package
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 12:17:50 -07:00
Steve Kriss
a05ae1a7cf add useful Ark tags to snapshots
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 12:17:50 -07:00
Steve Kriss
df985bca74 Azure: copy tags from volume to snapshot, and snapshot to volume
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 12:17:50 -07:00
Steve Kriss
cab904570f GCP: copy tags from volume to snapshot, and snapshot to volume
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 11:52:09 -07:00
Steve Kriss
9673e9d158 AWS: copy tags from volume to snapshot, and snapshot to volume
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 11:52:09 -07:00
Steve Kriss
51c546786e Merge pull request #374 from sanketjpatel/feat/exclude-events-restore
Add events to nonRestorableResources and cohabitatingResources
2018-03-13 11:23:17 -07:00
Andy Goldstein
f83b1de1dc Merge pull request #356 from skriss/store-azure-snapshot-uri
Azure: store snapshot URI to support cross-resource group restores
2018-03-13 13:45:48 -04:00
Steve Kriss
409f17361d Azure: store snapshot URI to support cross-resource group restores
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-13 09:18:20 -07:00
Sanket Patel
7257a75f82 Add events to nonRestorableResources and cohabitatingResources
Fixes #367
Fixes #368

Signed-off-by: Sanket Patel <sanketpatel.301090@gmail.com>
2018-03-12 19:55:32 -05:00
Andy Goldstein
8d8ae9c2df Merge pull request #363 from hopkinsth/master
add policy document for AWS with only necessary permissions
2018-03-08 13:24:13 -05:00
Thomas Hopkins
5b8a9d9632 add policy document for AWS with only necessary permissions
Signed-off-by: Thomas Hopkins <hopkinsth@gmail.com>
2018-03-08 13:07:48 -05:00
Andy Goldstein
178a007b70 Merge pull request #362 from skriss/tweak-hook-logging
during backup, only log if hooks are actually executing
2018-03-07 13:37:03 -05:00
Steve Kriss
26944cf9a2 only log if hooks are actually executing
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-07 09:29:27 -08:00
Andy Goldstein
7328fd0e10 Merge pull request #343 from skriss/gc-bug
add an AddFunc to handle finalizers in GC for initial lists/resyncs
2018-03-06 16:41:57 -05:00
Andy Goldstein
fd579f5f16 Merge pull request #321 from roytman/ibm-object-storage
Ibm object storage
2018-03-06 10:53:05 -05:00
roytman@il.ibm.com
5cc29e0db2 Add IBM Cloud Object Storage as Ark's backup destination
Signed-off-by: roytman@il.ibm.com <roytman@il.ibm.com>
2018-03-06 17:46:26 +02:00
Steve Kriss
973f630cc7 Merge pull request #344 from ncdc/remove-azure-location-requirement
Remove Azure location requirement
2018-03-05 12:35:06 -08:00
Andy Goldstein
331e0c28cc Remove Azure location requirement
Instead of requiring the Ark admin to specify a "location" in the azure
persistentVolumeProvider config (meaning only a single location is
supported), get info about the disk (for its location) when creating a
snapshot, and get info about the snapshot (for its location) when
creating a disk from a snapshot.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-03-05 15:20:58 -05:00
Andy Goldstein
7c7bfb06b4 Merge pull request #342 from skriss/refactor-restore-cmd
add --from-backup flag to ark restore create & allow restore naming
2018-03-05 13:24:29 -05:00
Steve Kriss
0c41688354 regen docs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-05 10:06:43 -08:00
Steve Kriss
c281124cba add --from-backup flag to ark restore create & allow restore name
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-05 10:06:43 -08:00
Nolan Brubaker
f53d605e77 Merge pull request #349 from ncdc/fix-error-return
Fix incorrect return when err != nil
2018-03-05 11:10:38 -05:00
Andy Goldstein
6930c846e5 Fix incorrect return when err != nil
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-03-05 10:57:23 -05:00
Nolan Brubaker
9d03315558 Merge pull request #348 from ncdc/fix-readme-heptio-ark-server
Use correct namespace for ark server deployment
2018-03-05 10:53:20 -05:00
Andy Goldstein
d5cdbb0ab7 Use correct namespace for ark server deployment
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-03-05 10:39:32 -05:00
Andy Goldstein
cc9be4489a Merge pull request #345 from skriss/gcp-project
extract GCP project ID from creds file, remove from config
2018-03-05 10:35:39 -05:00
Steve Kriss
cbff5ef53b extract GCP project ID from creds file, remove from config
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-02 09:15:12 -08:00
Steve Kriss
509431909a add an AddFunc to handle finalizers in GC for initial lists/resyncs
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-02-28 16:56:23 -08:00
Steve Kriss
975dce929c Merge pull request #331 from lypht/schedule
Include cron examples for schedule creation
2018-02-28 15:32:28 -08:00
Josh Hull
f733869142 Include cron examples for schedule creation
Signed-off-by: Josh Hull <josh.hull@lypht.com>
2018-02-28 16:50:52 -06:00
Steve Kriss
52641e8e29 Merge pull request #334 from ncdc/run-ark-server-locally
Run ark server locally
2018-02-28 13:06:02 -08:00
Andy Goldstein
7de129e4a3 Merge pull request #335 from nrb/master
Update the ROADMAP to reflect 0.7.0 release
2018-02-27 17:02:38 -05:00
Nolan Brubaker
dc8bc5f486 Update the ROADMAP to reflect 0.7.0 release
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-02-27 16:46:51 -05:00
Andy Goldstein
e3c40a1de7 Regen docs
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-27 14:51:13 -05:00
Andy Goldstein
e618e0e456 server: allow configurable plugin dir
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-27 14:50:38 -05:00
Andy Goldstein
f13b0c00a3 server: don't assume /ark for internal plugins
If you want to test changes to the ark server without having to rebuild
and redeploy the ark container, this change allows you to do something
like this (assuming you've created your cloud credentials file):

AWS_SHARED_CREDENTIALS_FILE=credentials-minio ark server -n heptio-ark

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-27 14:32:45 -05:00
Nolan Brubaker
e73ba839f3 Merge pull request #296 from blakebarnett/bdb/add_kubecontext_flag
Adds a kubecontext global flag
2018-02-26 17:05:59 -05:00
Nolan Brubaker
abeeee6643 Merge pull request #333 from ncdc/add-force-delete-backup
Allow forced backup deletion
2018-02-26 16:44:37 -05:00
Andy Goldstein
d24fb232cc Allow forced backup deletion
Add --force and --confirm to `ark backup delete` to support forced
backup deletion. This forcibly removes the Ark GC finalizer (if it's
present) from a backup and will orphan any resources associated with the
backup, such as backup tarballs in object storage, persistent volume
snapshots, and restores for the backup.

If a backup has a deletion timestamp, display `Deleting` in `ark backup
describe` and `ark backup get`.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-26 16:25:22 -05:00
Blake
465c60b408 Add global kubecontext CLI flag
Signed-off-by: Blake <blake.barnett@postmates.com>
2018-02-26 10:47:39 -08:00
Nolan Brubaker
fcbc7bd570 Merge pull request #302 from ncdc/check-backup-before-creating-restore
Error if backup missing when creating a restore
2018-02-26 12:05:38 -05:00
Steve Kriss
530e22939d Merge pull request #326 from ncdc/changelog-0.7.1
Update changelog for v0.7.1
2018-02-22 17:55:52 -08:00
Andy Goldstein
22ec2a3d56 Update changelog for v0.7.1
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-22 20:51:58 -05:00
Jennifer Rondeau
7e0a629db1 Merge pull request #325 from Bradamant3/test-doc-paths
fix syntax for doc paths on GH
2018-02-21 14:45:55 -05:00
JENNIFER RONDEAU
41b1a80398 fix syntax for doc paths on GH
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-02-21 14:29:17 -05:00
Andy Goldstein
601d9f2da1 Merge pull request #323 from Bradamant3/move-server-docs
edit troubleshooting, add links
2018-02-21 13:53:07 -05:00
JENNIFER RONDEAU
a289b1c645 edit per comments
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-02-21 13:39:10 -05:00
JENNIFER RONDEAU
bc77307d75 edit troubleshooting, add links
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-02-21 13:18:34 -05:00
Andy Goldstein
2bc8c52053 Merge pull request #322 from ncdc/run-server-in-separate-ns
Move ark server & minio to heptio-ark-server ns
2018-02-21 11:03:07 -05:00
Andy Goldstein
a0111d875f Add troubleshooting doc for backups stuck deleting
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-21 10:46:08 -05:00
Andy Goldstein
08d4fc8b88 Move ark server & minio to heptio-ark-server ns
Move ark server deployment & minio deployment to a separate namespace
from the backups/schedules/restores/config because backups now have a
finalizer. If everything lives in one namespace, you have to delete all
the backups and wait for the GC controller to process them and remove the
finalizer from each before deleting the namespace.

By moving the server into a separate namespace, users can now delete the
heptio-ark namespace the normal way (kubectl delete), and once that
namespace is fully removed, they can delete the heptio-ark-server
namespace.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-20 12:41:38 -05:00
Andy Goldstein
46adb6c6aa Merge pull request #319 from chasestarr/fix-cloud-provider-doc-links
fixes broken cloud provider doc links
2018-02-19 12:39:58 -05:00
Chase Starr
c417e30a07 fixes broken cloud provider doc links
Signed-off-by: Chase Starr <chasestarr@gmail.com>
2018-02-16 11:30:06 -08:00
Andy Goldstein
f449e238fc Merge pull request #313 from Bradamant3/0.7-doc-updates
Add doc changes for 0.7.0
2018-02-15 15:25:47 -05:00
Steve Kriss
dc5bbada36 Merge pull request #315 from ncdc/changelog-0.7.0
Update changelog for v0.7.0
2018-02-15 11:54:10 -08:00
Andy Goldstein
621d0fad4e Update changelog for v0.7.0
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-15 13:48:39 -05:00
JENNIFER RONDEAU
3b8e32facc add doc changes for 0.7.0
Signed-off-by: JENNIFER RONDEAU <jrondeau@heptio.com>
2018-02-15 13:25:18 -05:00
Steve Kriss
ac1f833415 Merge pull request #293 from ncdc/add-roadmap
Add initial ROADMAP.md
2018-02-05 19:02:37 -08:00
Andy Goldstein
cc4d2916fa Error if backup missing when creating a restore
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-05 13:29:48 -05:00
Steve Kriss
11f2be6254 Merge pull request #294 from ncdc/mkdir-p
Create the config directory in case it's missing
2018-02-02 13:07:45 -08:00
Andy Goldstein
b2cd8e1fe8 Create the config directory in case it's missing
Always try to create the config directory when saving the client config
in case it doesn't exist.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-02 16:01:52 -05:00
Andy Goldstein
262dd46d7a Add initial ROADMAP.md
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-02 15:23:05 -05:00
Andy Goldstein
8cf272473d Merge pull request #285 from lypht/improveLocationConstraint
Update s3 bucket creation docs for us-east-1
2018-01-17 11:28:29 -05:00
Josh Hull
50b5c0f8a6 Update s3 bucket creation docs for us-east-1
Signed-off-by: Josh Hull <josh.hull@lypht.com>

improve non-optional location-constraint verbiage

Signed-off-by: Josh Hull <josh.hull@lypht.com>

changing location-constraint to LocationConstraint

Signed-off-by: Josh Hull <josh.hull@lypht.com>

Zero assumptions are optimal

Signed-off-by: Josh Hull <josh.hull@lypht.com>
2018-01-17 10:12:09 -06:00
Andy Goldstein
6712e2a9ec Merge pull request #270 from nrb/fix-232
Clarify backup and restore creation messages
2018-01-11 12:22:11 -05:00
Andy Goldstein
f5f1dbac5d Merge pull request #271 from nrb/fix-246
Invalidate restores based on non-existent backups
2018-01-10 13:24:53 -05:00
Andy Goldstein
1035cf72ce Merge pull request #249 from skriss/update-gcp-lib
update GCP client libraries
2018-01-08 14:55:18 -05:00
Steve Kriss
af81f589f6 update GCP block store to use v1 library, and tag snapshots on create
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-08 09:23:32 -08:00
Steve Kriss
350fd894f3 vendor GCP compute v1 library
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-08 09:22:57 -08:00
Nolan Brubaker
37f498cd37 Clarify backup and restore creation messages
When running `ark <resource> create`, a request is sent to the server,
but the status is not immediately known. Inform the user that a request
was sent and provide a way to get more information on it.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-01-08 10:26:51 -05:00
Nolan Brubaker
bb7b0a3c33 Invalidate restores based on missing backups
When creating a restore based on a backup that doesn't exist, the
restore should be marked as invalid and the error clearly communicated
so the user understands why the restore wasn't made.

Previously, the restore was left as in progress with an error attached.

Since restores are CRDs and must be updated via a controller, there's
currently not a way to give the client immediate errors.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-01-08 10:10:01 -05:00
Steve Kriss
b53ee44176 update GCP object store to use new/recommended lib
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-05 14:21:13 -08:00
Steve Kriss
e130011d1e Merge pull request #272 from ncdc/arbitrary-namespaces
Support running in any namespace
2018-01-05 14:15:18 -08:00
Steve Kriss
4264abd77f Merge pull request #243 from ncdc/pre-post-hooks
Support both pre and post backup hooks
2018-01-05 14:03:48 -08:00
Andy Goldstein
47da01c0e9 Regen docs
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-05 16:52:53 -05:00
Andy Goldstein
816f14c0b4 Support running in any namespace
Add the ability for the Ark server to run in any namespace.

Add `ark client config get/set` for manipulating the new client
configuration file in $HOME/.config/ark/config.json. This holds client
defaults, such as the Ark server's namespace (to avoid having to specify
the --namespace flag all the time).

Add a --namespace flag to all client commands.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-05 16:51:59 -05:00
Andy Goldstein
326eb7a4e8 Merge pull request #273 from skriss/pv-annotations-docs-fix
remove outdated line about backups removing PV annotations
2018-01-05 15:10:16 -05:00
Steve Kriss
92a18f490b remove outdated line about backups removing PV annotations
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-05 10:30:41 -08:00
Andy Goldstein
de785af89d Support pre and post hooks.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-05 10:47:34 -05:00
Andy Goldstein
d56b5f2b66 Updated generated CRD code
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-04 10:44:20 -05:00
Andy Goldstein
412793e809 Update client-go to v6.0.0
Also update:
- kubernetes to v1.9.0
- k8s.io/api, k8s.io/apimachinery, k8s.io/code-generator to kubernetes-1.9.0
- gengo to b58fc7edb82e0c6ffc9b8aef61813c7261b785d4 (to match code-generator)

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-04 10:44:19 -05:00
Steve Kriss
656428d0b9 Merge pull request #250 from ncdc/backup-controller-do-as-much-as-possible
BackupController: do as much as possible
2018-01-03 12:10:51 -08:00
Andy Goldstein
1b124a3146 Log backup item action error when it occurs
If a backup item action errors, log the error as soon as it occurs, so
it's clear when the error happened. Also include information about the
groupResource, namespace, and name of the item in the error.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-03 13:20:05 -05:00
Andy Goldstein
6b0b6373da Merge pull request #252 from skriss/delete-backup
add delete backup cmd using finalizer and simplify GC process
2018-01-02 14:26:03 -05:00
Andy Goldstein
56ca4bab2f Merge pull request #268 from skriss/2018
update copyright header to 2018 and make language/casing consistent
2018-01-02 14:16:26 -05:00
Steve Kriss
1503796419 make language and casing consistent across copyrights
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-02 10:51:49 -08:00
Steve Kriss
3b157afbbd update copyright year to 2018 for generated files
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-02 10:48:42 -08:00
Andy Goldstein
17fde8387a Merge pull request #263 from skriss/keep-pv-annotations
don't remove annotations from PVs on restore
2018-01-02 13:42:25 -05:00
Steve Kriss
1c974782fa disable GC and backup deletion if Kubernetes is less than v1.7.5
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-22 10:25:32 -08:00
Steve Kriss
8878ba860e don't remove annotations from PVs on restore
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 13:23:48 -08:00
Jennifer Rondeau
83e85ff2ab Merge pull request #259 from skriss/create-bucket-docs
add create bucket step to cloud provider docs, simplify example with PVs
2017-12-21 11:35:43 -08:00
Steve Kriss
cbc8a7927e remove tagging of PV from with PV example, backup by namespace
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 10:54:27 -08:00
Steve Kriss
8e5feec39c include restore & schedule under ark delete
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 10:47:37 -08:00
Steve Kriss
f5123794e0 add delete backup cmd using finalizer and simplify GC process
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 10:47:37 -08:00
Steve Kriss
5fc5bdbcf8 add create bucket step to cloud provider docs
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 09:26:14 -08:00
Andy Goldstein
0fc087c967 Flatten aggregated errors
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-21 11:56:33 -05:00
Jennifer Rondeau
7cc73fb9d2 Merge pull request #237 from nrb/gke-rbac
Document GKE cluster-admin step
2017-12-20 17:38:05 -08:00
Steve Kriss
732ba2f3e0 Merge pull request #258 from ncdc/prioritize-service-accounts
Add serviceaccounts to prioritized resources
2017-12-20 15:16:41 -08:00
Andy Goldstein
fbda5fe539 Add serviceaccounts to prioritized resources
Add serviceaccounts to the default list of prioritized resources used
when restoring.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-20 14:59:47 -05:00
Andy Goldstein
1e581f1ead BackupController: do as much as possible
When running a backup, try to do as much as possible, collecting errors
along the way, and return an aggregate at the end. This way, if a backup
fails for most reasons, we'll be able to upload the backup log file to
object storage, which wasn't happening before.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-20 14:49:27 -05:00
Andy Goldstein
fea701a03b Merge pull request #256 from skriss/unbound-pvc-fix
don't error if PVC is not bound to a PV
2017-12-19 19:37:28 -05:00
Andy Goldstein
1210cb36e1 Merge pull request #253 from skriss/update-license
Update all license headers
2017-12-19 19:26:54 -05:00
Steve Kriss
79c0e5a09a don't error if PVC is not bound to a PV
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-19 14:10:58 -08:00
Nolan Brubaker
7392cdf37b Clarify why cluster-admin is needed
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-12-19 15:40:22 -05:00
Nolan Brubaker
ccdbee6b16 Clarify different deployment options on GCP.
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-12-19 15:37:51 -05:00
Steve Kriss
3641c2c043 update all license headers
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-15 13:38:12 -08:00
Andy Goldstein
0045bb057d Merge pull request #241 from skriss/patch
switch from Update() to Patch()
2017-12-14 13:59:23 -05:00
Steve Kriss
56c9d68137 switch to logrus.FieldLogger and arktest.NewLogger() everywhere
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-13 09:38:00 -08:00
Steve Kriss
4aea9b9a2c switch from Update() to Patch()
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-12 15:23:45 -08:00
Nolan Brubaker
75fdf32e4c Document GKE cluster-admin step
When using GKE, an additional step is needed to become cluster admin.
Without this, generating the RBAC scaffolding will result in an error.

Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-12-07 11:59:11 -05:00
Nolan Brubaker
6d5eeb21f5 Merge pull request #236 from ncdc/makefile-pass-version-through
Pass VERSION all the way down during 'make release'
2017-12-04 12:01:52 -05:00
Andy Goldstein
a70addcaf7 Pass VERSION all the way down during 'make release'
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
(cherry picked from commit d053dc2914)
2017-12-04 11:56:14 -05:00
Steve Kriss
ee16aab378 Merge pull request #231 from ncdc/fix-changelog-links
Fix changelog links
2017-11-30 11:24:45 -08:00
Andy Goldstein
a4d3d333ee Fix changelog links
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-30 14:14:53 -05:00
4285 changed files with 190452 additions and 900902 deletions

3
.dockerignore Normal file
View File

@@ -0,0 +1,3 @@
.go/
.go.std/
site/

44
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,44 @@
---
name: Bug report
about: Tell us about a problem you are experiencing
---
**What steps did you take and what happened:**
[A clear and concise description of what the bug is, and what commands you ran.)
**What did you expect to happen:**
**The output of the following commands will help us better understand what's going on**:
(Pasting long output into a [GitHub gist](https://gist.github.com) or other pastebin is fine.)
- `kubectl logs deployment/velero -n velero`
- `velero backup describe <backupname>` or `kubectl get backup/<backupname> -n velero -o yaml`
- `velero backup logs <backupname>`
- `velero restore describe <restorename>` or `kubectl get restore/<restorename> -n velero -o yaml`
- `velero restore logs <restorename>`
**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]
**Environment:**
- Velero version (use `velero version`):
- Velero features (use `velero client config get features`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:
- OS (e.g. from `/etc/os-release`):
**Vote on this issue!**
This is an invitation to the Velero community to vote on issues, you can see the project's [top voted issues listed here](https://github.com/vmware-tanzu/velero/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
Use the "reaction smiley face" up to the right of this comment to vote.
- :+1: for "I would like to see this bug fixed as soon as possible"
- :-1: for "There are more important bugs to focus on right now"

View File

@@ -0,0 +1,33 @@
---
name: Feature enhancement request
about: Suggest an idea for this project
---
**Describe the problem/challenge you have**
[A description of the current limitation/problem/challenge that you are experiencing.]
**Describe the solution you'd like**
[A clear and concise description of what you want to happen.]
**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]
**Environment:**
- Velero version (use `velero version`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:
- OS (e.g. from `/etc/os-release`):
**Vote on this issue!**
This is an invitation to the Velero community to vote on issues, you can see the project's [top voted issues listed here](https://github.com/vmware-tanzu/velero/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
Use the "reaction smiley face" up to the right of this comment to vote.
- :+1: for "The project would be better with this feature added"
- :-1: for "This feature will not enhance the project in a meaningful way"

11
.github/auto_assign.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
addReviewers: true
addAssignees: author
# Set this to the length of the reviewers list because the default was not including everyone
numberOfReviewers: 4
reviewers:
- nrb
- ashish-amarnath
- carlisia
- zubron

16
.github/workflows/auto_assign_prs.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: 'Auto Assign PR Reviewers'
# pull_request_target means that this will run on pull requests, but in the context of the base repo.
# This should mean PRs from forks are supported.
on:
pull_request_target:
types: [opened, reopened, sychronized]
jobs:
add-reviews:
runs-on: ubuntu-latest
steps:
- uses: kentaro-m/auto-assign-action@v1.1.1
with:
configuration-path: ".github/auto_assign.yml"
repo-token: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -0,0 +1,20 @@
name: "Verify Velero CRDs on k8s 1.16.9"
on: [pull_request]
jobs:
kind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: engineerd/setup-kind@v0.4.0
with:
image: "kindest/node:v1.16.9"
- name: Testing
run: |
kubectl cluster-info
kubectl get pods -n kube-system
kubectl version
echo "current-context:" $(kubectl config current-context)
echo "environment-kubeconfig:" ${KUBECONFIG}
make local
./_output/bin/linux/amd64/velero install --crds-only --dry-run -oyaml | kubectl apply -f -

View File

@@ -0,0 +1,20 @@
name: "Verify Velero CRDs on k8s 1.17"
on: [pull_request]
jobs:
kind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: engineerd/setup-kind@v0.4.0
with:
image: "kindest/node:v1.17.0"
- name: Testing
run: |
kubectl cluster-info
kubectl get pods -n kube-system
kubectl version
echo "current-context:" $(kubectl config current-context)
echo "environment-kubeconfig:" ${KUBECONFIG}
make local
./_output/bin/linux/amd64/velero install --crds-only --dry-run -oyaml | kubectl apply -f -

View File

@@ -0,0 +1,20 @@
name: "Verify Velero CRDs on k8s 1.18.4"
on: [pull_request]
jobs:
kind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: engineerd/setup-kind@v0.4.0
with:
image: "kindest/node:v1.18.4"
- name: Testing
run: |
kubectl cluster-info
kubectl get pods -n kube-system
kubectl version
echo "current-context:" $(kubectl config current-context)
echo "environment-kubeconfig:" ${KUBECONFIG}
make local
./_output/bin/linux/amd64/velero install --crds-only --dry-run -oyaml | kubectl apply -f -

View File

@@ -0,0 +1,15 @@
name: Pull Request Changelog Check
on: [pull_request]
jobs:
build:
name: Run Changelog Check
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Changelog check
if: ${{ !(contains(github.event.pull_request.labels.*.name, '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'))}}
run: ./hack/changelog-check.sh

14
.github/workflows/pr-ci-check.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
name: Pull Request CI Check
on: [pull_request]
jobs:
build:
name: Run CI
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Make ci
run: make ci

14
.github/workflows/pr-linter-check.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
name: Pull Request Linter Check
on: [pull_request]
jobs:
build:
name: Run Linter Check
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Linter check
run: make lint

24
.github/workflows/push-builder.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: build-image
on:
push:
branches: [ main ]
paths:
- 'hack/build-image/Dockerfile'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build
run: make build-image
- name: Publish container image
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
make push-build-image

41
.github/workflows/push.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: Main CI
on:
push:
branches: [ main ]
tags:
- '*'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.14
uses: actions/setup-go@v2
with:
go-version: 1.14
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: crazy-max/ghaction-docker-buildx@v3
with:
buildx-version: latest
qemu-version: latest
- name: Build
run: make local
- name: Test
run: make test
- name: Publish container image
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
./hack/docker-push.sh

18
.github/workflows/rebase.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.3.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

13
.gitignore vendored
View File

@@ -26,9 +26,20 @@ _testmain.go
debug
/ark
/velero
.idea/
Tiltfile
.container-*
.vimrc
.go
.DS_Store
.push-*
.vscode
*.diff
# Hugo compiled data
site/public
site/resources
.vs

58
.goreleaser.yml Normal file
View File

@@ -0,0 +1,58 @@
# Copyright 2018 the Velero contributors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
dist: _output
builds:
- main: ./cmd/velero/main.go
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm
- arm64
- ppc64le
ignore:
# don't build arm/arm64 for darwin or windows
- goos: darwin
goarch: arm
- goos: darwin
goarch: arm64
- goos: darwin
goarch: ppc64le
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
- goos: windows
goarch: ppc64le
ldflags:
- -X "github.com/vmware-tanzu/velero/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
archives:
- name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
wrap_in_directory: true
files:
- LICENSE
- examples/**/*
checksum:
name_template: 'CHECKSUM'
release:
github:
owner: vmware-tanzu
name: velero
draft: true
prerelease: auto

View File

@@ -1,6 +0,0 @@
language: go
go:
- 1.9.x
script: make ci

104
ADOPTERS.md Normal file
View File

@@ -0,0 +1,104 @@
# Velero Adopters
If you're using Velero and want to add your organization to this list,
[follow these directions][1]!
<a href="https://www.bitgo.com" border="0" target="_blank"><img alt="bitgo.com" src="site/img/adopters/BitGo.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://www.nirmata.com" border="0" target="_blank"><img alt="nirmata.com" src="site/img/adopters/nirmata.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://kyma-project.io/" border="0" target="_blank"><img alt="kyma-project.io" src="site/img/adopters/kyma.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://redhat.com/" border="0" target="_blank"><img alt="redhat.com" src="site/img/adopters/redhat.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://dellemc.com/" border="0" target="_blank"><img alt="dellemc.com" src="site/img/adopters/DellEMC.png" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://bugsnag.com/" border="0" target="_blank"><img alt="bugsnag.com" src="site/img/adopters/bugsnag.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://okteto.com/" border="0" target="_blank"><img alt="okteto.com" src="site/img/adopters/okteto.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://banzaicloud.com/" border="0" target="_blank"><img alt="banzaicloud.com" src="site/img/adopters/banzaicloud.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://sighup.io/" border="0" target="_blank"><img alt="sighup.io" src="site/img/adopters/sighup.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
<a href="https://mayadata.io/" border="0" target="_blank"><img alt="mayadata.io" src="site/img/adopters/mayadata.svg" height="50"></a>&nbsp; &nbsp; &nbsp;
## Success Stories
Below is a list of adopters of Velero in **production environments** that have
publicly shared the details of how they use it.
**[BitGo][20]**
BitGo uses Velero backup and restore capabilities to seamlessly provision and scale fullnode statefulsets on the fly as well as having it serve an integral piece for our kubernetes disaster-recovery story.
**[Bugsnag][30]**
We use Velero for managing backups of an internal instance of our on-premise clustered solution. We also recommend our users of [on-premise Bugsnag installations][31] use Velero for [managing their own backups][32].
**[Banzai Cloud][60]**
[Banzai Cloud Pipeline][61] is a Kubernetes-based microservices platform that integrates services needed for Day-1 and Day-2 operations along with first-class support both for on-prem and hybrid multi-cloud deployments. We use Velero to periodically [backup and restore these clusters in case of disasters][62].
## Solutions built with Velero
Below is a list of solutions where Velero is being used as a component.
**[Nirmata][10]**
We have integrated our [solution with Velero][11] to provide our customers with out of box backup/DR.
**[Kyma][40]**
Kyma [integrates with Velero][41] to effortlessly back up and restore Kyma clusters with all its resources. Velero capabilities allow Kyma users to define and run manual and scheduled backups in order to successfully handle a disaster-recovery scenario.
**[Red Hat][50]**
Red Hat has developed the [Cluster Application Migration Tool][51] which uses [Velero and Restic][52] to drive the migration of applications between OpenShift clusters.
**[Dell EMC][70]**
For Kubernetes environments, [PowerProtect Data Manager][71] leverages the Container Storage Interface (CSI) framework to take snapshots to back up the persistent data or the data that the application creates e.g. databases. [Dell EMC leverages Velero][72] to backup the namespace configuration files (also known as Namespace meta data) for enterprise grade data protection.
**[SIGHUP][80]**
SIGHUP integrates Velero in its [Fury Kubernetes Distribution][81] providing predefined schedules and configurations to ensure an optimized disaster recovery experience.
[Fury Kubernetes Disaster Recovery Module][82] is ready to be deployed into any Kubernetes cluster running anywhere.
**[MayaData][90]**
MayaData is a large user of Velero as well as a contributor. MayaData offers a Data Agility platform called [OpenEBS Director][91], that helps customers confidently and easily manage stateful workloads in Kubernetes. Velero is one of the core software building block of the OpenEBS Director's [DMaaS or data migration as a service offering][92] used to enable data protection strategies.
**[Okteto][93]**
Okteto integrates Velero in [Okteto Cloud][94] and [Okteto Enterprise][95] to periodically backup and restore our clusters for disaster recovery. Velero is also a core software building block to provide namespace cloning capabilities, a feature that allows our users cloning staging environments into their personal development namespace for providing production-like development environments.
## Adding your organization to the list of Velero Adopters
If you are using Velero and would like to be included in the list of `Velero Adopters`, add an SVG version of your logo to the `site/img/adopters` directory in this repo and submit a [pull request][3] with your change. Name the image file something that reflects your company (e.g., if your company is called Acme, name the image acme.png). See this for an example [PR][4].
### Adding a logo to velero.io
If you would like to add your logo to a future `Adopters of Velero` section on [velero.io][2], follow the steps above to add your organization to the list of Velero Adopters. Our community will follow up and publish it to the [velero.io][2] website.
[1]: #adding-a-logo-to-veleroio
[2]: https://velero.io
[3]: https://github.com/vmware-tanzu/velero/pulls
[4]: https://github.com/vmware-tanzu/velero/pull/2242
[10]: https://www.nirmata.com/2019/08/14/kubernetes-disaster-recovery-using-velero-and-nirmata/
[11]: https://nirmata.com
[20]: https://bitgo.com
[30]: https://bugsnag.com
[31]: https://www.bugsnag.com/on-premise
[32]: https://docs.bugsnag.com/on-premise/clustered/backup-restore/
[40]: https://kyma-project.io
[41]: https://kyma-project.io/docs/components/backup/#overview-overview
[50]: https://redhat.com
[51]: https://github.com/fusor/mig-operator
[52]: https://github.com/fusor/mig-operator/blob/master/docs/usage/2.md
[60]: https://banzaicloud.com
[61]: https://banzaicloud.com/products/pipeline/
[62]: https://banzaicloud.com/blog/vault-backup-velero/
[70]: https://dellemc.com
[71]: https://dellemc.com/dataprotection
[72]: https://www.dellemc.com/resources/en-us/asset/briefs-handouts/solutions/h18141-dellemc-dpd-kubernetes.pdf
[80]: https://sighup.io
[81]: https://github.com/sighupio/fury-distribution
[82]: https://github.com/sighupio/fury-kubernetes-dr
[90]: https://mayadata.io
[91]: https://director.mayadata.io/
[92]: https://help.mayadata.io/hc/en-us/articles/360033401591-DMaaS
[93]: https://okteto.com
[94]: https://cloud.okteto.com
[95]: https://okteto.com/enterprise/

View File

@@ -1,94 +1,38 @@
# Changelog
## Current release:
* [CHANGELOG-1.4.md][14]
#### [v0.6.0](https://github.com/heptio/ark/tree/v0.6.0) - 2017-11-30
## Development release:
* [Unreleased Changes][15]
Highlights:
* **Plugins** - We now support user-defined plugins that can extend Ark functionality to meet your custom backup/restore needs without needing to be compiled into the core binary. We support pluggable block and object stores as well as per-item backup and restore actions that can execute arbitrary logic, including modifying the items being backed up or restored. For more information see the [documentation](https://github.com/heptio/ark/docs/plugins.md), which includes a reference to a fully-functional sample plugin repository. (#174 #188 #206 #213 #215 #217 #223 #226)
* **Describers** - The Ark CLI now includes `describe` commands for `backups`, `restores`, and `schedules` that provide human-friendly representations of the relevant API objects.
## Older releases:
* [CHANGELOG-1.3.md][13]
* [CHANGELOG-1.2.md][12]
* [CHANGELOG-1.1.md][11]
* [CHANGELOG-1.0.md][10]
* [CHANGELOG-0.11.md][9]
* [CHANGELOG-0.10.md][8]
* [CHANGELOG-0.9.md][7]
* [CHANGELOG-0.8.md][6]
* [CHANGELOG-0.7.md][5]
* [CHANGELOG-0.6.md][4]
* [CHANGELOG-0.5.md][3]
* [CHANGELOG-0.4.md][2]
* [CHANGELOG-0.3.md][1]
Breaking Changes:
* The config object format has changed. In order to upgrade to v0.6.0, the config object will have to be updated to match the new format. See the [examples](https://github.com/heptio/ark/tree/master/examples) and [documentation](https://github.com/heptio/ark/blob/master/docs/config-definition.md) for more information.
* The restore object format has changed. The `warnings` and `errors` fields are now ints containing the counts, while full warnings and errors are now stored in the object store instead of etcd. Restore objects created prior to v.0.6.0 should be deleted, or a new bucket used, and the old restore objects deleted from Kubernetes (`kubectl -n heptio-ark delete restore --all`).
All New Features:
* Add `ark plugin add` and `ark plugin remove` commands #217, @skriss
* Add plugin support for block/object stores, backup/restore item actions #174 #188 #206 #213 #215 #223 #226, @skriss @ncdc
* Improve Azure deployment instructions #216, @ncdc
* Change default TTL for backups to 30 days #204, @nrb
* Improve logging for backups and restores #199, @ncdc
* Add `ark backup describe`, `ark schedule describe` #196, @ncdc
* Add `ark restore describe` and move restore warnings/errors to object storage #173 #201 #202, @ncdc
* Upgrade to client-go v5.0.1, kubernetes v1.8.2 #157, @ncdc
* Add Travis CI support #165 #166, @ncdc
Bug Fixes:
* Fix log location hook prefix stripping #222, @ncdc
* When running `ark backup download`, remove file if there's an error #154, @ncdc
* Update documentation for AWS KMS Key alias support #163, @lli-hiya
* Remove clock from `volume_snapshot_action` #137, @athampy
#### [v0.5.1](https://github.com/heptio/ark/tree/v0.5.1) - 2017-11-06
Bug fixes:
* If a Service is headless, retain ClusterIP = None when backing up and restoring.
* Use the specifed --label-selector when listing backups, schedules, and restores.
* Restore namespace mapping functionality that was accidentally broken in 0.5.0.
* Always include namespaces in the backup, regardless of the --include-cluster-resources setting.
#### [v0.5.0](https://github.com/heptio/ark/tree/v0.5.0) - 2017-10-26
Breaking changes:
* The backup tar file format has changed. Backups created using previous versions of Ark cannot be restored using v0.5.0.
* When backing up one or more specific namespaces, cluster-scoped resources are no longer backed up by default, with the exception of PVs that are used within the target namespace(s). Cluster-scoped resources can still be included by explicitly specifying `--include-cluster-resources`.
New features:
* Add customized user-agent string for Ark CLI
* Switch from glog to logrus
* Exclude nodes from restoration
* Add a FAQ
* Record PV availability zone and use it when restoring volumes from snapshots
* Back up the PV associated with a PVC
* Add `--include-cluster-resources` flag to `ark backup create`
* Add `--include-cluster-resources` flag to `ark restore create`
* Properly support resource restore priorities across cluster-scoped and namespace-scoped resources
* Support `ark create ...` and `ark get ...`
* Make ark run as cluster-admin
* Add pod exec backup hooks
* Support cross-compilation & upgrade to go 1.9
Bug fixes:
* Make config change detection more robust
#### [v0.4.0](https://github.com/heptio/ark/tree/v0.4.0) - 2017-09-14
Breaking changes:
* Snapshotting and restoring volumes is now enabled by default
* The --namespaces flag for 'ark restore create' has been replaced by --include-namespaces and
--exclude-namespaces
New features:
* Support for S3 SSE with KMS
* Cloud provider configurations are validated at startup
* The persistentVolumeProvider is now optional
* Restore objects are garbage collected
* Each backup now has an associated log file, viewable via 'ark backup logs'
* Each restore now has an associated log file, viewable via 'ark restore logs'
* Add --include-resources/--exclude-resources for restores
Bug fixes:
* Only save/use iops for io1 volumes on AWS
* When restoring, try to retrieve the Backup directly from object storage if it's not found
* When syncing Backups from object storage to Kubernetes, don't return at the first error
encountered
* More closely match how kubectl performs kubeconfig resolution
* Increase default Azure API request timeout to 2 minutes
* Update Azure diskURI to match diskName
#### [v0.3.3](https://github.com/heptio/ark/tree/v0.3.3) - 2017-08-10
* Treat the first field in a schedule's cron expression as minutes, not seconds
#### [v0.3.2](https://github.com/heptio/ark/tree/v0.3.2) - 2017-08-07
* Add client-go auth provider plugins for Azure, GCP, OIDC
#### [v0.3.1](https://github.com/heptio/ark/tree/v0.3.1) - 2017-08-03
* Fix Makefile VERSION
#### [v0.3.0](https://github.com/heptio/ark/tree/v0.3.0) - 2017-08-03
* Initial Release
[15]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.5.md
[14]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.4.md
[13]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.3.md
[12]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.2.md
[11]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.1.md
[10]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-1.0.md
[9]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.11.md
[8]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.10.md
[7]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.9.md
[6]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.8.md
[5]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.7.md
[4]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.6.md
[3]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.5.md
[2]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.4.md
[1]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/CHANGELOG-0.3.md
[0]: https://github.com/vmware-tanzu/velero/blob/main/changelogs/unreleased

View File

@@ -1,37 +1,84 @@
# Heptio Ark Community Code of Conduct
# Contributor Covenant Code of Conduct
## Contributor Code of Conduct
## Our Pledge
As contributors and maintainers of this project, and in the interest of fostering
an open and welcoming community, we pledge to respect all people who contribute
through reporting issues, posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
We are committed to making participation in this project a harassment-free experience for
everyone, regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance, body size, race, ethnicity, age,
religion, or nationality.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
Examples of unacceptable behavior by participants include:
## Our Standards
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
Examples of behavior that contributes to a positive environment for our community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing other's private information, such as physical or electronic addresses,
without explicit permission
* Other unethical or unprofessional conduct.
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are not
aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers
commit themselves to fairly and consistently applying these principles to every aspect
of managing this project. Project maintainers who do not follow or enforce the Code of
Conduct may be permanently removed from the project team.
## Enforcement Responsibilities
This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainer(s).
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
This Code of Conduct is adapted from the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) and [Contributor Covenant](http://contributor-covenant.org/version/1/2/0/), version 1.2.0.
## Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [oss-coc@vmware.com](mailto:oss-coc@vmware.com). All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

View File

@@ -1,58 +1,3 @@
# Contributing
## DCO Sign off
All authors to the project retain copyright to their work. However, to ensure
that they are only submitting work that they have rights to, we are requiring
everyone to acknowledge this by signing their work.
Any copyright notices in this repo should specify the authors as "the Heptio Ark project contributors".
To sign your work, just add a line like this at the end of your commit message:
```
Signed-off-by: Joe Beda <joe@heptio.com>
```
This can easily be done with the `--signoff` option to `git commit`.
By doing this you state that you can certify the following (from https://developercertificate.org/):
```
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```
Authors are expected to follow some guidelines when submitting PRs. Please see [our documentation](https://velero.io/docs/master/code-standards/) for details.

63
Dockerfile Normal file
View File

@@ -0,0 +1,63 @@
# Copyright 2020 the Velero contributors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=$BUILDPLATFORM golang:1.14 as builder-env
ARG GOPROXY
ARG PKG
ARG VERSION
ARG GIT_SHA
ARG GIT_TREE_STATE
ENV CGO_ENABLED=0 \
GO111MODULE=on \
GOPROXY=${GOPROXY} \
LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION}" \
LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA}" \
LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE}"
WORKDIR /go/src/github.com/vmware-tanzu/velero
COPY . /go/src/github.com/vmware-tanzu/velero
RUN apt-get update && apt-get install -y bzip2
FROM --platform=$BUILDPLATFORM builder-env as builder
ARG TARGETOS
ARG TARGETARCH
ARG TARGETVARIANT
ARG PKG
ARG BIN
ARG RESTIC_VERSION
ENV GOOS=${TARGETOS} \
GOARCH=${TARGETARCH} \
GOARM=${TARGETVARIANT}
RUN mkdir -p /output/usr/bin && \
bash ./hack/download-restic.sh && \
export GOARM=$( echo "${GOARM}" | cut -c2-) && \
go build -o /output/${BIN} \
-ldflags "${LDFLAGS}" ${PKG}/cmd/${BIN}
FROM ubuntu:focal
LABEL maintainer="Nolan Brubaker <brubakern@vmware.com>"
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
COPY --from=builder /output /
USER nobody:nogroup

View File

@@ -1,25 +0,0 @@
# Copyright 2017 the Heptio Ark project contributors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM alpine:3.6
MAINTAINER Andy Goldstein <andy@heptio.com>
RUN apk add --no-cache ca-certificates
ADD /bin/linux/amd64/ark /ark
USER nobody:nobody
ENTRYPOINT ["/ark"]

112
GOVERNANCE.md Normal file
View File

@@ -0,0 +1,112 @@
# Velero Governance
This document defines the project governance for Velero.
## Overview
**Velero**, an open source project, is committed to building an open, inclusive, productive and self-governing open source community focused on building a high quality tool that enables users to safely backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes. The community is governed by this document with the goal of defining how community should work together to achieve this goal.
## Code Repositories
The following code repositories are governed by Velero community and maintained under the `vmware-tanzu\Velero` organization.
* **[Velero](https://github.com/vmware-tanzu/velero):** Main Velero codebase
* **[Helm Chart](https://github.com/vmware-tanzu/helm-charts/tree/master/charts/velero):** The Helm chart for the Velero server component
* **[Velero CSI Plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi):** This repository contains Velero plugins for snapshotting CSI backed PVCs using the CSI beta snapshot APIs
* **[Velero Plugin for vSphere](https://github.com/vmware-tanzu/velero-plugin-for-vsphere):** This repository contains the Velero Plugin for vSphere. This plugin is a volume snapshotter plugin that provides crash-consistent snapshots of vSphere block volumes and backup of volume data into S3 compatible storage.
* **[Velero Plugin for AWS](https://github.com/vmware-tanzu/velero-plugin-for-aws):** This repository contains the plugins to support running Velero on AWS, including the object store plugin and the volume snapshotter plugin
* **[Velero Plugin for GCP](https://github.com/vmware-tanzu/velero-plugin-for-gcp):** This repository contains the plugins to support running Velero on GCP, including the object store plugin and the volume snapshotter plugin
* **[Velero Plugin for Azure](https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure):** This repository contains the plugins to support running Velero on Azure, including the object store plugin and the volume snapshotter plugin
* **[Velero Plugin Example](https://github.com/vmware-tanzu/velero-plugin-example):** This repository contains example plugins for Velero
## Community Roles
* **Users:** Members that engage with the Velero community via any medium (Slack, GitHub, mailing lists, etc.).
* **Contributors:** Regular contributions to projects (documentation, code reviews, responding to issues, participation in proposal discussions, contributing code, etc.).
* **Maintainers**: The Velero project leaders. They are responsible for the overall health and direction of the project; final reviewers of PRs and responsible for releases. Some Maintainers are responsible for one or more components within a project, acting as technical leads for that component. Maintainers are expected to contribute code and documentation, review PRs including ensuring quality of code, triage issues, proactively fix bugs, and perform maintenance tasks for these components.
### Maintainers
New maintainers must be nominated by an existing maintainer and must be elected by a supermajority of existing maintainers. Likewise, maintainers can be removed by a supermajority of the existing maintainers or can resign by notifying one of the maintainers.
### Supermajority
A supermajority is defined as two-thirds of members in the group.
A supermajority of [Maintainers](#maintainers) is required for certain
decisions as outlined above. A supermajority vote is equivalent to the number of votes in favor being at least twice the number of votes against. For example, if you have 5 maintainers, a supermajority vote is 4 votes. Voting on decisions can happen on the mailing list, GitHub, Slack, email, or via a voting service, when appropriate. Maintainers can either vote "agree, yes, +1", "disagree, no, -1", or "abstain". A vote passes when supermajority is met. An abstain vote equals not voting at all.
### Decision Making
Ideally, all project decisions are resolved by consensus. If impossible, any
maintainer may call a vote. Unless otherwise specified in this document, any
vote will be decided by a supermajority of maintainers.
Votes by maintainers belonging to the same company
will count as one vote; e.g., 4 maintainers employed by fictional company **Valerium** will
only have **one** combined vote. If voting members from a given company do not
agree, the company's vote is determined by a supermajority of voters from that
company. If no supermajority is achieved, the company is considered to have
abstained.
## Proposal Process
One of the most important aspects in any open source community is the concept
of proposals. Large changes to the codebase and / or new features should be
preceded by a proposal in our community repo. This process allows for all
members of the community to weigh in on the concept (including the technical
details), share their comments and ideas, and offer to help. It also ensures
that members are not duplicating work or inadvertently stepping on toes by
making large conflicting changes.
The project roadmap is defined by accepted proposals.
Proposals should cover the high-level objectives, use cases, and technical
recommendations on how to implement. In general, the community member(s)
interested in implementing the proposal should be either deeply engaged in the
proposal process or be an author of the proposal.
The proposal should be documented as a separated markdown file pushed to the root of the
`design` folder in the [Velero](https://github.com/vmware-tanzu/velero/tree/master/design)
repository via PR. The name of the file should follow the name pattern `<short
meaningful words joined by '-'>_design.md`, e.g:
`restore-hooks-design.md`.
Use the [Proposal Template](https://github.com/vmware-tanzu/velero/blob/master/design/_template.md) as a starting point.
### Proposal Lifecycle
The proposal PR can follow the GitHub lifecycle of the PR to indicate its status:
* **Open**: Proposal is created and under review and discussion.
* **Merged**: Proposal has been reviewed and is accepted (either by consensus or through a vote).
* **Closed**: Proposal has been reviewed and was rejected (either by consensus or through a vote).
## Lazy Consensus
To maintain velocity in a project as busy as Velero, the concept of [Lazy
Consensus](http://en.osswiki.info/concepts/lazy_consensus) is practiced. Ideas
and / or proposals should be shared by maintainers via
GitHub with the appropriate maintainer groups (e.g.,
`@vmware-tanzu/velero-maintainers`) tagged. Out of respect for other contributors,
major changes should also be accompanied by a ping on Slack or a note on the
Velero mailing list as appropriate. Author(s) of proposal, Pull Requests,
issues, etc. will give a time period of no less than five (5) working days for
comment and remain cognizant of popular observed world holidays.
Other maintainers may chime in and request additional time for review, but
should remain cognizant of blocking progress and abstain from delaying
progress unless absolutely needed. The expectation is that blocking progress
is accompanied by a guarantee to review and respond to the relevant action(s)
(proposals, PRs, issues, etc.) in short order.
Lazy Consensus is practiced for all projects in the `Velero` org, including
the main project repository and the additional repositories.
Lazy consensus does _not_ apply to the process of:
* Removal of maintainers from Velero
## Updating Governance
All substantive changes in Governance require a supermajority agreement by all maintainers.

431
Gopkg.lock generated
View File

@@ -1,431 +0,0 @@
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
[[projects]]
name = "cloud.google.com/go"
packages = ["compute/metadata","iam","internal","internal/optional","internal/version","storage"]
revision = "44bcd0b2078ba5e7fedbeb36808d1ed893534750"
version = "v0.11.0"
[[projects]]
name = "github.com/Azure/azure-sdk-for-go"
packages = ["arm/disk","arm/examples/helpers","arm/resources/subscriptions","storage"]
revision = "2d49bb8f2cee530cc16f1f1a9f0aae763dee257d"
version = "v10.2.1-beta"
[[projects]]
name = "github.com/Azure/go-autorest"
packages = ["autorest","autorest/adal","autorest/azure","autorest/date","autorest/to","autorest/validation"]
revision = "f6e08fe5e4d45c9a66e40196d3fed5f37331d224"
version = "v8.1.1"
[[projects]]
name = "github.com/PuerkitoBio/purell"
packages = ["."]
revision = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4"
version = "v1.1.0"
[[projects]]
branch = "master"
name = "github.com/PuerkitoBio/urlesc"
packages = ["."]
revision = "de5bf2ad457846296e2031421a34e2568e304e35"
[[projects]]
name = "github.com/aws/aws-sdk-go"
packages = ["aws","aws/awserr","aws/awsutil","aws/client","aws/client/metadata","aws/corehandlers","aws/credentials","aws/credentials/ec2rolecreds","aws/credentials/endpointcreds","aws/credentials/stscreds","aws/defaults","aws/ec2metadata","aws/endpoints","aws/request","aws/session","aws/signer/v4","internal/shareddefaults","private/protocol","private/protocol/ec2query","private/protocol/query","private/protocol/query/queryutil","private/protocol/rest","private/protocol/restxml","private/protocol/xml/xmlutil","service/ec2","service/s3","service/s3/s3iface","service/s3/s3manager","service/sts"]
revision = "1850f427c33c2558a2118dc55c1cf95a633d7432"
version = "v1.10.27"
[[projects]]
name = "github.com/cpuguy83/go-md2man"
packages = ["md2man"]
revision = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa"
version = "v1.0.6"
[[projects]]
name = "github.com/davecgh/go-spew"
packages = ["spew"]
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
[[projects]]
name = "github.com/dgrijalva/jwt-go"
packages = ["."]
revision = "d2709f9f1f31ebcda9651b03077758c1f3a0018c"
version = "v3.0.0"
[[projects]]
branch = "master"
name = "github.com/docker/spdystream"
packages = [".","spdy"]
revision = "bc6354cbbc295e925e4c611ffe90c1f287ee54db"
[[projects]]
name = "github.com/emicklei/go-restful"
packages = [".","log"]
revision = "68c9750c36bb8cb433f1b88c807b4b30df4acc40"
version = "v2.2.1"
[[projects]]
name = "github.com/emicklei/go-restful-swagger12"
packages = ["."]
revision = "dcef7f55730566d41eae5db10e7d6981829720f6"
version = "1.0.1"
[[projects]]
name = "github.com/ghodss/yaml"
packages = ["."]
revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7"
version = "v1.0.0"
[[projects]]
name = "github.com/go-ini/ini"
packages = ["."]
revision = "20b96f641a5ea98f2f8619ff4f3e061cff4833bd"
version = "v1.28.2"
[[projects]]
branch = "master"
name = "github.com/go-openapi/jsonpointer"
packages = ["."]
revision = "779f45308c19820f1a69e9a4cd965f496e0da10f"
[[projects]]
branch = "master"
name = "github.com/go-openapi/jsonreference"
packages = ["."]
revision = "36d33bfe519efae5632669801b180bf1a245da3b"
[[projects]]
branch = "master"
name = "github.com/go-openapi/spec"
packages = ["."]
revision = "3faa0055dbbf2110abc1f3b4e3adbb22721e96e7"
[[projects]]
branch = "master"
name = "github.com/go-openapi/swag"
packages = ["."]
revision = "f3f9494671f93fcff853e3c6e9e948b3eb71e590"
[[projects]]
name = "github.com/gogo/protobuf"
packages = ["proto","sortkeys"]
revision = "100ba4e885062801d56799d78530b73b178a78f3"
version = "v0.4"
[[projects]]
branch = "master"
name = "github.com/golang/glog"
packages = ["."]
revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
[[projects]]
branch = "master"
name = "github.com/golang/protobuf"
packages = ["proto","protoc-gen-go/descriptor","ptypes","ptypes/any","ptypes/duration","ptypes/timestamp"]
revision = "ab9f9a6dab164b7d1246e0e688b0ab7b94d8553e"
[[projects]]
branch = "master"
name = "github.com/google/btree"
packages = ["."]
revision = "316fb6d3f031ae8f4d457c6c5186b9e3ded70435"
[[projects]]
branch = "master"
name = "github.com/google/gofuzz"
packages = ["."]
revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1"
[[projects]]
branch = "master"
name = "github.com/googleapis/gax-go"
packages = ["."]
revision = "84ed26760e7f6f80887a2fbfb50db3cc415d2cea"
[[projects]]
name = "github.com/googleapis/gnostic"
packages = ["OpenAPIv2","compiler","extensions"]
revision = "ee43cbb60db7bd22502942cccbc39059117352ab"
version = "v0.1.0"
[[projects]]
branch = "master"
name = "github.com/gregjones/httpcache"
packages = [".","diskcache"]
revision = "c1f8028e62adb3d518b823a2f8e6a95c38bdd3aa"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-hclog"
packages = ["."]
revision = "ca137eb4b4389c9bc6f1a6d887f056bf16c00510"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-plugin"
packages = ["."]
revision = "e2fbc6864d18d3c37b6cde4297ec9fca266d28f1"
[[projects]]
branch = "master"
name = "github.com/hashicorp/golang-lru"
packages = [".","simplelru"]
revision = "0a025b7e63adc15a622f29b0b2c4c3848243bbf6"
[[projects]]
branch = "master"
name = "github.com/hashicorp/yamux"
packages = ["."]
revision = "f5742cb6b85602e7fa834e9d5d91a7d7fa850824"
[[projects]]
branch = "master"
name = "github.com/howeyc/gopass"
packages = ["."]
revision = "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
[[projects]]
name = "github.com/imdario/mergo"
packages = ["."]
revision = "3e95a51e0639b4cf372f2ccf74c86749d747fbdc"
version = "0.2.2"
[[projects]]
name = "github.com/inconshreveable/mousetrap"
packages = ["."]
revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
version = "v1.0"
[[projects]]
name = "github.com/jmespath/go-jmespath"
packages = ["."]
revision = "3433f3ea46d9f8019119e7dd41274e112a2359a9"
version = "0.2.2"
[[projects]]
name = "github.com/json-iterator/go"
packages = ["."]
revision = "6240e1e7983a85228f7fd9c3e1b6932d46ec58e2"
version = "1.0.3"
[[projects]]
branch = "master"
name = "github.com/juju/ratelimit"
packages = ["."]
revision = "5b9ff866471762aa2ab2dced63c9fb6f53921342"
[[projects]]
branch = "master"
name = "github.com/mailru/easyjson"
packages = ["buffer","jlexer","jwriter"]
revision = "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
[[projects]]
branch = "master"
name = "github.com/mitchellh/go-testing-interface"
packages = ["."]
revision = "a61a99592b77c9ba629d254a693acffaeb4b7e28"
[[projects]]
branch = "master"
name = "github.com/petar/GoLLRB"
packages = ["llrb"]
revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"
[[projects]]
name = "github.com/peterbourgon/diskv"
packages = ["."]
revision = "5f041e8faa004a95c88a202771f4cc3e991971e6"
version = "v2.0.1"
[[projects]]
name = "github.com/pkg/errors"
packages = ["."]
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
version = "v0.8.0"
[[projects]]
name = "github.com/pmezard/go-difflib"
packages = ["difflib"]
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
version = "v1.0.0"
[[projects]]
name = "github.com/robfig/cron"
packages = ["."]
revision = "df38d32658d8788cd446ba74db4bb5375c4b0cb3"
[[projects]]
name = "github.com/russross/blackfriday"
packages = ["."]
revision = "93622da34e54fb6529bfb7c57e710f37a8d9cbd8"
[[projects]]
name = "github.com/satori/go.uuid"
packages = ["."]
revision = "879c5887cd475cd7864858769793b2ceb0d44feb"
version = "v1.1.0"
[[projects]]
name = "github.com/satori/uuid"
packages = ["."]
revision = "879c5887cd475cd7864858769793b2ceb0d44feb"
version = "v1.1.0"
[[projects]]
branch = "master"
name = "github.com/shurcooL/sanitized_anchor_name"
packages = ["."]
revision = "541ff5ee47f1dddf6a5281af78307d921524bcb5"
[[projects]]
name = "github.com/sirupsen/logrus"
packages = [".","hooks/test"]
revision = "f006c2ac4710855cf0f916dd6b77acf6b048dc6e"
version = "v1.0.3"
[[projects]]
branch = "master"
name = "github.com/spf13/afero"
packages = [".","mem"]
revision = "9be650865eab0c12963d8753212f4f9c66cdcf12"
[[projects]]
branch = "master"
name = "github.com/spf13/cobra"
packages = [".","doc"]
revision = "cb731b898346822cc0c225c28550a8a29d93c732"
[[projects]]
name = "github.com/spf13/pflag"
packages = ["."]
revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66"
version = "v1.0.0"
[[projects]]
branch = "master"
name = "github.com/stretchr/objx"
packages = ["."]
revision = "1a9d0bb9f541897e62256577b352fdbc1fb4fd94"
[[projects]]
branch = "master"
name = "github.com/stretchr/testify"
packages = ["assert","mock","require"]
revision = "890a5c3458b43e6104ff5da8dfa139d013d77544"
[[projects]]
branch = "master"
name = "golang.org/x/crypto"
packages = ["ssh/terminal"]
revision = "eb71ad9bd329b5ac0fd0148dd99bd62e8be8e035"
[[projects]]
branch = "master"
name = "golang.org/x/net"
packages = ["context","context/ctxhttp","http2","http2/hpack","idna","internal/timeseries","lex/httplex","trace"]
revision = "1c05540f6879653db88113bc4a2b70aec4bd491f"
[[projects]]
branch = "master"
name = "golang.org/x/oauth2"
packages = [".","google","internal","jws","jwt"]
revision = "9a379c6b3e95a790ffc43293c2a78dee0d7b6e20"
[[projects]]
branch = "master"
name = "golang.org/x/sys"
packages = ["unix","windows"]
revision = "43e60d72a8e2bd92ee98319ba9a384a0e9837c08"
[[projects]]
branch = "master"
name = "golang.org/x/text"
packages = ["internal/gen","internal/triegen","internal/ucd","secure/bidirule","transform","unicode/bidi","unicode/cldr","unicode/norm","unicode/rangetable","width"]
revision = "e56139fd9c5bc7244c76116c68e500765bb6db6b"
[[projects]]
branch = "master"
name = "google.golang.org/api"
packages = ["compute/v0.beta","gensupport","googleapi","googleapi/internal/uritemplates","googleapi/transport","internal","iterator","option","storage/v1","transport/http"]
revision = "ed10e890a8366167a7ce33fac2b12447987bcb1c"
[[projects]]
name = "google.golang.org/appengine"
packages = [".","internal","internal/app_identity","internal/base","internal/datastore","internal/log","internal/modules","internal/remote_api","internal/urlfetch","urlfetch"]
revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a"
version = "v1.0.0"
[[projects]]
branch = "master"
name = "google.golang.org/genproto"
packages = ["googleapis/api/annotations","googleapis/iam/v1","googleapis/rpc/status"]
revision = "ee236bd376b077c7a89f260c026c4735b195e459"
[[projects]]
name = "google.golang.org/grpc"
packages = [".","codes","connectivity","credentials","grpclb/grpc_lb_v1","grpclog","health","health/grpc_health_v1","internal","keepalive","metadata","naming","peer","stats","status","tap","transport"]
revision = "b3ddf786825de56a4178401b7e174ee332173b66"
version = "v1.5.2"
[[projects]]
name = "gopkg.in/inf.v0"
packages = ["."]
revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
version = "v0.9.0"
[[projects]]
branch = "v2"
name = "gopkg.in/yaml.v2"
packages = ["."]
revision = "eb3733d160e74a9c7e442f435eb3bea458e1d19f"
[[projects]]
branch = "release-1.8"
name = "k8s.io/api"
packages = ["admissionregistration/v1alpha1","apps/v1beta1","apps/v1beta2","authentication/v1","authentication/v1beta1","authorization/v1","authorization/v1beta1","autoscaling/v1","autoscaling/v2beta1","batch/v1","batch/v1beta1","batch/v2alpha1","certificates/v1beta1","core/v1","extensions/v1beta1","networking/v1","policy/v1beta1","rbac/v1","rbac/v1alpha1","rbac/v1beta1","scheduling/v1alpha1","settings/v1alpha1","storage/v1","storage/v1beta1"]
revision = "6c6dac0277229b9e9578c5ca3f74a4345d35cdc2"
[[projects]]
name = "k8s.io/apimachinery"
packages = ["pkg/api/equality","pkg/api/errors","pkg/api/meta","pkg/api/resource","pkg/apimachinery","pkg/apimachinery/registered","pkg/apis/meta/internalversion","pkg/apis/meta/v1","pkg/apis/meta/v1/unstructured","pkg/apis/meta/v1alpha1","pkg/conversion","pkg/conversion/queryparams","pkg/conversion/unstructured","pkg/fields","pkg/labels","pkg/runtime","pkg/runtime/schema","pkg/runtime/serializer","pkg/runtime/serializer/json","pkg/runtime/serializer/protobuf","pkg/runtime/serializer/recognizer","pkg/runtime/serializer/streaming","pkg/runtime/serializer/versioning","pkg/selection","pkg/types","pkg/util/cache","pkg/util/clock","pkg/util/diff","pkg/util/errors","pkg/util/framer","pkg/util/httpstream","pkg/util/httpstream/spdy","pkg/util/intstr","pkg/util/json","pkg/util/mergepatch","pkg/util/net","pkg/util/remotecommand","pkg/util/runtime","pkg/util/sets","pkg/util/strategicpatch","pkg/util/validation","pkg/util/validation/field","pkg/util/wait","pkg/util/yaml","pkg/version","pkg/watch","third_party/forked/golang/json","third_party/forked/golang/netutil","third_party/forked/golang/reflect"]
revision = "019ae5ada31de202164b118aee88ee2d14075c31"
[[projects]]
name = "k8s.io/client-go"
packages = ["discovery","discovery/fake","dynamic","kubernetes","kubernetes/scheme","kubernetes/typed/admissionregistration/v1alpha1","kubernetes/typed/apps/v1beta1","kubernetes/typed/apps/v1beta2","kubernetes/typed/authentication/v1","kubernetes/typed/authentication/v1beta1","kubernetes/typed/authorization/v1","kubernetes/typed/authorization/v1beta1","kubernetes/typed/autoscaling/v1","kubernetes/typed/autoscaling/v2beta1","kubernetes/typed/batch/v1","kubernetes/typed/batch/v1beta1","kubernetes/typed/batch/v2alpha1","kubernetes/typed/certificates/v1beta1","kubernetes/typed/core/v1","kubernetes/typed/extensions/v1beta1","kubernetes/typed/networking/v1","kubernetes/typed/policy/v1beta1","kubernetes/typed/rbac/v1","kubernetes/typed/rbac/v1alpha1","kubernetes/typed/rbac/v1beta1","kubernetes/typed/scheduling/v1alpha1","kubernetes/typed/settings/v1alpha1","kubernetes/typed/storage/v1","kubernetes/typed/storage/v1beta1","pkg/version","plugin/pkg/client/auth/azure","plugin/pkg/client/auth/gcp","plugin/pkg/client/auth/oidc","rest","rest/watch","testing","third_party/forked/golang/template","tools/auth","tools/cache","tools/clientcmd","tools/clientcmd/api","tools/clientcmd/api/latest","tools/clientcmd/api/v1","tools/metrics","tools/pager","tools/reference","tools/remotecommand","transport","transport/spdy","util/cert","util/exec","util/flowcontrol","util/homedir","util/integer","util/jsonpath","util/workqueue"]
revision = "2ae454230481a7cb5544325e12ad7658ecccd19b"
version = "v5.0.1"
[[projects]]
branch = "release-1.8"
name = "k8s.io/code-generator"
packages = ["cmd/client-gen","cmd/client-gen/args","cmd/client-gen/generators","cmd/client-gen/generators/fake","cmd/client-gen/generators/scheme","cmd/client-gen/generators/util","cmd/client-gen/path","cmd/client-gen/types","cmd/deepcopy-gen","cmd/defaulter-gen","cmd/informer-gen","cmd/informer-gen/generators","cmd/lister-gen","cmd/lister-gen/generators"]
revision = "0c5165a97e055df28cca8bbcb8b7c8ae1019b3f1"
[[projects]]
name = "k8s.io/gengo"
packages = ["args","examples/deepcopy-gen/generators","examples/defaulter-gen/generators","examples/set-gen/sets","generator","namer","parser","types"]
revision = "9e661e9308f078838e266cca1c673922088c0ea4"
[[projects]]
branch = "master"
name = "k8s.io/kube-openapi"
packages = ["pkg/common"]
revision = "61b46af70dfed79c6d24530cd23b41440a7f22a5"
[[projects]]
name = "k8s.io/kubernetes"
packages = ["pkg/printers"]
revision = "bdaeafa71f6c7c04636251031f93464384d54963"
version = "v1.8.2"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "6287197115277ba882d5bb5dc20d74a8cb8e13d90c4e783c518a4e4aed55245f"
solver-name = "gps-cdcl"
solver-version = 1

View File

@@ -1,120 +0,0 @@
# Gopkg.toml example
#
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
# for detailed Gopkg.toml documentation.
#
# required = ["github.com/user/thing/cmd/thing"]
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
#
# [[constraint]]
# name = "github.com/user/project"
# version = "1.0.0"
#
# [[constraint]]
# name = "github.com/user/project2"
# branch = "dev"
# source = "github.com/myfork/project2"
#
# [[override]]
# name = "github.com/x/y"
# version = "2.4.0"
required = [
"k8s.io/code-generator/cmd/client-gen",
# needed by generated clientsets, but not an explicit dep in client-gen itself
"k8s.io/apimachinery/pkg/apimachinery/registered",
"k8s.io/code-generator/cmd/deepcopy-gen",
"k8s.io/code-generator/cmd/defaulter-gen",
"k8s.io/code-generator/cmd/lister-gen",
"k8s.io/code-generator/cmd/informer-gen",
]
[[constraint]]
name = "cloud.google.com/go"
version = "0.11.0"
[[constraint]]
name = "github.com/Azure/azure-sdk-for-go"
version = "~10.2.1-beta"
[[constraint]]
name = "github.com/Azure/go-autorest"
version = "~8.1.x"
[[constraint]]
name = "github.com/aws/aws-sdk-go"
version = "1.10.26"
[[constraint]]
branch = "master"
name = "github.com/golang/glog"
[[constraint]]
name = "github.com/robfig/cron"
revision = "df38d32658d8788cd446ba74db4bb5375c4b0cb3"
[[constraint]]
name = "github.com/satori/go.uuid"
version = "1.1.0"
[[constraint]]
name = "github.com/satori/uuid"
version = "1.1.0"
[[constraint]]
branch = "master"
name = "github.com/spf13/afero"
[[constraint]]
branch = "master"
name = "github.com/spf13/cobra"
[[constraint]]
name = "github.com/spf13/pflag"
version = "1.0.0"
[[constraint]]
name = "github.com/stretchr/testify"
branch = "master"
[[constraint]]
branch = "master"
name = "golang.org/x/oauth2"
[[constraint]]
branch = "master"
name = "google.golang.org/api"
[[constraint]]
name = "k8s.io/apimachinery"
revision = "019ae5ada31de202164b118aee88ee2d14075c31"
[[constraint]]
name = "k8s.io/client-go"
version = "~5.0"
[[constraint]]
name = "k8s.io/kubernetes"
version = "~1.8"
[[override]]
name = "github.com/russross/blackfriday"
revision = "93622da34e54fb6529bfb7c57e710f37a8d9cbd8"
[[constraint]]
branch = "release-1.8"
name = "k8s.io/api"
[[constraint]]
branch = "release-1.8"
name = "k8s.io/code-generator"
[[override]]
name = "k8s.io/gengo"
revision = "9e661e9308f078838e266cca1c673922088c0ea4"
[[constraint]]
branch = "master"
name = "github.com/hashicorp/go-plugin"

27
MAINTAINERS.md Normal file
View File

@@ -0,0 +1,27 @@
# Velero Maintainers
[GOVERNANCE.md](https://github.com/vmware-tanzu/velero/blob/master/GOVERNANCE.md) describes governance guidelines and maintainer responsibilities.
## Maintainers
| Maintainer | GitHub ID | Affiliation |
| --------------- | --------- | ----------- |
| Carlisia Campos | [carlisia](https://github.com/carlisia) | [VMware](https://www.github.com/vmware/) |
| Nolan Brubaker | [nrb](https://github.com/nrb) | [VMware](https://www.github.com/vmware/) |
| Ashish Amarnath | [ashish-amarnath](https://github.com/ashish-amarnath) | [VMware](https://www.github.com/vmware/) |
| Stephanie Bauman | [stephbman](https://github.com/stephbman) | [VMware](https://www.github.com/vmware/) |
## Emeritus Maintainers
* Adnan Abdulhussein ([prydonius](https://github.com/prydonius))
* Andy Goldstein ([ncdc](https://github.com/ncdc))
* Steve Kriss ([skriss](https://github.com/skriss))
## Velero Contributors & Stakeholders
| Feature Area | Lead |
| ----------------------------- | :---------------------: |
| Technical Lead | Nolan Brubaker (nrb) |
| Kubernetes CSI Liaison | Nolan Brubaker (nrb), Ashish Amarnath (ashish-amarnath) |
| Deployment | Carlisia Campos (carlisia), Carlos Tadeu Panato Junior (cpanato), JenTing Hsiao (jenting) |
| Community Management | Jonas Rosland (jonasrosland) |
| Product Management | Stephanie Bauman (stephbman) |

367
Makefile
View File

@@ -1,6 +1,6 @@
# Copyright 2016 The Kubernetes Authors.
#
# Modifications Copyright 2017 the Heptio Ark contributors.
# Modifications Copyright 2020 the Velero contributors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,126 +15,189 @@
# limitations under the License.
# The binary to build (just the basename).
BIN := ark
BIN ?= velero
# This repo's root import path (under GOPATH).
PKG := github.com/heptio/ark
PKG := github.com/vmware-tanzu/velero
# Where to push the docker image.
REGISTRY ?= gcr.io/heptio-images
REGISTRY ?= velero
# Image name
IMAGE ?= $(REGISTRY)/$(BIN)
# Build image handling. We push a build image for every changed version of
# /hack/build-image/Dockerfile. We tag the dockerfile with the short commit hash
# of the commit that changed it. When determining if there is a build image in
# the registry to use we look for one that matches the current "commit" for the
# Dockerfile else we make one.
BUILDER_IMAGE_TAG := $(shell git log -1 --pretty=%h hack/build-image/Dockerfile)
BUILDER_IMAGE := $(REGISTRY)/build-image:$(BUILDER_IMAGE_TAG)
BUILDER_IMAGE_CACHED := $(shell docker images -q ${BUILDER_IMAGE} 2>/dev/null )
HUGO_IMAGE := hugo-builder
# Which architecture to build - see $(ALL_ARCH) for options.
# if the 'local' rule is being run, detect the ARCH from 'go env'
# if it wasn't specified by the caller.
local : ARCH ?= $(shell go env GOOS)-$(shell go env GOARCH)
ARCH ?= linux-amd64
VERSION ?= master
VERSION ?= main
TAG_LATEST ?= false
ifeq ($(TAG_LATEST), true)
IMAGE_TAGS ?= $(IMAGE):$(VERSION) $(IMAGE):latest
else
IMAGE_TAGS ?= $(IMAGE):$(VERSION)
endif
ifeq ($(shell docker buildx inspect 2>/dev/null | awk '/Status/ { print $$2 }'), running)
BUILDX_ENABLED ?= true
else
BUILDX_ENABLED ?= false
endif
define BUILDX_ERROR
buildx not enabled, refusing to run this recipe
see: https://velero.io/docs/main/build-from-source/#making-images-and-updating-velero for more info
endef
# The version of restic binary to be downloaded for power architecture
RESTIC_VERSION ?= 0.9.6
CLI_PLATFORMS ?= linux-amd64 linux-arm linux-arm64 darwin-amd64 windows-amd64 linux-ppc64le
BUILDX_PLATFORMS ?= $(subst -,/,$(ARCH))
BUILDX_OUTPUT_TYPE ?= docker
# set git sha and tree state
GIT_SHA = $(shell git rev-parse HEAD)
ifneq ($(shell git status --porcelain 2> /dev/null),)
GIT_TREE_STATE ?= dirty
else
GIT_TREE_STATE ?= clean
endif
# The default linters used by lint and local-lint
LINTERS ?= "gosec,goconst,gofmt,goimports,unparam"
###
### These variables should not need tweaking.
###
SRC_DIRS := cmd pkg # directories which hold app source (not vendored)
CLI_PLATFORMS := linux-amd64 linux-arm linux-arm64 darwin-amd64 windows-amd64
CONTAINER_PLATFORMS := linux-amd64 linux-arm linux-arm64
platform_temp = $(subst -, ,$(ARCH))
GOOS = $(word 1, $(platform_temp))
GOARCH = $(word 2, $(platform_temp))
# TODO(ncdc): support multiple image architectures once gcr.io supports manifest lists
# Set default base image dynamically for each arch
ifeq ($(GOARCH),amd64)
DOCKERFILE ?= Dockerfile.alpine
endif
#ifeq ($(GOARCH),arm)
# DOCKERFILE ?= Dockerfile.arm #armel/busybox
#endif
#ifeq ($(GOARCH),arm64)
# DOCKERFILE ?= Dockerfile.arm64 #aarch64/busybox
#endif
IMAGE := $(REGISTRY)/$(BIN)
BUILD_IMAGE ?= gcr.io/heptio-images/golang:1.9-alpine3.6
GOPROXY ?= https://proxy.golang.org
# If you want to build all binaries, see the 'all-build' rule.
# If you want to build all containers, see the 'all-container' rule.
# If you want to build all containers, see the 'all-containers' rule.
# If you want to build AND push all containers, see the 'all-push' rule.
all: build
all:
@$(MAKE) build
@$(MAKE) build BIN=velero-restic-restore-helper
build-%:
@$(MAKE) --no-print-directory ARCH=$* build
#container-%:
# @$(MAKE) --no-print-directory ARCH=$* container
#push-%:
# @$(MAKE) --no-print-directory ARCH=$* push
@$(MAKE) --no-print-directory ARCH=$* build BIN=velero-restic-restore-helper
all-build: $(addprefix build-, $(CLI_PLATFORMS))
#all-container: $(addprefix container-, $(CONTAINER_PLATFORMS))
all-containers: container-builder-env
@$(MAKE) --no-print-directory container
@$(MAKE) --no-print-directory container BIN=velero-restic-restore-helper
#all-push: $(addprefix push-, $(CONTAINER_PLATFORMS))
local: build-dirs
GOOS=$(GOOS) \
GOARCH=$(GOARCH) \
VERSION=$(VERSION) \
PKG=$(PKG) \
BIN=$(BIN) \
GIT_SHA=$(GIT_SHA) \
GIT_TREE_STATE=$(GIT_TREE_STATE) \
OUTPUT_DIR=$$(pwd)/_output/bin/$(GOOS)/$(GOARCH) \
./hack/build.sh
build: _output/bin/$(GOOS)/$(GOARCH)/$(BIN)
_output/bin/$(GOOS)/$(GOARCH)/$(BIN): build-dirs
@echo "building: $@"
@$(MAKE) shell CMD="-c '\
$(MAKE) shell CMD="-c '\
GOOS=$(GOOS) \
GOARCH=$(GOARCH) \
VERSION=$(VERSION) \
PKG=$(PKG) \
BIN=$(BIN) \
GIT_SHA=$(GIT_SHA) \
GIT_TREE_STATE=$(GIT_TREE_STATE) \
OUTPUT_DIR=/output/$(GOOS)/$(GOARCH) \
./hack/build.sh'"
TTY := $(shell tty -s && echo "-t")
# Example: make shell CMD="date > datefile"
shell: build-dirs
shell: build-dirs build-env
@# bind-mount the Velero root dir in at /github.com/vmware-tanzu/velero
@# because the Kubernetes code-generator tools require the project to
@# exist in a directory hierarchy ending like this (but *NOT* necessarily
@# under $GOPATH).
@docker run \
-e GOFLAGS \
-i $(TTY) \
--rm \
-u $$(id -u):$$(id -g) \
-v "$$(pwd)/.go/pkg:/go/pkg" \
-v "$$(pwd)/.go/src:/go/src" \
-v "$$(pwd)/.go/std:/go/std" \
-v "$$(pwd):/go/src/$(PKG)" \
-v "$$(pwd)/_output/bin:/output" \
-v "$$(pwd)/.go/std/$(GOOS)/$(GOARCH):/usr/local/go/pkg/$(GOOS)_$(GOARCH)_static" \
-w /go/src/$(PKG) \
$(BUILD_IMAGE) \
-v "$$(pwd):/github.com/vmware-tanzu/velero:delegated" \
-v "$$(pwd)/_output/bin:/output:delegated" \
-v "$$(pwd)/.go/pkg:/go/pkg:delegated" \
-v "$$(pwd)/.go/std:/go/std:delegated" \
-v "$$(pwd)/.go/std/$(GOOS)/$(GOARCH):/usr/local/go/pkg/$(GOOS)_$(GOARCH)_static:delegated" \
-v "$$(pwd)/.go/go-build:/.cache/go-build:delegated" \
-v "$$(pwd)/.go/golangci-lint:/.cache/golangci-lint:delegated" \
-w /github.com/vmware-tanzu/velero \
$(BUILDER_IMAGE) \
/bin/sh $(CMD)
DOTFILE_IMAGE = $(subst :,_,$(subst /,_,$(IMAGE))-$(VERSION))
container: verify test .container-$(DOTFILE_IMAGE) container-name
.container-$(DOTFILE_IMAGE): _output/bin/$(GOOS)/$(GOARCH)/$(BIN) $(DOCKERFILE)
@cp $(DOCKERFILE) _output/.dockerfile-$(GOOS)-$(GOARCH)
@docker build -t $(IMAGE):$(VERSION) -f _output/.dockerfile-$(GOOS)-$(GOARCH) _output
@docker images -q $(IMAGE):$(VERSION) > $@
container-name:
@echo "container: $(IMAGE):$(VERSION)"
push: .push-$(DOTFILE_IMAGE) push-name
.push-$(DOTFILE_IMAGE): .container-$(DOTFILE_IMAGE)
ifeq ($(findstring gcr.io,$(REGISTRY)),gcr.io)
@gcloud docker -- push $(IMAGE):$(VERSION)
else
@docker push $(IMAGE):$(VERSION)
container-builder-env:
ifneq ($(BUILDX_ENABLED), true)
$(error $(BUILDX_ERROR))
endif
@docker images -q $(IMAGE):$(VERSION) > $@
@docker buildx build \
--target=builder-env \
--build-arg=GOPROXY=$(GOPROXY) \
--build-arg=PKG=$(PKG) \
--build-arg=VERSION=$(VERSION) \
--build-arg=GIT_SHA=$(GIT_SHA) \
--build-arg=GIT_TREE_STATE=$(GIT_TREE_STATE) \
-f Dockerfile .
push-name:
@echo "pushed: $(IMAGE):$(VERSION)"
container:
ifneq ($(BUILDX_ENABLED), true)
$(error $(BUILDX_ERROR))
endif
@docker buildx build --pull \
--output=type=$(BUILDX_OUTPUT_TYPE) \
--platform $(BUILDX_PLATFORMS) \
$(addprefix -t , $(IMAGE_TAGS)) \
--build-arg=PKG=$(PKG) \
--build-arg=BIN=$(BIN) \
--build-arg=VERSION=$(VERSION) \
--build-arg=GIT_SHA=$(GIT_SHA) \
--build-arg=GIT_TREE_STATE=$(GIT_TREE_STATE) \
--build-arg=RESTIC_VERSION=$(RESTIC_VERSION) \
-f Dockerfile .
@echo "container: $(IMAGE):$(VERSION)"
SKIP_TESTS ?=
test: build-dirs
ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/test.sh $(SRC_DIRS)'"
@$(MAKE) shell CMD="-c 'hack/test.sh $(WHAT)'"
endif
test-local: build-dirs
ifneq ($(SKIP_TESTS), 1)
hack/test.sh $(WHAT)
endif
verify:
@@ -142,46 +205,150 @@ ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/verify-all.sh'"
endif
lint:
ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/lint.sh $(LINTERS)'"
endif
local-lint:
ifneq ($(SKIP_TESTS), 1)
@hack/lint.sh $(LINTERS)
endif
lint-all:
ifneq ($(SKIP_TESTS), 1)
@$(MAKE) shell CMD="-c 'hack/lint.sh $(LINTERS) true'"
endif
local-lint-all:
ifneq ($(SKIP_TESTS), 1)
@hack/lint.sh $(LINTERS) true
endif
update:
@$(MAKE) shell CMD="-c 'hack/update-all.sh'"
release: all-tar-bin checksum
checksum:
@cd _output/release; \
sha256sum *.tar.gz > CHECKSUM; \
cat CHECKSUM; \
sha256sum CHECKSUM
all-tar-bin: $(addprefix tar-bin-, $(CLI_PLATFORMS))
tar-bin-%:
@$(MAKE) ARCH=$* tar-bin
GIT_DESCRIBE = $(shell git describe --tags --always --dirty)
tar-bin: build
mkdir -p _output/release
# We do the subshell & wildcard ls so we can pick up $(BIN).exe for windows
(cd _output/bin/$(GOOS)/$(GOARCH) && ls $(BIN)*) | \
tar \
-C _output/bin/$(GOOS)/$(GOARCH) \
--files-from=- \
-zcf _output/release/$(BIN)-$(GIT_DESCRIBE)-$(GOOS)-$(GOARCH).tar.gz
build-dirs:
@mkdir -p _output/bin/$(GOOS)/$(GOARCH)
@mkdir -p .go/src/$(PKG) .go/pkg .go/bin .go/std/$(GOOS)/$(GOARCH)
@mkdir -p .go/src/$(PKG) .go/pkg .go/bin .go/std/$(GOOS)/$(GOARCH) .go/go-build .go/golangci-lint
clean: container-clean bin-clean
build-env:
@# if we detect changes in dockerfile force a new build-image
@# else if we dont have a cached image make one
@# finally use the cached image
ifneq ($(shell git diff --quiet HEAD -- hack/build-image/Dockerfile; echo $$?), 0)
@echo "Local changes detected in hack/build-image/Dockerfile"
@echo "Preparing a new builder-image"
$(MAKE) build-image
else ifneq ($(BUILDER_IMAGE_CACHED),)
@echo "Using Cached Image: $(BUILDER_IMAGE)"
else
@echo "Trying to pull build-image: $(BUILDER_IMAGE)"
docker pull -q $(BUILDER_IMAGE) || $(MAKE) build-image
endif
container-clean:
rm -rf .container-* _output/.dockerfile-* .push-*
build-image:
@# When we build a new image we just untag the old one.
@# This makes sure we don't leave the orphaned image behind.
$(eval old_id=$(shell docker image inspect --format '{{ .ID }}' ${BUILDER_IMAGE} 2>/dev/null))
ifeq ($(BUILDX_ENABLED), true)
@cd hack/build-image && docker buildx build --build-arg=GOPROXY=$(GOPROXY) --output=type=docker --pull -t $(BUILDER_IMAGE) .
else
@cd hack/build-image && docker build --build-arg=GOPROXY=$(GOPROXY) --pull -t $(BUILDER_IMAGE) .
endif
$(eval new_id=$(shell docker image inspect --format '{{ .ID }}' ${BUILDER_IMAGE} 2>/dev/null))
@if [ "$(old_id)" != "" ] && [ "$(old_id)" != "$(new_id)" ]; then \
docker rmi -f $$id || true; \
fi
bin-clean:
push-build-image:
@# this target will push the build-image it assumes you already have docker
@# credentials needed to accomplish this.
docker push $(BUILDER_IMAGE)
build-image-hugo:
cd site && docker build --pull -t $(HUGO_IMAGE) .
clean:
# if we have a cached image then use it to run go clean --modcache
# this test checks if we there is an image id in the BUILDER_IMAGE_CACHED variable.
ifneq ($(strip $(BUILDER_IMAGE_CACHED)),)
$(MAKE) shell CMD="-c 'go clean --modcache'"
docker rmi -f $(BUILDER_IMAGE) || true
endif
rm -rf .go _output
docker rmi $(HUGO_IMAGE)
ci:
hack/verify-all.sh
hack/test.sh $(SRC_DIRS)
GOOS=$(GOOS) GOARCH=$(GOARCH) VERSION=$(VERSION) PKG=$(PKG) BIN=$(BIN) ./hack/build.sh
.PHONY: modules
modules:
go mod tidy
.PHONY: verify-modules
verify-modules: modules
@if !(git diff --quiet HEAD -- go.sum go.mod); then \
echo "go module files are out of date, please commit the changes to go.mod and go.sum"; exit 1; \
fi
ci: verify-modules verify all test
changelog:
hack/changelog.sh
# release builds a GitHub release using goreleaser within the build container.
#
# To dry-run the release, which will build the binaries/artifacts locally but
# will *not* create a GitHub release:
# GITHUB_TOKEN=an-invalid-token-so-you-dont-accidentally-push-release \
# RELEASE_NOTES_FILE=changelogs/CHANGELOG-1.2.md \
# PUBLISH=false \
# make release
#
# To run the release, which will publish a *DRAFT* GitHub release in github.com/vmware-tanzu/velero
# (you still need to review/publish the GitHub release manually):
# GITHUB_TOKEN=your-github-token \
# RELEASE_NOTES_FILE=changelogs/CHANGELOG-1.2.md \
# PUBLISH=true \
# make release
release:
$(MAKE) shell CMD="-c '\
GITHUB_TOKEN=$(GITHUB_TOKEN) \
RELEASE_NOTES_FILE=$(RELEASE_NOTES_FILE) \
PUBLISH=$(PUBLISH) \
./hack/goreleaser.sh'"
serve-docs: build-image-hugo
docker run \
--rm \
-v "$$(pwd)/site:/srv/hugo" \
-it -p 1313:1313 \
$(HUGO_IMAGE) \
hugo server --bind=0.0.0.0 --enableGitInfo=false
# gen-docs generates a new versioned docs directory under site/docs. It follows
# the following process:
# 1. Copies the contents of the most recently tagged docs directory into the new
# directory, to establish a useful baseline to diff against.
# 2. Adds all copied content from step 1 to git's staging area via 'git add'.
# 3. Replaces the contents of the new docs directory with the contents of the
# 'master' docs directory, updating any version-specific links (e.g. to a
# specific branch of the GitHub repository) to use the new version
# 4. Copies the previous version's ToC file and runs 'git add' to establish
# a useful baseline to diff against.
# 5. Replaces the content of the new ToC file with the master ToC.
# 6. Update site/config.yaml and site/_data/toc-mapping.yml to include entries
# for the new version.
#
# The unstaged changes in the working directory can now easily be diff'ed against the
# staged changes using 'git diff' to review all docs changes made since the previous
# tagged version. Once the unstaged changes are ready, they can be added to the
# staging area using 'git add' and then committed.
#
# To run gen-docs: "NEW_DOCS_VERSION=v1.4 VELERO_VERSION=v1.4.0 make gen-docs"
#
# **NOTE**: there are additional manual steps required to finalize the process of generating
# a new versioned docs site. The full process is documented in site/README-JEKYLL.md.
gen-docs:
@hack/gen-docs.sh

7
PROJECT Normal file
View File

@@ -0,0 +1,7 @@
domain: io
repo: github.com/vmware-tanzu/velero
resources:
- group: velero
kind: BackupStorageLocation
version: v1
version: "2"

218
README.md
View File

@@ -1,222 +1,50 @@
# Heptio Ark
**Maintainers:** [Heptio][0]
![100]
[![Build Status][1]][2]
## Overview
Heptio Ark is a utility for managing disaster recovery, specifically for your [Kubernetes][14] cluster resources and persistent volumes. It provides a simple, configurable, and operationally robust way to back up and restore applications and PVs from a series of checkpoints. This allows you to better automate in the following scenarios:
* **Disaster recovery** with reduced TTR (time to respond), in the case of:
* Infrastructure loss
* Data corruption
* Service outages
Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. You can run Velero with a public cloud platform or on-premises. Velero lets you:
* **Cross-cloud-provider migration** for Kubernetes API objects (cross-cloud-provider migration of persistent volume snapshots not yet supported)
* Take backups of your cluster and restore in case of loss.
* Migrate cluster resources to other clusters.
* Replicate your production cluster to development and testing clusters.
* **Dev and testing environment setup (+ CI)**, via replication of prod environment
Velero consists of:
More concretely, Heptio Ark combines an in-cluster service with a CLI that allows you to record both:
1. *Configurable subsets of Kubernetes API objects* -- as tarballs stored in object storage
2. *Disk snapshots of Persistent Volumes* -- via the cloud provider APIs
* A server that runs on your cluster
* A command-line client that runs locally
Heptio Ark currently supports the [AWS][15], [GCP][16], and [Azure][17] cloud provider platforms.
## Documentation
## Quickstart
[The documentation][29] provides a getting started guide and information about building from source, architecture, extending Velero, and more.
This guide gets Ark up and running on your cluster, and goes through an example using the following:
* **Minio, an S3-compatible storage service** that runs locally on your cluster. This is the storage service where backup files are uploaded. *Note that Ark is intended to run on a cloud provider--we are using Minio here to keep the example convenient and self-contained.*
* **A sample nginx app** under the `nginx-example` namespace, used to demonstrate Ark's backup and restore functionality.
Note that this example *does not* include a demonstration of PV disk snapshots, because that feature requires integration with a cloud provider API. For snapshotting examples and instructions specific to AWS, GCP, and Azure, see [Cloud Provider Specifics][23].
### 0. Prerequisites
* *You should have access to an up-and-running Kubernetes cluster (minimum version 1.7).* If you do not have a cluster, [choose a setup solution][9] from the official Kubernetes docs.
* *You will need to have a DNS server set up on your cluster for the example files to work.* You can check this with `kubectl get svc -l k8s-app=kube-dns --namespace=kube-system`. If said service does not exist, [these instructions][12] may help.
* *You should have `kubectl` installed.* If not, follow the instructions for [installing via Homebrew (MacOS)][10] or [building the binary (Linux)][11].
### 1. Download
Clone or fork the Heptio Ark repo:
```
git clone git@github.com:heptio/ark.git
```
> NOTE: Documentation may change between releases. See the [Changelog][20] for links to previous versions of this repository and its docs.
>
> To ensure that you are working off a specific release, `git checkout <VERSION_TAG>` where `<VERSION_TAG>` is the appropriate tag for the Ark version you wish to use (e.g. "v0.3.3"). You should `git checkout master` only if you're planning on [building the Ark image from scratch][7].
### 2. Setup
There are two types of Ark instances that work in tandem:
1. **Ark server**: Runs persistently on the cluster.
2. **Ark client**: Launched by the user whenever they want to initiate an operation (e.g. a backup).
To get the server started on your cluster (as well as the local storage service), execute the following commands in Ark's root directory:
```
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f examples/minio/
kubectl apply -f examples/common/10-deployment.yaml
```
*NOTE: If you encounter an error related to Config creation, wait for a minute and run the command again. (The Config CRD does not always finish registering in time.)*
Now deploy the example nginx app:
```
kubectl apply -f examples/nginx-app/base.yaml
```
Check to see that both the Ark and nginx deployments have been successfully created:
```
kubectl get deployments -l component=ark --namespace=heptio-ark
kubectl get deployments --namespace=nginx-example
```
Finally, install the Ark client somehwere in your `$PATH`:
* [Download a pre-built release][26], or
* [Build it from scratch][7]
### 3. Back up and restore
First, create a backup specifically for any object matching the `app=nginx` label selector:
```
ark backup create nginx-backup --selector app=nginx
```
Now you can mimic a disaster with the following:
```
kubectl delete namespace nginx-example
```
Oh no! The nginx deployment and service are both gone, as you can see (though you may have to wait a minute or two for the namespace be fully cleaned up):
```
kubectl get deployments --namespace=nginx-example
kubectl get services --namespace=nginx-example
```
Neither commands should yield any results. However, because Ark has your back(up), you can run this command:
```
ark restore create nginx-backup
```
To check on the status of the Restore:
```
ark restore get
```
The output should look something like the table below:
```
NAME BACKUP STATUS WARNINGS ERRORS CREATED SELECTOR
nginx-backup-20170727200524 nginx-backup Completed 0 0 2017-07-27 20:05:24 +0000 UTC <none>
```
If the Restore's `STATUS` column is "Completed", and `WARNINGS` and `ERRORS` are both zero, the restore is a success. All of the objects in the `nginx-example` namespace should be just as they were before.
Otherwise, if there are warnings or errors indicated, you can run the following command to look at them in more detail:
```
ark restore get <RESTORE NAME> -o yaml
```
See the [debugging documentation][18] for more details.
*NOTE*: In the example files, the `storage` volume is defined via `hostPath` for better visibility. If you're curious to see the [structure of the backup files][13] firsthand, you can find the compressed results in `/tmp/minio/ark/nginx-backup`.
### 4. Tear Down
Using the following command, you can remove all Kubernetes objects associated with this example:
```
kubectl delete -f examples/common/
kubectl delete -f examples/minio/
kubectl delete -f examples/nginx-app/base.yaml
```
## Architecture
Each of Heptio Ark's operations (Backups, Schedules, and Restores) are custom resources themselves, defined using [CRDs][20]. Their accompanying [custom controllers][21] handle them when they are submitted to the Kubernetes API server.
As mentioned before, Ark runs in two different modes:
* **Ark client**: Allows you to query, create, and delete the Ark resources as desired.
* **Ark server**: Runs all of the Ark controllers. Each controller watches its respective custom resource for API operations, performs validation, and handles the majority of the cloud API logic (e.g. interfacing with object storage and persistent volumes).
Looking at a specific example--an `ark backup create test-backup` command triggers the following operations:
![19]
1. The *ark client* makes a call to the Kubernetes API server, creating a `Backup` custom resource (which is stored in [etcd][22]).
2. The `BackupController` sees that a new `Backup` has been created, and validates it.
3. Once validation passes, the `BackupController` begins the backup process. It collects data by querying the Kubernetes API Server for resources.
4. Once the data has been aggregated, the `BackupController` makes a call to the object storage service (e.g. Amazon S3) to upload the backup file.
5. By default, Ark also makes disk snapshots of any persistent volumes, using the appropriate cloud service API. (This can be disabled via the option `--snapshot-volumes=false`)
## Extensibility
Ark has multiple mechanisms for extending the core functionality to meet your individual backup/restore needs:
* [Hooks][27] allow you to specify commands to be executed within running pods during a backup. This is useful if you need to run a workload-specific command prior to taking a backup (for example, to flush disk buffers or to freeze a database).
* [Plugins][28] enable you to develop custom object/block storage back-ends or per-item backup/restore actions that can execute arbitrary logic, including modifying the items being backed up/restored. Plugins can be used by Ark without needing to be compiled into the core Ark binary.
## Further documentation
To learn more about Heptio Ark operations and their applications, see the [`/docs` directory][3].
Please use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of Velero.
## Troubleshooting
If you encounter any problems that the documentation does not address, [file an issue][4] or talk to us on the [Kubernetes Slack team][25] channel `#ark-dr`.
If you encounter issues, review the [troubleshooting docs][30], [file an issue][4], or talk to us on the [#velero channel][25] on the Kubernetes Slack server.
## Contributing
Thanks for taking the time to join our community and start contributing!
Feedback and discussion is available on [the mailing list][24].
#### Before you start
* Please familiarize yourself with the [Code of Conduct][8] before contributing.
* See [CONTRIBUTING.md][5] for instructions on the developer certificate of origin that we require.
#### Pull requests
* We welcome pull requests. Feel free to dig through the [issues][4] and jump in.
If you are ready to jump in and test, add code, or help with documentation, follow the instructions on our [Start contributing][31] documentation for guidance on how to setup Velero for development.
## Changelog
See [the list of releases][6] to find out about feature changes.
[0]: https://github.com/heptio
[1]: https://travis-ci.org/heptio/ark.svg?branch=master
[2]: https://travis-ci.org/heptio/ark
[3]: /docs
[4]: https://github.com/heptio/ark/issues
[5]: /CONTRIBUTING.md
[6]: /CHANGELOG.md
[7]: /docs/build-from-scratch.md
[8]: /CODE_OF_CONDUCT.md
[1]: https://github.com/vmware-tanzu/velero/workflows/Main%20CI/badge.svg
[2]: https://github.com/vmware-tanzu/velero/actions?query=workflow%3A"Main+CI"
[4]: https://github.com/vmware-tanzu/velero/issues
[6]: https://github.com/vmware-tanzu/velero/releases
[9]: https://kubernetes.io/docs/setup/
[10]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-with-homebrew-on-macos
[11]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#tabset-1
[12]: https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/README.md
[13]: /docs/output-file-format.md
[14]: https://github.com/kubernetes/kubernetes
[15]: https://aws.amazon.com/
[16]: https://cloud.google.com/
[17]: https://azure.microsoft.com/
[18]: /docs/debugging-restores.md
[19]: /docs/img/backup-process.png
[20]: https://kubernetes.io/docs/concepts/api-extension/custom-resources/#customresourcedefinitions
[21]: https://kubernetes.io/docs/concepts/api-extension/custom-resources/#custom-controllers
[22]: https://github.com/coreos/etcd
[23]: /docs/cloud-provider-specifics.md
[24]: http://j.hept.io/ark-list
[25]: http://slack.kubernetes.io/
[26]: https://github.com/heptio/ark/releases
[27]: /docs/hooks.md
[28]: /docs/plugins.md
[24]: https://groups.google.com/forum/#!forum/projectvelero
[25]: https://kubernetes.slack.com/messages/velero
[29]: https://velero.io/docs/
[30]: https://velero.io/docs/troubleshooting
[31]: https://velero.io/docs/start-contributing
[100]: https://velero.io/docs/main/img/velero.png

36
ROADMAP.md Normal file
View File

@@ -0,0 +1,36 @@
## Velero Roadmap
### About this document
This document provides a link to the [Velero Project board](https://app.zenhub.com/workspaces/velero-5c59c15e39d47b774b5864e3/board?repos=99143276,112385197,190224441,214524700,214524630,213946861) that serves as the up to date description of items that are in the release pipeline. The board has separate swim lanes based on prioritization. Most items are gathered from the community or include a feedback loop with the community. This should serve as a reference point for Velero users and contributors to understand where the project is heading, and help determine if a contribution could be conflicting with a longer term plan. You will need the ZenHub plugin to view the board.
### How to help?
Discussion on the roadmap can take place in threads under [Issues](https://github.com/vmware-tanzu/velero/issues) or in [community meetings](https://velero.io/community/). Please open and comment on an issue if you want to provide suggestions, use cases, and feedback to an item in the roadmap. Please review the roadmap to avoid potential duplicated effort.
### How to add an item to the roadmap?
One of the most important aspects in any open source community is the concept of proposals. Large changes to the codebase and / or new features should be preceded by a [proposal](https://github.com/vmware-tanzu/velero/blob/master/GOVERNANCE.md#proposal-process) in our repo.
For smaller enhancements, you can open an issue to track that initiative or feature request.
We work with and rely on community feedback to focus our efforts to improve Velero and maintain a healthy roadmap.
### Current Roadmap
The following table includes the current roadmap for Velero. If you have any questions or would like to contribute to Velero, please attend a [community meeting](https://velero.io/community/) to discuss with our team. If you don't know where to start, we are always looking for contributors that will help us reduce technical, automation, and documentation debt.
Please take the timelines & dates as proposals and goals. Priorities and requirements change based on community feedback, roadblocks encountered, community contributions, etc. If you depend on a specific item, we encourage you to attend community meetings to get updated status information, or help us deliver that feature by contributing to Velero.
`Last Updated: May 2020`
|Theme|Description|Timeline|
|--|--|--|
|Restic Improvements|Introduce improvements in annotating resources for Restic backup|August 2020|
|Extensibility|Add restore hooks for enhanced recovery scenarios|August 2020|
|CSI|Continue improving the CSI snapshot capabilities and participate in the upstream K8s CSI community|Long running (dependent on CSI working group)|
|Backup/Restore|Improvements to long-running copy operations from a performance and reliability standpoint|August 2020|
|UX|Improvements to install and configuration user experience|August 2020|
|Restic Improvements|Improve the use of Restic in Velero and offer stable support|Dec 2020|
|Perf & Scale|Introduce a scalable model by using a worker pod for each backup/restore operation and improve operations|Dec 2020|
|Backup/Restore|Better backup and restore semantics for certain Kubernetes resources like stateful sets, operators|Dec 2020|
|Security|Enable the use of custom credential providers|Dec 2020|
|Self-Service & Multitenancy|Reduce friction by enabling developers to backup their namespaces via self-service. Introduce a Velero multi-tenancy model, enabling owners of namespaces to backup and restore within their access scope|Mar 2021|
|Backup/Restore|Cross availability zone or region backup and restore|Mar 2021|
|Application Consistency|Offer blueprints for backing up and restoring popular applications|May 2021|
|Backup/Restore|Data only backup and restore|May 2021|
|Backup/Restore|Introduce the ability to overwrite existing objects during a restore|May 2021|
|Backup/Restore|What-if dry run for backup and restore|May 2021|

View File

@@ -1,5 +1,7 @@
# Ark Support
# Velero Support
Thanks for trying out Ark! We welcome all feedback, please consider joining our mailing list:
Thanks for trying out Velero! We welcome all feedback, find all the ways to connect with us on our Community page:
- [Mailing List](http://j.hept.io/ark-list)
- [Velero Community](https://velero.io/community/)
You can find details on the Velero maintainers' support process [here](https://velero.io/docs/master/support-process/).

View File

@@ -0,0 +1,261 @@
- [v0.10.2](#v0102)
- [v0.10.1](#v0101)
- [v0.10.0](#v0100)
## v0.10.2
#### 2019-02-28
### Download
- https://github.com/heptio/ark/releases/tag/v0.10.2
### Changes
* 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)
## v0.10.1
#### 2019-01-10
### Download
- https://github.com/heptio/ark/releases/tag/v0.10.1
### Changes
* 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)
## v0.10.0
#### 2018-11-15
### Download
- https://github.com/heptio/ark/releases/tag/v0.10.0
### Highlights
- 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 [Locations documentation][2] 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` commands.
- 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`
### Breaking Changes
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 [detailed set of instructions][1] 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 [`ObjectStore.ListCommonPrefixes`](https://github.com/vmware-tanzu/velero/blob/main/pkg/cloudprovider/object_store.go#L50) 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 [`Server`](https://github.com/vmware-tanzu/velero/blob/main/pkg/plugin/server.go#L37) 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.
### All Changes
- [b9de44ff](https://github.com/heptio/ark/commit/b9de44ff) update docs to reference config/ dir within release tarballs
- [eace0255](https://github.com/heptio/ark/commit/eace0255) goreleaser: update example image tags to match version being released
- [cff02159](https://github.com/heptio/ark/commit/cff02159) add rbac content, rework get-started for NodePort and publicUrl, add versioning information
- [fa14255e](https://github.com/heptio/ark/commit/fa14255e) add content for docs issue 819
- [22959071](https://github.com/heptio/ark/commit/22959071) add doc explaining locations
- [e5556fe6](https://github.com/heptio/ark/commit/e5556fe6) Added qps and burst to server's client
- [9ae861c9](https://github.com/heptio/ark/commit/9ae861c9) Support a separate URL base for pre-signed URLs
- [698420b6](https://github.com/heptio/ark/commit/698420b6) Update storage-layout-reorg-v0.10.md
- [6c9e1f18](https://github.com/heptio/ark/commit/6c9e1f18) lower some noisy logs to debug level
- [318fd8a8](https://github.com/heptio/ark/commit/318fd8a8) add troubleshooting for loadbalancer restores
- [defb8aa8](https://github.com/heptio/ark/commit/defb8aa8) remove code that checks directly for a backup from restore controller
- [7abe1156](https://github.com/heptio/ark/commit/7abe1156) Move clearing up of metadata before plugin's actions
- [ec013e6f](https://github.com/heptio/ark/commit/ec013e6f) Document upgrading plugins in the deployment
- [d6162e94](https://github.com/heptio/ark/commit/d6162e94) fix goreleaser bugs
- [a15df276](https://github.com/heptio/ark/commit/a15df276) Add correct link and change role
- [46bed015](https://github.com/heptio/ark/commit/46bed015) add 0.10 breaking changes warning to readme in main
- [e3a7d6a2](https://github.com/heptio/ark/commit/e3a7d6a2) add content for issue 994
- [400911e9](https://github.com/heptio/ark/commit/400911e9) address docs issue #978
- [b818cc27](https://github.com/heptio/ark/commit/b818cc27) don't require a default provider VSL if there's only 1
- [90638086](https://github.com/heptio/ark/commit/90638086) v0.10 changelog
- [6e2166c4](https://github.com/heptio/ark/commit/6e2166c4) add docs page on versions and upgrading
- [18b434cb](https://github.com/heptio/ark/commit/18b434cb) goreleaser scripts for building/creating a release on a workstation
- [bb65d67a](https://github.com/heptio/ark/commit/bb65d67a) update restic prerequisite with min k8s version
- [b5a2ccd5](https://github.com/heptio/ark/commit/b5a2ccd5) Silence git detached HEAD advice in build container
- [67749141](https://github.com/heptio/ark/commit/67749141) instructions for upgrading to v0.10
- [516422c2](https://github.com/heptio/ark/commit/516422c2) sync controller: fill in missing .spec.storageLocation
- [195e6aaf](https://github.com/heptio/ark/commit/195e6aaf) fix bug preventing PV snapshots from v0.10 backups from restoring
- [bca58516](https://github.com/heptio/ark/commit/bca58516) Run 'make update' to update formatting
- [573ce7d0](https://github.com/heptio/ark/commit/573ce7d0) Update formatting script
- [90d9be59](https://github.com/heptio/ark/commit/90d9be59) support restoring/deleting legacy backups with .status.volumeBackups
- [ef194972](https://github.com/heptio/ark/commit/ef194972) rename variables #967
- [6d4e702c](https://github.com/heptio/ark/commit/6d4e702c) fix broken link
- [596eea1b](https://github.com/heptio/ark/commit/596eea1b) restore storageclasses before pvs and pvcs
- [f014cab1](https://github.com/heptio/ark/commit/f014cab1) backup describer: show snapshot summary by default, details optionally
- [8acc66d0](https://github.com/heptio/ark/commit/8acc66d0) remove pvProviderExists param from NewRestoreController
- [57ce590f](https://github.com/heptio/ark/commit/57ce590f) create a struct for multiple return of same type in restore_contoroller #967
- [028fafb6](https://github.com/heptio/ark/commit/028fafb6) Corrected grammatical error
- [db856aff](https://github.com/heptio/ark/commit/db856aff) Specify return arguments
- [9952dfb0](https://github.com/heptio/ark/commit/9952dfb0) Address #424: Add CRDs to list of prioritized resources
- [cf2c2714](https://github.com/heptio/ark/commit/cf2c2714) fix bugs in GetBackupVolumeSnapshots and add test
- [ec124673](https://github.com/heptio/ark/commit/ec124673) remove all references to Config from docs/examples
- [c36131a0](https://github.com/heptio/ark/commit/c36131a0) remove Config-related code
- [406b50a7](https://github.com/heptio/ark/commit/406b50a7) update restore process using snapshot locations
- [268080ad](https://github.com/heptio/ark/commit/268080ad) avoid panics if can't get block store during deletion
- [4a03370f](https://github.com/heptio/ark/commit/4a03370f) update backup deletion controller for snapshot locations
- [38c72b8c](https://github.com/heptio/ark/commit/38c72b8c) include snapshot locations in created schedule's backup spec
- [0ec2de55](https://github.com/heptio/ark/commit/0ec2de55) azure: update blockstore to allow storing snaps in different resource group
- [35bb533c](https://github.com/heptio/ark/commit/35bb533c) close gzip writer before uploading volumesnapshots file
- [da9ed38c](https://github.com/heptio/ark/commit/da9ed38c) store volume snapshot info as JSON in backup storage
- [e24248e0](https://github.com/heptio/ark/commit/e24248e0) add --volume-snapshot-locations flag to ark backup create
- [df07b7dc](https://github.com/heptio/ark/commit/df07b7dc) update backup code to work with volume snapshot locations
- [4af89fa8](https://github.com/heptio/ark/commit/4af89fa8) add unit test for getDefaultVolumeSnapshotLocations
- [02f50b9c](https://github.com/heptio/ark/commit/02f50b9c) add default-volume-snapshot-locations to server cmd
- [1aa712d2](https://github.com/heptio/ark/commit/1aa712d2) Default and validate VolumeSnapshotLocations
- [bbf76985](https://github.com/heptio/ark/commit/bbf76985) add create CLI command for snapshot locations
- [aeb221ea](https://github.com/heptio/ark/commit/aeb221ea) Add printer for snapshot locations
- [ffc612ac](https://github.com/heptio/ark/commit/ffc612ac) Add volume snapshot CLI get command
- [f20342aa](https://github.com/heptio/ark/commit/f20342aa) Add VolumeLocation and Snapshot.
- [7172db8a](https://github.com/heptio/ark/commit/7172db8a) upgrade to restic v0.9.3
- [99adc4fa](https://github.com/heptio/ark/commit/99adc4fa) Remove broken references to docs that are not existing
- [474efde6](https://github.com/heptio/ark/commit/474efde6) Fixed relative link for image
- [41735154](https://github.com/heptio/ark/commit/41735154) don't require a default backup storage location to exist
- [0612c5de](https://github.com/heptio/ark/commit/0612c5de) templatize error message in DeleteOptions
- [66bcbc05](https://github.com/heptio/ark/commit/66bcbc05) add support for bulk deletion to ark schedule delete
- [3af43b49](https://github.com/heptio/ark/commit/3af43b49) add azure-specific code to support multi-location restic
- [d009163b](https://github.com/heptio/ark/commit/d009163b) update restic to support multiple backup storage locations
- [f4c99c77](https://github.com/heptio/ark/commit/f4c99c77) Change link for the support matrix
- [91e45d56](https://github.com/heptio/ark/commit/91e45d56) Fix broken storage providers link
- [ed0eb865](https://github.com/heptio/ark/commit/ed0eb865) fix backup storage location example YAMLs
- [eb709b8f](https://github.com/heptio/ark/commit/eb709b8f) only sync a backup location if it's changed since last sync
- [af3af1b5](https://github.com/heptio/ark/commit/af3af1b5) clarify Azure resource group usage in docs
- [9fdf8513](https://github.com/heptio/ark/commit/9fdf8513) Minor code cleanup
- [2073e15a](https://github.com/heptio/ark/commit/2073e15a) Fix formatting for live site
- [0fc3e8d8](https://github.com/heptio/ark/commit/0fc3e8d8) add documentation on running Ark on-premises
- [e46e89cb](https://github.com/heptio/ark/commit/e46e89cb) have restic share main Ark bucket
- [42b54586](https://github.com/heptio/ark/commit/42b54586) refactor to make valid dirs part of an object store layout
- [8bc7e4f6](https://github.com/heptio/ark/commit/8bc7e4f6) store backups & restores in backups/, restores/ subdirs in obj storage
- [e3232b7e](https://github.com/heptio/ark/commit/e3232b7e) add support for bulk deletion to ark restore delete
- [17be71e1](https://github.com/heptio/ark/commit/17be71e1) remove deps used for docs gen
- [20635106](https://github.com/heptio/ark/commit/20635106) remove script for generating docs
- [6fd9ea9d](https://github.com/heptio/ark/commit/6fd9ea9d) remove cli reference docs and related scripts
- [4833607a](https://github.com/heptio/ark/commit/4833607a) Fix infinite sleep in fsfreeze container
- [7668bfd4](https://github.com/heptio/ark/commit/7668bfd4) Add links for Portworx plugin support
- [468006e6](https://github.com/heptio/ark/commit/468006e6) Fix Portworx name in doc
- [e6b44539](https://github.com/heptio/ark/commit/e6b44539) Make fsfreeze image building consistent
- [fcd27a13](https://github.com/heptio/ark/commit/fcd27a13) get a new metadata accessor after calling backup item actions
- [ffef86e3](https://github.com/heptio/ark/commit/ffef86e3) Adding support for the AWS_CLUSTER_NAME env variable allowing to claim volumes ownership
- [cda3dff8](https://github.com/heptio/ark/commit/cda3dff8) Document single binary plugins
- [f049e078](https://github.com/heptio/ark/commit/f049e078) Remove ROADMAP.md, update ZenHub link to Ark board
- [94617b30](https://github.com/heptio/ark/commit/94617b30) convert all controllers to use genericController, logContext -> log
- [779cb428](https://github.com/heptio/ark/commit/779cb428) Document SignatureDoesNotMatch error and triaging
- [7d8813a9](https://github.com/heptio/ark/commit/7d8813a9) move ObjectStore mock into pkg/cloudprovider/mocks
- [f0edf733](https://github.com/heptio/ark/commit/f0edf733) add a BackupStore to pkg/persistence that supports prefixes
- [af64069d](https://github.com/heptio/ark/commit/af64069d) create pkg/persistence and move relevant code from pkg/cloudprovider into it
- [29d75d72](https://github.com/heptio/ark/commit/29d75d72) move object and block store interfaces to their own files
- [211aa7b7](https://github.com/heptio/ark/commit/211aa7b7) Set schedule labels to subsequent backups
- [d34994cb](https://github.com/heptio/ark/commit/d34994cb) set azure restic env vars based on default backup location's config
- [a50367f1](https://github.com/heptio/ark/commit/a50367f1) Regenerate CLI docs
- [7bc27bbb](https://github.com/heptio/ark/commit/7bc27bbb) Pin cobra version
- [e94277ac](https://github.com/heptio/ark/commit/e94277ac) Update pflag version
- [df69b274](https://github.com/heptio/ark/commit/df69b274) azure: update documentation and examples
- [cb321db2](https://github.com/heptio/ark/commit/cb321db2) azure: refactor to not use helpers/ pkg, validate all env/config inputs
- [9d7ea748](https://github.com/heptio/ark/commit/9d7ea748) azure: support different RGs/storage accounts per backup location
- [cd4e9f53](https://github.com/heptio/ark/commit/cd4e9f53) azure: fix for breaking change in blob.GetSASURI
- [a440029c](https://github.com/heptio/ark/commit/a440029c) bump Azure SDK version and include storage mgmt package
- [b31e25bf](https://github.com/heptio/ark/commit/b31e25bf) server: remove unused code, replace deprecated func
- [729d7339](https://github.com/heptio/ark/commit/729d7339) controllers: take a newPluginManager func in constructors
- [6445dbf1](https://github.com/heptio/ark/commit/6445dbf1) Update examples and docs for backup locations
- [133dc185](https://github.com/heptio/ark/commit/133dc185) backup sync: process the default location first
- [7a1e6d16](https://github.com/heptio/ark/commit/7a1e6d16) generic controller: allow controllers with only a resync func
- [6f7bfe54](https://github.com/heptio/ark/commit/6f7bfe54) remove Config CRD's BackupStorageProvider & other obsolete code
- [bd4d97b9](https://github.com/heptio/ark/commit/bd4d97b9) move server's defaultBackupLocation into config struct
- [0e94fa37](https://github.com/heptio/ark/commit/0e94fa37) update sync controller for backup locations
- [2750aa71](https://github.com/heptio/ark/commit/2750aa71) Use backup storage location during restore
- [20f89fbc](https://github.com/heptio/ark/commit/20f89fbc) use the default backup storage location for restic
- [833a6307](https://github.com/heptio/ark/commit/833a6307) Add storage location to backup get/describe
- [cf7c8587](https://github.com/heptio/ark/commit/cf7c8587) download request: fix setting of log level for plugin manager
- [3234124a](https://github.com/heptio/ark/commit/3234124a) backup deletion: fix setting of log level in plugin manager
- [74043ab4](https://github.com/heptio/ark/commit/74043ab4) download request controller: fix bug in determining expiration
- [7007f198](https://github.com/heptio/ark/commit/7007f198) refactor download request controller test and add test cases
- [8f534615](https://github.com/heptio/ark/commit/8f534615) download request controller: use backup location for object store
- [bab08ed1](https://github.com/heptio/ark/commit/bab08ed1) backup deletion controller: use backup location for object store
- [c6f488f7](https://github.com/heptio/ark/commit/c6f488f7) Use backup location in the backup controller
- [06b5af44](https://github.com/heptio/ark/commit/06b5af44) add create and get CLI commands for backup locations
- [adbcd370](https://github.com/heptio/ark/commit/adbcd370) add --default-backup-storage-location flag to server cmd
- [2a34772e](https://github.com/heptio/ark/commit/2a34772e) Add --storage-location argument to create commands
- [56f16170](https://github.com/heptio/ark/commit/56f16170) Correct metadata for BackupStorageLocationList
- [345c3c39](https://github.com/heptio/ark/commit/345c3c39) Generate clients for BackupStorageLocation
- [a25eb032](https://github.com/heptio/ark/commit/a25eb032) Add BackupStorageLocation API type
- [575c4ddc](https://github.com/heptio/ark/commit/575c4ddc) apply annotations on single line, no restore mode
- [030ea6c0](https://github.com/heptio/ark/commit/030ea6c0) minor word updates and command wrapping
- [d32f8dbb](https://github.com/heptio/ark/commit/d32f8dbb) Update hooks/fsfreeze example
- [342a1c64](https://github.com/heptio/ark/commit/342a1c64) add an ark bug command
- [9c11ba90](https://github.com/heptio/ark/commit/9c11ba90) Add DigitalOcean to S3-compatible backup providers
- [ea50ebf2](https://github.com/heptio/ark/commit/ea50ebf2) Fix map merging logic
- [9508e4a2](https://github.com/heptio/ark/commit/9508e4a2) Switch Config CRD elements to server flags
- [0c3ac67b](https://github.com/heptio/ark/commit/0c3ac67b) start using a namespaced label on restored objects, deprecate old label
- [6e53aa03](https://github.com/heptio/ark/commit/6e53aa03) Bring back 'make local'
- [5acccaa7](https://github.com/heptio/ark/commit/5acccaa7) add bulk deletion support to ark backup delete
- [3aa241a7](https://github.com/heptio/ark/commit/3aa241a7) Preserve node ports during restore when annotations hold specification.
- [c5f5862c](https://github.com/heptio/ark/commit/c5f5862c) Add --wait support to ark backup create
- [eb6f742b](https://github.com/heptio/ark/commit/eb6f742b) Document CRD not found errors
- [fb4d507c](https://github.com/heptio/ark/commit/fb4d507c) Extend doc about synchronization
- [e7bb5926](https://github.com/heptio/ark/commit/e7bb5926) Add --wait support to `ark restore create`
- [8ce513ac](https://github.com/heptio/ark/commit/8ce513ac) Only delete unused backup if they are complete
- [1c26fbde](https://github.com/heptio/ark/commit/1c26fbde) remove SnapshotService, replace with direct BlockStore usage
- [13051218](https://github.com/heptio/ark/commit/13051218) Refactor plugin management
- [74dbf387](https://github.com/heptio/ark/commit/74dbf387) Add restore failed phase and metrics
- [8789ae5c](https://github.com/heptio/ark/commit/8789ae5c) update testify to latest released version
- [fe9d61a9](https://github.com/heptio/ark/commit/fe9d61a9) Add schedule command info to quickstart
- [ca5656c2](https://github.com/heptio/ark/commit/ca5656c2) fix bug preventing backup item action item updates from saving
- [d2e629f5](https://github.com/heptio/ark/commit/d2e629f5) Delete backups from etcd if they're not in storage
- [625ba481](https://github.com/heptio/ark/commit/625ba481) Fix ZenHub link on Readme.md
- [dcae6eb0](https://github.com/heptio/ark/commit/dcae6eb0) Update gcp-config.md
- [06d6665a](https://github.com/heptio/ark/commit/06d6665a) check s3URL scheme upon AWS ObjectStore Init()
- [cc359f6e](https://github.com/heptio/ark/commit/cc359f6e) Add contributor docs for our ZenHub usage
- [f6204562](https://github.com/heptio/ark/commit/f6204562) cleanup service account action log statement
- [450fa72f](https://github.com/heptio/ark/commit/450fa72f) Initialize schedule Prometheus metrics to have them created beforehand (see https://prometheus.io/docs/practices/instrumentation/#avoid-missing-metrics)
- [39c4267a](https://github.com/heptio/ark/commit/39c4267a) Clarify that object storage should per-cluster
- [78cbdf95](https://github.com/heptio/ark/commit/78cbdf95) delete old deletion requests for backup when processing a new one
- [85a61b8e](https://github.com/heptio/ark/commit/85a61b8e) return nil error if 404 encountered when deleting snapshots
- [a2a7dbda](https://github.com/heptio/ark/commit/a2a7dbda) fix tagging latest by using make's ifeq
- [b4a52e45](https://github.com/heptio/ark/commit/b4a52e45) Add commands for context to the bug template
- [3efe6770](https://github.com/heptio/ark/commit/3efe6770) Update Ark library code to work with Kubernetes 1.11
- [7e8c8c69](https://github.com/heptio/ark/commit/7e8c8c69) Add some basic troubleshooting commands
- [d1955120](https://github.com/heptio/ark/commit/d1955120) require namespace for backups/etc. to exist at server startup
- [683f7afc](https://github.com/heptio/ark/commit/683f7afc) switch to using .status.startTimestamp for sorting backups
- [b71a37db](https://github.com/heptio/ark/commit/b71a37db) Record backup completion time before uploading
- [217084cd](https://github.com/heptio/ark/commit/217084cd) Add example ark version command to issue templates
- [040788bb](https://github.com/heptio/ark/commit/040788bb) Add minor improvements and aws example<Plug>delimitMateCR
- [5b89f7b6](https://github.com/heptio/ark/commit/5b89f7b6) Skip backup sync if it already exists in k8s
- [c6050845](https://github.com/heptio/ark/commit/c6050845) restore controller: switch to 'c' for receiver name
- [706ae07d](https://github.com/heptio/ark/commit/706ae07d) enable a schedule to be provided as the source for a restore
- [aea68414](https://github.com/heptio/ark/commit/aea68414) fix up Slack link in troubleshooting on main branch
- [bb8e2e91](https://github.com/heptio/ark/commit/bb8e2e91) Document how to run the Ark server locally
- [dc84e591](https://github.com/heptio/ark/commit/dc84e591) Remove outdated namespace deletion content
- [23abbc9a](https://github.com/heptio/ark/commit/23abbc9a) fix paths
- [f0426538](https://github.com/heptio/ark/commit/f0426538) use posix-compliant conditional for checking TAG_LATEST
- [cf336d80](https://github.com/heptio/ark/commit/cf336d80) Added new templates
- [795dc262](https://github.com/heptio/ark/commit/795dc262) replace pkg/restore's osFileSystem with pkg/util/filesystem's
- [eabef085](https://github.com/heptio/ark/commit/eabef085) Update generated Ark code based on the 1.11 k8s.io/code-generator script
- [f5eac0b4](https://github.com/heptio/ark/commit/f5eac0b4) Update vendored library code for Kubernetes 1.11
[1]: https://heptio.github.io/velero/v0.10.0/upgrading-to-v0.10
[2]: locations.md

View File

@@ -0,0 +1,32 @@
## v0.11.1
#### 2019-05-17
### Download
- https://github.com/heptio/velero/releases/tag/v0.11.1
### Highlights
* Added the `velero migrate-backups` command to migrate legacy Ark backup metadata to the current Velero format in object storage. This command needs to be run in preparation for upgrading to v1.0, **if** you have backups that were originally created prior to v0.11 (i.e. when the project was named Ark).
## v0.11.0
#### 2019-02-28
### Download
- https://github.com/heptio/velero/releases/tag/v0.11.0
### Highlights
* Heptio Ark is now Velero! This release is the first one to use the new name. For details on the changes and how to migrate to v0.11, see the [migration instructions][1]. **Please follow the instructions to ensure a successful upgrade to v0.11.**
* Restic has been upgraded to v0.9.4, which brings significantly faster restores thanks to a new multi-threaded restorer.
* Velero now waits for terminating namespaces and persistent volumes to delete before attempting to restore them, rather than trying and failing to restore them while they're being deleted.
### All Changes
* Fix concurrency bug in code ensuring restic repository exists (#1235, @skriss)
* Wait for PVs and namespaces to delete before attempting to restore them. (#826, @nrb)
* Set the zones for GCP regional disks on restore. This requires the `compute.zones.get` permission on the GCP serviceaccount in order to work correctly. (#1200, @nrb)
* Renamed Heptio Ark to Velero. Changed internal imports, environment variables, and binary name. (#1184, @nrb)
* use 'restic stats' instead of 'restic check' to determine if repo exists (#1171, @skriss)
* upgrade restic to v0.9.4 & replace --hostname flag with --host (#1156, @skriss)
* Clarify restore log when object unchanged (#1153, @daved)
* Add backup-version file in backup tarball. (#1117, @wwitzel3)
* add ServerStatusRequest CRD and show server version in `ark version` output (#1116, @skriss)
[1]: https://heptio.github.io/velero/v0.11.0/migrating-to-velero

View File

@@ -0,0 +1,39 @@
- [v0.3.3](#v033)
- [v0.3.2](#v032)
- [v0.3.1](#v031)
- [v0.3.0](#v030)
## v0.3.3
#### 2017-08-10
### Download
- https://github.com/heptio/ark/tree/v0.3.3
### Bug Fixes
* Treat the first field in a schedule's cron expression as minutes, not seconds
## v0.3.2
#### 2017-08-07
### Download
- https://github.com/heptio/ark/tree/v0.3.2
### New Features
* Add client-go auth provider plugins for Azure, GCP, OIDC
## v0.3.1
#### 2017-08-03
### Download
- https://github.com/heptio/ark/tree/v0.3.1
### Bug Fixes
* Fix Makefile VERSION
## v0.3.0
#### 2017-08-03
### Download
- https://github.com/heptio/ark/tree/v0.3.0
### All New Features
* Initial Release

View File

@@ -0,0 +1,29 @@
- [v0.4.0](#v040)
## v0.4.0
#### 2017-09-14
### Download
- https://github.com/heptio/ark/tree/v0.4.0
### Breaking changes
* Snapshotting and restoring volumes is now enabled by default
* The --namespaces flag for 'ark restore create' has been replaced by --include-namespaces and
--exclude-namespaces
### New features
* Support for S3 SSE with KMS
* Cloud provider configurations are validated at startup
* The persistentVolumeProvider is now optional
* Restore objects are garbage collected
* Each backup now has an associated log file, viewable via 'ark backup logs'
* Each restore now has an associated log file, viewable via 'ark restore logs'
* Add --include-resources/--exclude-resources for restores
### Bug fixes
* Only save/use iops for io1 volumes on AWS
* When restoring, try to retrieve the Backup directly from object storage if it's not found
* When syncing Backups from object storage to Kubernetes, don't return at the first error
encountered
* More closely match how kubectl performs kubeconfig resolution
* Increase default Azure API request timeout to 2 minutes
* Update Azure diskURI to match diskName

View File

@@ -0,0 +1,41 @@
- [v0.5.1](#v051)
- [v0.5.0](#v050)
## v0.5.1
#### 2017-11-06
### Download
- https://github.com/heptio/ark/tree/v0.5.1
### Bug fixes
* If a Service is headless, retain ClusterIP = None when backing up and restoring.
* Use the specifed --label-selector when listing backups, schedules, and restores.
* Restore namespace mapping functionality that was accidentally broken in 0.5.0.
* Always include namespaces in the backup, regardless of the --include-cluster-resources setting.
## v0.5.0
#### 2017-10-26
### Download
- https://github.com/heptio/ark/tree/v0.5.0
### Breaking changes
* The backup tar file format has changed. Backups created using previous versions of Ark cannot be restored using v0.5.0.
* When backing up one or more specific namespaces, cluster-scoped resources are no longer backed up by default, with the exception of PVs that are used within the target namespace(s). Cluster-scoped resources can still be included by explicitly specifying `--include-cluster-resources`.
### New features
* Add customized user-agent string for Ark CLI
* Switch from glog to logrus
* Exclude nodes from restoration
* Add a FAQ
* Record PV availability zone and use it when restoring volumes from snapshots
* Back up the PV associated with a PVC
* Add `--include-cluster-resources` flag to `ark backup create`
* Add `--include-cluster-resources` flag to `ark restore create`
* Properly support resource restore priorities across cluster-scoped and namespace-scoped resources
* Support `ark create ...` and `ark get ...`
* Make ark run as cluster-admin
* Add pod exec backup hooks
* Support cross-compilation & upgrade to go 1.9
### Bug fixes
* Make config change detection more robust

View File

@@ -0,0 +1,31 @@
- [v0.6.0](#v060)
## v0.6.0
#### 2017-11-30
### Download
- https://github.com/heptio/ark/tree/v0.6.0
### Highlights
* **Plugins** - We now support user-defined plugins that can extend Ark functionality to meet your custom backup/restore needs without needing to be compiled into the core binary. We support pluggable block and object stores as well as per-item backup and restore actions that can execute arbitrary logic, including modifying the items being backed up or restored. For more information see the [documentation](docs/plugins.md), which includes a reference to a fully-functional sample plugin repository. (#174 #188 #206 #213 #215 #217 #223 #226)
* **Describers** - The Ark CLI now includes `describe` commands for `backups`, `restores`, and `schedules` that provide human-friendly representations of the relevant API objects.
### Breaking Changes
* The config object format has changed. In order to upgrade to v0.6.0, the config object will have to be updated to match the new format. See the [examples](examples) and [documentation](docs/config-definition.md) for more information.
* The restore object format has changed. The `warnings` and `errors` fields are now ints containing the counts, while full warnings and errors are now stored in the object store instead of etcd. Restore objects created prior to v.0.6.0 should be deleted, or a new bucket used, and the old restore objects deleted from Kubernetes (`kubectl -n heptio-ark delete restore --all`).
### All New Features
* Add `ark plugin add` and `ark plugin remove` commands #217, @skriss
* Add plugin support for block/object stores, backup/restore item actions #174 #188 #206 #213 #215 #223 #226, @skriss @ncdc
* Improve Azure deployment instructions #216, @ncdc
* Change default TTL for backups to 30 days #204, @nrb
* Improve logging for backups and restores #199, @ncdc
* Add `ark backup describe`, `ark schedule describe` #196, @ncdc
* Add `ark restore describe` and move restore warnings/errors to object storage #173 #201 #202, @ncdc
* Upgrade to client-go v5.0.1, kubernetes v1.8.2 #157, @ncdc
* Add Travis CI support #165 #166, @ncdc
### Bug Fixes
* Fix log location hook prefix stripping #222, @ncdc
* When running `ark backup download`, remove file if there's an error #154, @ncdc
* Update documentation for AWS KMS Key alias support #163, @lli-hiya
* Remove clock from `volume_snapshot_action` #137, @athampy

View File

@@ -0,0 +1,30 @@
- [v0.7.1](#v071)
- [v0.7.0](#v070)
## v0.7.1
#### 2018-02-22
### Download
- https://github.com/heptio/ark/releases/tag/v0.7.1
### Bug Fixes:
* Run the Ark server in its own namespace, separate from backups/schedules/restores/config (#322, @ncdc)
## v0.7.0
#### 2018-02-15
### Download
- https://github.com/heptio/ark/releases/tag/v0.7.0
### New Features:
* Run the Ark server in any namespace (#272, @ncdc)
* Add ability to delete backups and their associated data (#252, @skriss)
* Support both pre and post backup hooks (#243, @ncdc)
### Bug Fixes / Other Changes:
* Switch from Update() to Patch() when updating Ark resources (#241, @skriss)
* Don't fail the backup if a PVC is not bound to a PV (#256, @skriss)
* Restore serviceaccounts prior to workload controllers (#258, @ncdc)
* Stop removing annotations from PVs when restoring them (#263, @skriss)
* Update GCP client libraries (#249, @skriss)
* Clarify backup and restore creation messages (#270, @nrb)
* Update S3 bucket creation docs for us-east-1 (#285, @lypht)

100
changelogs/CHANGELOG-0.8.md Normal file
View File

@@ -0,0 +1,100 @@
- [v0.8.3](#v083)
- [v0.8.2](#v082)
- [v0.8.1](#v081)
- [v0.8.0](#v080)
## v0.8.3
#### 2018-06-29
### Download
- https://github.com/heptio/ark/releases/tag/v0.8.3
### Bug Fixes:
* Don't restore backup and restore resources to avoid possible data corruption (#622, @ncdc)
## v0.8.2
#### 2018-06-01
### Download
- https://github.com/heptio/ark/releases/tag/v0.8.2
### Bug Fixes:
* Don't crash when a persistent volume claim is missing spec.volumeName (#520, @ncdc)
## v0.8.1
#### 2018-04-23
### Download
- https://github.com/heptio/ark/releases/tag/v0.8.1
### Bug Fixes:
* Azure: allow pre-v0.8.0 backups with disk snapshots to be restored and deleted (#446 #449, @skriss)
## v0.8.0
#### 2018-04-19
### Download
- https://github.com/heptio/ark/releases/tag/v0.8.0
### Highlights:
* Backup deletion has been completely revamped to make it simpler and less error-prone. As a user, you still use the `ark backup delete` command to request deletion of a backup and its associated cloud
resources; behind the scenes, we've switched to using a new `DeleteBackupRequest` Custom Resource and associated controller for processing deletion requests.
* We've reduced the number of required fields in the Ark config. For Azure, `location` is no longer required, and for GCP, `project` is not needed.
* Ark now copies tags from volumes to snapshots during backup, and from snapshots to new volumes during restore.
### Breaking Changes:
* Ark has moved back to a single namespace (`heptio-ark` by default) as part of #383.
### All New Features:
* Add global `--kubecontext` flag to Ark CLI (#296, @blakebarnett)
* Azure: support cross-resource group restores of volumes (#356 #378, @skriss)
* AWS/Azure/GCP: copy tags from volumes to snapshots, and from snapshots to volumes (#341, @skriss)
* Replace finalizer for backup deletion with `DeleteBackupRequest` custom resource & controller (#383 #431, @ncdc @nrb)
* Don't log warnings during restore if an identical object already exists in the cluster (#405, @nrb)
* Add bash & zsh completion support (#384, @containscafeine)
### Bug Fixes / Other Changes:
* Error from the Ark CLI if attempting to restore a non-existent backup (#302, @ncdc)
* Enable running the Ark server locally for development purposes (#334, @ncdc)
* Add examples to `ark schedule create` documentation (#331, @lypht)
* GCP: Remove `project` requirement from Ark config (#345, @skriss)
* Add `--from-backup` flag to `ark restore create` and allow custom restore names (#342 #409, @skriss)
* Azure: remove `location` requirement from Ark config (#344, @skriss)
* Add documentation/examples for storing backups in IBM Cloud Object Storage (#321, @roytman)
* Reduce verbosity of hooks logging (#362, @skriss)
* AWS: Add minimal IAM policy to documentation (#363 #419, @hopkinsth)
* Don't restore events (#374, @sanketjpatel)
* Azure: reduce API polling interval from 60s to 5s (#359, @skriss)
* Switch from hostPath to emptyDir volume type for minio example (#386, @containscafeine)
* Add limit ranges as a prioritized resource for restores (#392, @containscafeine)
* AWS: Add documentation on using Ark with kube2iam (#402, @domderen)
* Azure: add node selector so Ark pod is scheduled on a linux node (#415, @ffd2subroutine)
* Error from the Ark CLI if attempting to get logs for a non-existent restore (#391, @containscafeine)
* GCP: Add minimal IAM policy to documentation (#429, @skriss @jody-frankowski)
### Upgrading from v0.7.1:
Ark v0.7.1 moved the Ark server deployment into a separate namespace, `heptio-ark-server`. As of v0.8.0 we've
returned to a single namespace, `heptio-ark`, for all Ark-related resources. If you're currently running v0.7.1,
here are the steps you can take to upgrade:
1. Execute the steps from the **Credentials and configuration** section for your cloud:
* [AWS](https://heptio.github.io/velero/v0.8.0/aws-config#credentials-and-configuration)
* [Azure](https://heptio.github.io/velero/v0.8.0/azure-config#credentials-and-configuration)
* [GCP](https://heptio.github.io/velero/v0.8.0/gcp-config#credentials-and-configuration)
When you get to the secret creation step, if you don't have your `credentials-ark` file handy,
you can copy the existing secret from your `heptio-ark-server` namespace into the `heptio-ark` namespace:
```bash
kubectl get secret/cloud-credentials -n heptio-ark-server --export -o json | \
jq '.metadata.namespace="heptio-ark"' | \
kubectl apply -f -
```
2. You can now safely delete the `heptio-ark-server` namespace:
```bash
kubectl delete namespace heptio-ark-server
```
3. Execute the commands from the **Start the server** section for your cloud:
* [AWS](https://heptio.github.io/velero/v0.8.0/aws-config#start-the-server)
* [Azure](https://heptio.github.io/velero/v0.8.0/azure-config#start-the-server)
* [GCP](https://heptio.github.io/velero/v0.8.0/gcp-config#start-the-server)

181
changelogs/CHANGELOG-0.9.md Normal file
View File

@@ -0,0 +1,181 @@
- [v0.9.11](#v0911)
- [v0.9.10](#v0910)
- [v0.9.9](#v099)
- [v0.9.8](#v098)
- [v0.9.7](#v097)
- [v0.9.6](#v096)
- [v0.9.5](#v095)
- [v0.9.4](#v094)
- [v0.9.3](#v093)
- [v0.9.2](#v092)
- [v0.9.1](#v091)
- [v0.9.0](#v090)
## v0.9.11
#### 2018-11-08
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.11
### Bug Fixes
* Fix bug preventing PV snapshots from being restored (#1040, @ncdc)
## v0.9.10
#### 2018-11-01
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.10
### Bug Fixes
* restore storageclasses before pvs and pvcs (#594, @shubheksha)
* AWS: Ensure that the order returned by ListObjects is consistent (#999, @bashofmann)
* Add CRDs to list of prioritized resources (#424, @domenicrosati)
* Verify PV doesn't exist before creating new volume (#609, @nrb)
* Update README.md - Grammar mistake corrected (#1018, @midhunbiju)
## v0.9.9
#### 2018-10-24
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.9
### Bug Fixes
* Check if initContainers key exists before attempting to remove volume mounts. (#927, @skriss)
## v0.9.8
#### 2018-10-18
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.8
### Bug Fixes
* Discard service account token volume mounts from init containers on restore (#910, @james-powis)
* Support --include-cluster-resources flag when creating schedule (#942, @captjt)
* Remove logic to get a GCP project (#926, @shubheksha)
* Only try to back up PVCs linked PV if the PVC's phase is Bound (#920, @skriss)
* Claim ownership of new AWS volumes on Kubernetes cluster being restored into (#801, @ljakimczuk)
* Remove timeout check when taking snapshots (#928, @carlisia)
## v0.9.7
#### 2018-10-04
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.7
### Bug Fixes
* Preserve explicitly-specified node ports during restore (#712, @timoreimann)
* Enable restoring resources with ownerReference set (#837, @mwieczorek)
* Fix error when restoring ExternalName services (#869, @shubheksha)
* remove restore log helper for accurate line numbers (#891, @skriss)
* Display backup StartTimestamp in `ark backup get` output (#894, @marctc)
* Fix restic restores when using namespace mappings (#900, @skriss)
## v0.9.6
#### 2018-09-21
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.6
### Bug Fixes
* Discard service account tokens from non-default service accounts on restore (#843, @james-powis)
* Update Docker images to use `alpine:3.8` (#852, @nrb)
## v0.9.5
#### 2018-09-17
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.5
### Bug Fixes
* Fix issue causing restic restores not to work (#834, @skriss)
## v0.9.4
#### 20180-09-05
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.4
### Bug Fixes
* Terminate plugin clients to resolve memory leaks (#797, @skriss)
* Fix nil map errors when merging annotations (#812, @nrb)
## v0.9.3
#### 2018-08-10
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.3
### Bug Fixes
* Initalize Prometheus metrics when creating a new schedule (#689, @lemaral)
## v0.9.2
#### 2018-07-26
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.2) - 2018-07-26
### Bug Fixes:
* Fix issue where modifications made by backup item actions were not being saved to backup tarball (#704, @skriss)
## v0.9.1
#### 2018-07-23
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.1
### Bug Fixes:
* Require namespace for Ark's CRDs to already exist at server startup (#676, @skriss)
* Require all Ark CRDs to exist at server startup (#683, @skriss)
* Fix `latest` tagging in Makefile (#690, @skriss)
* Make Ark compatible with clusters that don't have the `rbac.authorization.k8s.io/v1` API group (#682, @nrb)
* Don't consider missing snapshots an error during backup deletion, limit backup deletion requests per backup to 1 (#687, @skriss)
## v0.9.0
#### 2018-07-06
### Download
- https://github.com/heptio/ark/releases/tag/v0.9.0
### Highlights:
* Ark now has support for backing up and restoring Kubernetes volumes using a free open-source backup tool called [restic](https://github.com/restic/restic).
This provides users an out-of-the-box solution for backing up and restoring almost any type of Kubernetes volume, whether or not it has snapshot support
integrated with Ark. For more information, see the [documentation](https://github.com/vmware-tanzu/velero/blob/main/docs/restic.md).
* Support for Prometheus metrics has been added! View total number of backup attempts (including success or failure), total backup size in bytes, and backup
durations. More metrics coming in future releases!
### All New Features:
* Add restic support (#508 #532 #533 #534 #535 #537 #540 #541 #545 #546 #547 #548 #555 #557 #561 #563 #569 #570 #571 #606 #608 #610 #621 #631 #636, @skriss)
* Add prometheus metrics (#531 #551 #564, @ashish-amarnath @nrb)
* When backing up a service account, include cluster roles/cluster role bindings that reference it (#470, @skriss)
* When restoring service accounts, copy secrets/image pull secrets into the target cluster even if the service account already exists (#403, @nrb)
### Bug Fixes / Other Changes:
* Upgrade to Kubernetes 1.10 dependencies (#417, @skriss)
* Upgrade to go 1.10 and alpine 3.7 (#456, @skriss)
* Display no excluded resources/namespaces as `<none>` rather than `*` (#453, @nrb)
* Skip completed jobs and pods when restoring (#463, @nrb)
* Set namespace correctly when syncing backups from object storage (#472, @skriss)
* When building on macOS, bind-mount volumes with delegated config (#478, @skriss)
* Add replica sets and daemonsets to cohabitating resources so they're not backed up twice (#482 #485, @skriss)
* Shut down the Ark server gracefully on SIGINT/SIGTERM (#483, @skriss)
* Only back up resources that support GET and DELETE in addition to LIST and CREATE (#486, @nrb)
* Show a better error message when trying to get an incomplete restore's logs (#496, @nrb)
* Stop processing when setting a backup deletion request's phase to `Deleting` fails (#500, @nrb)
* Add library code to install Ark's server components (#437 #506, @marpaia)
* Properly handle errors when backing up additional items (#512, @carlpett)
* Run post hooks even if backup actions fail (#514, @carlpett)
* GCP: fail backup if upload to object storage fails (#510, @nrb)
* AWS: don't require `region` as part of backup storage provider config (#455, @skriss)
* Ignore terminating resources while doing a backup (#526, @yastij)
* Log to stdout instead of stderr (#553, @ncdc)
* Move sample minio deployment's config to an emptyDir (#566, @runyontr)
* Add `omitempty` tag to optional API fields (@580, @nikhita)
* Don't restore PVs with a reclaim policy of `Delete` and no snapshot (#613, @ncdc)
* Don't restore mirror pods (#619, @ncdc)
### Docs Contributors:
* @gianrubio
* @castrojo
* @dhananjaysathe
* @c-knowles
* @mattkelly
* @ae-v
* @hamidzr

139
changelogs/CHANGELOG-1.0.md Normal file
View File

@@ -0,0 +1,139 @@
## v1.0.0
#### 2019-05-20
### Highlights
- We've added a new command, `velero install`, to make it easier to get up and running with Velero. This CLI command replaces the static YAML installation files that were previously part of release tarballs. See the updated [install instructions][3] for more information.
- We've made a number of improvements to the plugin framework:
- we've reorganized the relevant packages to minimize the import surface for plugin authors
- all plugins are now wrapped in panic handlers that will report information on panics back to Velero
- Velero's `--log-level` flag is now passed to plugin implementations
- Errors logged within plugins are now annotated with the file/line of where the error occurred
- Restore item actions can now optionally return a list of additional related items that should be restored
- Restore item actions can now indicate that an item *should not* be restored
- For Azure installation, the `cloud-credentials` secret can now be created from a file containing a list of environment variables. Note that `velero install` always uses this method of providing credentials for Azure. For more details, see [Run on Azure][0].
- We've added a new phase, `PartiallyFailed`, for both backups and restores. This new phase is used for backups/restores that successfully process some but not all of their items.
- We removed all legacy Ark references, including API types, prometheus metrics, restic & hook annotations, etc.
- The restic integration remains a **beta feature**. Please continue to try it out and provide feedback, and we'll be working over the next couple of releases to bring it to GA.
### Breaking Changes
#### API
* All legacy Ark data types and pre-1.0 compatibility code has been removed. Users should migrate any backups created pre-v0.11.0 with the `velero migrate-backups` command, available in [v0.11.1][2].
#### Image
* The base container image has been switched to `ubuntu:bionic`
#### Labels/Annotations/Metrics
* The "ark" annotations for specifying hooks are no longer supported, and have been replaced with "velero"-based equivalents.
* The "ark" annotation for specifying restic backups is no longer supported, and has been replaced with a "velero"-based equivalent.
* The "ark" prometheus metrics no longer exist, and have been replaced with "velero"-based equivalents.
#### Plugin Development
* `BlockStore` plugins are now named `VolumeSnapshotter` plugins
* Plugin APIs have moved to reduce the import surface:
* Plugin gRPC servers live in `github.com/heptio/velero/pkg/plugin/framework`
* Plugin interface types live in `github.com/heptio/velero/pkg/plugin/velero`
* RestoreItemAction interface now takes the original item from the backup as a parameter
* RestoreItemAction plugins can now return additional items to restore
* RestoreItemAction plugins can now skip restoring an item
* Plugins may now send stack traces with errors to the Velero server, so that the errors may be put into the server log
* Plugins must now be "namespaced," using `example.domain.com/plugin-name` format
* For external ObjectStore and VolumeSnapshotter plugins. this name will also be the provider name in BackupStorageLoction and VolumeSnapshotLocation objects
* `--log-level` flag is now passed to all plugins
#### Validation
* Configs for Azure, AWS, and GCP are now checked for invalid or extra keys, and the server is halted if any are found
### Download
- https://github.com/heptio/velero/releases/tag/v1.0.0
### Container Image
`gcr.io/heptio-images/velero:v1.0.0`
### Documentation
https://velero.io/docs/v1.0.0/
### Upgrading
To upgrade from a previous version of Velero, see our [upgrade instructions][1].
### All Changes
* Change base images to ubuntu:bionic (#1488, @skriss)
* Expose the timestamp of the last successful backup in a gauge (#1448, @fabito)
* check backup existence before download (#1447, @fabito)
* Use `latest` image tag if no version information is provided at build time (#1439, @nrb)
* switch from `restic stats` to `restic snapshots` for checking restic repository existence (#1416, @skriss)
* GCP: add optional 'project' config to volume snapshot location for if snapshots are in a different project than the IAM account (#1405, @skriss)
* Disallow bucket names starting with '-' (#1407, @nrb)
* Shorten label values when they're longer than 63 characters (#1392, @anshulc)
* Fail backup if it already exists in object storage. (#1390, @ncdc,carlisia)
* Add PartiallyFailed phase for backups, log + continue on errors during backup process (#1386, @skriss)
* Remove deprecated "hooks" for backups (they've been replaced by "pre hooks") (#1384, @skriss)
* Restic repo ensurer: return error if new repository does not become ready within a minute, and fix channel closing/deletion (#1367, @skriss)
* Support non-namespaced names for built-in plugins (#1366, @nrb)
* Change container base images to debian:stretch-slim and upgrade to go 1.12 (#1365, @skriss)
* Azure: allow credentials to be provided in a .env file (path specified by $AZURE_CREDENTIALS_FILE), formatted like (#1364, @skriss):
```
AZURE_TENANT_ID=${AZURE_TENANT_ID}
AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
```
* Instantiate the plugin manager with the per-restore logger so plugin logs are captured in the per-restore log (#1358, @skriss)
* Add gauge metrics for number of existing backups and restores (#1353, @fabito)
* Set default TTL for backups (#1352, @vorar)
* Validate that there can't be any duplicate plugin name, and that the name format is `example.io/name`. (#1339, @carlisia)
* AWS/Azure/GCP: fail fast if unsupported keys are provided in BackupStorageLocation/VolumeSnapshotLocation config (#1338, @skriss)
* `velero backup logs` & `velero restore logs`: show helpful error message if backup/restore does not exist or is not finished processing (#1337, @skriss)
* Add support for allowing a RestoreItemAction to skip item restore. (#1336, @sseago)
* Improve error message around invalid S3 URLs, and gracefully handle trailing backslashes. (#1331, @skriss)
* Set backup's start timestamp before patching it to InProgress so start times display in `velero backup get` while in progress (#1330, @skriss)
* Added ability to dynamically disable controllers (#1326, @amanw)
* Remove deprecated code in preparation for v1.0 release (#1323, @skriss):
- remove ark.heptio.com API group
- remove support for reading ark-backup.json files from object storage
- remove Ark field from RestoreResult type
- remove support for "hook.backup.ark.heptio.com/..." annotations for specifying hooks
- remove support for $HOME/.config/ark/ client config directory
- remove support for restoring Azure snapshots using short snapshot ID formats in backup metadata
- stop applying "velero-restore" label to restored resources and remove it from the API pkg
- remove code that strips the "gc.ark.heptio.com" finalizer from backups
- remove support for "backup.ark.heptio.com/..." annotations for requesting restic backups
- remove "ark"-prefixed prometheus metrics
- remove VolumeBackups field and related code from Backup's status
* Rename BlockStore plugin to VolumeSnapshotter (#1321, @skriss)
* Bump plugin ProtocolVersion to version 2 (#1319, @carlisia)
* Remove Warning field from restore item action output (#1318, @skriss)
* Fix for #1312, use describe to determine if AWS EBS snapshot is encrypted and explicitly pass that value in EC2 CreateVolume call. (#1316, @mstump)
* Allow restic restore helper image name to be optionally specified via ConfigMap (#1311, @skriss)
* Compile only once to lower the initialization cost for regexp.MustCompile. (#1306, @pei0804)
* Enable restore item actions to return additional related items to be restored; have pods return PVCs and PVCs return PVs (#1304, @skriss)
* Log error locations from plugin logger, and don't overwrite them in the client logger if they exist already (#1301, @skriss)
* Send stack traces from plugin errors to Velero via gRPC so error location info can be logged (#1300, @skriss)
* Azure: restore volumes in the original region's zone (#1298, @sylr)
* Check for and exclude hostPath-based persistent volumes from restic backup (#1297, @skriss)
* Make resticrepositories non-restorable resources (#1296, @skriss)
* Gracefully handle failed API groups from the discovery API (#1293, @fabito)
* Add `velero install` command for basic use cases. (#1287, @nrb)
* Collect 3 new metrics: backup_deletion_{attempt|failure|success}_total (#1280, @fabito)
* Pass --log-level flag to internal/external plugins, matching Velero server's log level (#1278, @skriss)
* AWS EBS Volume IDs now contain AZ (#1274, @tsturzl)
* Add panic handlers to all server-side plugin methods (#1270, @skriss)
* Move all the interfaces and associated types necessary to implement all of the Velero plugins to under the new package `velero`. (#1264, @carlisia)
* Update `velero restore` to not open every single file open during extraction of the data (#1261, @asaf)
* Remove restore code that waits for a PV to become Available (#1254, @skriss)
* Improve `describe` output
* Move Phase to right under Metadata(name/namespace/label/annotations)
* Move Validation errors: section right after Phase: section and only show it if the item has a phase of FailedValidation
* For restores move Warnings and Errors under Validation errors. Leave their display as is. (#1248, @DheerajSShetty)
* Don't remove storage class from a persistent volume when restoring it (#1246, @skriss)
* Need to defer closing the the ReadCloser in ObjectStoreGRPCServer.GetObject (#1236, @DheerajSShetty)
* Update Kubernetes dependencies to match v1.12, and update Azure SDK to v19.0.0 (GA) (#1231, @skriss)
* Remove pkg/util/collections/map_utils.go, replace with structured API types and apimachinery's unstructured helpers (#1146, @skriss)
* Add original resource (from backup) to restore item action interface (#1123, @mwieczorek)
[0]: https://velero.io/docs/v1.0.0/azure-config
[1]: https://velero.io/docs/v1.0.0/upgrade-to-1.0
[2]: https://github.com/heptio/velero/releases/tag/v0.11.1
[3]: https://velero.io/docs/v1.0.0/install-overview

100
changelogs/CHANGELOG-1.1.md Normal file
View File

@@ -0,0 +1,100 @@
## v1.1.0
#### 2019-08-22
### Download
- https://github.com/heptio/velero/releases/tag/v1.1.0
### Container Image
`gcr.io/heptio-images/velero:v1.1.0`
### Documentation
https://velero.io/docs/v1.1.0/
### Upgrading
**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, weve fixed the following bugs:
- 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 wouldnt know about it until a backup failed. Now, Veleros restic server will validate that the directory structure is correct on startup, providing earlier feedback when its not.
- Veleros 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.
Along with our bug fixes, weve 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.
To make cross-provider moves simpler, weve 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).
#### Quality-of-Life Improvements
Weve also made several other enhancements to Velero that should benefit all users.
Users sometimes ask about recommendations for Veleros resource allocation within their cluster. To help with this concern, weve 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.
Weve 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, weve 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, weve 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, weve 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 youre 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
* 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)
* Add low cpu/memory limits to the restic init container. This allows for restoration into namespaces with quotas defined. (#1677, @nrb)
* Adds configurable CPU/memory requests and limits to the restic DaemonSet generated by velero install. (#1710, @prydonius)
* remove any stale locks from restic repositories every 5m (#1708, @skriss)
* error if backup storage location's Bucket field also contains a prefix, and gracefully handle leading/trailing slashes on Bucket and Prefix fields. (#1694, @skriss)
* enhancement: allow option to choose JSON log output (#1654, @carthewd)
* Adds configurable CPU/memory requests and limits to the Velero Deployment generated by velero install. (#1678, @prydonius)
* Store restic PodVolumeBackups in obj storage & use that as source of truth like regular backups. (#1577, @carlisia)
* Update Velero Deployment to use apps/v1 API group. `velero install` and `velero plugin add/remove` commands will now require Kubernetes 1.9+ (#1673, @nrb)
* Respect the --kubecontext and --kubeconfig arugments for `velero install`. (#1656, @nrb)
* add plugin for updating PV & PVC storage classes on restore based on a config map (#1621, @skriss)
* Add restic support for CSI volumes (#1615, @nrb)
* bug fix: Fixed namespace usage with cli command 'version' (#1630, @jwmatthews)
* enhancement: allow users to specify additional Velero/Restic pod annotations on the command line with the pod-annotations flag. (#1626, @tlkamp)
* adds validation for pod volumes hostPath mount on restic server startup (#1616, @prydonius)
* enable support for ppc64le architecture (#1605, @prajyot)
* bug fix: only restore additional items returned from restore item actions if they match the restore's namespace/resource selectors (#1612, @skriss)
* add startTimestamp and completionTimestamp to PodVolumeBackup and PodVolumeRestore status fields (#1609, @prydonius)
* bug fix: respect namespace selector when determining which restore item actions to run (#1607, @skriss)
* ensure correct backup item actions run with namespace selector (#1601, @prydonius)
* allows excluding resources from backups with the `velero.io/exclude-from-backup=true` label (#1588, @prydonius)
* ensures backup item action modifications to an item's namespace/name are saved in the file path in the tarball (#1587, @prydonius)
* 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. (#1561, @prydonius)
* remove dependency on glog, update to klog (#1559, @skriss)
* move issue-template-gen from docs/ to hack/ (#1558, @skriss)
* fix panic when processing DeleteBackupRequest objects without labels (#1556, @prydonius)
* support for multiple AWS profiles (#1548, @pranavgaikwad)
* Add CLI command to list (get) all Velero plugins (#1535, @carlisia)
* Added author as a tag on blog post. Should fix 404 error when trying to follow link as specified in issue #1522. (#1522, @coonsd)
* Allow individual backup storage locations to be read-only (#1517, @skriss)
* Stop returning an error when a restic volume is empty since it is a valid scenario. (#1480, @carlisia)
* add ability to use wildcard in includes/excludes (#1428, @guilhem)

View File

@@ -0,0 +1,83 @@
## v1.2.0
#### 2019-11-07
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.2.0
### Container Image
`velero/velero:v1.2.0`
Please note that as of this release we are no longer publishing new container images to `gcr.io/heptio-images`. The existing ones will remain there for the foreseeable future.
### Documentation
https://velero.io/docs/v1.2.0/
### Upgrading
https://velero.io/docs/v1.2.0/upgrade-to-1.2/
### Highlights
## Moving Cloud Provider Plugins Out of Tree
Velero has had built-in support for AWS, Microsoft Azure, and Google Cloud Platform (GCP) since day 1. When Velero moved to a plugin architecture for object store providers and volume snapshotters in version 0.6, the code for these three providers was converted to use the plugin interface provided by this new architecture, but the cloud provider code still remained inside the Velero codebase. This put the AWS, Azure, and GCP plugins in a different position compared with other providers plugins, since they automatically shipped with the Velero binary and could include documentation in-tree.
With version 1.2, weve extracted the AWS, Azure, and GCP plugins into their own repositories, one per provider. We now also publish one plugin image per provider. This change brings these providers to parity with other providers plugin implementations, reduces the size of the core Velero binary by not requiring each providers SDK to be included, and opens the door for the plugins to be maintained and released independently of core Velero.
## Restic Integration Improvements
Weve continued to work on improving Veleros restic integration. With this release, weve made the following enhancements:
- Restic backup and restore progress is now captured during execution and visible to the user through the `velero backup/restore describe --details` command. The details are updated every 10 seconds. This provides a new level of visibility into restic operations for users.
- Restic backups of persistent volume claims (PVCs) now remain incremental across the rescheduling of a pod. Previously, if the pod using a PVC was rescheduled, the next restic backup would require a full rescan of the volumes contents. This improvement potentially makes such backups significantly faster.
- Read-write-many volumes are no longer backed up once for every pod using the volume, but instead just once per Velero backup. This improvement speeds up backups and prevents potential restore issues due to multiple copies of the backup being processed simultaneously.
## Clone PVs When Cloning a Namespace
Before version 1.2, you could clone a Kubernetes namespace by backing it up and then restoring it to a different namespace in the same cluster by using the `--namespace-mappings` flag with the `velero restore create` command. However, in this scenario, Velero was unable to clone persistent volumes used by the namespace, leading to errors for users.
In version 1.2, Velero automatically detects when you are trying to clone an existing namespace, and clones the persistent volumes used by the namespace as well. This doesnt require the user to specify any additional flags for the `velero restore create` command. This change lets you fully achieve your goal of cloning namespaces using persistent storage within a cluster.
## Improved Server-Side Encryption Support
To help you secure your important backup data, weve added support for more forms of server-side encryption of backup data on both AWS and GCP. Specifically:
- On AWS, Velero now supports Amazon S3-managed encryption keys (SSE-S3), which uses AES256 encryption, by specifying `serverSideEncryption: AES256` in a backup storage locations config.
- On GCP, Velero now supports using a specific Cloud KMS key for server-side encryption by specifying `kmsKeyName: <key name>` in a backup storage locations config.
## CRD Structural Schema
In Kubernetes 1.16, custom resource definitions (CRDs) reached general availability. Structural schemas are required for CRDs created in the `apiextensions.k8s.io/v1` API group. Velero now defines a structural schema for each of its CRDs and automatically applies it the user runs the `velero install` command. The structural schemas enable the user to get quicker feedback when their backup, restore, or schedule request is invalid, so they can immediately remediate their request.
### All Changes
* Ensure object store plugin processes are cleaned up after restore and after BSL validation during server start up (#2041, @betta1)
* bug fix: don't try to restore pod volume backups that don't have a snapshot ID (#2031, @skriss)
* Restore Documentation: Updated Restore Documentation with Clarification implications of removing restore object. (#1957, @nainav)
* add `--allow-partially-failed` flag to `velero restore create` for use with `--from-schedule` to allow partially-failed backups to be restored (#1994, @skriss)
* Allow backup storage locations to specify backup sync period or toggle off sync (#1936, @betta1)
* Remove cloud provider code (#1985, @carlisia)
* Restore action for cluster/namespace role bindings (#1974, @alexander-demichev)
* Add `--no-default-backup-location` flag to `velero install` (#1931, @Frank51)
* If includeClusterResources is nil/auto, pull in necessary CRDs in backupResource (#1831, @sseago)
* Azure: add support for Azure China/German clouds (#1938, @andyzhangx)
* Add a new required `--plugins` flag for `velero install` command. `--plugins` takes a list of container images to add as initcontainers. (#1930, @nrb)
* restic: only backup read-write-many PVCs at most once, even if they're annotated for backup from multiple pods. (#1896, @skriss)
* Azure: add support for cross-subscription backups (#1895, @boxcee)
* adds `insecureSkipTLSVerify` server config for AWS storage and `--insecure-skip-tls-verify` flag on client for self-signed certs (#1793, @s12chung)
* Add check to update resource field during backupItem (#1904, @spiffcs)
* Add `LD_LIBRARY_PATH` (=/plugins) to the env variables of velero deployment. (#1893, @lintongj)
* backup sync controller: stop using `metadata/revision` file, do a full diff of bucket contents vs. cluster contents each sync interval (#1892, @skriss)
* bug fix: during restore, check item's original namespace, not the remapped one, for inclusion/exclusion (#1909, @skriss)
* adds structural schema to Velero CRDs created on Velero install, enabling validation of Velero API fields (#1898, @prydonius)
* GCP: add support for specifying a Cloud KMS key name to use for encrypting backups in a storage location. (#1879, @skriss)
* AWS: add support for SSE-S3 AES256 encryption via `serverSideEncryption` config field in BackupStorageLocation (#1869, @skriss)
* change default `restic prune` interval to 7 days, add `velero server/install` flags for specifying an alternate default value. (#1864, @skriss)
* velero install: if `--use-restic` and `--wait` are specified, wait up to a minute for restic daemonset to be ready (#1859, @skriss)
* report restore progress in PodVolumeRestores and expose progress in the velero restore describe --details command (#1854, @prydonius)
* Jekyll Site updates - modifies documentation to use a wider layout; adds better markdown table formatting (#1848, @ccbayer)
* fix excluding additional items with the velero.io/exclude-from-backup=true label (#1843, @prydonius)
* report backup progress in PodVolumeBackups and expose progress in the velero backup describe --details command. Also upgrades restic to v0.9.5 (#1821, @prydonius)
* Add `--features` argument to all velero commands to provide feature flags that can control enablement of pre-release features. (#1798, @nrb)
* when backing up PVCs with restic, specify `--parent` flag to prevent full volume rescans after pod reschedules (#1807, @skriss)
* remove 'restic check' calls from before/after 'restic prune' since they're redundant (#1794, @skriss)
* fix error formatting due interpreting % as printf formatted strings (#1781, @s12chung)
* when using `velero restore create --namespace-mappings ...` to create a second copy of a namespace in a cluster, create copies of the PVs used (#1779, @skriss)
* adds --from-schedule flag to the `velero create backup` command to create a Backup from an existing Schedule (#1734, @prydonius)

116
changelogs/CHANGELOG-1.3.md Normal file
View File

@@ -0,0 +1,116 @@
## v1.3.2
### 2020-04-03
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.3.2
### Container Image
`velero/velero:v1.3.2`
### Documentation
https://velero.io/docs/v1.3.2/
### Upgrading
https://velero.io/docs/v1.3.2/upgrade-to-1.3/
### All Changes
* Allow `plugins/` as a valid top-level directory within backup storage locations. This directory is a place for plugin authors to store arbitrary data as needed. It is recommended to create an additional subdirectory under `plugins/` specifically for your plugin, e.g. `plugins/my-plugin-data/`. (#2350, @skriss)
* bug fix: don't panic in `velero restic repo get` when last maintenance time is `nil` (#2315, @skriss)
## v1.3.1
### 2020-03-10
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.3.1
### Container Image
`velero/velero:v1.3.1`
### Documentation
https://velero.io/docs/v1.3.1/
### Upgrading
https://velero.io/docs/v1.3.1/upgrade-to-1.3/
### Highlights
Fixed a bug that caused failures when backing up CustomResourceDefinitions with whole numbers in numeric fields.
### All Changes
* Fix CRD backup failures when fields contained a whole number. (#2322, @nrb)
## v1.3.0
#### 2020-03-02
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.3.0
### Container Image
`velero/velero:v1.3.0`
### Documentation
https://velero.io/docs/v1.3.0/
### Upgrading
https://velero.io/docs/v1.3.0/upgrade-to-1.3/
### Highlights
#### Custom Resource Definition Backup and Restore Improvements
This release includes a number of related bug fixes and improvements to how Velero backs up and restores custom resource definitions (CRDs) and instances of those CRDs.
We found and fixed three issues around restoring CRDs that were originally created via the `v1beta1` CRD API. The first issue affected CRDs that had the `PreserveUnknownFields` field set to `true`. These CRDs could not be restored into 1.16+ Kubernetes clusters, because the `v1` CRD API does not allow this field to be set to `true`. We added code to the restore process to check for this scenario, to set the `PreserveUnknownFields` field to `false`, and to instead set `x-kubernetes-preserve-unknown-fields` to `true` in the OpenAPIv3 structural schema, per Kubernetes guidance. For more information on this, see the [Kubernetes documentation](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#pruning-versus-preserving-unknown-fields). The second issue affected CRDs without structural schemas. These CRDs need to be backed up/restored through the `v1beta1` API, since all CRDs created through the `v1` API must have structural schemas. We added code to detect these CRDs and always back them up/restore them through the `v1beta1` API. Finally, related to the previous issue, we found that our restore code was unable to handle backups with multiple API versions for a given resource type, and weve remediated this as well.
We also improved the CRD restore process to enable users to properly restore CRDs and instances of those CRDs in a single restore operation. Previously, users found that they needed to run two separate restores: one to restore the CRD(s), and another to restore instances of the CRD(s). This was due to two deficiencies in the Velero code. First, Velero did not wait for a CRD to be fully accepted by the Kubernetes API server and ready for serving before moving on; and second, Velero did not refresh its cached list of available APIs in the target cluster after restoring CRDs, so it was not aware that it could restore instances of those CRDs.
We fixed both of these issues by (1) adding code to wait for CRDs to be “ready” after restore before moving on, and (2) refreshing the cached list of APIs after restoring CRDs, so any instances of newly-restored CRDs could subsequently be restored.
With all of these fixes and improvements in place, we hope that the CRD backup and restore experience is now seamless across all supported versions of Kubernetes.
#### Multi-Arch Docker Images
Thanks to community members [@Prajyot-Parab](https://github.com/Prajyot-Parab) and [@shaneutt](https://github.com/shaneutt), Velero now provides multi-arch container images by using Docker manifest lists. We are currently publishing images for `linux/amd64`, `linux/arm64`, `linux/arm`, and `linux/ppc64le` in [our Docker repository](https://hub.docker.com/r/velero/velero/tags?page=1&name=v1.3&ordering=last_updated).
Users dont need to change anything other than updating their version tag - the v1.3 image is `velero/velero:v1.3.0`, and Docker will automatically pull the proper architecture for the host.
For more information on manifest lists, see [Dockers documentation](https://docs.docker.com/registry/spec/manifest-v2-2/).
#### Bug Fixes, Usability Enhancements, and More
We fixed a large number of bugs and made some smaller usability improvements in this release. Here are a few highlights:
- Support private registries with custom ports for the restic restore helper image ([PR #1999](https://github.com/vmware-tanzu/velero/pull/1999), [@cognoz](https://github.com/cognoz))
- Use AWS profile from BackupStorageLocation when invoking restic ([PR #2096](https://github.com/vmware-tanzu/velero/pull/2096), [@dinesh](https://github.com/dinesh))
- Allow restores from schedules in other clusters ([PR #2218](https://github.com/vmware-tanzu/velero/pull/2218), [@cpanato](https://github.com/cpanato))
- Fix memory leak & race condition in restore code ([PR #2201](https://github.com/vmware-tanzu/velero/pull/2201), [@skriss](https://github.com/skriss))
### All Changes
* Corrected the selfLink for Backup CR in site/docs/main/output-file-format.md (#2292, @RushinthJohn)
* Back up schema-less CustomResourceDefinitions as v1beta1, even if they are retrieved via the v1 endpoint. (#2264, @nrb)
* Bug fix: restic backup volume snapshot to the second location failed (#2244, @jenting)
* Added support of using PV name from volumesnapshotter('SetVolumeID') in case of PV renaming during the restore (#2216, @mynktl)
* Replaced deprecated helm repo url at all it appearance at docs. (#2209, @markrity)
* added support for arm and arm64 images (#2227, @shaneutt)
* when restoring from a schedule, validate by checking for backup(s) labeled with the schedule name rather than existence of the schedule itself, to allow for restoring from deleted schedules and schedules in other clusters (#2218, @cpanato)
* bug fix: back up server-preferred version of CRDs rather than always the `v1beta1` version (#2230, @skriss)
* Wait for CustomResourceDefinitions to be ready before restoring CustomResources. Also refresh the resource list from the Kubernetes API server after restoring CRDs in order to properly restore CRs. (#1937, @nrb)
* When restoring a v1 CRD with PreserveUnknownFields = True, make sure that the preservation behavior is maintained by copying the flag into the Open API V3 schema, but update the flag so as to allow the Kubernetes API server to accept the CRD without error. (#2197, @nrb)
* Enable pruning unknown CRD fields (#2187, @jenting)
* bump restic to 0.9.6 to fix some issues with non AWS standard regions (#2210, @Sh4d1)
* bug fix: fix race condition resulting in restores sometimes succeeding despite restic restore failures (#2201, @skriss)
* Bug fix: Check for nil LastMaintenanceTime in ResticRepository dueForMaintenance (#2200, @sseago)
* repopulate backup_last_successful_timestamp metrics for each schedule after server restart (#2196, @skriss)
* added support for ppc64le images and manifest lists (#1768, @prajyot)
* bug fix: only prioritize restoring `replicasets.apps`, not `replicasets.extensions` (#2157, @skriss)
* bug fix: restore both `replicasets.apps` *and* `replicasets.extensions` before `deployments` (#2120, @skriss)
* bug fix: don't restore cluster-scoped resources when restoring specific namespaces and IncludeClusterResources is nil (#2118, @skriss)
* Enableing Velero to switch credentials (`AWS_PROFILE`) if multiple s3-compatible backupLocations are present (#2096, @dinesh)
* bug fix: deep-copy backup's labels when constructing snapshot tags, so the PV name isn't added as a label to the backup (#2075, @skriss)
* remove the `fsfreeze-pause` image being published from this repo; replace it with `ubuntu:bionic` in the nginx example app (#2068, @skriss)
* add support for a private registry with a custom port in a restic-helper image (#1999, @cognoz)
* return better error message to user when cluster config can't be found via `--kubeconfig`, `$KUBECONFIG`, or in-cluster config (#2057, @skriss)

View File

@@ -0,0 +1,79 @@
## v1.4.2
### 2020-07-13
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.4.2
### Container Image
`velero/velero:v1.4.2`
### Documentation
https://velero.io/docs/v1.4/
### Upgrading
https://velero.io/docs/v1.4/upgrade-to-1.4/
### All Changes
* log a warning instead of erroring if an additional item returned from a plugin can't be found in the Kubernetes API (#2595, @skriss)
* Adjust restic default time out to 4 hours and base pod resource requests to 500m CPU/512Mi memory. (#2696, @nrb)
* capture version of the CRD prior before invoking the remap_crd_version backup item action (#2683, @ashish-amarnath)
## v1.4.1
This tag was created in code, but has no associated docker image due to misconfigured building infrastructure. v1.4.2 fixes this.
## v1.4.0
### 2020-05-26
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.4.0
### Container Image
`velero/velero:v1.4.0`
### Documentation
https://velero.io/docs/v1.4/
### Upgrading
https://velero.io/docs/v1.4/upgrade-to-1.4/
### Highlights
* Added beta-level CSI support!
* Added custom CA certificate support
* Backup progress reporting
* Changed backup tarball format to support all versions of a given resource
### All Changes
* increment restic volumesnapshot count after successful pvb create (#2542, @ashish-amarnath)
* Add details of CSI volumesnapshotcontents associated with a backup to `velero backup describe` when the `EnableCSI` feature flag is given on the velero client. (#2448, @nrb)
* Allow users the option to retrieve all versions of a given resource (instead of just the preferred version) from the API server with the `EnableAPIGroupVersions` feature flag. (#2373, @brito-rafa)
* Changed backup tarball format to store all versions of a given resource, updated backup tarball format to 1.1.0. (#2373, @brito-rafa)
* allow feature flags to be passed from install CLI (#2503, @ashish-amarnath)
* sync backups' CSI API objects into the cluster as part of the backup sync controller (#2496, @ashish-amarnath)
* bug fix: in error location logging hook, if the item logged under the `error` key doesn't implement the `error` interface, don't return an error since this is a valid scenario (#2487, @skriss)
* bug fix: in CRD restore plugin, don't use runtime.DefaultUnstructuredConverter.FromUnstructured(...) to avoid conversion issues when float64 fields contain int values (#2484, @skriss)
* during backup deletion also delete CSI volumesnapshotcontents that were created as a part of the backup but the associated volumesnapshot object does not exist (#2480, @ashish-amarnath)
* If plugins don't support the `--features` flag, don't pass it to them. Also, update the standard plugin server to ignore unknown flags. (#2479, @skriss)
* At backup time, if a CustomResourceDefinition appears to have been created via the v1beta1 endpoint, retrieve it from the v1beta1 endpoint instead of simply changing the APIVersion. (#2478, @nrb)
* update container base images from ubuntu:bionic to ubuntu:focal (#2471, @skriss)
* bug fix: when a resource includes/excludes list contains unresolvable items, don't remove them from the list, so that the list doesn't inadvertently end up matching *all* resources. (#2462, @skriss)
* Azure: add support for getting storage account key for restic directly from an environment variable (#2455, @jaygridley)
* Support to skip VSL validation for the backup having SnapshotVolumes set to false or created with `--snapshot-volumes=false` (#2450, @mynktl)
* report backup progress (number of items backed up so far out of an estimated total number of items) during backup in the logs and as status fields on the Backup custom resource (#2440, @skriss)
* bug fix: populate namespace in logs for backup errors (#2438, @skriss)
* during backup deletion also delete CSI volumesnapshots that were created as a part of the backup (#2411, @ashish-amarnath)
* bump Kubernetes module dependencies to v0.17.4 to get fix for https://github.com/kubernetes/kubernetes/issues/86149 (#2407, @skriss)
* bug fix: save PodVolumeBackup manifests to object storage even if the volume was empty, so that on restore, the PV is dynamically reprovisioned if applicable (#2390, @skriss)
* Adding new restoreItemAction for PVC to update the selected-node annotation (#2377, @mynktl)
* Added a --cacert flag to the install command to provide the CA bundle to use when verifying TLS connections to object storage (#2368, @mansam)
* Added a `--cacert` flag to the velero client describe, download, and logs commands to allow passing a path to a certificate to use when verifying TLS connections to object storage. Also added a corresponding client config option called `cacert` which takes a path to a certificate bundle to use as a default when `--cacert` is not specified. (#2364, @mansam)
* support setting a custom CA certificate on a BSL to use when verifying TLS connections (#2353, @mansam)
* adding annotations on backup CRD for k8s major, minor and git versions (#2346, @brito-rafa)
* When the EnableCSI feature flag is provided, upload CSI VolumeSnapshots and VolumeSnapshotContents to object storage as gzipped JSON. (#2323, @nrb)
* add CSI snapshot API types into default restore priorities (#2318, @ashish-amarnath)
* refactoring: wait for all informer caches to sync before running controllers (#2299, @skriss)
* refactor restore code to lazily resolve resources via discovery and eliminate second restore loop for instances of restored CRDs (#2248, @skriss)
* upgrade to go 1.14 and migrate from `dep` to go modules (#2214, @skriss)
* clarify the wording for restore describe for namespaces included

View File

@@ -0,0 +1,69 @@
## v1.5.0-beta.1
### 2020-08-21
### Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.5.0-beta.1
### Container Image
`velero/velero:v1.5.0-beta.1`
### Documentation
https://velero.io/docs/v1.5-pre/
### Upgrading
https://velero.io/docs/v1.5-pre/upgrade-to-1.5/
### Highlights
* Auto Volume Backup Using Restic with `--default-volumes-to-restic` flag
* DeleteItemAction plugins
* Code modernization
* Sneak preview - restore hooks using init containers
### All Changes
* Feature: Invoke DeleteItemAction plugins based on backup contents when a backup is deleted. (#2815, @nrb)
* When JSON logging format is enabled, place error message at "error.message" instead of "error" for compatibility with Elasticsearch/ELK and the Elastic Common Schema (#2830, @bgagnon)
* discovery Helper support get GroupVersionResource and an APIResource from GroupVersionKind (#2764, @runzexia)
* Migrate site from Jekyll to Hugo (#2720, @tbatard)
* Add the DeleteItemAction plugin type (#2808, @nrb)
* 🐛 Manually patch the generated yaml for restore CRD as a hacky workaround (#2814, @ashish-amarnath)
* Setup crd validation github action on k8s versions (#2805, @ashish-amarnath)
* 🐛 Supply command to run restic-wait init container (#2802, @ashish-amarnath)
* Make init and exec restore hooks as optional in restore hookSpec (#2793, @ashish-amarnath)
* Implement restore hooks injecting init containers into pod spec (#2787, @ashish-amarnath)
* Pass default-volumes-to-restic flag from create schedule to backup (#2776, @ashish-amarnath)
* Enhance Backup to support backing up resources in specific orders and add --ordered-resources option to support this feature. (#2724, @phuong)
* Fix inconsistent type for the "resource" structured logging field (#2796, @bgagnon)
* Add the ability to set the allowPrivilegeEscalation flag in the securityContext for the Restic restore helper. (#2792, @doughepi)
* Add cacert flag for velero backup-location create (#2778, @jenting)
* Exclude volumes mounting secrets and configmaps from defaulting volume backups to restic (#2762, @ashish-amarnath)
* Add types to implement restore hooks (#2761, @ashish-amarnath)
* Add wait group and error channel for restore hooks to restore context. (#2755, @areed)
* Refactor image builds to use buildx for multi arch image building (#2754, @robreus)
* Add annotation key constants for restore hooks (#2750, @ashish-amarnath)
* Adds Start and CompletionTimestamp to RestoreStatus. Displays the Timestamps when issued a print or describe (#2748, @thejasbabu)
* Move pkg/backup/item_hook_handlers.go to internal/hook (#2734, @nrb)
* add metrics for restic back up operation (#2719, @ashish-amarnath)
* StorageGrid compatibility by removing explicit gzip accept header setting (#2712, @fvsqr)
* restic: add support for setting SecurityContext (runAsUser, runAsGroup) for restore (#2621, @jaygridley)
* Add backupValidationFailureTotal to metrics (#2714, @kathpeony)
* bump Kubernetes module dependencies to v0.18.4 to fix https://github.com/vmware-tanzu/velero/issues/2540 by adding code compatibility with kubernetes v1.18 (#2651, @laverya)
* Add a BSL controller to handle validation + update BSL status phase (validation removed from the server and no longer blocks when there's any invalid BSL) (#2674, @carlisia)
* updated acceptable values on cron schedule from 0-7 to 0-6 (#2676, @dthrasher)
* Improve velero download doc (#2660, @carlisia)
* Update basic-install and release-instructions documentation for Windows Chocolatey package (#2638, @adamrushuk)
* move CSI plugin out of prototype into beta (#2636, @ashish-amarnath)
* Add a new supported provider for an object storage plugin for Storj (#2635, @jessicagreben)
* Update basic-install.md documentation: Add windows cli installation option via chocolatey (#2629, @adamrushuk)
* Documentation: Update Jekyll to 4.1.0. Switch from redcarpet to kramdown for Markdown renderer (#2625, @tbatard)
* improve builder image handling so that we don't rebuild each `make shell`. first check if there are pending changed on the build-image dockerfile if so build it. then check if there is an image in the registry if so pull it. then build an image cause we don't have a cached image. (this handles the backward compat case.). fix make clean to clear go mod cache before removing dirs (for containerized builds) (#2620, @mauilion)
* Add linter checks to Makefile (#2615, @tbatard)
* add a CI check for a changelog file (#2613, @ashish-amarnath)
* implement option to back up all volumes by default with restic (#2611, @ashish-amarnath)
* When a timeout string can't be parsed, log the error as a warning instead of silently consuming the error. (#2610, @nrb)
* Azure: support using `aad-pod-identity` auth when using restic (#2602, @skriss)
* log a warning instead of erroring if an additional item returned from a plugin can't be found in the Kubernetes API (#2595, @skriss)
* when creating new backup from schedule from cli, allow backup name to be automatically generated (#2569, @cblecker)
* Convert manifests + BSL api client to kubebuilder (#2561, @carlisia)
* backup/restore: reinstantiate backup store just before uploading artifacts to ensure credentials are up-to-date (#2550, @skriss)

View File

@@ -0,0 +1 @@
backup/restore: reinstantiate backup store just before uploading artifacts to ensure credentials are up-to-date

View File

@@ -0,0 +1 @@
Convert manifests + BSL api client to kubebuilder

View File

@@ -0,0 +1 @@
when creating new backup from schedule from cli, allow backup name to be automatically generated

View File

@@ -0,0 +1 @@
log a warning instead of erroring if an additional item returned from a plugin can't be found in the Kubernetes API

View File

@@ -0,0 +1 @@
Azure: support using `aad-pod-identity` auth when using restic

View File

@@ -0,0 +1 @@
When a timeout string can't be parsed, log the error as a warning instead of silently consuming the error.

View File

@@ -0,0 +1 @@
implement option to back up all volumes by default with restic

View File

@@ -0,0 +1 @@
add a CI check for a changelog file

View File

@@ -0,0 +1 @@
Add linter checks to Makefile

View File

@@ -0,0 +1,6 @@
improve builder image handling so that we don't rebuild each `make shell`
first check if there are pending changed on the build-image dockerfile if so build it.
then check if there is an image in the registry if so pull it.
then build an image cause we don't have a cached image. (this handles the backward compat case.)
fix make clean to clear go mod cache before removing dirs (for containerized builds)

View File

@@ -0,0 +1 @@
restic: add support for setting SecurityContext (runAsUser, runAsGroup) for restore

View File

@@ -0,0 +1,3 @@
Documentation: Update Jekyll to 4.1.0
Switch from redcarpet to kramdown for Markdown renderer

View File

@@ -0,0 +1 @@
Update basic-install.md documentation: Add windows cli installation option via chocolatey

View File

@@ -0,0 +1 @@
Add a new supported provider for an object storage plugin for Storj

View File

@@ -0,0 +1 @@
move CSI plugin out of prototype into beta

View File

@@ -0,0 +1 @@
Update basic-install and release-instructions documentation for Windows Chocolatey package

View File

@@ -0,0 +1 @@
bump Kubernetes module dependencies to v0.18.4 to fix https://github.com/vmware-tanzu/velero/issues/2540 by adding code compatibility with kubernetes v1.18

View File

@@ -0,0 +1 @@
Improve velero download doc

View File

@@ -0,0 +1 @@
Add a BSL controller to handle validation + update BSL status phase (validation removed from the server and no longer blocks when there's any invalid BSL)

View File

@@ -0,0 +1 @@
updated acceptable values on cron schedule from 0-7 to 0-6

View File

@@ -0,0 +1 @@
StorageGrid compatibility by removing explicit gzip accept header setting

View File

@@ -0,0 +1 @@
Add backupValidationFailureTotal to metrics

View File

@@ -0,0 +1 @@
add metrics for restic back up operation

View File

@@ -0,0 +1 @@
Migrate site from Jekyll to Hugo

View File

@@ -0,0 +1 @@
Enhance Backup to support backing up resources in specific orders and add --ordered-resources option to support this feature.

View File

@@ -0,0 +1 @@
Move pkg/backup/item_hook_handlers.go to internal/hook

View File

@@ -0,0 +1,2 @@
Adds Start and CompletionTimestamp to RestoreStatus
Displays the Timestamps when issued a print or describe

View File

@@ -0,0 +1 @@
Add annotation key constants for restore hooks

View File

@@ -0,0 +1 @@
Refactor image builds to use buildx for multi arch image building

View File

@@ -0,0 +1 @@
Add wait group and error channel for restore hooks to restore context.

View File

@@ -0,0 +1 @@
Add types to implement restore hooks

View File

@@ -0,0 +1 @@
Exclude volumes mounting secrets and configmaps from defaulting volume backups to restic

View File

@@ -0,0 +1 @@
discovery Helper support get GroupVersionResource and an APIResource from GroupVersionKind

View File

@@ -0,0 +1 @@
Pass default-volumes-to-restic flag from create schedule to backup

View File

@@ -0,0 +1 @@
Add cacert flag for velero backup-location create

View File

@@ -0,0 +1,2 @@
Implement restore hooks injecting init containers into pod spec

View File

@@ -0,0 +1 @@
Add the ability to set the allowPrivilegeEscalation flag in the securityContext for the Restic restore helper.

View File

@@ -0,0 +1,2 @@
Make init and exec restore hooks as optional in restore hookSpec

View File

@@ -0,0 +1 @@
Fix inconsistent type for the "resource" structured logging field

View File

@@ -0,0 +1 @@
🐛 Supply command to run restic-wait init container

View File

@@ -0,0 +1 @@
Setup crd validation github action on k8s versions

View File

@@ -0,0 +1 @@
Add the DeleteItemAction plugin type

View File

@@ -0,0 +1 @@
🐛 Manually patch the generated yaml for restore CRD as a hacky workaround

View File

@@ -0,0 +1 @@
Feature: Invoke DeleteItemAction plugins based on backup contents when a backup is deleted.

View File

@@ -0,0 +1 @@
When JSON logging format is enabled, place error message at "error.message" instead of "error" for compatibility with Elasticsearch/ELK and the Elastic Common Schema

View File

@@ -1,36 +0,0 @@
/*
Copyright 2017 Heptio Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"os"
"path/filepath"
"github.com/golang/glog"
"github.com/heptio/ark/pkg/cmd"
"github.com/heptio/ark/pkg/cmd/ark"
)
func main() {
defer glog.Flush()
baseName := filepath.Base(os.Args[0])
err := ark.NewCommand(baseName).Execute()
cmd.CheckError(err)
}

View File

@@ -0,0 +1,77 @@
/*
Copyright 2018 the Velero contributors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"time"
)
func main() {
if len(os.Args) != 2 {
fmt.Fprintln(os.Stderr, "ERROR: exactly one argument must be provided, the restore's UID")
os.Exit(1)
}
ticker := time.NewTicker(time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
if done() {
fmt.Println("All restic restores are done")
return
}
}
}
}
// done returns true if for each directory under /restores, a file exists
// within the .velero/ subdirectory whose name is equal to os.Args[1], or
// false otherwise
func done() bool {
children, err := ioutil.ReadDir("/restores")
if err != nil {
fmt.Fprintf(os.Stderr, "ERROR reading /restores directory: %s\n", err)
return false
}
for _, child := range children {
if !child.IsDir() {
fmt.Printf("%s is not a directory, skipping.\n", child.Name())
continue
}
doneFile := filepath.Join("/restores", child.Name(), ".velero", os.Args[1])
if _, err := os.Stat(doneFile); os.IsNotExist(err) {
fmt.Printf("Not found: %s\n", doneFile)
return false
} else if err != nil {
fmt.Fprintf(os.Stderr, "ERROR looking for %s: %s\n", doneFile, err)
return false
}
fmt.Printf("Found %s", doneFile)
}
return true
}

36
cmd/velero/main.go Normal file
View File

@@ -0,0 +1,36 @@
/*
Copyright 2017, 2019 the Velero contributors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"os"
"path/filepath"
"k8s.io/klog"
"github.com/vmware-tanzu/velero/pkg/cmd"
"github.com/vmware-tanzu/velero/pkg/cmd/velero"
)
func main() {
defer klog.Flush()
baseName := filepath.Base(os.Args[0])
err := velero.NewCommand(baseName).Execute()
cmd.CheckError(err)
}

View File

@@ -0,0 +1,432 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: backups.velero.io
spec:
group: velero.io
names:
kind: Backup
listKind: BackupList
plural: backups
singular: backup
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: Backup is a Velero resource that respresents the capture of Kubernetes
cluster state at a point in time (API objects and associated volume state).
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: BackupSpec defines the specification for a Velero backup.
properties:
defaultVolumesToRestic:
description: DefaultVolumesToRestic specifies whether restic should
be used to take a backup of all pod volumes by default.
type: boolean
excludedNamespaces:
description: ExcludedNamespaces contains a list of namespaces that are
not included in the backup.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources is a slice of resource names that are
not included in the backup.
items:
type: string
nullable: true
type: array
hooks:
description: Hooks represent custom behaviors that should be executed
at different phases of the backup.
properties:
resources:
description: Resources are hooks that should be executed when backing
up individual instances of a resource.
items:
description: BackupResourceHookSpec defines one or more BackupResourceHooks
that should be executed based on the rules defined for namespaces,
resources, and label selector.
properties:
excludedNamespaces:
description: ExcludedNamespaces specifies the namespaces to
which this hook spec does not apply.
items:
type: string
nullable: true
type: array
excludedResources:
description: ExcludedResources specifies the resources to
which this hook spec does not apply.
items:
type: string
nullable: true
type: array
includedNamespaces:
description: IncludedNamespaces specifies the namespaces to
which this hook spec applies. If empty, it applies to all
namespaces.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources specifies the resources to
which this hook spec applies. If empty, it applies to all
resources.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector, if specified, filters the resources
to which this hook spec applies.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector
requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector
that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector
applies to.
type: string
operator:
description: operator represents a key's relationship
to a set of values. Valid operators are In, NotIn,
Exists and DoesNotExist.
type: string
values:
description: values is an array of string values.
If the operator is In or NotIn, the values array
must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty.
This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
A single {key,value} in the matchLabels map is equivalent
to an element of matchExpressions, whose key field is
"key", the operator is "In", and the values array contains
only "value". The requirements are ANDed.
type: object
type: object
name:
description: Name is the name of this hook.
type: string
post:
description: PostHooks is a list of BackupResourceHooks to
execute after storing the item in the backup. These are
executed after all "additional items" from item actions
are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the pod
where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing this
hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
pre:
description: PreHooks is a list of BackupResourceHooks to
execute prior to storing the item in the backup. These are
executed before any "additional items" from item actions
are processed.
items:
description: BackupResourceHook defines a hook for a resource.
properties:
exec:
description: Exec defines an exec hook.
properties:
command:
description: Command is the command and arguments
to execute.
items:
type: string
minItems: 1
type: array
container:
description: Container is the container in the pod
where the command should be executed. If not specified,
the pod's first container is used.
type: string
onError:
description: OnError specifies how Velero should
behave if it encounters an error executing this
hook.
enum:
- Continue
- Fail
type: string
timeout:
description: Timeout defines the maximum amount
of time Velero should wait for the hook to complete
before considering the execution a failure.
type: string
required:
- command
type: object
required:
- exec
type: object
type: array
required:
- name
type: object
nullable: true
type: array
type: object
includeClusterResources:
description: IncludeClusterResources specifies whether cluster-scoped
resources should be included for consideration in the backup.
nullable: true
type: boolean
includedNamespaces:
description: IncludedNamespaces is a slice of namespace names to include
objects from. If empty, all namespaces are included.
items:
type: string
nullable: true
type: array
includedResources:
description: IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
items:
type: string
nullable: true
type: array
labelSelector:
description: LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty or nil, all
objects are included. Optional.
nullable: true
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains
values, a key, and an operator that relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to a
set of values. Valid operators are In, NotIn, Exists and
DoesNotExist.
type: string
values:
description: values is an array of string values. If the operator
is In or NotIn, the values array must be non-empty. If the
operator is Exists or DoesNotExist, the values array must
be empty. This array is replaced during a strategic merge
patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator is
"In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
orderedResources:
additionalProperties:
type: string
description: OrderedResources specifies the backup order of resources
of specific Kind. The map key is the Kind name and value is a list
of resource names separeted by commas. Each resource name has format
"namespace/resourcename". For cluster resources, simply use "resourcename".
nullable: true
type: object
snapshotVolumes:
description: SnapshotVolumes specifies whether to take cloud snapshots
of any PV's referenced in the set of objects included in the Backup.
nullable: true
type: boolean
storageLocation:
description: StorageLocation is a string containing the name of a BackupStorageLocation
where the backup should be stored.
type: string
ttl:
description: TTL is a time.Duration-parseable string describing how
long the Backup should be retained for.
type: string
volumeSnapshotLocations:
description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations
associated with this backup.
items:
type: string
type: array
type: object
status:
description: BackupStatus captures the current status of a Velero backup.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
format: date-time
nullable: true
type: string
errors:
description: Errors is a count of all error messages that were generated
during execution of the backup. The actual errors are in the backup's
log file in object storage.
type: integer
expiration:
description: Expiration is when this Backup is eligible for garbage-collection.
format: date-time
nullable: true
type: string
formatVersion:
description: FormatVersion is the backup format version, including major,
minor, and patch version.
type: string
phase:
description: Phase is the current state of the Backup.
enum:
- New
- FailedValidation
- InProgress
- Completed
- PartiallyFailed
- Failed
- Deleting
type: string
progress:
description: Progress contains information about the backup's execution
progress. Note that this information is best-effort only -- if Velero
fails to update it during a backup for any reason, it may be inaccurate/stale.
nullable: true
properties:
itemsBackedUp:
description: ItemsBackedUp is the number of items that have actually
been written to the backup tarball so far.
type: integer
totalItems:
description: TotalItems is the total number of items to be backed
up. This number may change throughout the execution of the backup
due to plugins that return additional related items to back up,
the velero.io/exclude-from-backup label, and various other filters
that happen as items are processed.
type: integer
type: object
startTimestamp:
description: StartTimestamp records the time a backup was started. Separate
from CreationTimestamp, since that value changes on restores. The
server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
validationErrors:
description: ValidationErrors is a slice of all validation errors (if
applicable).
items:
type: string
nullable: true
type: array
version:
description: 'Version is the backup format major version. Deprecated:
Please see FormatVersion'
type: integer
volumeSnapshotsAttempted:
description: VolumeSnapshotsAttempted is the total number of attempted
volume snapshots for this backup.
type: integer
volumeSnapshotsCompleted:
description: VolumeSnapshotsCompleted is the total number of successfully
completed volume snapshots for this backup.
type: integer
warnings:
description: Warnings is a count of all warning messages that were generated
during execution of the backup. The actual warnings are in the backup's
log file in object storage.
type: integer
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -0,0 +1,151 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: backupstoragelocations.velero.io
spec:
additionalPrinterColumns:
- JSONPath: .status.phase
description: Backup Storage Location status such as Available/Unavailable
name: Phase
type: string
- JSONPath: .status.lastValidationTime
description: LastValidationTime is the last time the backup store location was
validated
name: Last Validated
type: date
- JSONPath: .metadata.creationTimestamp
name: Age
type: date
group: velero.io
names:
kind: BackupStorageLocation
listKind: BackupStorageLocationList
plural: backupstoragelocations
singular: backupstoragelocation
preserveUnknownFields: false
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: BackupStorageLocation is a location where Velero stores backup
objects
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: BackupStorageLocationSpec defines the desired state of a Velero
BackupStorageLocation
properties:
accessMode:
description: AccessMode defines the permissions for the backup storage
location.
enum:
- ReadOnly
- ReadWrite
type: string
backupSyncPeriod:
description: BackupSyncPeriod defines how frequently to sync backup
API objects from object storage. A value of 0 disables sync.
nullable: true
type: string
config:
additionalProperties:
type: string
description: Config is for provider-specific configuration fields.
type: object
objectStorage:
description: ObjectStorageLocation specifies the settings necessary
to connect to a provider's object storage.
properties:
bucket:
description: Bucket is the bucket to use for object storage.
type: string
caCert:
description: CACert defines a CA bundle to use when verifying TLS
connections to the provider.
format: byte
type: string
prefix:
description: Prefix is the path inside a bucket to use for Velero
storage. Optional.
type: string
required:
- bucket
type: object
provider:
description: Provider is the provider of the backup storage.
type: string
validationFrequency:
description: ValidationFrequency defines how frequently to validate
the corresponding object storage. A value of 0 disables validation.
nullable: true
type: string
required:
- objectStorage
- provider
type: object
status:
description: BackupStorageLocationStatus defines the observed state of BackupStorageLocation
properties:
accessMode:
description: "AccessMode is an unused field. \n Deprecated: there is
now an AccessMode field on the Spec and this field will be removed
entirely as of v2.0."
enum:
- ReadOnly
- ReadWrite
type: string
lastSyncedRevision:
description: "LastSyncedRevision is the value of the `metadata/revision`
file in the backup storage location the last time the BSL's contents
were synced into the cluster. \n Deprecated: this field is no longer
updated or used for detecting changes to the location's contents and
will be removed entirely in v2.0."
type: string
lastSyncedTime:
description: LastSyncedTime is the last time the contents of the location
were synced into the cluster.
format: date-time
nullable: true
type: string
lastValidationTime:
description: LastValidationTime is the last time the backup store location
was validated the cluster.
format: date-time
nullable: true
type: string
phase:
description: Phase is the current state of the BackupStorageLocation.
enum:
- Available
- Unavailable
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -0,0 +1,73 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: deletebackuprequests.velero.io
spec:
group: velero.io
names:
kind: DeleteBackupRequest
listKind: DeleteBackupRequestList
plural: deletebackuprequests
singular: deletebackuprequest
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: DeleteBackupRequest is a request to delete one or more backups.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: DeleteBackupRequestSpec is the specification for which backups
to delete.
properties:
backupName:
type: string
required:
- backupName
type: object
status:
description: DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
properties:
errors:
description: Errors contains any errors that were encountered during
the deletion process.
items:
type: string
nullable: true
type: array
phase:
description: Phase is the current state of the DeleteBackupRequest.
enum:
- New
- InProgress
- Processed
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -0,0 +1,94 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: downloadrequests.velero.io
spec:
group: velero.io
names:
kind: DownloadRequest
listKind: DownloadRequestList
plural: downloadrequests
singular: downloadrequest
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
description: DownloadRequest is a request to download an artifact from backup
object storage, such as a backup log file.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: DownloadRequestSpec is the specification for a download request.
properties:
target:
description: Target is what to download (e.g. logs for a backup).
properties:
kind:
description: Kind is the type of file to download.
enum:
- BackupLog
- BackupContents
- BackupVolumeSnapshots
- BackupResourceList
- RestoreLog
- RestoreResults
type: string
name:
description: Name is the name of the kubernetes resource with which
the file is associated.
type: string
required:
- kind
- name
type: object
required:
- target
type: object
status:
description: DownloadRequestStatus is the current status of a DownloadRequest.
properties:
downloadURL:
description: DownloadURL contains the pre-signed URL for the target
file.
type: string
expiration:
description: Expiration is when this DownloadRequest expires and can
be deleted by the system.
format: date-time
nullable: true
type: string
phase:
description: Phase is the current state of the DownloadRequest.
enum:
- New
- Processed
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -0,0 +1,162 @@
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: podvolumebackups.velero.io
spec:
group: velero.io
names:
kind: PodVolumeBackup
listKind: PodVolumeBackupList
plural: podvolumebackups
singular: podvolumebackup
preserveUnknownFields: false
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: PodVolumeBackupSpec is the specification for a PodVolumeBackup.
properties:
backupStorageLocation:
description: BackupStorageLocation is the name of the backup storage
location where the restic repository is stored.
type: string
node:
description: Node is the name of the node that the Pod is running on.
type: string
pod:
description: Pod is a reference to the pod containing the volume to
be backed up.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of an
entire object, this string should contain a valid JSON/Go field
access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen only
to have some well-defined way of referencing a part of an object.
TODO: this design is not final and this field is subject to change
in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference is
made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
repoIdentifier:
description: RepoIdentifier is the restic repository identifier.
type: string
tags:
additionalProperties:
type: string
description: Tags are a map of key-value pairs that should be applied
to the volume backup as tags.
type: object
volume:
description: Volume is the name of the volume within the Pod to be backed
up.
type: string
required:
- backupStorageLocation
- node
- pod
- repoIdentifier
- volume
type: object
status:
description: PodVolumeBackupStatus is the current status of a PodVolumeBackup.
properties:
completionTimestamp:
description: CompletionTimestamp records the time a backup was completed.
Completion time is recorded even on failed backups. Completion time
is recorded before uploading the backup object. The server's time
is used for CompletionTimestamps
format: date-time
nullable: true
type: string
message:
description: Message is a message about the pod volume backup's status.
type: string
path:
description: Path is the full path within the controller pod being backed
up.
type: string
phase:
description: Phase is the current state of the PodVolumeBackup.
enum:
- New
- InProgress
- Completed
- Failed
type: string
progress:
description: Progress holds the total number of bytes of the volume
and the current number of backed up bytes. This can be used to display
progress information about the backup operation.
properties:
bytesDone:
format: int64
type: integer
totalBytes:
format: int64
type: integer
type: object
snapshotID:
description: SnapshotID is the identifier for the snapshot of the pod
volume.
type: string
startTimestamp:
description: StartTimestamp records the time a backup was started. Separate
from CreationTimestamp, since that value changes on restores. The
server's time is used for StartTimestamps
format: date-time
nullable: true
type: string
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

Some files were not shown because too many files have changed in this diff Show More