Commit Graph

2106 Commits

Author SHA1 Message Date
dependabot[bot]
272018dfd6 build(deps-dev): bump concurrently from 6.5.0 to 6.5.1 in /app (#1638)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 6.5.0 to 6.5.1.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v6.5.0...v6.5.1)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-01 17:01:38 -08:00
dependabot[bot]
c00fa1f90a build(deps-dev): bump electron-builder from 22.14.6 to 22.14.11 in /app (#1640)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) from 22.14.6 to 22.14.11.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v22.14.11/packages/electron-builder)

---
updated-dependencies:
- dependency-name: electron-builder
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-01 15:06:45 -08:00
Jarek Kowalski
c66b1c3e76 server: moved serving of static files to internal/server package (#1637) 2022-01-01 13:07:47 -08:00
Jarek Kowalski
4227de1a4b nit: fixed benign test data race (#1635)
* nit: fixed benign test data race

* run race detector tests in sequence
2021-12-30 18:20:28 -08:00
Jarek Kowalski
a223fb8bdc ci: do not upload armv7 deb packages (kopia-ui) into the apt repository bucket 2021-12-29 10:43:51 -08:00
Jarek Kowalski
014953847a logging: log maximum concurrency level when talking to backend storage (#1629) 2021-12-29 07:28:25 -08:00
Jarek Kowalski
13ed6bb81c app: fix macOS autoupdate regression (#1631)
Fixes #1630
2021-12-28 21:27:11 -08:00
Janne Johansson
024df695f7 small error on domain name example at the end. (#1627) 2021-12-28 08:11:59 -08:00
Jarek Kowalski
fb7d66ceaf ui: cleaned up task details page (#1623) v0.9.8 2021-12-25 16:37:15 -08:00
Jarek Kowalski
f56ad31d41 ui: apply dark mode default and persist user choice (#1621) 2021-12-23 12:09:55 -08:00
Jarek Kowalski
76fcf5ac66 ui: added preliminary dark mode support (the choice is not persistent yet) (#1619) 2021-12-22 23:40:44 -08:00
Julio Lopez
e4c7fc7b52 s3/test: cleanup blob versions (#1618)
additional nit: use testing context for cleanup task
2021-12-22 22:30:17 -08:00
Jarek Kowalski
d9afb15e4d maintenance: moved costly epoch manager cleanup to maintenance (#1616) 2021-12-22 21:34:26 -08:00
Julio Lopez
01d7d109cb s3/test: fix minio bucket creation in tests (#1617) 2021-12-22 20:40:56 -08:00
Julio Lopez
294f053a3e s3/test: refactor retention tests (#1615)
Coalesce retention period tests. This has the following effects:
- serializes the tests
- reuses the bucket and reduces bucket creation calls

Also:
- check whether bucket exists before attempting to create it
- nit: rename test for clarity and rename non-AWS specific tests
- nit: cleanup test logging and contexts
2021-12-22 18:05:26 -08:00
Julio Lopez
5bf8e7c570 Allow building without UI (#1614) 2021-12-21 20:19:27 -08:00
dependabot[bot]
c641559284 build(deps): bump google.golang.org/api from 0.60.0 to 0.63.0 (#1607)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.60.0 to 0.63.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.60.0...v0.63.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 17:44:45 -08:00
dependabot[bot]
e3d1e1e2e5 build(deps): bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#1608)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.42.0 to 1.43.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.42.0...v1.43.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 16:11:26 -08:00
dependabot[bot]
ec094406e8 build(deps): bump github.com/minio/minio-go/v7 from 7.0.16 to 7.0.18 (#1605)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.16 to 7.0.18.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](https://github.com/minio/minio-go/compare/v7.0.16...v7.0.18)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 16:11:09 -08:00
dependabot[bot]
30fb3456ed build(deps): bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.2.0 (#1609)
Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 16:10:46 -08:00
dependabot[bot]
ae0db2003d build(deps): bump github.com/aws/aws-sdk-go from 1.42.16 to 1.42.23 (#1606)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.16 to 1.42.23.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.16...v1.42.23)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 16:10:32 -08:00
dependabot[bot]
e9cc403f01 build(deps-dev): bump electron from 16.0.3 to 16.0.5 in /app (#1602)
Bumps [electron](https://github.com/electron/electron) from 16.0.3 to 16.0.5.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v16.0.3...v16.0.5)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 16:09:47 -08:00
Jarek Kowalski
cf64c48a24 upgrade htmlui (#1610) 2021-12-18 14:49:31 -08:00
dependabot[bot]
401c476043 build(deps): bump electron-log from 4.4.1 to 4.4.3 in /app (#1604)
Bumps [electron-log](https://github.com/megahertz/electron-log) from 4.4.1 to 4.4.3.
- [Release notes](https://github.com/megahertz/electron-log/releases)
- [Changelog](https://github.com/megahertz/electron-log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/megahertz/electron-log/compare/v4.4.1...v4.4.3)

---
updated-dependencies:
- dependency-name: electron-log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 14:48:58 -08:00
dependabot[bot]
372965bdfe build(deps-dev): bump react-scripts from 4.0.3 to 5.0.0 in /app (#1603)
Bumps [react-scripts](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-scripts) from 4.0.3 to 5.0.0.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-scripts@5.0.0/packages/react-scripts)

---
updated-dependencies:
- dependency-name: react-scripts
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 14:36:48 -08:00
Jarek Kowalski
7401684e71 blob: replaced blob.Storage.SetTime() method with blob.PutOptions.SetTime (#1595)
* sharded: plumbed through blob.PutOptions

* blob: removed blob.Storage.SetTime() method

This was only used for `kopia repo sync-to` and got replaced with
an equivalent blob.PutOptions.SetTime, which wehn set to non-zero time
will attempt to set the modification time on a file.

Since some providers don't support changing modification time, we
are able to emulate it using per-blob metadata (on B2, Azure and GCS),
sadly S3 is still unsupported, because it does not support returning
metadata in list results.

Also added PutOptions.GetTime, which when set to not nil, will
populate the provided variable with actual time that got assigned
to the blob.

Added tests that verify that each provider supports GetTime
and SetTime according to this spec.

* blob: additional test coverage for filesystem storage

* blob: added PutBlobAndGetMetadata() helper and used where appropriate

* fixed test failures

* pr feedback

* Update repo/blob/azure/azure_storage.go

Co-authored-by: Shikhar Mall <mall.shikhar.in@gmail.com>

* Update repo/blob/filesystem/filesystem_storage.go

Co-authored-by: Shikhar Mall <mall.shikhar.in@gmail.com>

* Update repo/blob/filesystem/filesystem_storage.go

Co-authored-by: Shikhar Mall <mall.shikhar.in@gmail.com>

* blobtesting: fixed object_locking_map.go

* blobtesting: removed SetTime from ObjectLockingMap

Co-authored-by: Shikhar Mall <mall.shikhar.in@gmail.com>
2021-12-18 14:00:20 -08:00
dependabot[bot]
598d69b76a build(deps-dev): bump concurrently from 6.4.0 to 6.5.0 in /app (#1601)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v6.4.0...v6.5.0)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 12:44:42 -08:00
Jarek Kowalski
daacc6a8f4 htmlui: moved HTML UI to separate repository (#1600)
The source code for htmlui is now in github.com/kopia/htmlui
GitHub Actions will drop compiled builds in github.com/kopia/htmluibuild
where they are now used as a go module dependency.

This greatly simplifies the build and improves the security,
because Kopia will be consuming pre-built htmlui.

This also means kopia can now installed with embedded UI using:
`go install github.com/kopia/kopia@latest`
2021-12-18 12:28:30 -08:00
strager
4dd28a3346 Fix typo in policy help documentation (#1597)
The field is called ignoreDotFiles in JSON, but the documentation says
dotIgnoreFiles. Fix the docs to refer to the correct field name.
2021-12-18 11:17:27 -08:00
Shikhar Mall
3f4dab2202 versioned map mock storage for blob-retention unit-testing (#1590)
* versioned map mock storage

* Update internal/blobtesting/versionedmap.go

Co-authored-by: Julio Lopez <julio+gh@kasten.io>

* versionedMapStorage -> objectLockingMap

* move out write checks in a dedicated method

Co-authored-by: Shikhar Mall <shikhar@kasten.io>
Co-authored-by: Julio Lopez <julio+gh@kasten.io>
2021-12-17 13:26:34 -08:00
Julio Lopez
b32f2443d4 test: run provider tests on push to test/providers branch (#1594) 2021-12-16 19:45:53 -08:00
Jarek Kowalski
6d38db0623 b2: fixed regression when uploading zero-length blobs introduced by #1589 (#1593)
Turns out B2 library will treat seekable readers in a special way
and will pass those directly to http.NewRequest() for upload. Other
readers are copied to a temporary buffer first.

The #1589 made the reader io.ReadSeeker so it was passed to http.NewRequest(),
which for payloads of length zero uses heuristics to determine if the
Content-Length should be passed as zero or not passed at all.

https://cs.opensource.google/go/go/+/refs/tags/go1.17.5:src/net/http/request.go;l=890;drc=e6dda19888180c5159460486d30c0412e4980748

Since reader was not one of the magic types, Content-Length was not
passed at all, causing B2 server to choke on zero-length files.
2021-12-16 15:20:07 -08:00
Jarek Kowalski
3d907481e1 azure: migrated provider to newer client library, remove gocloud.dev dependency (#1589)
* gather: expose io.ReadSeekCloser instead of just io.Reader

* azure: migrated provider to newer client library

* license: added exception for github.com/Azure/azure-sdk-for-go/sdk/internal/...
2021-12-15 19:58:59 -08:00
Jarek Kowalski
331c7f6298 epoch: changed how very slow index writes are handled (#1587)
Previously epoch manager would discard (on read) any index blobs
associated with epoch N written after epoch N+2 has already started.

There was no signal to the writer that the write is actually bad. This
change reports slow writes as a failure and disables read-time filtering.

This is important for repositories copied using sync-to because it
may not necessarily preserve the modification time leading to problems
with restore.
2021-12-15 07:06:28 -08:00
Jarek Kowalski
b81362d72c testing: do not run randomized tests in code coverage mode (#1585) 2021-12-13 22:07:50 -08:00
Jarek Kowalski
c7e9c92c74 content: additional data & metadata cache test cases (#1584)
* content: added tests for contentCacheForMetadata

* content: added tests for contentCacheForData
2021-12-13 17:48:46 -08:00
Jarek Kowalski
980b0f382b content: additional tests form encryptedBlobMgr (#1583)
* content: additional tests form encryptedBlobMgr

* content: tests for content.Crypter
2021-12-13 17:02:22 -08:00
Jarek Kowalski
7afb1d05b9 cache: improved test coverage (#1582) 2021-12-13 14:25:10 -08:00
Jarek Kowalski
3a0e6c758e scrubber: added unit tests (#1581)
For #1559
2021-12-13 13:33:15 -08:00
Jarek Kowalski
005d389b37 content: added direct code coverage for mergedIndex (#1580) 2021-12-13 12:21:41 -08:00
Jarek Kowalski
081c252e18 blobtesting: refactored fault injection into fluent API (#1578) 2021-12-13 11:11:43 -08:00
daniel-eys
fad50dbe0e localfs: adjust build flags to support more archs (#1183) 2021-12-12 09:46:17 -08:00
Jarek Kowalski
bbbef44d8a More coverage improvements (#1577)
* increased direct coverage for internal/cache

* object: code coverage improvements for object writer
2021-12-11 23:27:42 -08:00
Jarek Kowalski
f07f590d1b test coverage improvements for filesystem provider (#1576)
* blob: speed up filesystem storage test

* blob: introduced osInterface to allow unit testing of filesystem calls

* testing: added a bunch of unit tests for corner cases in filesystem storage

Fixed a few cases where we were missing the retry loop.
2021-12-11 21:55:59 -08:00
Jarek Kowalski
e870fcc4aa cli: reduce number of index blob writes in 'snapshot create --all' (#1574) 2021-12-11 10:08:34 -08:00
Jarek Kowalski
727e1c57bb repo: removed old, unused field used in the past for non-encrypted repositories (#1573) 2021-12-10 12:28:50 -08:00
Julio Lopez
bd731ee467 blob/s3: unconditionally compute and send the MD5 header (#1569) 2021-12-06 18:55:02 -08:00
Jarek Kowalski
23ec78d752 ui: add CLI equivalent button to most pages (#1568)
Fixes #1419
v0.9.7
2021-12-05 22:17:11 -08:00
Jarek Kowalski
7673753050 Merge retention tags in snapshot lists (#1567)
* cli: refactored snapshot list

* cli: show range tags in snapshot list

For example if N snapshots are coalesced together because they
have identical roots we may emit now:

```
  2021-03-31 23:09:27 PDT ked3400debc7dd61baffab070bafd59cd (monthly-10)
  2021-04-30 06:12:53 PDT kd0576d212e55a831b7ff1636f90a7233 (monthly-4..9)
  + 5 identical snapshots until 2021-09-30 23:00:19 PDT
  2021-10-31 23:22:25 PDT k846bf22aa2863d27f05e820f840b14f8 (monthly-3)
  2021-11-08 21:29:31 PST k5793ddcd61ef27b93c75ab74a5828176 (latest-1..3,hourly-1..13,daily-1..7,weekly-1..4,monthly-1..2,annual-1)
  + 18 identical snapshots until 2021-12-04 10:09:54 PST
```

* server: server-side coalescing of snapshot

* ui: added coalescing of retention tags
2021-12-05 20:49:41 -08:00
Jarek Kowalski
7a7de5c3f4 ui: added editor for snapshot times of day (#1566) 2021-12-05 12:45:05 -08:00