Skip to content
Permalink
Browse files

Adding CREDITS file and finishing up on README

  • Loading branch information...
zee-ahmed committed Jun 28, 2019
1 parent 5895872 commit f0af01fa3e248e77db7f2387081993e5afeb8237
Showing with 48 additions and 3 deletions.
  1. +4 −0 CREDITS.md
  2. +42 −1 README.md
  3. +1 −1 kube-rclone/templates/daemonset.yaml
  4. +1 −1 kube-rclone/values.yaml
@@ -0,0 +1,4 @@
## CREDITS

- [chaosaffe](https://github.com/chaosaffe) - Docker image for rclone and insight into his own set-up with rclone in a Kubernetes cluster
- [munnerz](https://github.com/munnerz) - Software discussions about approaches that could be taken as the project builds.
@@ -4,4 +4,45 @@

kube-rclone is a rclone mount solution for Kubernetes. It allows you to sync files and directories to and from different cloud storage providers i.e Google Drive. It creates a Daemonset across the Kubernetes cluster which mounts a volume on the `hostPath` that can be used with other services such as [kube-plex](https://github.com/munnerz/kube-plex)

Coming soon...
## Prerequisites
* rclone config that has the cloud storage drive defined

This can be created by running `rclone config` which will take you through an interactive configuration session to generate the `rclone.conf` file.

## Setup
The setup guide will help you get rclone running as a Daemonset on Kubernetes.

1. Add the contents of the `rclone.conf` file into `files/rclone.conf`
2. Deploy the kube-rclone chart with the correct remote and path defined from the `rclone.conf` file

```bash
> helm install ./kube-rclone --name rclone \
--namespace rclone \
--set rclone.remote=[insert remote to mount here] \
--set rclone.path=[insert mount path for remote] \
--set rclone.readOnly=true
```

This will deploy a Daemonset across the Kubernetes cluster that will run rclone with the mounted remote i.e Google Drive on the `hostPath` of the node which can be used with other services.

Additional arguments can be set to customise `rclone mount` depending on the Kubernetes node resources. Some additional arguments have been commented out which are based on several user set-ups. They can be used based on user preference. Mount options can be found [here](https://rclone.org/commands/rclone_mount/#options)

Example of pod logs:
```bash
2019/06/28 22:15:58 INFO : gcache: Cache DB path: /home/rclone/rclone-cache/cache.db
2019/06/28 22:15:58 INFO : gcache: Cache chunk path: /home/rclone/rclone-cache/cache
2019/06/28 22:15:58 INFO : gcache: Chunk Memory: true
2019/06/28 22:15:58 INFO : gcache: Chunk Size: 16M
2019/06/28 22:15:58 INFO : gcache: Chunk Total Size: 20G
2019/06/28 22:15:58 INFO : gcache: Chunk Clean Interval: 1m0s
2019/06/28 22:15:58 INFO : gcache: Workers: 4
2019/06/28 22:15:58 INFO : gcache: File Age: 2d
```

## Constraints

It has only been tested with [kube-plex](https://github.com/munnerz/kube-plex) so far. There's still more work to be done to make it stable for other services e.g [Radarr](https://github.com/Radarr/Radarr) and [Sonarr](https://github.com/Sonarr/Sonarr/).

## Credits

Full credit list at: [https://github.com/zee-ahmed/kube-rclone/CREDITS.md](https://github.com/zee-ahmed/kube-rclone/CREDITS.md)
@@ -45,7 +45,7 @@ spec:
- --config=/etc/rclone/rclone.conf
- --allow-non-empty
- --allow-other
{{- if eq .Values.rclone.readOnly "enabled" }}
{{- if eq .Values.rclone.readOnly "true" }}
- --read-only
{{ end }}
{{- range .Values.rclone.additionalArgs }}
@@ -18,7 +18,7 @@ rclone:
# mount path for remote
path: /mnt/disks/gdrive
# read only file system for remote (to protect from deletion of files)
readOnly: enabled
readOnly: true
# additional arguments for customising rclone
# mount options can be found here - https://rclone.org/commands/rclone_mount/#options
additionalArgs:

0 comments on commit f0af01f

Please sign in to comment.
You can’t perform that action at this time.