kopia

command module
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 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
blobtesting
Package blobtesting is used for testing BLOB storage implementations.
Package blobtesting is used for testing BLOB storage implementations.
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.
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.
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.
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.
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.
testlogging
Package testlogging implements logger that writes to testing.T log.
Package testlogging implements logger that writes to testing.T log.
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/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.
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.
gc
Package gc implements garbage collection of contents that are no longer referenced through snapshots.
Package gc implements garbage collection of contents that are no longer referenced through snapshots.
policy
Package policy implements management of snapshot policies.
Package policy implements management of snapshot policies.
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.
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
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

Jump to

Keyboard shortcuts

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