Skip to content

Commit ee995e2

Browse files
committed
update readme
1 parent e5769ea commit ee995e2

1 file changed

Lines changed: 75 additions & 11 deletions

File tree

README.md

Lines changed: 75 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,36 @@
1+
[![Release](https://img.shields.io/github/release/nuvo/skbn.svg)](https://github.com/nuvo/skbn/releases)
2+
[![Travis branch](https://img.shields.io/travis/nuvo/skbn/master.svg)](https://travis-ci.org/nuvo/skbn)
3+
[![Docker Pulls](https://img.shields.io/docker/pulls/nuvo/skbn.svg)](https://hub.docker.com/r/nuvo/skbn/)
4+
[![Go Report Card](https://goreportcard.com/badge/github.com/nuvo/skbn)](https://goreportcard.com/report/github.com/nuvo/skbn)
5+
[![license](https://img.shields.io/github/license/nuvo/skbn.svg)](https://github.com/nuvo/skbn/blob/master/LICENSE)
6+
17
# Skbn
28

39
Skbn is a tool for copying files and directories between Kubernetes and cloud storage providers. It is named after the 1981 video game [Sokoban](https://en.wikipedia.org/wiki/Sokoban).
410
Skbn currently supports the following providers:
511

612
* AWS S3
13+
* Azure Blob Storage
714

815
## Install
916

10-
```
11-
wget -qO- https://github.com/nuvo/skbn/releases/download/0.1.1/skbn.tar.gz | sudo tar xvz -C /usr/local/bin
12-
```
17+
### Prerequisites
1318

14-
## Build from source
19+
1. git
20+
2. [dep](https://github.com/golang/dep)
1521

16-
Skbn uses [glide](https://github.com/Masterminds/glide) as a dependency management tool, since some of the referenced packages are not available using [dep](https://github.com/golang/dep).
22+
### From a release
23+
24+
Download the latest release from the [Releases page](https://github.com/nuvo/skbn/releases) or use it with a [Docker image](https://hub.docker.com/r/nuvo/skbn)
25+
26+
### From source
1727

1828
```
19-
glide up
20-
go build -o skbn cmd/skbn.go
29+
mkdir -p $GOPATH/src/github.com/nuvo && cd $_
30+
git clone https://github.com/nuvo/skbn.git && cd skbn
31+
make
2132
```
2233

23-
2434
## Usage
2535

2636
### Copy files from Kubernetes to S3
@@ -55,6 +65,60 @@ skbn cp \
5565
--dst k8s://<namespace>/<podName>/<containerName>/<path>
5666
```
5767

68+
## Parallel execution
69+
70+
### Copy files from source to destination in parallel
71+
72+
```
73+
skbn cp \
74+
--src ... \
75+
--dst ... \
76+
--parallel <n>
77+
```
78+
* n is number of files to be copied in parallel (for full parallelism use 0)
79+
80+
## Added bonus section
81+
82+
### Copy files from S3 to Azure Blob Storage
83+
84+
```
85+
skbn cp \
86+
--src s3://<bucket>/<path> \
87+
--dst abs://<account>/<container>/<path>
88+
```
89+
90+
### Copy files from Azure Blob Storage to S3
91+
92+
```
93+
skbn cp \
94+
--src abs://<account>/<container>/<path> \
95+
--dst s3://<bucket>/<path>
96+
```
97+
98+
### Copy files from Kubernetes to Kubernetes
99+
100+
```
101+
skbn cp \
102+
--src k8s://<namespace>/<podName>/<containerName>/<path> \
103+
--dst k8s://<namespace>/<podName>/<containerName>/<path>
104+
```
105+
106+
### Copy files from S3 to S3
107+
108+
```
109+
skbn cp \
110+
--src s3://<bucket>/<path> \
111+
--dst s3://<bucket>/<path>
112+
```
113+
114+
### Copy files from Azure Blob Storage to Azure Blob Storage
115+
116+
```
117+
skbn cp \
118+
--src abs://<account>/<container>/<path> \
119+
--dst abs://<account>/<container>/<path>
120+
```
121+
58122
## Credentials
59123

60124

@@ -72,9 +136,9 @@ Skbn uses the default AWS [credentials chain](https://docs.aws.amazon.com/sdk-fo
72136

73137
### Azure Blob Storage
74138

75-
Skbn uses `AZURE_STORAGE_ACCOUNT` and `AZURE_STORAGE_ACCESS_KEY ` environment variables.
139+
Skbn uses `AZURE_STORAGE_ACCOUNT` and `AZURE_STORAGE_ACCESS_KEY` environment variables for authenication.
76140

77141
## Examples
78142

79-
1. [In-cluster example](https://github.com/nuvo/skbn/tree/master/examples/in-cluster)
80-
2. [Code example](https://github.com/nuvo/skbn/tree/master/examples/code)
143+
1. [In-cluster example](/examples/in-cluster)
144+
2. [Code example](/examples/code)

0 commit comments

Comments
 (0)