Commit Graph

1162 Commits

Author SHA1 Message Date
Prasad Ghangal
882a4e1e5b Add a way to execute S3 storage test on AWS
Create kopia bucket and user with unique ID on minio
Create AWS bucket before running tests

Signed-off-by: Prasad Ghangal <prasad.ghangal@gmail.com>
2020-02-28 06:30:39 -08:00
Jarek Kowalski
c55e53041c travis: fixed --skip-publish logic 2020-02-27 21:49:00 -08:00
Jarek Kowalski
7512f581f1 travis: checkout go.mod/go.sum at the end of travis-setup 2020-02-27 21:30:35 -08:00
Jarek Kowalski
2d214d2670 Makefile: refactored travis-release to run goreleaser first, which should avoid dirty git state 2020-02-27 21:04:57 -08:00
Jarek Kowalski
d181403284 crypto: refactored encryption, hashing and splitter into separate packages (#274)
Added some tests, deleted XSALSA20 which never worked E2E
2020-02-27 12:36:49 -08:00
Jarek Kowalski
c159569070 changed how go-bindata is installed to avoid go.mod 2020-02-26 22:54:53 -08:00
Jarek Kowalski
4aa323a0a8 go.sum: cleaned up 2020-02-26 22:40:27 -08:00
Jarek Kowalski
4ca9bee898 Makefile: print git diff before goreleaser 2020-02-26 22:22:19 -08:00
Jarek Kowalski
1b4e200836 fixed missing go.sum entry 2020-02-26 21:54:23 -08:00
Jarek Kowalski
f9359a6788 kopia-ui: disable linux snap build 2020-02-26 21:42:15 -08:00
Jarek Kowalski
9079418c7c kopia-ui: simplified handling of Mac menu bar 2020-02-26 21:42:15 -08:00
Jarek Kowalski
765bff8e0b cli: restored snapshot create --hostname and --username flags 2020-02-25 20:40:23 -08:00
Jarek Kowalski
e3854f7773 BREAKING: changed how hostname/username are handled
The hostname/username are now persisted when connecting to repository
in a local config file.

This prevents weird behavior changes when hostname is suddenly changed,
such as when moving between networks.

repo.Repository will now expose Hostname/Username properties which
are always guarnateed to be set, and are used throughout.

Removed --hostname/--username overrides when taking snapshot et.al.
2020-02-25 20:40:23 -08:00
Jarek Kowalski
0afc849f99 updated azure provider to match 2020-02-25 17:24:44 -08:00
Jarek Kowalski
c8fcae93aa logging: refactored logging
This is mostly mechanical and changes how loggers are instantiated.

Logger is now associated with a context, passed around all methods,
(most methods had ctx, but had to add it in a few missing places).

By default Kopia does not produce any logs, but it can be overridden,
either locally for a nested context, by calling

ctx = logging.WithLogger(ctx, newLoggerFunc)

To override logs globally, call logging.SetDefaultLogger(newLoggerFunc)

This refactoring allowed removing dependency from Kopia repo
and go-logging library (the CLI still uses it, though).

It is now also possible to have all test methods emit logs using
t.Logf() so that they show up in failure reports, which should make
debugging of test failures suck less.
2020-02-25 17:24:44 -08:00
Prasad Ghangal
c682fffdf2 Support for Azure blob storage (#271)
Signed-off-by: Prasad Ghangal <prasad.ghangal@gmail.com>
2020-02-25 16:32:26 -08:00
Jarek Kowalski
897483299f Kopia UI & CLI: support for progress indicator (#268)
Percentage based on last-known snapshot size

* server: exposed last completed snapshot size in the API
* cli: added support for progress indicator (percentage based on last-known snapshot size)
* htmlui: added progress indicator in the UI (percentage based on last-known snapshot size)
2020-02-24 17:55:02 -08:00
Jarek Kowalski
65e54fc180 travis: skip_cleanup was not working, restoring old form 2020-02-22 22:38:44 -08:00
Jarek Kowalski
b80e4272d0 added missing go.sum entry on Linux 2020-02-22 22:37:28 -08:00
Jarek Kowalski
3ce46e2c45 ui: few more tweaks
- better initial configuration flow
- fixed few fields that were mistakenly marked as required
2020-02-22 22:05:19 -08:00
Jarek Kowalski
5412d75f79 htmlui: approaching usability by mere mortals
- added ability to make new snapshots from the UI
- added directory picker
- hide/show macOS dock icon automatically
- fixed copy/paste on Mac (apparently if you don't have 'Edit' menu
  in your app, copy/paste and many other shortcut keys simply don't
  work)
- added smart time formatting ("X minutes ago", etc.) in lists
  using 'moment' library
- added progress information to snapshots
2020-02-22 20:03:57 -08:00
Jarek Kowalski
e573548b93 server: fixed race between shutdown and syncSourcesLocked() 2020-02-22 19:27:10 -08:00
Jarek Kowalski
985fc0ad12 server: fixed /objects/ path mapping, added tests 2020-02-22 19:27:10 -08:00
Jarek Kowalski
27854d85ed server: report local username and hostname when listing sources 2020-02-22 19:27:10 -08:00
Jarek Kowalski
3e58911cf3 tests: de-parallelized server tests 2020-02-22 19:27:10 -08:00
Jarek Kowalski
9b50a6e891 test: increased e2e test timeout
Added linear retry support when waiting for snapshots
2020-02-22 19:27:10 -08:00
Jarek Kowalski
fde2f2e0e6 server: additional status code from CreateSnapshotSource, more tests 2020-02-22 19:27:10 -08:00
Jarek Kowalski
ab2c906f2c server: implemented remaining server API methods
CreateSnapshotSource API for ensuring source exists
Upload - starts upload on a given source or matching sources
Cancel - cancels upload on a given source or matching sources
2020-02-22 19:27:10 -08:00
Jarek Kowalski
ee88cfd229 server: switched from manual routing to github.com/gorilla/mux 2020-02-22 19:27:10 -08:00
Jarek Kowalski
7efe83cbe8 travis: mac notarization setup 2020-02-22 19:09:17 -08:00
Jarek Kowalski
8c28d8e139 travis: mac notarization setup 2020-02-22 19:09:17 -08:00
Jarek Kowalski
22a00452b0 travis: added macOS app notarization 2020-02-22 18:34:34 -08:00
Julio López
e8b68e7829 Cleanup Travis config (#262)
Travis YAML cleanup

Removes warnings in Travis v2 config validation:

 root: duplicate key: addons
 deploy: deprecated key skip_cleanup (not supported in dpl v2, use cleanup)
 deploy: deprecated key skip_cleanup (not supported in dpl v2, use cleanup)
 addons.snaps: unknown key confinement (classic)
 deploy: key github_token is an alias for token, using token
 deploy: key api_key is an alias for token, using token

Changes:

- remove duplicate 'addons' key
- replace 'github_token' with 'token' in deploy.provider:"pages"
- replace 'api_key' with 'token' in deploy.provider:"release"
- replace 'skip_cleanup:true' with 'cleanup:false' in deploy.provider.*
- replace 'confinement:classic' with 'classic:true' in addons.snaps[0]

Ref:
- https://docs.travis-ci.com/user/deployment-v2/providers/pages/
- https://docs.travis-ci.com/user/deployment-v2/providers/releases/
- https://config.travis-ci.com/ref/job/addons/snaps
2020-02-20 23:40:06 -08:00
Jarek Kowalski
1e3100a88b Misc Kopia UI changes:
- disabled MacOS dock icon
- cleaned up MacOS menu bar
- added retry when opening main window, which is unavailable shortly
  after starting up server
- open main window on first run
- retry checking for updates every 24h
- fixed bug preventing Repository tab from finishing loading
- updated to latest package versions
2020-02-20 22:53:34 -08:00
Jarek Kowalski
dd788ce087 kopia-ui: publish snap to github 2020-02-20 00:28:22 -08:00
Jarek Kowalski
28aab656fc kopia-ui: more version number tweaks, enable snapcraft on travis 2020-02-19 23:59:03 -08:00
Jarek Kowalski
ffb31b62d1 kopia-ui: adjusted build version format 2020-02-19 23:36:28 -08:00
Jarek Kowalski
ff5abd5639 kopia-ui: don't package linux app yet, fix version numbering 2020-02-19 23:27:19 -08:00
Jarek Kowalski
98f1b26f39 kopia-ui: support for auto-update and publishing prerelease binaries from Travis to kopia/kopia-ui-release 2020-02-19 23:08:12 -08:00
Julio López
995b1cef40 Minor README edits (#250)
Co-authored-by: Niraj Tolia <ntolia@kasten.io>
2020-02-19 20:02:21 -08:00
Jarek Kowalski
11d6eb1c6c Added unit tests for HTML UI to make it a bit harder to regress.
Covered are:

- connect and create flow
- parameter pages for all providers
- connect using token
2020-02-19 18:22:45 -08:00
Jarek Kowalski
b9cfcfa166 Replace personal email with PMC mailing list address (#253) 2020-02-19 18:16:22 -08:00
Jarek Kowalski
8e812b76c0 blob: added retries to Filesystem provider, fixes #249 (#251)
Wrote a test first which failed 100% on Windows. After adding retries it passed 20 times in a row, execution time is ~10s.

Fixes #249
2020-02-19 13:17:47 -08:00
Niraj Tolia
7a8a660f1a Update CoC to reflect PMC mailing list 2020-02-18 20:59:50 -08:00
Niraj Tolia
dbfc4a2772 Add Asciicinema recording to the website 2020-02-18 19:50:35 -08:00
Jarek Kowalski
f8006f8ce0 cli: removed flags for configuring global policy on repository creation 2020-02-18 12:21:11 -08:00
Jarek Kowalski
c48f03fa78 readme: added build architecture doc
The slide was generated using Google Slides and the source is public at:

https://docs.google.com/presentation/d/1VhsANHnV5vs4vCmjVTFlMpDgDUBNtyU9Ex04EX0wNRI/edit?usp=sharing

If you need to modify it, please request permissions.
2020-02-18 12:18:33 -08:00
Jarek Kowalski
f9db94ca77 travis: disable windows signing by setting CSC_LINK and CSC_KEY_PASSWORD to empty, attempt 2 2020-02-18 06:50:35 -08:00
Jarek Kowalski
795b4f14e6 travis: disable windows signing by setting CSC_LINK and CSC_KEY_PASSWORD to empty 2020-02-17 23:29:45 -08:00
Jarek Kowalski
8208990321 travis: fix --skip-sign logic 2020-02-17 21:01:26 -08:00