kopia

command module
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

README

Kopia

Kopia Linux/macOS Build Status Slack GoDoc Coverage Status Go Report Card Contributor Covenant

n.

  1. copy, replica (Polish)
  2. lance, spear
  3. fast and secure backup tool

Kopia is a simple, cross-platform tool for managing encrypted backups in the cloud. It provides fast, incremental backups, secure, client-side end-to-end encryption, compression and data deduplication.

Unlike other cloud backup solutions, the user is in full control of the backup storage and responsible for purchasing one of the cloud storage products (such as Google Cloud Storage), which offer great durability and availability for the data.

Kopia in action

Using kopia command line tool:

asciicast

Kopia UI - experimental user interface

Kopia UI Tutorial

Getting Started

See Documentation for more information.

Building Kopia

See Build Infrastructure for more information on building Kopia and working with the source code.

Licensing

Kopia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Contribution Guidelines

Kopia is open source and contributions are welcome. For more information on how to contribute see the Contribution Guidelines.

Reporting Security Issues

If you find a security issue you'd like to disclose privately, please contact kopia-pmc@googlegroups.com or via direct message to maintainers on Slack.

Disclaimer

Kopia is a personal project and is not affiliated with, supported or endorsed by Google.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with symmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

FOSSA Status

Netlify Status

Documentation

Overview

Command-line tool for creating and accessing backups.

Usage:

$ kopia [<flags>] <subcommand> [<args> ...]

Use 'kopia help' to see more details.

Directories

Path Synopsis
Package cli implements command-line commands for the Kopia.
Package cli implements command-line commands for the Kopia.
examples
upload_download
Command repository_api demonstrates the use of Kopia's Repository API.
Command repository_api demonstrates the use of Kopia's Repository API.
fs
Package fs defines virtual filesystem abstractions.
Package fs defines virtual filesystem abstractions.
cachefs
Package cachefs implements a wrapper that caches filesystem actions.
Package cachefs implements a wrapper that caches filesystem actions.
ignorefs
Package ignorefs implements a wrapper that hides ignored files listed in '.kopiaignore' and in policies attached to directories.
Package ignorefs implements a wrapper that hides ignored files listed in '.kopiaignore' and in policies attached to directories.
localfs
Package localfs implements virtual filesystem abstraction for a local filesystem.
Package localfs implements virtual filesystem abstraction for a local filesystem.
loggingfs
Package loggingfs implements a wrapper that logs all filesystem actions.
Package loggingfs implements a wrapper that logs all filesystem actions.
internal
apiclient
Package apiclient implements a client for connecting to Kopia HTTP API server.
Package apiclient implements a client for connecting to Kopia HTTP API server.
blobtesting
Package blobtesting is used for testing BLOB storage implementations.
Package blobtesting is used for testing BLOB storage implementations.
buf
Package buf manages allocation of temporary short-term buffers.
Package buf manages allocation of temporary short-term buffers.
ctxutil
Package ctxutil implements utilities for manipulating context.
Package ctxutil implements utilities for manipulating context.
diff
Package diff implements helpers for comparing two filesystems.
Package diff implements helpers for comparing two filesystems.
editor
Package editor encapsulates working with external text editor.
Package editor encapsulates working with external text editor.
faketime
Package faketime fakes time for tests
Package faketime fakes time for tests
fshasher
Package fshasher computes a fingerprint for an FS tree for testing purposes
Package fshasher computes a fingerprint for an FS tree for testing purposes
fusemount
Package fusemount implements FUSE filesystem nodes for mounting contents of filesystem stored in repository.
Package fusemount implements FUSE filesystem nodes for mounting contents of filesystem stored in repository.
gather
Package gather implements data structures storing binary data organized in a series of byte slices of fixed size that only gathered together by the user.
Package gather implements data structures storing binary data organized in a series of byte slices of fixed size that only gathered together by the user.
hmac
Package hmac contains utilities for dealing with HMAC checksums.
Package hmac contains utilities for dealing with HMAC checksums.
ignore
Package ignore implements ignoring files based on 'gitignore' syntax.
Package ignore implements ignoring files based on 'gitignore' syntax.
iocopy
Package iocopy is a wrapper around io.Copy() that recycles shared buffers.
Package iocopy is a wrapper around io.Copy() that recycles shared buffers.
logfile
Package logfile manages log files.
Package logfile manages log files.
mockfs
Package mockfs implements in-memory filesystem for testing.
Package mockfs implements in-memory filesystem for testing.
ospath
Package ospath provides discovery of OS-dependent paths.
Package ospath provides discovery of OS-dependent paths.
parallelwork
Package parallelwork implements pallel work queue with fixed number of workers that concurrently process and add work items to the queue.
Package parallelwork implements pallel work queue with fixed number of workers that concurrently process and add work items to the queue.
remoterepoapi
Package remoterepoapi contains requests and responses for remote repository API.
Package remoterepoapi contains requests and responses for remote repository API.
repotesting
Package repotesting contains test utilities for working with repositories.
Package repotesting contains test utilities for working with repositories.
retry
Package retry implements exponential retry policy.
Package retry implements exponential retry policy.
scrubber
Package scrubber contains helpers that remove sensitive information from Go structs before it's presented to users.
Package scrubber contains helpers that remove sensitive information from Go structs before it's presented to users.
server
Package server implements Kopia API server handlers.
Package server implements Kopia API server handlers.
serverapi
Package serverapi contains GO types corresponding to Kopia server API.
Package serverapi contains GO types corresponding to Kopia server API.
stats
Package stats provides helpers for simple stats
Package stats provides helpers for simple stats
testlogging
Package testlogging implements logger that writes to testing.T log.
Package testlogging implements logger that writes to testing.T log.
testutil
Package testutil contains utilities used in tests.
Package testutil contains utilities used in tests.
throttle
Package throttle implements helpers for throttling uploads and downloads.
Package throttle implements helpers for throttling uploads and downloads.
units
Package units contains helpers to convert sizes to humand-readable strings.
Package units contains helpers to convert sizes to humand-readable strings.
webdavmount
Package webdavmount implements webdav filesystem for serving snapshots.
Package webdavmount implements webdav filesystem for serving snapshots.
Package repo implements content-addressable Repository on top of BLOB storage.
Package repo implements content-addressable Repository on top of BLOB storage.
blob
Package blob implements simple storage of immutable, unstructured binary large objects (BLOBs).
Package blob implements simple storage of immutable, unstructured binary large objects (BLOBs).
blob/azure
Package azure implements Azure Blob Storage.
Package azure implements Azure Blob Storage.
blob/b2
Package b2 implements Storage based on an Backblaze B2 bucket.
Package b2 implements Storage based on an Backblaze B2 bucket.
blob/filesystem
Package filesystem implements filesystem-based Storage.
Package filesystem implements filesystem-based Storage.
blob/gcs
Package gcs implements Storage based on Google Cloud Storage bucket.
Package gcs implements Storage based on Google Cloud Storage bucket.
blob/logging
Package logging implements wrapper around Storage that logs all activity.
Package logging implements wrapper around Storage that logs all activity.
blob/providers
Package providers registers all storage providers that are included as part of Kopia.
Package providers registers all storage providers that are included as part of Kopia.
blob/s3
Package s3 implements Storage based on an S3 bucket.
Package s3 implements Storage based on an S3 bucket.
blob/sftp
Package sftp implements blob storage provided for SFTP/SSH.
Package sftp implements blob storage provided for SFTP/SSH.
blob/sharded
Package sharded implements common support for sharded blob providers, such as filesystem or webdav.
Package sharded implements common support for sharded blob providers, such as filesystem or webdav.
blob/webdav
Package webdav implements WebDAV-based Storage.
Package webdav implements WebDAV-based Storage.
compression
Package compression manages compression algorithm implementations.
Package compression manages compression algorithm implementations.
content
Package content implements repository support for content-addressable storage.
Package content implements repository support for content-addressable storage.
encryption
Package encryption manages content encryption algorithms.
Package encryption manages content encryption algorithms.
hashing
Package hashing encapsulates all keyed hashing algorithms.
Package hashing encapsulates all keyed hashing algorithms.
logging
Package logging provides loggers for Kopia.
Package logging provides loggers for Kopia.
maintenance
Package maintenance manages automatic repository maintenance.
Package maintenance manages automatic repository maintenance.
manifest
Package manifest implements support for managing JSON-based manifests in repository.
Package manifest implements support for managing JSON-based manifests in repository.
object
Package object implements repository support for content-addressable objects of arbitrary size.
Package object implements repository support for content-addressable objects of arbitrary size.
splitter
Package splitter manages splitting of object data into chunks.
Package splitter manages splitting of object data into chunks.
site
Package snapshot manages metadata about snapshots stored in repository.
Package snapshot manages metadata about snapshots stored in repository.
policy
Package policy implements management of snapshot policies.
Package policy implements management of snapshot policies.
restore
Package restore manages restoring filesystem snapshots.
Package restore manages restoring filesystem snapshots.
snapshotfs
Package snapshotfs implements virtual filesystem on top of snapshots in repo.Repository.
Package snapshotfs implements virtual filesystem on top of snapshots in repo.Repository.
snapshotgc
Package snapshotgc implements garbage collection of contents that are no longer referenced through snapshots.
Package snapshotgc implements garbage collection of contents that are no longer referenced through snapshots.
snapshotmaintenance
Package snapshotmaintenance provides helpers to run snapshot GC and low-level repository snapshotmaintenance.
Package snapshotmaintenance provides helpers to run snapshot GC and low-level repository snapshotmaintenance.
tests
robustness/checker
Package checker defines the framework for creating and restoring snapshots with a data integrity check Package checker defines the framework for creating and restoring snapshots with a data integrity check
Package checker defines the framework for creating and restoring snapshots with a data integrity check Package checker defines the framework for creating and restoring snapshots with a data integrity check
robustness/snap
Package snap describes entities that are capable of performing common snapshot operations
Package snap describes entities that are capable of performing common snapshot operations
robustness/snapmeta
Package snapmeta describes entities that can accept arbitrary metadata and flush it to a persistent repository.
Package snapmeta describes entities that can accept arbitrary metadata and flush it to a persistent repository.
robustness/test_engine
Package engine provides the framework for a snapshot repository testing engine
Package engine provides the framework for a snapshot repository testing engine
testenv
Package testenv contains Environment for use in testing.
Package testenv contains Environment for use in testing.
tools/fio
Package fio wraps calls to the fio tool.
Package fio wraps calls to the fio tool.
tools/fswalker
Package fswalker provides the checker.Comparer interface using FSWalker walker and reporter.
Package fswalker provides the checker.Comparer interface using FSWalker walker and reporter.
tools/fswalker/protofile
Package protofile contains helper functions common across multiple fswalker tool wrappers
Package protofile contains helper functions common across multiple fswalker tool wrappers
tools/fswalker/reporter
Package reporter wraps calls to the the fswalker Reporter
Package reporter wraps calls to the the fswalker Reporter
tools/fswalker/walker
Package walker wraps calls to the the fswalker Walker
Package walker wraps calls to the the fswalker Walker
tools/kopiarunner
Package kopiarunner wraps the execution of the kopia binary.
Package kopiarunner wraps the execution of the kopia binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL