Andy Goldstein
cc9be4489a
Merge pull request #345 from skriss/gcp-project
...
extract GCP project ID from creds file, remove from config
2018-03-05 10:35:39 -05:00
Steve Kriss
cbff5ef53b
extract GCP project ID from creds file, remove from config
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-03-02 09:15:12 -08:00
Steve Kriss
509431909a
add an AddFunc to handle finalizers in GC for initial lists/resyncs
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-02-28 16:56:23 -08:00
Steve Kriss
975dce929c
Merge pull request #331 from lypht/schedule
...
Include cron examples for schedule creation
2018-02-28 15:32:28 -08:00
Josh Hull
f733869142
Include cron examples for schedule creation
...
Signed-off-by: Josh Hull <josh.hull@lypht.com>
2018-02-28 16:50:52 -06:00
Andy Goldstein
e618e0e456
server: allow configurable plugin dir
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-27 14:50:38 -05:00
Andy Goldstein
f13b0c00a3
server: don't assume /ark for internal plugins
...
If you want to test changes to the ark server without having to rebuild
and redeploy the ark container, this change allows you to do something
like this (assuming you've created your cloud credentials file):
AWS_SHARED_CREDENTIALS_FILE=credentials-minio ark server -n heptio-ark
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-27 14:32:45 -05:00
Nolan Brubaker
e73ba839f3
Merge pull request #296 from blakebarnett/bdb/add_kubecontext_flag
...
Adds a kubecontext global flag
2018-02-26 17:05:59 -05:00
Nolan Brubaker
abeeee6643
Merge pull request #333 from ncdc/add-force-delete-backup
...
Allow forced backup deletion
2018-02-26 16:44:37 -05:00
Andy Goldstein
d24fb232cc
Allow forced backup deletion
...
Add --force and --confirm to `ark backup delete` to support forced
backup deletion. This forcibly removes the Ark GC finalizer (if it's
present) from a backup and will orphan any resources associated with the
backup, such as backup tarballs in object storage, persistent volume
snapshots, and restores for the backup.
If a backup has a deletion timestamp, display `Deleting` in `ark backup
describe` and `ark backup get`.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-26 16:25:22 -05:00
Blake
465c60b408
Add global kubecontext CLI flag
...
Signed-off-by: Blake <blake.barnett@postmates.com>
2018-02-26 10:47:39 -08:00
Andy Goldstein
cc4d2916fa
Error if backup missing when creating a restore
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-05 13:29:48 -05:00
Andy Goldstein
b2cd8e1fe8
Create the config directory in case it's missing
...
Always try to create the config directory when saving the client config
in case it doesn't exist.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-02-02 16:01:52 -05:00
Andy Goldstein
6712e2a9ec
Merge pull request #270 from nrb/fix-232
...
Clarify backup and restore creation messages
2018-01-11 12:22:11 -05:00
Andy Goldstein
f5f1dbac5d
Merge pull request #271 from nrb/fix-246
...
Invalidate restores based on non-existent backups
2018-01-10 13:24:53 -05:00
Steve Kriss
af81f589f6
update GCP block store to use v1 library, and tag snapshots on create
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-08 09:23:32 -08:00
Nolan Brubaker
37f498cd37
Clarify backup and restore creation messages
...
When running `ark <resource> create`, a request is sent to the server,
but the status is not immediately known. Inform the user that a request
was sent and provide a way to get more information on it.
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-01-08 10:26:51 -05:00
Nolan Brubaker
bb7b0a3c33
Invalidate restores based on missing backups
...
When creating a restore based on a backup that doesn't exist, the
restore should be marked as invalid and the error clearly communicated
so the user understands why the restore wasn't made.
Previously, the restore was left as in progress with an error attached.
Since restores are CRDs and must be updated via a controller, there's
currently not a way to give the client immediate errors.
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2018-01-08 10:10:01 -05:00
Steve Kriss
b53ee44176
update GCP object store to use new/recommended lib
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-05 14:21:13 -08:00
Steve Kriss
e130011d1e
Merge pull request #272 from ncdc/arbitrary-namespaces
...
Support running in any namespace
2018-01-05 14:15:18 -08:00
Andy Goldstein
816f14c0b4
Support running in any namespace
...
Add the ability for the Ark server to run in any namespace.
Add `ark client config get/set` for manipulating the new client
configuration file in $HOME/.config/ark/config.json. This holds client
defaults, such as the Ark server's namespace (to avoid having to specify
the --namespace flag all the time).
Add a --namespace flag to all client commands.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-05 16:51:59 -05:00
Andy Goldstein
de785af89d
Support pre and post hooks.
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-05 10:47:34 -05:00
Andy Goldstein
d56b5f2b66
Updated generated CRD code
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-04 10:44:20 -05:00
Steve Kriss
656428d0b9
Merge pull request #250 from ncdc/backup-controller-do-as-much-as-possible
...
BackupController: do as much as possible
2018-01-03 12:10:51 -08:00
Andy Goldstein
1b124a3146
Log backup item action error when it occurs
...
If a backup item action errors, log the error as soon as it occurs, so
it's clear when the error happened. Also include information about the
groupResource, namespace, and name of the item in the error.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-01-03 13:20:05 -05:00
Andy Goldstein
6b0b6373da
Merge pull request #252 from skriss/delete-backup
...
add delete backup cmd using finalizer and simplify GC process
2018-01-02 14:26:03 -05:00
Andy Goldstein
56ca4bab2f
Merge pull request #268 from skriss/2018
...
update copyright header to 2018 and make language/casing consistent
2018-01-02 14:16:26 -05:00
Steve Kriss
1503796419
make language and casing consistent across copyrights
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-02 10:51:49 -08:00
Steve Kriss
3b157afbbd
update copyright year to 2018 for generated files
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2018-01-02 10:48:42 -08:00
Steve Kriss
1c974782fa
disable GC and backup deletion if Kubernetes is less than v1.7.5
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-22 10:25:32 -08:00
Steve Kriss
8878ba860e
don't remove annotations from PVs on restore
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 13:23:48 -08:00
Steve Kriss
8e5feec39c
include restore & schedule under ark delete
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 10:47:37 -08:00
Steve Kriss
f5123794e0
add delete backup cmd using finalizer and simplify GC process
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-21 10:47:37 -08:00
Andy Goldstein
0fc087c967
Flatten aggregated errors
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-21 11:56:33 -05:00
Andy Goldstein
fbda5fe539
Add serviceaccounts to prioritized resources
...
Add serviceaccounts to the default list of prioritized resources used
when restoring.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-20 14:59:47 -05:00
Andy Goldstein
1e581f1ead
BackupController: do as much as possible
...
When running a backup, try to do as much as possible, collecting errors
along the way, and return an aggregate at the end. This way, if a backup
fails for most reasons, we'll be able to upload the backup log file to
object storage, which wasn't happening before.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-12-20 14:49:27 -05:00
Andy Goldstein
fea701a03b
Merge pull request #256 from skriss/unbound-pvc-fix
...
don't error if PVC is not bound to a PV
2017-12-19 19:37:28 -05:00
Andy Goldstein
1210cb36e1
Merge pull request #253 from skriss/update-license
...
Update all license headers
2017-12-19 19:26:54 -05:00
Steve Kriss
79c0e5a09a
don't error if PVC is not bound to a PV
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-19 14:10:58 -08:00
Steve Kriss
3641c2c043
update all license headers
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-15 13:38:12 -08:00
Steve Kriss
56c9d68137
switch to logrus.FieldLogger and arktest.NewLogger() everywhere
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-13 09:38:00 -08:00
Steve Kriss
4aea9b9a2c
switch from Update() to Patch()
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-12-12 15:23:45 -08:00
Andy Goldstein
992940c55c
Merge pull request #227 from skriss/plugin-logger-fix
...
Bug fixes: obj/block store plugin logging and remapped namespaces issue
2017-11-30 12:17:56 -05:00
Steve Kriss
121b7153a7
when restoring, don't restore the Namespaces cluster-scoped resource independently
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-30 09:07:38 -08:00
Andy Goldstein
bd8f433188
Merge pull request #229 from skriss/plugin-docs
...
add godoc for ResourceSelector
2017-11-30 11:25:53 -05:00
Steve Kriss
94ac3b3529
godoc for ResourceSelector
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-30 08:20:27 -08:00
Steve Kriss
8a0ac2117b
give each plugin its own logrusAdapter
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-29 14:36:21 -08:00
Steve Kriss
cbcd15d603
add/update documentation for plugins
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-29 14:24:23 -08:00
Steve Kriss
b66efd9416
rename NewPluginLogger to NewLogger
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-29 14:01:31 -08:00
Steve Kriss
038fa39451
remove ListSnapshots and GetAllSnapshots
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-29 13:59:29 -08:00
Steve Kriss
995050390c
add plugin add/remove commands
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-29 12:22:30 -08:00
Steve Kriss
0b6e78145c
Merge pull request #223 from ncdc/simplify-plugin-serve
...
Simplify serving plugins for external developers
2017-11-29 11:09:22 -08:00
Steve Kriss
5b8562e73c
Merge pull request #222 from ncdc/fix-log-location-hook
...
Fix log location hook prefix stripping
2017-11-29 11:07:43 -08:00
Andy Goldstein
dc484d1566
Set logger for cloudprovider plugin
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-29 13:54:20 -05:00
Andy Goldstein
1f7e9b65e8
Simply serving plugins for external developers
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-29 13:42:53 -05:00
Andy Goldstein
c700455272
Support custom volume snapshots & restores
...
The main Ark code was hard-coding specific support for AWS, GCE, and
Azure volume snapshots and restores, and anything else was considered
unsupported.
Add GetVolumeID and SetVolumeID to the BlockStore interface, to allow
block store plugins to handle volume snapshots and restores.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-29 13:19:40 -05:00
Andy Goldstein
99f67db39d
Fix log location hook prefix stripping
...
The log location hook was matching github.com/heptio/ark and stripping
off that + 1 more char. This meant that
github.com/heptio/ark-plugin-example/foo.go was being listed as
plugin-example/foo.go instead of
github.com/heptio/ark-plugin-example/foo.go.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-29 12:56:01 -05:00
Andy Goldstein
526b604237
Add boolptr helper package
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-29 12:25:10 -05:00
Andy Goldstein
f0b35cc45a
Merge pull request #213 from skriss/restore-action-plugins
...
Convert restorers to plugins
2017-11-28 14:50:41 -05:00
Steve Kriss
179b95c81d
convert restorers to plugins
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-28 10:58:12 -08:00
Andy Goldstein
c2dc41efd8
Add backup & schedule describers
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-27 15:22:20 -05:00
Steve Kriss
0f2d1ab82b
migrate backup actions to plugins
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-21 10:03:03 -08:00
Steve Kriss
fc6da9b3db
Merge pull request #203 from ncdc/log-server-version
...
Log server version at startup
2017-11-15 12:13:59 -08:00
Nolan Brubaker
194d21c6a3
Update default TTL to 30 days
...
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-11-14 17:03:30 -05:00
Andy Goldstein
c57a9b94b9
Log server version at startup
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 16:58:14 -05:00
Andy Goldstein
b184c0b348
Seek to 0 before uploading restore results
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 14:39:42 -05:00
Andy Goldstein
4c481f4d23
Make logSource more concise
...
Strip off leading .../github.com/heptio/ark/
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 14:21:19 -05:00
Andy Goldstein
af189fd5f4
Add error & logSource hooks to backup & restore loggers
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 14:19:52 -05:00
Andy Goldstein
34a6f492e5
Log restore start/end
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 14:19:52 -05:00
Andy Goldstein
38aa43885b
Log when starting a backup
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-14 14:19:52 -05:00
Steve Kriss
8ba5a29679
add a logger that can be used within plugins to emit logs into Ark server
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-14 10:38:26 -08:00
Steve Kriss
24ce316788
switch built-in cloud providers to run as plugins
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-14 09:47:36 -08:00
Steve Kriss
3975187d57
add .proto files, generated code, and gen script for object/block stores
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-13 15:43:14 -08:00
Steve Kriss
cb49c62aaf
implement stream reader for gRPC byte streams
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-13 15:43:13 -08:00
Steve Kriss
21e2019540
rename Block/ObjectStoreAdapter -> Block/ObjectStore
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-08 16:58:47 -08:00
Andy Goldstein
737b6d932a
Add more group-resource level logging
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-08 12:08:57 -05:00
Steve Kriss
5e4fc8f84a
Merge pull request #182 from ncdc/include-namespace
...
Fix missing namespace resource when backing up namespaces with auto cluster resources
2017-11-03 13:56:11 -07:00
Andy Goldstein
efa4e57d1e
More namespace special casing
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-03 16:34:07 -04:00
Devan Goodwin
9471f9da3c
Fix missing namespace metadata after restore.
...
If backing up specific namespaces with "auto" cluster resources, the
actual namespace objects themselves were not being included in the
backup. Restore would create them but any labels or metadata would be
lost.
Instead handle the special case of namespace as a cluster level resource
we may still need, even if excluding most cluster level resources.
Signed-off-by: Devan Goodwin <dgoodwin@redhat.com>
2017-11-03 12:12:03 -03:00
Andy Goldstein
b2d80471ac
Move restore warnings/errors to object storage
...
If you have a large number of warnings and/or errors, the restore
object's size can exceed the maximum allowed by etcd. Move them to
object storage, and add a new describe command to fetch and display them
on the fly.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-11-02 15:53:59 -04:00
Steve Kriss
55c038afa0
fix restore namespace remapping bug
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-02 10:39:54 -07:00
Andy Goldstein
7f959f0184
Merge pull request #174 from skriss/obj-store-reader
...
Switch PutObject to take an io.Reader rather than an io.ReadSeeker
2017-11-02 12:57:09 -04:00
Steve Kriss
c49d11f17a
Merge pull request #171 from nrb/168-fix
...
Don't delete 'headless' services
2017-11-01 16:30:32 -07:00
Steve Kriss
e7703d88ec
switch UploadBackup, UploadRestoreLog, PutObject to take io.Reader
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-11-01 15:48:13 -07:00
Nolan Brubaker
d87e8ee16e
Don't delete 'headless' services
...
Deleting the clusterIP field when the service should be headless will
cause it to be assigned a new IP on restore; instead it should retain
the headless state after restoration.
Fixes #168
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-11-01 14:47:08 -07:00
Steve Kriss
4f59b19cdc
Merge pull request #169 from nrb/160-fix
...
Use label selector in backup, restore, schedule lists
2017-10-31 16:38:07 -07:00
Nolan Brubaker
36a40a0cd3
Use provided options when getting lists
...
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
2017-10-31 16:13:28 -07:00
Steve Kriss
073795715e
Merge pull request #154 from ncdc/backup-download-remove-file-on-error
...
backup download: remove file if there's an error
2017-10-30 18:49:57 -07:00
Andy Goldstein
0fab2e5e89
Stop passing encoder/decoder to NewHumanReadablePrinter
...
We only need them if we've got unstructured/unknown data and we want to
convert it to typed objects.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 14:07:58 -04:00
Andy Goldstein
c1bc52eb65
Update gofmt
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
aa253bf016
Use generated deep copy functions
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
293674c40e
React to upstream spdy executor changes
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
322cbc19e6
dynamicResourceClient: fix resourceClient type
...
dynamicClient.Resource() now returns an interface
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
15fe87aea3
Fix clientset imports
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
4957dfce61
Regenerate code
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:31:03 -04:00
Andy Goldstein
843345f728
Prep types for 1.8 code-generator
...
Fix genclient tags
Add deepcopy-gen interfaces to top level types
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:30:27 -04:00
Andy Goldstein
43449885a1
React to move to k8s.io/api
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-30 13:30:27 -04:00
Akhil Thampy
1ac0303283
Fix #137 . Remove clock from volume_snapshot_action.
...
Signed-off-by: Akhil Thampy <akhilthampy@yahoo.com>
2017-10-26 13:53:52 -05:00
Andy Goldstein
8a53cef7e6
backup download: remove file if there's an error
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-26 11:09:35 -04:00
Andy Goldstein
e38b6d0f4c
Support cross-compiling for clients
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-24 12:26:26 -04:00
Steve Kriss
a7cc58730e
add --include-cluster-resources flag to restores (optional, default true)
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-23 10:51:07 -07:00
Steve Kriss
e460199536
fix restore log statement
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-23 10:50:55 -07:00
Andy Goldstein
28e7f0851a
Add verb-noun command aliases
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-20 13:26:34 -04:00
Andy Goldstein
901f8e1302
Add pod exec backup hooks
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-10-20 10:20:59 -04:00
Devan Goodwin
ed0194c09b
Restructure backups for resource prioritization.
...
Previously the directory structure separated resources depending on
whether or not they were cluster or namespace scoped. All cluster
resources were restored first, then all namespace resources. Priority
did not apply across both and you could not order any namespace
resources before any cluster resources.
This restructure sorts firstly on resource type.
resources/serviceaccounts/namespaces/ns1.json
resources/nodes/cluster/node1.json
This will break old backups as the format is no longer consistent as
announced on the Google group.
Signed-off-by: Devan Goodwin <dgoodwin@redhat.com>
2017-10-17 08:49:05 -03:00
Steve Kriss
4085e473e1
additional deployment/networkpolicy cases for TestBackupResource
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-11 15:05:12 -07:00
Steve Kriss
07b33ace57
add --include-cluster-resources flag to backup create cmd
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-11 15:05:12 -07:00
Steve Kriss
9438a8670a
when backing up PVCs, also back up claimed PVs
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-11 09:54:57 -07:00
Steve Kriss
fa427ebcfd
switch to logrus for per-backup/restore logs
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-10 14:11:21 -07:00
Steve Kriss
7c0d9dcfce
add missing licenses
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-10 13:14:03 -07:00
Steve Kriss
e7c62b5f38
add file/line numbers to logs
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-10 13:14:03 -07:00
Steve Kriss
9f3ce8ab1a
add log-level flag to server command
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-10 13:14:03 -07:00
Steve Kriss
82655b8359
tweak volume snapshot action logging messages
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-10 11:10:50 -07:00
Steve Kriss
d27b16370c
Merge pull request #102 from ashish-amarnath/support-multi-az-pvs
...
Preserve AWS & GCP volume AZ when snapshotting and restoring PVs.
2017-10-10 10:08:57 -07:00
ashish-amarnath
6dc81b42f5
Merge branch 'master' into support-multi-az-pvs
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@gmail.com>
2017-10-06 23:24:41 -07:00
Ashish Amarnath
9fc9dbb413
Preserve PV's AZ info when snapshotting and restoring PVs.
...
- Read PV's AZ info from fault-domain label of the PV object for snapshotting.
- Store PV's AZ info in the VolumeInfo.
- Add tests for reading the label from the PV object.
- Remove availability zone validation in AWS and GCP BlockStorageAdaptor.
- Add volumeAZ as a parameter to methods in the BlockStorageAdapter interface.
- Get AZ from VolumeInfo when restoring PV snapshot.
- Remove references to PV availability zone in docs.
Signed-off-by: Ashish Amarnath <ashish.amarnath@gmail.com>
2017-10-06 23:24:41 -07:00
Justin Nauman
1fd1e8deaa
Excluding nodes and endpoints from restoration
...
- Introduced a blacklist of resources that are non-restorable. The
goal being that the backup can still include these resources for
logging/auditing purposes but they are explicitly added to
ExcludedResources in the RestorController's "defaulting" logic
to ensure that if someone were to explicitly ask for nodes
that they would be expressly denied.
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-10-05 22:37:29 -05:00
Steve Kriss
9ac71b03cc
add logrus hook to log error file/line/function from stack traces
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-05 08:49:33 -07:00
Steve Kriss
914165095a
switch logging to logrus and errors to pkg/errors
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-10-05 08:49:33 -07:00
Steve Kriss
a5d4d138b2
Merge pull request #96 from ncdc/fix-config-watch
...
Make config change detection more robust
2017-09-19 09:57:52 -07:00
Andy Goldstein
024f65579c
Merge pull request #69 from jrnt30/user-agent
...
Adding in customized user-agent
2017-09-19 09:51:57 -07:00
Justin Nauman
97f8f2426f
Addressing PR feedback and adding tests
...
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-18 17:42:16 -05:00
Andy Goldstein
84fa48d57a
Make config change detection more robust
...
Fix 2 issues with config change detection:
- Objects received via Get() don't have kind and apiVersion set, while
those from Watch() do, leading to false positives.
- Compare the unmodified config (prior to applying defaults) to the
updated one from Watch().
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-14 17:12:32 -04:00
Andy Goldstein
609bf80f9e
Merge pull request #90 from skriss/change-azure-apitimeout
...
change Azure API timeout default to 2m
2017-09-14 09:38:09 -04:00
Steve Kriss
5424eba417
change Azure API timeout default to 2m
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-13 16:20:12 -07:00
Steve Kriss
acb3babb87
when restoring azureDisk from snapshot, update the diskURI with the new diskName
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-13 16:10:30 -07:00
Justin Nauman
d76ed7b49e
Adding in customized user-agent
...
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-13 16:35:45 -05:00
Steve Kriss
5405067a2e
Merge pull request #88 from ncdc/fix-restore-logs-when-backup-name-has-dash
...
Support restore logs when backup name has -
2017-09-13 14:14:55 -07:00
Steve Kriss
f31af75dc3
Merge pull request #82 from ncdc/tweak-version-output
...
Tweak version display
2017-09-13 14:14:44 -07:00
Andy Goldstein
136b8f200d
Support restore logs when backup name has -
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 16:04:46 -04:00
Andy Goldstein
81fda27440
Tweak version display
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 10:16:16 -04:00
Andy Goldstein
b43b65b7bf
Revert to prior name format for tarballs
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
7b892b63ed
make update
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
e8a88747eb
Use pointers when printing schema.GroupResource
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
9deb4d4cae
backup download: switch to --output as full path
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
28fac1b156
Don't unzip backup data when streaming
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
273b563c86
Add per-restore logs
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-13 09:51:40 -04:00
Andy Goldstein
d0b7880881
Merge pull request #78 from skriss/restore-resource-inc-exc
...
Add --include-resources, --exclude-resources for restore operations
2017-09-12 15:53:21 -04:00
Steve Kriss
4dfce17de5
add resource includes/excludes for Restores
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-12 12:43:23 -07:00
Justin Nauman
98d4660d27
Adding in support for backup download
...
- Adding in support for a new `download` subcommand of backup
- Adjusted signing to allow for multiple types
- Adding in git sha version during build more granular version
debugging
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-11 20:17:33 -05:00
Steve Kriss
907ae6c5b0
move groupresource resolution into discovery helper
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-11 14:41:50 -07:00
Andy Goldstein
ab99fcc2e2
Update backup and log file name formats
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:49 -04:00
Andy Goldstein
3bb02ac949
Use ioutil.Discard in unit test
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:49 -04:00
Andy Goldstein
71fadf381e
Clarify Backup() param names
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:49 -04:00
Andy Goldstein
a583f22ea9
Add ActionContext so backup actions can log
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
50a95d052e
Delete all objects in backup dir
...
Delete all objects in backup "dir" when deleting a backup, instead of
hard-coding individual file names/types. This way, we'll be able to
delete log files and anything else we add without having to update our
deletion code.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
193000e487
Add ListObjects (for backup dir deletions)
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
5c9ffae88f
Renerate files
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
03dde45c09
Add 'ark backup logs' command for retrieval
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
9848a7a55b
Save backup log file to object storage
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:48 -04:00
Andy Goldstein
b50a78cf7b
Work around glog flag.Parse issue
...
Due to a change in glog, if you don't call flag.Parse, every log line
prints out 'ERROR: logging before flag.Parse'. This works around that
change. Ultimately we need to switch to a different logging library.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:47 -04:00
Andy Goldstein
860eb7e845
Match Azure sdk changes
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-09-11 15:40:47 -04:00
Steve Kriss
7648155c9a
delete restores when GC'ing backups & don't orphan cloud resources
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-06 10:34:08 -07:00
Andy Goldstein
305e7fcea0
Merge pull request #59 from jrnt30/explicit-includes-excludes-restore
...
Allows explicit include/exclude of namespaces on restores
2017-09-06 11:21:24 -04:00
Andy Goldstein
56c680f991
Merge pull request #62 from jrnt30/default-home-resolution
...
Allow default kubeconfig resolution
2017-09-06 11:16:10 -04:00
Justin Nauman
2457d8f116
Removing instead of deprecating Namespace attr
...
- Per discussion, there is no reason to deal
with the complexity of backwards compatibility
with the Namespace attribute on the Restore
domain.
- Also noticed there was an error on the
validation of the BackupController where
the message would actually just be the index
of the error and not the contents of the message
itself.
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-05 17:18:10 -05:00
Justin Nauman
b50a046370
Additional Validation on Include/Exclude
...
- Adding in additional test to ensure *Namespaces attributes
don't directly conflict logically with one another
- Additional PR changes around naming/typos
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-05 17:17:46 -05:00
Justin Nauman
af2a792a9a
Allows explicit include/exclude of namespaces on restores
...
- Introduces similar Include/Exclude declaration on the Restore
resource and cli flags
- Kept support for legacy Namespaces attribute until it could be
deprecating. Defining both IncludeNamespaces and Namespaces results
in a validation error and the Restore will not be processed (shouldn't
be able to occur)
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-09-05 17:17:41 -05:00
Steve Kriss
ba299f880f
in GetAllBackups don't error if single backup is unreadable
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-05 09:56:37 -07:00
Andy Goldstein
43c74e33c2
Merge pull request #57 from skriss/restore_missing_backup_fix
...
during restore, try to get backup directly from obj storage if not in cache/API
2017-09-05 12:47:13 -04:00
Steve Kriss
f07a70c604
during restore, try to get backup directly from obj storage if not in cache/API
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-09-05 09:25:39 -07:00
Justin Nauman
c0e94a4c1a
Allow default kubeconfig resolution
...
- Changed the default kubeconfig loading to utilize
the client-go's loader strategy. This allows users
to use the Ark client without having to explicitly
define a KUBECONFIG env var or argument.
This more closely resemebles how Kubectl works and users
are probably more used to while preserving the
current rules.
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-08-28 07:56:57 -05:00
Justin Nauman
f017a23d41
AWS Paging Support
...
- Adding in paging support for the S3 and Snapshot
AWS integration.
As a testing note, you can add in a a MaxKeys to the S3
request as an easy way to ensure that paging is working
properly without having to creation over 1k backups.
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-08-28 05:49:39 -05:00
Steve Kriss
768aed4ddd
make --snapshot-volumes, --restore-volumes optional with sensible default behavior based on PVProvider existence
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-23 09:47:52 -07:00
Steve Kriss
8d5c8ffcbb
get rid of StorageAdapter structs and move validation into block/object
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-23 09:46:15 -07:00
Steve Kriss
ebc06fd632
make PVProvider optional in server config; disallow snap/restore PVs when not provided
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-23 09:46:15 -07:00
Justin Nauman
3ea9899140
Adding in defaults for backup creation and restore
...
Signed-off-by: Justin Nauman <justin.r.nauman@gmail.com>
2017-08-21 09:47:11 -05:00
Andy Goldstein
c088470ba5
Merge pull request #35 from skriss/server_config_validation
...
validate cloud-provider config at startup & make PVProvider optional
2017-08-14 16:03:15 -04:00
Steve Kriss
726bbbb393
add zone/location validation to cloudprovider constructors
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-14 12:56:12 -07:00
Andy Goldstein
a865cb87ee
Merge pull request #37 from skriss/iops_fix
...
only save/use iops for io1 volumes
2017-08-14 15:24:30 -04:00
Steve Kriss
c2271776cc
remove unused params from GCP objectStorageAdapter
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-14 10:56:05 -07:00
Steve Kriss
aff57e0571
switch to int64 for iops val
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-14 09:42:43 -07:00
Mathias Merscher
df320d7bf3
adds support for S3 SSE with KMS
...
Signed-off-by: Mathias Merscher <Mathias.Merscher@dg-i.net>
2017-08-14 18:18:19 +02:00
Andy Goldstein
e966eb9ab0
Merge pull request #38 from skriss/cluster-only-restore-err
...
check for namespaces/ dir before reading it
2017-08-14 09:46:50 -04:00
Steve Kriss
49809b0a59
check for namespaces/ dir before reading it
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-11 14:05:06 -07:00
Steve Kriss
c41c958777
only save/use iops for io1 volumes
...
Signed-off-by: Steve Kriss <steve@heptio.com>
2017-08-11 13:33:01 -07:00
Andy Goldstein
680e17815b
Schedules: treat 1st cron field as minutes
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-10 12:44:00 -04:00
Andy Goldstein
e0d2a2d4d0
Remove k8s.io/apiextensions-apiserver from vendor
...
Remove k8s.io/apiextensions-apiserver since we're no longer registering
CRDs in code.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-07 12:38:07 -04:00
Andy Goldstein
9dcff62f1a
Pull in azure, gcp, oidc client-go auth provider plugins
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-07 11:24:22 -04:00
Andy Goldstein
2c9d22771c
Use NoError instead of NoErrorf
...
Prepping to roll back to the same version of testify that client-go
uses, and that does not have NoErrorf.
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-07 11:20:38 -04:00
Andy Goldstein
d5953b3772
Simplify check for owner references
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-02 17:10:39 -04:00
Andy Goldstein
2fe501f527
Initial commit
...
Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2017-08-02 13:27:17 -04:00