Installation

Install script

The install script only supports systemd for Linux OS (like CentOS 7.x and Ubuntu 16.04), so if your Linux distro supports that and you can give a try.

$ curl https://cloud.swiftstack.com/v1/AUTH_gowf/gowf/instal
l-gowf.sh |bash

Build binary from source

1. Clone source code

$ mkdir -p ${GOPATH}/src/github.com/swiftstack
$ cd ${GOPATH}/src/github.com/swiftstack
$ git clone https://github.com/swiftstack/go-watch-folder

2. Install packages and run tests

Please install automake package on your Mac to make sure you can use make command.

$ make prepare
go get -u github.com/sanbornm/go-selfupdate/...
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/golang/dep/cmd/dep
dep ensure

$ make test
### Unit tests for GoWF ###
Usage of /var/folders/6g/9slv6z496gn6q8n0vmhdlvbh0000gn/T/go-build594409299/b001/gowf.test:
.
.
.
INFO: 2018/07/03 16:14:44 watch.go:133: Checker-0 (/Users/charles/gowork/src/github.com/swiftstack/go-watch-folder/gowf/testdata/dummyswift.conf): /private/tmp/dummy (0 files are shuffled)
DEBUG: 2018/07/03 16:14:44 stats.go:57:            Local:            0 files
DEBUG: 2018/07/03 16:14:44 stats.go:58:           Remote:            0 objects
DEBUG: 2018/07/03 16:14:44 stats.go:59:     Trigger jobs:            0 by User,              0 by GoWF
DEBUG: 2018/07/03 16:14:44 stats.go:60:    Jobs in queue:            0 objects
DEBUG: 2018/07/03 16:14:44 stats.go:61: Jobs in progress:            0 SLOs,                 0 objects,             0 MD5 calculation
DEBUG: 2018/07/03 16:14:44 stats.go:63:    Jobs uploaded:            0 successes,            0 failures,            0 disregard
type: %!s(bool=true)
type: %!s(bool=true)
--- PASS: TestRunWatchFolderTask (3.01s)
PASS
coverage: 46.7% of statements
ok    github.com/swiftstack/go-watch-folder/gowf      (cached)        coverage: 46.7% of statements
.
.
.
=== RUN   TestCompareDeduperHasAnchor
Dedup: 2018/07/03 16:15:08 deduper_test.go:75: Alloc = 102503 KiB, TotalAlloc = 4935966 KiB, Sys = 2067266 KiB, NumGC = 36 KiB
2018/07/03 16:15:10 TestCompareDeduperNonStreaming took 1.472720069s
Dedup: 2018/07/03 16:15:10 deduper_test.go:75: Alloc = 196539 KiB, TotalAlloc = 5459877 KiB, Sys = 2067266 KiB, NumGC = 50 KiB
Dedup: 2018/07/03 16:15:10 deduper_test.go:75: Alloc = 100 KiB, TotalAlloc = 5459877 KiB, Sys = 2067266 KiB, NumGC = 51 KiB
delete random write file /tmp/100MB
--- PASS: TestCompareDeduperHasAnchor (1.96s)
PASS
coverage: 94.9% of statements
ok    github.com/swiftstack/go-watch-folder/dedup     (cached)        coverage: 94.9% of statements

3. Build binary

$ make binary
go-bindata -pkg main -o cmd/templates.go tmpl/*.html
GOOS=linux GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf.linux cmd/gowf.go
GOOS=freebsd GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf.freebsd  cmd/gowf.go
GOOS=windows GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf.exe cmd/gowf.go
GOOS=linux GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf-web.linux cmd/gowf-web.go cmd/templates.go
GOOS=freebsd GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf-web.freebsd  cmd/gowf-web.go cmd/templates.go
GOOS=windows GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf-web.exe cmd/gowf-web.go cmd/templates.go
GOOS=darwin GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf.darwin cmd/gowf.go
GOOS=darwin GOARCH=amd64 go build -ldflags "-w -s -X main.Version=0.0.8-25-g4ea76d6 -X main.UpgradeServer=https://cloud.swiftstack.com/v1/AUTH_gowfdev/" -o build/gowf-web.darwin cmd/gowf-web.go cmd/templates.go

3. You can find binaries in build folder

$ tree ${GOPATH}/src/github.com/swiftstack/go-watch-folder/build
/Users/charles/gowork/src/github.com/swiftstack/go-watch-folder/build
├── gowf-web.darwin
├── gowf-web.exe
├── gowf-web.freebsd
├── gowf-web.linux
├── gowf.darwin
├── gowf.exe
├── gowf.freebsd
└── gowf.linux

0 directories, 8 files