Compare commits

..

551 Commits

Author SHA1 Message Date
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
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
2942 changed files with 371526 additions and 90726 deletions

View File

@@ -14,11 +14,11 @@ about: Tell us about a problem you are experiencing
**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/ark -n heptio-ark`
* `ark backup describe <backupname>` or `kubectl get backup/<backupname> -n heptio-ark -o yaml`
* `ark backup logs <backupname>`
* `ark restore describe <restorename>` or `kubectl get restore/<restorename> -n heptio-ark -o yaml`
* `ark restore logs <restorename>`
* `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:**
@@ -27,7 +27,7 @@ about: Tell us about a problem you are experiencing
**Environment:**
- Ark version (use `ark version`):
- Velero version (use `velero version`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:

View File

@@ -4,6 +4,10 @@ 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.]
@@ -14,7 +18,7 @@ about: Suggest an idea for this project
**Environment:**
- Ark version (use `ark version`):
- Velero version (use `velero version`):
- Kubernetes version (use `kubectl version`):
- Kubernetes installer & version:
- Cloud provider or hardware configuration:

12
.gitignore vendored
View File

@@ -7,7 +7,6 @@
_obj
_test
_output
config
# Architecture specific extensions/prefixes
*.[568vq]
@@ -27,7 +26,7 @@ _testmain.go
debug
/ark
/velero
.idea/
.container-*
@@ -38,6 +37,13 @@ debug
.vscode
*.diff
_site/
# Jekyll compiled data
site/_site
site/.sass-cache
site/.jekyll
site/.jekyll-metadata
site/.bundle
site/vendor
.ruby-version
.vs

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# 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.
@@ -13,11 +13,8 @@
# limitations under the License.
dist: _output
before:
hooks:
- ./hack/set-example-tags.sh
builds:
- main: ./cmd/ark/main.go
- main: ./cmd/velero/main.go
env:
- CGO_ENABLED=0
goos:
@@ -28,29 +25,34 @@ builds:
- 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/heptio/ark/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/ark/pkg/buildinfo.GitSHA={{ .Env.GIT_SHA }}" -X "github.com/heptio/ark/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
archive:
name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
files:
- LICENSE
- config/**/*
- -X "github.com/heptio/velero/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/velero/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/heptio/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'
snapshot:
name_template: "{{ .Env.GIT_SHA }}"
release:
github:
owner: heptio
name: ark
name: velero
draft: true
prerelease: auto

View File

@@ -1,11 +1,11 @@
language: go
go:
- 1.10.x
- 1.12.x
sudo: required
services:
- docker
script: make ci
script: hack/ci-check.sh

View File

@@ -1,326 +1,29 @@
# Changelog
#### [v0.10.0](https://github.com/heptio/ark/releases/tag/v0.10.0) - 2018-11-15
* [CHANGELOG-0.10.md][1]
#### [v0.9.11](https://github.com/heptio/ark/releases/tag/v0.9.11) - 2018-11-08
#### Bug Fixes
* Fix bug preventing PV snapshots from being restored (#1040, @ncdc)
#### [v0.9.10](https://github.com/heptio/ark/releases/tag/v0.9.10) - 2018-11-01
#### 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](https://github.com/heptio/ark/releases/tag/v0.9.9) - 2018-10-24
#### Bug Fixes
* Check if initContainers key exists before attempting to remove volume mounts. (#927, @skriss)
#### [v0.9.8](https://github.com/heptio/ark/releases/tag/v0.9.8) - 2018-10-18
#### 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](https://github.com/heptio/ark/releases/tag/v0.9.7) - 2018-10-04
#### 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](https://github.com/heptio/ark/releases/tag/v0.9.6) - 2018-09-21
#### 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](https://github.com/heptio/ark/releases/tag/v0.9.5) - 2018-09-17
#### Bug Fixes
* Fix issue causing restic restores not to work (#834, @skriss)
#### [v0.9.4](https://github.com/heptio/ark/releases/tag/v0.9.4) - 2018-09-05
#### Bug Fixes
* Terminate plugin clients to resolve memory leaks (#797, @skriss)
* Fix nil map errors when merging annotations (#812, @nrb)
#### [v0.9.3](https://github.com/heptio/ark/releases/tag/v0.9.3) - 2018-08-10
#### Bug Fixes
* Initalize Prometheus metrics when creating a new schedule (#689, @lemaral)
#### [v0.9.2](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](https://github.com/heptio/ark/releases/tag/v0.9.1) - 2018-07-23
##### 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](https://github.com/heptio/ark/releases/tag/v0.9.0) - 2018-07-06
##### 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/heptio/ark/blob/master/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
#### [v0.8.3](https://github.com/heptio/ark/releases/tag/v0.8.3) - 2018-06-29
##### Bug Fixes:
* Don't restore backup and restore resources to avoid possible data corruption (#622, @ncdc)
#### [v0.8.2](https://github.com/heptio/ark/releases/tag/v0.8.2) - 2018-06-01
##### Bug Fixes:
* Don't crash when a persistent volume claim is missing spec.volumeName (#520, @ncdc)
#### [v0.8.1](https://github.com/heptio/ark/releases/tag/v0.8.1) - 2018-04-23
##### Bug Fixes:
* Azure: allow pre-v0.8.0 backups with disk snapshots to be restored and deleted (#446 #449, @skriss)
#### [v0.8.0](https://github.com/heptio/ark/releases/tag/v0.8.0) - 2018-04-19
##### 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/ark/v0.8.0/aws-config#credentials-and-configuration)
* [Azure](https://heptio.github.io/ark/v0.8.0/azure-config#credentials-and-configuration)
* [GCP](https://heptio.github.io/ark/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/ark/v0.8.0/aws-config#start-the-server)
* [Azure](https://heptio.github.io/ark/v0.8.0/azure-config#start-the-server)
* [GCP](https://heptio.github.io/ark/v0.8.0/gcp-config#start-the-server)
#### [v0.7.1](https://github.com/heptio/ark/releases/tag/v0.7.1) - 2018-02-22
Bug Fixes:
* Run the Ark server in its own namespace, separate from backups/schedules/restores/config (#322, @ncdc)
#### [v0.7.0](https://github.com/heptio/ark/releases/tag/v0.7.0) - 2018-02-15
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)
#### [v0.6.0](https://github.com/heptio/ark/tree/v0.6.0) - 2017-11-30
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
#### [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
[1]: https://github.com/heptio/ark/blob/master/changelogs/CHANGELOG-0.10.md
## Current release:
* [CHANGELOG-1.0.md][10]
## Development release:
* [Unreleased Changes][0]
## Older releases:
* [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]
[10]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-1.0.md
[9]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.11.md
[8]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.10.md
[7]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.9.md
[6]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.8.md
[5]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.7.md
[4]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.6.md
[3]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.5.md
[2]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.4.md
[1]: https://github.com/heptio/velero/blob/master/changelogs/CHANGELOG-0.3.md
[0]: https://github.com/heptio/velero/blob/master/changelogs/unreleased

View File

@@ -1,4 +1,4 @@
# Heptio Ark Community Code of Conduct
# Velero Community Code of Conduct
## Contributor Code of Conduct

View File

@@ -1,11 +1,23 @@
# Contributing
## CHANGELOG
Authors are expected to include a changelog file with their pull requests. The changelog file
should be a new file created in the `changelogs/unreleased` folder. The file should follow the
naming convention of `pr-username` and the contents of the file should be your text for the
changelog.
velero/changelogs/unreleased <- folder
000-username <- file
## 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".
Any copyright notices in this repo should specify the authors as "the Velero contributors".
To sign your work, just add a line like this at the end of your commit message:

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# Copyright 2018, 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.
@@ -12,13 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
apiVersion: ark.heptio.com/v1
kind: VolumeSnapshotLocation
metadata:
name: aws-default
namespace: heptio-ark
spec:
provider: aws
config:
region: <YOUR_REGION>
FROM ubuntu:bionic
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
ENTRYPOINT ["/bin/bash", "-c", "while true; do sleep 10000; done"]

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# Copyright 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.
@@ -12,11 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
apiVersion: ark.heptio.com/v1
kind: VolumeSnapshotLocation
metadata:
name: gcp-default
namespace: heptio-ark
spec:
provider: gcp
FROM ubuntu:bionic
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
ENTRYPOINT ["/bin/bash", "-c", "while true; do sleep 10000; done"]

View File

@@ -1,4 +1,4 @@
# Copyright 2017 the Heptio Ark contributors.
# 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.
@@ -12,20 +12,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM alpine:3.8
FROM ubuntu:bionic
MAINTAINER Andy Goldstein <andy@heptio.com>
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
RUN apk add --no-cache ca-certificates
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates wget bzip2 && \
wget --quiet https://github.com/restic/restic/releases/download/v0.9.4/restic_0.9.4_linux_amd64.bz2 && \
bunzip2 restic_0.9.4_linux_amd64.bz2 && \
mv restic_0.9.4_linux_amd64 /usr/bin/restic && \
chmod +x /usr/bin/restic && \
apt-get remove -y wget bzip2 && \
rm -rf /var/lib/apt/lists/*
RUN apk add --update --no-cache bzip2 && \
wget --quiet https://github.com/restic/restic/releases/download/v0.9.3/restic_0.9.3_linux_amd64.bz2 && \
bunzip2 restic_0.9.3_linux_amd64.bz2 && \
mv restic_0.9.3_linux_amd64 /usr/bin/restic && \
chmod +x /usr/bin/restic
ADD /bin/linux/amd64/ark /ark
ADD /bin/linux/amd64/velero /velero
USER nobody:nobody
ENTRYPOINT ["/ark"]
ENTRYPOINT ["/velero"]

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# Copyright 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.
@@ -12,11 +12,21 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM alpine:3.8
FROM ubuntu:bionic
MAINTAINER Wayne Witzel III <wayne@heptio.com>
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
RUN apk add --no-cache ca-certificates
RUN apk add --update --no-cache busybox util-linux
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates wget && \
wget --quiet https://oplab9.parqtec.unicamp.br/pub/ppc64el/restic/restic-0.9.4 && \
mv restic-0.9.4 /usr/bin/restic && \
chmod +x /usr/bin/restic && \
apt-get remove -y wget && \
rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/bin/sh", "-c", "while true; do sleep 10000; done"]
ADD /bin/linux/ppc64le/velero /velero
USER nobody:nobody
ENTRYPOINT ["/velero"]

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# Copyright 2018, 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.
@@ -12,13 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
apiVersion: ark.heptio.com/v1
kind: VolumeSnapshotLocation
metadata:
name: azure-default
namespace: heptio-ark
spec:
provider: azure
config:
apiTimeout: <YOUR_TIMEOUT>
FROM ubuntu:bionic
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
ADD /bin/linux/amd64/velero-restic-restore-helper .
USER nobody:nobody
ENTRYPOINT [ "/velero-restic-restore-helper" ]

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# Copyright 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.
@@ -12,12 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM alpine:3.8
FROM ubuntu:bionic
MAINTAINER Steve Kriss <steve@heptio.com>
LABEL maintainer="Steve Kriss <krisss@vmware.com>"
ADD /bin/linux/amd64/ark-restic-restore-helper .
ADD /bin/linux/ppc64le/velero-restic-restore-helper .
USER nobody:nobody
ENTRYPOINT [ "/ark-restic-restore-helper" ]
ENTRYPOINT [ "/velero-restic-restore-helper" ]

589
Gopkg.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -31,31 +31,28 @@
[[constraint]]
name = "k8s.io/kubernetes"
version = "~1.11"
version = "~1.14"
[[constraint]]
name = "k8s.io/client-go"
version = "~8.0"
version = "kubernetes-1.14.0"
[[constraint]]
name = "k8s.io/apimachinery"
version = "kubernetes-1.11.0"
version = "kubernetes-1.14.0"
[[constraint]]
name = "k8s.io/api"
version = "kubernetes-1.11.0"
version = "kubernetes-1.14.0"
# vendor/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go:104:16:
# unknown field 'CaseSensitive' in struct literal of type jsoniter.Config
[[constraint]]
name = "k8s.io/apiextensions-apiserver"
version = "kubernetes-1.14.0"
# k8s.io/client-go kubernetes-1.14.0 uses v1.1.4
[[override]]
name = "github.com/json-iterator/go"
revision = "f2b4162afba35581b6d4a50d3b8f34e33c144682"
# vendor/k8s.io/client-go/plugin/pkg/client/auth/azure/azure.go:300:25:
# cannot call non-function spt.Token (type adal.Token)
[[override]]
name = "github.com/Azure/go-autorest"
revision = "1ff28809256a84bb6966640ff3d0371af82ccba4"
version = "=1.1.4"
#
# Cloud provider packages
@@ -66,7 +63,12 @@
[[constraint]]
name = "github.com/Azure/azure-sdk-for-go"
version = "~11.3.0-beta"
version = "~21.4.0"
# k8s.io/client-go kubernetes-1.14.0 uses v11.1.2
[[constraint]]
name = "github.com/Azure/go-autorest"
version = "11.1.2"
[[constraint]]
name = "cloud.google.com/go"
@@ -74,7 +76,7 @@
[[constraint]]
name = "google.golang.org/api"
branch = "master"
version = "~v0.3.2"
[[constraint]]
name = "golang.org/x/oauth2"
@@ -83,23 +85,13 @@
#
# Third party packages
#
[[constraint]]
name = "github.com/golang/glog"
branch = "master"
[[constraint]]
name = "github.com/robfig/cron"
revision = "df38d32658d8788cd446ba74db4bb5375c4b0cb3"
# TODO(1.0) this repo is a redirect to github.com/satori/go.uuid. Our
# current version of azure-sdk-for-go references this redirect, so
# use it so we don't get a duplicate copy of this dependency.
# Once our azure-sdk-for-go is updated to a newer version (where
# their dependency has changed to .../go.uuid), switch this to
# github.com/satori/go.uuid
[[constraint]]
name = "github.com/satori/uuid"
version = "1.1.0"
name = "github.com/satori/go.uuid"
version = "~1.2.0"
[[constraint]]
name = "github.com/spf13/afero"
@@ -119,4 +111,24 @@
[[constraint]]
name = "github.com/hashicorp/go-plugin"
revision = "a1bc61569a26c0f65865932c0d55743b0567c494"
[[constraint]]
name = "github.com/golang/protobuf"
version = "~v1.3.1"
[[constraint]]
name = "google.golang.org/grpc"
version = "~v1.19.0"
[[constraint]]
name = "github.com/joho/godotenv"
version = "~v1.3.0"
[[constraint]]
name = "github.com/gobwas/glob"
version = "~v0.2.3"
[[override]]
name = "golang.org/x/sys"
branch = "master"

101
Makefile
View File

@@ -1,6 +1,6 @@
# Copyright 2016 The Kubernetes Authors.
#
# Modifications Copyright 2017 the Heptio Ark contributors.
# Modifications Copyright 2017 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,10 +15,10 @@
# 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/heptio/velero
# Where to push the docker image.
REGISTRY ?= gcr.io/heptio-images
@@ -37,10 +37,8 @@ TAG_LATEST ?= false
### 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
CLI_PLATFORMS := linux-amd64 linux-arm linux-arm64 darwin-amd64 windows-amd64 linux-ppc64le
CONTAINER_PLATFORMS := linux-amd64 linux-arm linux-arm64 linux-ppc64le
platform_temp = $(subst -, ,$(ARCH))
GOOS = $(word 1, $(platform_temp))
@@ -49,7 +47,7 @@ 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-$(BIN).alpine
DOCKERFILE ?= Dockerfile-$(BIN)
endif
#ifeq ($(GOARCH),arm)
# DOCKERFILE ?= Dockerfile.arm #armel/busybox
@@ -57,15 +55,18 @@ endif
#ifeq ($(GOARCH),arm64)
# DOCKERFILE ?= Dockerfile.arm64 #aarch64/busybox
#endif
ifeq ($(GOARCH),ppc64le)
DOCKERFILE ?= Dockerfile-$(BIN)-ppc64le
endif
IMAGE = $(REGISTRY)/$(BIN)
# 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 AND push all containers, see the 'all-push' rule.
all:
all:
@$(MAKE) build
@$(MAKE) build BIN=ark-restic-restore-helper
@$(MAKE) build BIN=velero-restic-restore-helper
build-%:
@$(MAKE) --no-print-directory ARCH=$* build
@@ -106,13 +107,14 @@ _output/bin/$(GOOS)/$(GOARCH)/$(BIN): build-dirs
TTY := $(shell tty -s && echo "-t")
BUILDER_IMAGE := ark-builder
BUILDER_IMAGE := velero-builder
# Example: make shell CMD="date > datefile"
shell: build-dirs build-image
@# the volume bind-mount of $PWD/vendor/k8s.io/api is needed for code-gen to
@# function correctly (ref. https://github.com/kubernetes/kubernetes/pull/64567)
@docker run \
-e GOFLAGS \
-i $(TTY) \
--rm \
-u $$(id -u):$$(id -g) \
@@ -133,7 +135,7 @@ DOTFILE_IMAGE = $(subst :,_,$(subst /,_,$(IMAGE))-$(VERSION))
build-fsfreeze: BIN = fsfreeze-pause
build-fsfreeze:
@cp $(DOCKERFILE) _output/.dockerfile-$(BIN).alpine
@docker build -t $(IMAGE):$(VERSION) -f _output/.dockerfile-$(BIN).alpine _output
@docker build --pull -t $(IMAGE):$(VERSION) -f _output/.dockerfile-$(BIN).alpine _output
@docker images -q $(IMAGE):$(VERSION) > .container-$(DOTFILE_IMAGE)
push-fsfreeze: BIN = fsfreeze-pause
@@ -147,13 +149,13 @@ endif
all-containers:
$(MAKE) container
$(MAKE) container BIN=ark-restic-restore-helper
$(MAKE) container BIN=velero-restic-restore-helper
$(MAKE) build-fsfreeze
container: verify test .container-$(DOTFILE_IMAGE) container-name
.container-$(DOTFILE_IMAGE): _output/bin/$(GOOS)/$(GOARCH)/$(BIN) $(DOCKERFILE)
@cp $(DOCKERFILE) _output/.dockerfile-$(BIN)-$(GOOS)-$(GOARCH)
@docker build -t $(IMAGE):$(VERSION) -f _output/.dockerfile-$(BIN)-$(GOOS)-$(GOARCH) _output
@docker build --pull -t $(IMAGE):$(VERSION) -f _output/.dockerfile-$(BIN)-$(GOOS)-$(GOARCH) _output
@docker images -q $(IMAGE):$(VERSION) > $@
container-name:
@@ -161,7 +163,7 @@ container-name:
all-push:
$(MAKE) push
$(MAKE) push BIN=ark-restic-restore-helper
$(MAKE) push BIN=velero-restic-restore-helper
$(MAKE) push-fsfreeze
@@ -180,12 +182,12 @@ push-name:
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 $(SRC_DIRS)
hack/test.sh $(WHAT)
endif
verify:
@@ -196,36 +198,12 @@ 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=$* VERSION=$(VERSION) 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) .go/go-build
build-image:
cd hack/build-image && docker build -t $(BUILDER_IMAGE) .
cd hack/build-image && docker build --pull -t $(BUILDER_IMAGE) .
clean:
rm -rf .container-* _output/.dockerfile-* .push-*
@@ -234,5 +212,42 @@ clean:
ci: all verify test
goreleaser:
changelog:
hack/changelog.sh
release:
hack/goreleaser.sh
serve-docs:
docker run \
--rm \
-v "$$(pwd)/site:/srv/jekyll" \
-it -p 4000:4000 \
jekyll/jekyll \
jekyll serve --livereload --incremental
# 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.yml 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.1.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

View File

@@ -1,35 +1,38 @@
# Heptio Ark
![100]
**Maintainers:** [Heptio][0]
[![Build Status][1]][2] <a href="https://zenhub.com"><img src="https://raw.githubusercontent.com/ZenHubIO/support/master/zenhub-badge.png"></a>
[![Build Status][1]][2]
## Overview
Ark gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Ark lets you:
Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Velero lets you:
* Take backups of your cluster and restore in case of loss.
* Copy cluster resources to other clusters.
* Replicate your production environment for development and testing environments.
* Migrate cluster resources to other clusters.
* Replicate your production cluster to development and testing clusters.
Ark consists of:
Velero consists of:
* A server that runs on your cluster
* A command-line client that runs locally
You can run Ark in clusters on a cloud provider or on-premises. For detailed information, see [Compatible Storage Providers][99].
You can run Velero in clusters on a cloud provider or on-premises. For detailed information, see [Compatible Storage Providers][99].
## Breaking changes
## Installation
Ark version 0.10.0 introduces a number of breaking changes. Before you upgrade to version 0.10.0, make sure to read [the documentation on upgrading](upgrading-to-v0.10.md).
We strongly recommend that you use an [official release][6] of Velero. The tarballs for each release contain the
`velero` command-line client. Follow the [installation instructions][28] to get started.
_The code and sample YAML files in the master branch of the Velero repository are under active development and are not guaranteed to be stable. Use them at your own risk!_
## More information
[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Ark, and more.
[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Velero, and more.
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 issues, review the [troubleshooting docs][30], [file an issue][4], or talk to us on the [#ark-dr channel][25] on the Kubernetes Slack server.
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
@@ -51,28 +54,27 @@ Feedback and discussion are available on [the mailing list][24].
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
[1]: https://travis-ci.org/heptio/velero.svg?branch=master
[2]: https://travis-ci.org/heptio/velero
[4]: https://github.com/heptio/ark/issues
[5]: https://github.com/heptio/ark/blob/master/CONTRIBUTING.md
[6]: https://github.com/heptio/ark/releases
[4]: https://github.com/heptio/velero/issues
[5]: https://github.com/heptio/velero/blob/master/CONTRIBUTING.md
[6]: https://github.com/heptio/velero/releases
[8]: https://github.com/heptio/ark/blob/master/CODE_OF_CONDUCT.md
[8]: https://github.com/heptio/velero/blob/master/CODE_OF_CONDUCT.md
[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
[14]: https://github.com/kubernetes/kubernetes
[24]: https://groups.google.com/forum/#!forum/projectvelero
[25]: https://kubernetes.slack.com/messages/velero
[26]: https://velero.io/docs/zenhub
[24]: http://j.hept.io/ark-list
[25]: https://kubernetes.slack.com/messages/ark-dr
[26]: https://github.com/heptio/ark/blob/master/docs/zenhub.md
[28]: https://velero.io/docs/install-overview
[29]: https://velero.io/docs/
[30]: https://velero.io/docs/troubleshooting
[29]: https://heptio.github.io/ark/
[30]: /docs/troubleshooting.md
[99]: /docs/support-matrix.md
[99]: https://velero.io/docs/support-matrix
[100]: /site/docs/master/img/velero.png

View File

@@ -1,5 +1,5 @@
# 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, please consider joining our mailing list:
- [Mailing List](http://j.hept.io/ark-list)
- [Mailing List](https://groups.google.com/forum/#!forum/projectvelero)

View File

@@ -1,5 +1,47 @@
### Highlights
- [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
@@ -215,5 +257,5 @@ need to be updated for v0.10.
- [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://github.com/heptio/ark/blob/master/docs/upgrading-to-v0.10.md
[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/heptio/ark/blob/master/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

View File

@@ -0,0 +1,71 @@
## v1.1.0-beta.2
#### 2019-08-13
### Download
- https://github.com/heptio/velero/releases/tag/v1.1.0-beta.2
### Container Image
`gcr.io/heptio-images/velero:v1.1.0-beta.2`
### Documentation
https://velero.io/docs/v1.1.0-beta.2/
### Bug Fixes
* Use VELERO_NAMESPACE to determine what namespace Velero server is running in. For any v1.0 installations using a different namespace, the VELERO_NAMESPACE environment variable will need to be set to the correct namespace. (#1748, @nrb)
* Use backup's namespace when syncing pod volume backups into cluster from object storage (#1760, @skriss)
* support setting CPU/memory requests with unbounded limits using velero install (#1745, @prydonius)
* sort output of resource list in `velero backup describe --details` (#1741, @prydonius)
* upload pod volume backups from *all* pods to object storage (#1739, @skriss)
## v1.1.0-beta.1
#### 2019-08-07
### Download
- https://github.com/heptio/velero/releases/tag/v1.1.0-beta.1
### Container Image
`gcr.io/heptio-images/velero:v1.1.0-beta.1`
### Documentation
https://velero.io/docs/v1.1.0-beta.1/
### All Changes
* adds the ability to define custom tags to be added to snapshots by specifying custom labels on the Backup CR with the `velero backup create --labels` flag (#1729, @prydonius)
* 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

View File

@@ -0,0 +1 @@
add ability to use wildcard in includes/excludes

View File

@@ -0,0 +1 @@
Stop returning an error when a restic volume is empty since it is a valid scenario.

View File

@@ -0,0 +1 @@
Allow individual backup storage locations to be read-only

View File

@@ -0,0 +1 @@
Added author as a tag on blog post. Should fix 404 error when trying to follow link as specified in issue #1522.

View File

@@ -0,0 +1 @@
Add CLI command to list (get) all Velero plugins

View File

@@ -0,0 +1 @@
support for multiple AWS profiles

View File

@@ -0,0 +1 @@
fix panic when processing DeleteBackupRequest objects without labels

View File

@@ -0,0 +1 @@
move issue-template-gen from docs/ to hack/

View File

@@ -0,0 +1 @@
remove dependency on glog, update to klog

View File

@@ -0,0 +1 @@
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.

View File

@@ -0,0 +1 @@
Store restic PodVolumeBackups in obj storage & use that as source of truth like regular backups.

View File

@@ -0,0 +1 @@
ensures backup item action modifications to an item's namespace/name are saved in the file path in the tarball

View File

@@ -0,0 +1 @@
allows excluding resources from backups with the velero.io/exclude-from-backup=true label

View File

@@ -0,0 +1 @@
ensure correct backup item actions run with namespace selector

View File

@@ -0,0 +1 @@
enable support for ppc64le architecture

View File

@@ -0,0 +1 @@
bug fix: respect namespace selector when determining which restore item actions to run

View File

@@ -0,0 +1 @@
add startTimestamp and completionTimestamp to PodVolumeBackup and PodVolumeRestore status fields

View File

@@ -0,0 +1 @@
bug fix: only restore additional items returned from restore item actions if they match the restore's namespace/resource selectors

View File

@@ -0,0 +1 @@
Add restic support for CSI volumes

View File

@@ -0,0 +1 @@
adds validation for pod volumes hostPath mount on restic server startup

View File

@@ -0,0 +1 @@
add plugin for updating PV & PVC storage classes on restore based on a config map

View File

@@ -0,0 +1 @@
enhancement: allow users to specify additional Velero/Restic pod annotations on the command line with the pod-annotations flag.

View File

@@ -0,0 +1 @@
bug fix: Fixed namespace usage with cli command 'version'

View File

@@ -0,0 +1 @@
enhancement: allow option to choose JSON log output

View File

@@ -0,0 +1 @@
Respect the --kubecontext and --kubeconfig arugments for `velero install`.

View File

@@ -0,0 +1 @@
Update Velero Deployment to use apps/v1 API group. `velero install` and `velero plugin add/remove` commands will now require Kubernetes 1.9+

View File

@@ -0,0 +1 @@
Add low cpu/memory limits to the restic init container. This allows for restoration into namespaces with quotas defined.

View File

@@ -0,0 +1 @@
Adds configurable CPU/memory requests and limits to the Velero Deployment generated by velero install.

View File

@@ -0,0 +1 @@
error if backup storage location's Bucket field also contains a prefix, and gracefully handle leading/trailing slashes on Bucket and Prefix fields.

View File

@@ -0,0 +1 @@
Make --secret-file argument on `velero install` optional, add --no-secret flag for explicit confirmation

View File

@@ -0,0 +1 @@
remove any stale locks from restic repositories every 5m

View File

@@ -0,0 +1 @@
Adds configurable CPU/memory requests and limits to the restic DaemonSet generated by velero install.

View File

@@ -0,0 +1 @@
properly restore PVs backed up with restic and a reclaim policy of "Retain"

View File

@@ -0,0 +1 @@
Restore restic volumes from PodVolumeBackups CRs

View File

@@ -0,0 +1 @@
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

View File

@@ -0,0 +1 @@
sort output of resource list in `velero backup describe --details`

View File

@@ -0,0 +1 @@
support setting CPU/memory requests with unbounded limits using velero install

View File

@@ -0,0 +1 @@
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.

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 the Heptio Ark contributors.
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.
@@ -45,7 +45,7 @@ func main() {
}
// done returns true if for each directory under /restores, a file exists
// within the .ark/ subdirectory whose name is equal to os.Args[1], or
// within the .velero/ subdirectory whose name is equal to os.Args[1], or
// false otherwise
func done() bool {
children, err := ioutil.ReadDir("/restores")
@@ -60,7 +60,7 @@ func done() bool {
continue
}
doneFile := filepath.Join("/restores", child.Name(), ".ark", os.Args[1])
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)

View File

@@ -1,5 +1,5 @@
/*
Copyright 2017 the Heptio Ark contributors.
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.
@@ -20,17 +20,17 @@ import (
"os"
"path/filepath"
"github.com/golang/glog"
"k8s.io/klog"
"github.com/heptio/ark/pkg/cmd"
"github.com/heptio/ark/pkg/cmd/ark"
"github.com/heptio/velero/pkg/cmd"
"github.com/heptio/velero/pkg/cmd/velero"
)
func main() {
defer glog.Flush()
defer klog.Flush()
baseName := filepath.Base(os.Args[0])
err := ark.NewCommand(baseName).Execute()
err := velero.NewCommand(baseName).Execute()
cmd.CheckError(err)
}

48
design/_template.md Normal file
View File

@@ -0,0 +1,48 @@
# Design proposal template (replace with your proposal's title)
Status: {Draft,Accepted,Declined}
One to two sentences that describes the goal of this proposal.
The reader should be able to tell by the title, and the opening paragraph, if this document is relevant to them.
_Note_: The preferred style for design documents is one sentence per line.
*Do not wrap lines*.
This aids in review of the document as changes to a line are not obscured by the reflowing those changes caused and has a side effect of avoiding debate about one or two space after a period.
## Goals
- A short list of things which will be accomplished by implementing this proposal.
- Two things is ok.
- Three is pushing it.
- More than three goals suggests that the proposal's scope is too large.
## Non Goals
- A short list of items which are:
- a. out of scope
- b. follow on items which are deliberately excluded from this proposal.
## Background
One to two paragraphs of exposition to set the context for this proposal.
## High-Level Design
One to two paragraphs that describe the high level changes that will be made to implement this proposal.
## Detailed Design
A detailed design describing how the changes to the product should be made.
The names of types, fields, interfaces, and methods should be agreed on here, not debated in code review.
The same applies to changes in CRDs, YAML examples, and so on.
Ideally the changes should be made in sequence so that the work required to implement this design can be done incrementally, possibly in parallel.
## Alternatives Considered
If there are alternative high level or detailed designs that were not pursued they should be called out here with a brief explanation of why they were not pursued.
## Security Considerations
If this proposal has an impact to the security of the product, its users, or data stored or transmitted via the product, they must be addressed here.

View File

@@ -0,0 +1,96 @@
# Expose list of backed up resources in backup details
Status: Accepted
To increase the visibility of what a backup might contain, this document proposes storing metadata about backed up resources in object storage and adding a new section to the detailed backup description output to list them.
## Goals
- Include a list of backed up resources as metadata in the bucket
- Enable users to get a view of what resources are included in a backup using the Velero CLI
## Non Goals
- Expose the full manifests of the backed up resources
## Background
As reported in [#396](https://github.com/heptio/velero/issues/396), the information reported in a `velero backup describe <name> --details` command is fairly limited, and does not easily describe what resources a backup contains.
In order to see what a backup might contain, a user would have to download the backup tarball and extract it.
This makes it difficult to keep track of different backups in a cluster.
## High-Level Design
After performing a backup, a new file will be created that contains the list of the resources that have been included in the backup.
This file will be persisted in object storage alongside the backup contents and existing metadata.
A section will be added to the output of `velero backup describe <name> --details` command to view this metadata.
## Detailed Design
### Metadata file
This metadata will be in JSON (or YAML) format so that it can be easily inspected from the bucket outside of Velero tooling, and will contain the API resource and group, namespaces and names of the resources:
```
apps/v1/Deployment:
- default/database
- default/wordpress
v1/Service:
- default/database
- default/wordpress
v1/Secret:
- default/database-root-password
- default/database-user-password
v1/ConfigMap:
- default/database
v1/PersistentVolume:
- my-pv
```
The filename for this metadata will be `<backup name>-resource-list.json.gz`.
The top-level key is the string form of the `schema.GroupResource` type that we currently keep track of in the backup controller code path.
### Changes in Backup controller
The Backupper currently initialises a map to track the `backedUpItems` (https://github.com/heptio/velero/blob/1594bdc8d0132f548e18ffcc1db8c4cd2b042726/pkg/backup/backup.go#L269), this is passed down through GroupBackupper, ResourceBackupper and ItemBackupper where ItemBackupper records each backed up item.
This property will be moved to the [Backup request struct](https://github.com/heptio/velero/blob/16910a6215cbd8f0bde385dba9879629ebcbcc28/pkg/backup/request.go#L11), allowing the BackupController to access it after a successful backup.
`backedUpItems` currently uses the `schema.GroupResource` as a key for the resource.
In order to record the API group, version and kind for the resource, this key will be constructed from the object's `schema.GroupVersionKind` in the format `{group}/{version}/{kind}` (e.g. `apps/v1/Deployment`).
The `backedUpItems` map is kept as a flat structure internally for quick lookup.
When the backup is ready to upload, `backedUpItems` will be converted to a nested structure representing the metadata file above, grouped by `schema.GroupVersionKind`.
After converting to the right format, it can be passed to the `persistBackup` function to persist the file in object storage.
### Changes to DownloadRequest CRD and processing
A new `DownloadTargetKind` "BackupResourceList" will be added to the DownloadRequest CR.
The `GetDownloadURL` function in the `persistence` package will be updated to handle this new DownloadTargetKind to enable the Velero client to fetch the metadata from the bucket.
### Changes to `velero backup describe <name> --details`
This command will need to be updated to fetch the metadata from the bucket using the `Stream` method used in other commands.
The file will be read in memory and displayed in the output of the command.
Depending on the format the metadata is stored in, it may need processing to print in a more human-readable format.
If we choose to store the metadata in YAML, it can likely be directly printed out.
If the metadata file does not exist, this is an older backup and we cannot display the list of resources that were backed up.
## Open Questions
## Alternatives Considered
### Fetch backup contents archive and walkthrough to list contents
Instead of recording new metadata about what resources have been backed up, we could simply download the backup contents archive and walkthrough it to list the contents everytime `velero backup describe <name> --details` is run.
The advantage of this approach is that we don't need to change any backup procedures as we already have this content, and we will also be able to list resources for older backups.
Additionally, if we wanted to expose more information about the backed up resources, we can do so without having to update what we store in the metadata.
The disadvantages are:
- downloading the whole backup archive will be larger than just downloading a smaller file with metadata
- reduces the metadata available in the bucket that users might want to inspect outside of Velero tooling (though this is not an explicit requirement)
## Security Considerations

54
design/pv-cloning.md Normal file
View File

@@ -0,0 +1,54 @@
# Cloning PVs While Remapping Namespaces
Status: Approved
Velero supports restoring resources into different namespaces than they were backed up from.
This enables a user to, among other things, clone a namespace within a cluster.
However, if the namespace being cloned uses persistent volume claims, Velero cannot currently create a second copy of the original persistent volume when restoring.
This limitation is documented in detail in [issue #192](https://github.com/heptio/velero/issues/192).
This document proposes a solution that allows new copies of persistent volumes to be created during a namespace clone.
## Goals
- Enable persistent volumes to be cloned when using `velero restore create --namespace-mappings ...` to create a second copy of a namespace within a cluster.
## Non Goals
- Cloning of persistent volumes in any scenario other than when using `velero restore create --namespace-mappings ...` flag.
- [CSI-based cloning](https://kubernetes.io/docs/concepts/storage/volume-pvc-datasource/).
## Background
(Omitted, see introduction)
## High-Level Design
During a restore, Velero will detect that it needs to assign a new name to a persistent volume being restored if and only if both of the following conditions are met:
- the persistent volume is claimed by a persistent volume claim in a namespace that's being remapped using `velero restore create --namespace-mappings ...`
- a persistent volume already exists in the cluster with the original name
If these conditions exist, Velero will give the persistent volume a new arbitrary name before restoring it.
It will also update the `spec.volumeName` of the related persistent volume claim.
## Detailed Design
In `pkg/restore/restore.go`, around [line 872](https://github.com/heptio/velero/blob/master/pkg/restore/restore.go#L872), Velero has special-case code for persistent volumes.
This code will be updated to check for the two preconditions described in the previous section.
If the preconditions are met, the object will be given a new name.
The persistent volume will also be annotated with the original name, e.g. `velero.io/original-pv-name=NAME`.
Importantly, the name change will occur **before** [line 890](https://github.com/heptio/velero/blob/master/pkg/restore/restore.go#L890), where Velero checks to see if it should restore the persistent volume.
Additionally, the old and new persistent volume names will be recorded in a new field that will be added to the `context` struct, `renamedPVs map[string]string`.
In the special-case code for persistent volume claims starting on [line 987](https://github.com/heptio/velero/blob/master/pkg/restore/restore.go#L987), Velero will check to see if the claimed persistent volume has been renamed by looking in `ctx.renamedPVs`.
If so, Velero will update the persistent volume claim's `spec.volumeName` to the new name.
## Alternatives Considered
One alternative approach is to add a new CLI flag and API field for restores, e.g. `--clone-pvs`, that a user could provide to indicate they want to create copies of persistent volumes.
This approach would work fine, but it does require the user to be aware of this flag/field and to properly specify it when needed.
It seems like a better UX to detect the typical conditions where this behavior is needed, and to automatically apply it.
Additionally, the design proposed here does not preclude such a flag/field from being added later, if it becomes necessary to cover other use cases.
## Security Considerations
N/A

View File

@@ -1,13 +1,11 @@
# Examples
This directory contains sample YAML config files for running Ark on each core provider. Starting with v0.10, these files are packaged into [the Ark release tarballs][2], and we highly recommend that you use the packaged versions of these files to ensure compatibility with the released code.
This directory contains sample YAML config files that can be used for exploring Velero.
* `common/`: Contains manifests to set up Ark. Can be used across cloud provider platforms. (Note that Azure requires its own deployment file due to its unique way of loading credentials).
* `minio/`: Used in the [Quickstart][0] to set up [Minio][1], a local S3-compatible object storage service. It provides a convenient way to test Velero without tying you to a specific cloud provider.
* `minio/`: Used in the [Quickstart][1] to set up [Minio][0], a local S3-compatible object storage service. It provides a convenient way to test Ark without tying you to a specific cloud provider.
* `nginx-app/`: A sample nginx app that can be used to test backups and restores.
* `aws/`, `azure/`, `gcp/`, `ibm/`: Contains manifests specific to the given cloud provider's setup.
[0]: https://github.com/minio/minio
[1]: /README.md#quickstart
[2]: https://github.com/heptio/ark/releases
[0]: /docs/get-started.md
[1]: https://github.com/minio/minio

View File

@@ -1,26 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: ark.heptio.com/v1
kind: BackupStorageLocation
metadata:
name: default
namespace: heptio-ark
spec:
provider: aws
objectStorage:
bucket: <YOUR_BUCKET>
config:
region: <YOUR_REGION>

View File

@@ -1,50 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
iam.amazonaws.com/role: arn:aws:iam::<AWS_ACCOUNT_ID>:role/<HEPTIO_ARK_ROLE_NAME>
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
ports:
- name: metrics
containerPort: 8085
command:
- /ark
args:
- server
volumeMounts:
- name: plugins
mountPath: /plugins
volumes:
- name: plugins
emptyDir: {}

View File

@@ -1,64 +0,0 @@
# Copyright 2017 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
command:
- /ark
args:
- server
## uncomment following line and specify values if needed for multiple provider snapshot locations
# - --default-volume-snapshot-locations=<provider-1:location-1,provider-2:location-2,...>
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: plugins
mountPath: /plugins
- name: scratch
mountPath: /scratch
env:
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch
#- name: AWS_CLUSTER_NAME
# value: <YOUR_CLUSTER_NAME>
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}

View File

@@ -1,69 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: restic
namespace: heptio-ark
spec:
selector:
matchLabels:
name: restic
template:
metadata:
labels:
name: restic
spec:
serviceAccountName: ark
securityContext:
runAsUser: 0
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: host-pods
hostPath:
path: /var/lib/kubelet/pods
- name: scratch
emptyDir: {}
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
command:
- /ark
args:
- restic
- server
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: host-pods
mountPath: /host_pods
mountPropagation: HostToContainer
- name: scratch
mountPath: /scratch
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HEPTIO_ARK_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch

View File

@@ -1,63 +0,0 @@
# Copyright 2017 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
ports:
- name: metrics
containerPort: 8085
command:
- /ark
args:
- server
## uncomment following line and specify values if needed for multiple provider snapshot locations
# - --default-volume-snapshot-locations=<provider-1:location-1,provider-2:location-2,...>
envFrom:
- secretRef:
name: cloud-credentials
env:
- name: ARK_SCRATCH_DIR
value: /scratch
volumeMounts:
- name: plugins
mountPath: /plugins
- name: scratch
mountPath: /scratch
volumes:
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}
nodeSelector:
beta.kubernetes.io/os: linux

View File

@@ -1,27 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: ark.heptio.com/v1
kind: BackupStorageLocation
metadata:
name: default
namespace: heptio-ark
spec:
provider: azure
objectStorage:
bucket: <YOUR_BLOB_CONTAINER>
config:
resourceGroup: <YOUR_STORAGE_RESOURCE_GROUP>
storageAccount: <YOUR_STORAGE_ACCOUNT>

View File

@@ -1,65 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: restic
namespace: heptio-ark
spec:
selector:
matchLabels:
name: restic
template:
metadata:
labels:
name: restic
spec:
serviceAccountName: ark
securityContext:
runAsUser: 0
volumes:
- name: host-pods
hostPath:
path: /var/lib/kubelet/pods
- name: scratch
emptyDir: {}
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
command:
- /ark
args:
- restic
- server
volumeMounts:
- name: host-pods
mountPath: /host_pods
mountPropagation: HostToContainer
- name: scratch
mountPath: /scratch
envFrom:
- secretRef:
name: cloud-credentials
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HEPTIO_ARK_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ARK_SCRATCH_DIR
value: /scratch

View File

@@ -1,194 +0,0 @@
# Copyright 2017 the Heptio Ark 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.
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: backups.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: backups
kind: Backup
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: schedules.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: schedules
kind: Schedule
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: restores.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: restores
kind: Restore
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: downloadrequests.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: downloadrequests
kind: DownloadRequest
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: deletebackuprequests.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: deletebackuprequests
kind: DeleteBackupRequest
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: podvolumebackups.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: podvolumebackups
kind: PodVolumeBackup
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: podvolumerestores.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: podvolumerestores
kind: PodVolumeRestore
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: resticrepositories.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: resticrepositories
kind: ResticRepository
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: backupstoragelocations.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: backupstoragelocations
kind: BackupStorageLocation
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: volumesnapshotlocations.ark.heptio.com
labels:
component: ark
spec:
group: ark.heptio.com
version: v1
scope: Namespaced
names:
plural: volumesnapshotlocations
kind: VolumeSnapshotLocation
---
apiVersion: v1
kind: Namespace
metadata:
name: heptio-ark
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: ark
namespace: heptio-ark
labels:
component: ark
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: ark
labels:
component: ark
subjects:
- kind: ServiceAccount
namespace: heptio-ark
name: ark
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io

View File

@@ -1,10 +0,0 @@
# File Structure
## 00-prereqs.yaml
This file contains the prerequisites necessary to run the Ark server:
- `heptio-ark` namespace
- `ark` service account
- RBAC rules to grant permissions to the `ark` service account
- CRDs for the Ark-specific resources (Backup, Schedule, Restore, etc.)

View File

@@ -1,24 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: ark.heptio.com/v1
kind: BackupStorageLocation
metadata:
name: default
namespace: heptio-ark
spec:
provider: gcp
objectStorage:
bucket: <YOUR_BUCKET>

View File

@@ -1,65 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
ports:
- name: metrics
containerPort: 8085
command:
- /ark
args:
- server
## uncomment following line and specify values if needed for multiple provider snapshot locations
# - --default-volume-snapshot-locations=<provider-1:location-1,provider-2:location-2,...>
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: plugins
mountPath: /plugins
- name: scratch
mountPath: /scratch
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}

View File

@@ -1,69 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: restic
namespace: heptio-ark
spec:
selector:
matchLabels:
name: restic
template:
metadata:
labels:
name: restic
spec:
serviceAccountName: ark
securityContext:
runAsUser: 0
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: host-pods
hostPath:
path: /var/lib/kubelet/pods
- name: scratch
emptyDir: {}
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
command:
- /ark
args:
- restic
- server
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: host-pods
mountPath: /host_pods
mountPropagation: HostToContainer
- name: scratch
mountPath: /scratch
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HEPTIO_ARK_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch

View File

@@ -1,28 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: ark.heptio.com/v1
kind: BackupStorageLocation
metadata:
name: default
namespace: heptio-ark
spec:
provider: aws
objectStorage:
bucket: <YOUR_BUCKET>
config:
s3ForcePathStyle: "true"
s3Url: <YOUR_URL_ACCESS_POINT>
region: <YOUR_REGION>

View File

@@ -1,63 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
ports:
- name: metrics
containerPort: 8085
command:
- /ark
args:
- server
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: plugins
mountPath: /plugins
- name: scratch
mountPath: /scratch
env:
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}

View File

@@ -1,4 +1,4 @@
# Copyright 2017 the Heptio Ark contributors.
# Copyright 2017 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.
@@ -13,16 +13,25 @@
# limitations under the License.
---
apiVersion: apps/v1beta1
apiVersion: v1
kind: Namespace
metadata:
name: velero
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: heptio-ark
namespace: velero
name: minio
labels:
component: minio
spec:
strategy:
type: Recreate
selector:
matchLabels:
component: minio
template:
metadata:
labels:
@@ -58,7 +67,7 @@ spec:
apiVersion: v1
kind: Service
metadata:
namespace: heptio-ark
namespace: velero
name: minio
labels:
component: minio
@@ -74,25 +83,11 @@ spec:
selector:
component: minio
---
apiVersion: v1
kind: Secret
metadata:
namespace: heptio-ark
name: cloud-credentials
labels:
component: minio
stringData:
cloud: |
[default]
aws_access_key_id = minio
aws_secret_access_key = minio123
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: heptio-ark
namespace: velero
name: minio-setup
labels:
component: minio
@@ -112,7 +107,7 @@ spec:
command:
- /bin/sh
- -c
- "mc --config-folder=/config config host add ark http://minio:9000 minio minio123 && mc --config-folder=/config mb -p ark/ark"
- "mc --config-dir=/config config host add velero http://minio:9000 minio minio123 && mc --config-dir=/config mb -p velero/velero"
volumeMounts:
- name: config
mountPath: "/config"

View File

@@ -1,33 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
---
apiVersion: ark.heptio.com/v1
kind: BackupStorageLocation
metadata:
name: default
namespace: heptio-ark
spec:
provider: aws
objectStorage:
bucket: ark
config:
region: minio
s3ForcePathStyle: "true"
s3Url: http://minio.heptio-ark.svc:9000
# Uncomment the following line and provide the value of an externally
# available URL for downloading logs, running Ark describe, and more.
# publicUrl: https://minio.mycluster.com

View File

@@ -1,63 +0,0 @@
# Copyright 2017 the Heptio Ark 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.
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
namespace: heptio-ark
name: ark
spec:
replicas: 1
template:
metadata:
labels:
component: ark
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8085"
prometheus.io/path: "/metrics"
spec:
restartPolicy: Always
serviceAccountName: ark
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
ports:
- name: metrics
containerPort: 8085
command:
- /ark
args:
- server
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: plugins
mountPath: /plugins
- name: scratch
mountPath: /scratch
env:
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}

View File

@@ -1,69 +0,0 @@
# Copyright 2018 the Heptio Ark 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.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: restic
namespace: heptio-ark
spec:
selector:
matchLabels:
name: restic
template:
metadata:
labels:
name: restic
spec:
serviceAccountName: ark
securityContext:
runAsUser: 0
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: host-pods
hostPath:
path: /var/lib/kubelet/pods
- name: scratch
emptyDir: {}
containers:
- name: ark
image: gcr.io/heptio-images/ark:latest
command:
- /ark
args:
- restic
- server
volumeMounts:
- name: cloud-credentials
mountPath: /credentials
- name: host-pods
mountPath: /host_pods
mountPropagation: HostToContainer
- name: scratch
mountPath: /scratch
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HEPTIO_ARK_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: ARK_SCRATCH_DIR
value: /scratch

View File

@@ -4,12 +4,12 @@ This directory contains manifests for two versions of a sample Nginx app under t
## `base.yaml`
This is the most basic version of the Nginx app, which can be used to test Ark's backup and restore functionality.
This is the most basic version of the Nginx app, which can be used to test Velero's backup and restore functionality.
*This can be deployed as is.*
## `with-pv.yaml`
This sets up an Nginx app that logs to a persistent volume, so that Ark's PV snapshotting functionality can also be tested.
This sets up an Nginx app that logs to a persistent volume, so that Velero's PV snapshotting functionality can also be tested.
*This requires you to first replace the placeholder value `<YOUR_STORAGE_CLASS_NAME>`.*

View File

@@ -1,4 +1,4 @@
# Copyright 2017 the Heptio Ark contributors.
# Copyright 2017 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.
@@ -21,13 +21,16 @@ metadata:
app: nginx
---
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: nginx-example
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:

View File

@@ -1,4 +1,4 @@
# Copyright 2017 the Heptio Ark contributors.
# Copyright 2017 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.
@@ -29,7 +29,7 @@ metadata:
labels:
app: nginx
spec:
storageClassName: <YOUR_STORAGE_CLASS_NAME>
# storageClassName: <YOUR_STORAGE_CLASS_NAME>
accessModes:
- ReadWriteOnce
resources:
@@ -37,22 +37,25 @@ spec:
storage: 50Mi
---
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: nginx-example
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
pre.hook.backup.ark.heptio.com/container: fsfreeze
pre.hook.backup.ark.heptio.com/command: '["/sbin/fsfreeze", "--freeze", "/var/log/nginx"]'
post.hook.backup.ark.heptio.com/container: fsfreeze
post.hook.backup.ark.heptio.com/command: '["/sbin/fsfreeze", "--unfreeze", "/var/log/nginx"]'
pre.hook.backup.velero.io/container: fsfreeze
pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/var/log/nginx"]'
post.hook.backup.velero.io/container: fsfreeze
post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/var/log/nginx"]'
spec:
volumes:
- name: nginx-logs

View File

@@ -1,5 +1,5 @@
/*
Copyright YEAR the Heptio Ark contributors.
Copyright 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.

View File

@@ -1,4 +1,4 @@
# Copyright 2018 the Heptio Ark contributors.
# 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.
@@ -12,14 +12,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM golang:1.10-alpine3.8
FROM golang:1.12
RUN apk add --update --no-cache git bash && \
mkdir -p /go/src/k8s.io && \
RUN mkdir -p /go/src/k8s.io && \
cd /go/src/k8s.io && \
git config --global advice.detachedHead false && \
git clone -b kubernetes-1.11.0 https://github.com/kubernetes/code-generator && \
git clone -b kubernetes-1.11.0 https://github.com/kubernetes/apimachinery && \
git clone -b kubernetes-1.14.0 https://github.com/kubernetes/code-generator && \
git clone -b kubernetes-1.14.0 https://github.com/kubernetes/apimachinery && \
go get golang.org/x/tools/cmd/goimports && \
cd /go/src/golang.org/x/tools && \
git checkout 40a48ad93fbe707101afb2099b738471f70594ec && \

View File

@@ -41,7 +41,7 @@ fi
export CGO_ENABLED=0
GIT_SHA=$(git describe --tags --always)
GIT_SHA=$(git rev-parse HEAD)
GIT_DIRTY=$(git status --porcelain 2> /dev/null)
if [[ -z "${GIT_DIRTY}" ]]; then
GIT_TREE_STATE=clean

31
hack/changelog.sh Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# 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.
set -o errexit
set -o nounset
set -o pipefail
CHANGELOG_PATH='changelogs/unreleased'
UNRELEASED=$(ls -t ${CHANGELOG_PATH})
echo -e "Generating CHANGELOG markdown from ${CHANGELOG_PATH}\n"
for entry in $UNRELEASED
do
IFS=$'-' read -ra pruser <<<"$entry"
contents=$(cat ${CHANGELOG_PATH}/${entry})
echo " * ${contents} (#${pruser[0]}, @${pruser[1]})"
done
echo -e "\nCopy and paste the list above in to the appropriate CHANGELOG file."
echo "Be sure to run: git rm ${CHANGELOG_PATH}/*"

Some files were not shown because too many files have changed in this diff Show More