You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-14Lines changed: 7 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,26 +1,19 @@
1
1
# ArtiVC
2
2
3
-
[ArtiVC](https://artivc.io/) (**Arti**facts **V**ersion **C**ontrol) is a version control system for large files.
4
-
5
-
To store and share large files, we may use NFS or object storage (e.g. s3, MinIO). However, if we would like to do versioning on top of them, it is not a trivial thing. ArtiVC is a CLI tool to enable you to version files on your storage without pain. You don't need to install any additional server or gateway and we turn your storage into the versioned repository.
3
+
[ArtiVC](https://artivc.io/) (**Arti**facts **V**ersion **C**ontrol) is a handy command-line tool for data versioning on cloud storage. With only one command, it helps you neatly snapshot your data and Switch data between versions. Even better, it seamlessly integrates your existing cloud environment. ArtiVC supports three major cloud providers (AWS S3, Google Cloud Storage, Azure Blob Storage) and the remote filesystem using SSH.
Try it out from the [Getting Started](https://artivc.io/usage/getting-started/) guide
10
8
11
9
# Features
12
10
13
-
-**Use your own storage**: If you store data in NFS or S3, just use the storage you already use.
14
-
-**No additional server required**: ArtiVC is a CLI tool. No server or gateway is required to install or operate.
15
-
-**Multiple backend support**: Currently, we support local, NFS (by local repo), and s3. And more in the future
16
-
17
-
-**Reproducible**: A commit is stored in a single file and cannot be changed. There is no way to add/remove/modify a single file in a commit.
18
-
-**Expose your data publicly**: Expose your repository with a public HTTP endpoint, then you can download your data in this way
19
-
```
20
-
avc get -o /tmp/dataset https://mybucket.s3.ap-northeast-1.amazonaws.com/path/to/my/data@v0.1.0
21
-
```
22
-
-**Smart storage and transfer**: For the same content of files, there is only one instance stored in the artifact repository. If a file has been uploaded by other commits, no upload is required because we know the file is already there in the repository. Under the hood, we use [content-addressable storage](https://en.wikipedia.org/wiki/Content-addressable_storage) to put the objects.
23
-
11
+
-**Data Versioning**: Version your data like versioning code. ArtiVC supports commit history, commit message, and version tag. You can diff two commits, and pull data from the specific version.
12
+
-**Use your own storage**: We are used to putting large files in NFS or S3. To use ArtiVC, you can keep putting your files on the same storage without changes.
13
+
-**No additional server is required**: ArtiVC is a CLI tool. No server or gateway is required to install and operate.
14
+
-**Multiple backends support**: ArtiVC natively supports local filesystem, remote filesystem (by SSH), AWS S3, Google Cloud Storage, and Azure Blob Storage as backend. And 40+ backends are supported through [Rclone](https://artivc.io/backends/rclone/) integration. [Learn more](https://artivc.io/backends/)
15
+
-**Painless Configuration**: No one like to configure. So we leverage the original configuration as much as possible. Use `.ssh/config` for ssh access, and use `aws configure`, `gcloud auth application-default login`, `az login` for the cloud platforms.
16
+
-**Efficient storage and transfer**: The file structure of the repository is stored and transferred efficiently by [design](https://artivc.io/design/how-it-works/). It prevents storing duplicated content and minimum the number of files to upload when pushing a new version. [Learn more](https://artivc.io/design/benchmark/)
Copy file name to clipboardExpand all lines: docs/content/en/_index.md
+9-11Lines changed: 9 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,10 @@ geekdocAnchor: false
7
7
---
8
8
9
9
{{< columns >}}
10
-
### ArtiVC (Artifact Version Control) is a version control system for large files.
11
10
12
-
13
-
**rsync** is an ssh-based tool that provides fast incremental file transfer.<br>
14
-
**Rclone** is a rsync-like tool for cloud storage.<br>
15
-
**ArtiVC** is like Git for files versioning and like Rclone for cloud storage.
11
+
<pstyle="text-align: left">
12
+
<b>ArtiVC (Artifact Version Control) is a handy command-line tool for data versioning on cloud storage.</b> With only one command, it helps you neatly snapshot your data and Switch data between versions. Even better, it seamlessly integrates your existing cloud environment. ArtiVC supports three major cloud providers (AWS S3, Google Cloud Storage, Azure Blob Storage) and the remote filesystem using SSH.
Version your data like versioning code. ArtiVC supports commmit history, commit message, version tag. You can diff two commits, pull data from speciifc version.
26
+
Version your data like versioning code. ArtiVC supports commit history, commit message, and version tag. You can diff two commits, and pull data from the specific version.
29
27
30
28
<--->
31
29
32
30
### Use your own storage
33
31
34
-
We are used to putting large files in NFS or S3. To use ArtiVC, you can keep put your files on the same storage without changes.
32
+
We are used to putting large files in NFS or S3. To use ArtiVC, you can keep putting your files on the same storage without changes.
35
33
36
34
<--->
37
35
38
-
### No additional server required
36
+
### No additional server is required
39
37
40
38
ArtiVC is a CLI tool. No server or gateway is required to install and operate.
41
39
@@ -45,19 +43,19 @@ ArtiVC is a CLI tool. No server or gateway is required to install and operate.
45
43
46
44
### Multiple backends support
47
45
48
-
ArtiVC natively supports local filesystem, remote filesystem (by SSH), AWS S3, Google Cloud Storage, Azure Blob Storage as backend. And 40+ backends are supported through [Rclone](backends/rclone/) integration. [Learn more](backends/)
46
+
ArtiVC natively supports local filesystem, remote filesystem (by SSH), AWS S3, Google Cloud Storage, and Azure Blob Storage as backend. And 40+ backends are supported through [Rclone](backends/rclone/) integration. [Learn more](backends/)
49
47
50
48
<--->
51
49
52
50
### Painless Configuration
53
51
54
-
No one like to configure. So we leverage the original configuraion as much as possible. Use `.ssh/config` for ssh access, and use `aws configure`, `gcloud auth application-default login`, `az login` for the cloud platforms.
52
+
No one like to configure. So we leverage the original configuration as much as possible. Use `.ssh/config` for ssh access, and use `aws configure`, `gcloud auth application-default login`, `az login` for the cloud platforms.
55
53
56
54
<--->
57
55
58
56
### Efficient storage and transfer
59
57
60
-
The file structure of repository is storage and transfer effiecntly by [design](design/how-it-works/). It prevents from storing duplicated content and minimum the number of files to upload when pushing a new version. [Learn more](design/benchmark/)
58
+
The file structure of the repository is stored and transferred efficiently by [design](design/how-it-works/). It prevents storing duplicated content and minimum the number of files to upload when pushing a new version. [Learn more](design/benchmark/)
Copy file name to clipboardExpand all lines: docs/content/en/backends/azureblob.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,8 @@ title: Azure Blob Storage
3
3
weight: 13
4
4
---
5
5
6
+
{{< toc >}}
7
+
6
8
Use [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/) as the repository backend.
7
9
8
10
## Configuration
@@ -22,6 +24,8 @@ The logged-in account requires **Storage Blob Data Contributor** role to the sto
22
24
For more information, please see https://docs.microsoft.com/azure/storage/blobs/assign-azure-role-data-access
23
25
{{< /hint >}}
24
26
27
+
The azure blob storage backend authenticates by a default procedure defined by [Azure SDK for Go](https://docs.microsoft.com/azure/developer/go/azure-sdk-authentication)
28
+
25
29
### Use Azure CLI to login
26
30
27
31
This backend supports to use [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli) to configure the login account. It will open the browser and start the login process.
Copy file name to clipboardExpand all lines: docs/content/en/backends/gcs.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,8 @@ title: Google Cloud Storage
3
3
weight: 12
4
4
---
5
5
6
+
{{< toc >}}
7
+
6
8
Use [Google Cloud Storage (GCS)](https://cloud.google.com/storage) as the repository backend.
7
9
8
10
Note that Google Cloud Storage is not [Google Drive](https://www.google.com.tw/drive/). They are different google product.
@@ -30,7 +32,7 @@ Before using the backend, you have to configure the service account credential.
30
32
1. Use the service account in the GCP resources (e.g. GCE, GKE). It is recommended way if the `ArtiVC` is run in the GCP environment. Please see [default service accounts](https://cloud.google.com/iam/docs/service-accounts#default) document
31
33
32
34
33
-
35
+
The GCS backend finds credentials by a default procedure defined by [Google Cloud](https://cloud.google.com/docs/authentication/production)
34
36
35
37
36
38
@@ -46,3 +48,10 @@ Clone a repository
46
48
avc clone gs://mybucket/path/to/mydataset
47
49
cd mydataset/
48
50
```
51
+
52
+
53
+
## Environment Variables
54
+
55
+
| Name | Description | Default value |
56
+
| --- | --- | --- |
57
+
|`GOOGLE_APPLICATION_CREDENTIALS`| The location of service account keys in JSON ||
Copy file name to clipboardExpand all lines: docs/content/en/backends/s3.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,8 @@ title: AWS S3
3
3
weight: 11
4
4
---
5
5
6
+
{{< toc >}}
7
+
6
8
Use the S3 as the repository backend.
7
9
8
10
## Features
@@ -12,7 +14,17 @@ Use the S3 as the repository backend.
12
14
13
15
## Configuration
14
16
15
-
Prepare the `~/.aws/credentials` to access the s3 backend. Please see the [AWS documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
17
+
1. Install the [AWS CLI](https://aws.amazon.com/cli/)
18
+
2. Configure the AWS CLI. Please see the [AWS documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
19
+
```
20
+
aws configure
21
+
```
22
+
3. Check current config
23
+
```
24
+
aws configure list
25
+
```
26
+
27
+
The S3 backend loads configuration by a default procedure of [AWS SDK for Go](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)
16
28
17
29
## Usage
18
30
@@ -26,3 +38,12 @@ Clone a repository
26
38
avc clone s3://mybucket/path/to/mydataset
27
39
cd mydataset/
28
40
```
41
+
42
+
## Environment Variables
43
+
44
+
| Name | Description | Default value |
45
+
| --- | --- | --- |
46
+
|`AWS_ACCESS_KEY_ID`| The access key ||
47
+
|`AWS_SECRET_ACCESS_KEY`| The access secret key ||
48
+
|`AWS_PROFILE`| The profile to use in the credential file |`default`|
49
+
|`AWS_REGION`| The region to use | the region from profile |
Pushing and pulling data is time-consuming. And need to be double-checked before transferring. Dry-run is the feature that allows listing the changeset before sending.
0 commit comments