From d989d42ad38f24d07b8b8018c26d130b67a8cbe8 Mon Sep 17 00:00:00 2001 From: Alex Grintsvayg Date: Thu, 1 Mar 2018 16:28:06 -0500 Subject: [PATCH] added dep, makefile --- .gitignore | 3 +- Gopkg.lock | 225 ++++++++++++++++++++++++++++++++++++++++++++++ Gopkg.toml | 23 +++++ Makefile | 25 +++++- cmd/cluster.go | 24 ++++- db/db.go | 4 +- store/dbbacked.go | 4 +- 7 files changed, 298 insertions(+), 10 deletions(-) create mode 100644 Gopkg.lock create mode 100644 Gopkg.toml diff --git a/.gitignore b/.gitignore index 8c1fca8..5bff0d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -/.idea +/vendor /blobs /config.json +/prism diff --git a/Gopkg.lock b/Gopkg.lock new file mode 100644 index 0000000..ddbbc2a --- /dev/null +++ b/Gopkg.lock @@ -0,0 +1,225 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + branch = "master" + name = "github.com/armon/go-metrics" + packages = ["."] + revision = "783273d703149aaeb9897cf58613d5af48861c25" + +[[projects]] + branch = "master" + name = "github.com/aws/aws-sdk-go" + packages = [ + "aws", + "aws/awserr", + "aws/awsutil", + "aws/client", + "aws/client/metadata", + "aws/corehandlers", + "aws/credentials", + "aws/credentials/ec2rolecreds", + "aws/credentials/endpointcreds", + "aws/credentials/stscreds", + "aws/defaults", + "aws/ec2metadata", + "aws/endpoints", + "aws/request", + "aws/session", + "aws/signer/v4", + "internal/sdkrand", + "internal/shareddefaults", + "private/protocol", + "private/protocol/query", + "private/protocol/query/queryutil", + "private/protocol/rest", + "private/protocol/restxml", + "private/protocol/xml/xmlutil", + "service/s3", + "service/s3/s3iface", + "service/s3/s3manager", + "service/sts" + ] + revision = "b3c93653d2e47b82c5f48d721a2db7778f4e33a8" + +[[projects]] + branch = "master" + name = "github.com/btcsuite/btcutil" + packages = ["base58"] + revision = "501929d3d046174c3d39f0ea54ece471aa17238c" + +[[projects]] + name = "github.com/davecgh/go-spew" + packages = ["spew"] + revision = "346938d642f2ec3594ed81d874461961cd0faa76" + version = "v1.1.0" + +[[projects]] + name = "github.com/go-errors/errors" + packages = ["."] + revision = "3afebba5a48dbc89b574d890b6b34d9ee10b4785" + version = "v1.0.0" + +[[projects]] + name = "github.com/go-ini/ini" + packages = ["."] + revision = "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a" + version = "v1.32.0" + +[[projects]] + branch = "master" + name = "github.com/go-sql-driver/mysql" + packages = ["."] + revision = "bc14601d1bd56421dd60f561e6052c9ed77f9daf" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/errwrap" + packages = ["."] + revision = "7554cd9344cec97297fa6649b055a8c98c2a1e55" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/go-immutable-radix" + packages = ["."] + revision = "7f3cd4390caab3250a57f30efdb2a65dd7649ecf" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/go-msgpack" + packages = ["codec"] + revision = "fa3f63826f7c23912c15263591e65d54d080b458" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/go-multierror" + packages = ["."] + revision = "b7773ae218740a7be65057fc60b366a49b538a44" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/go-sockaddr" + packages = ["."] + revision = "7165ee14aff120ee3642aa2bcf2dea8eebef29c3" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/golang-lru" + packages = ["simplelru"] + revision = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3" + +[[projects]] + name = "github.com/hashicorp/memberlist" + packages = ["."] + revision = "ce8abaa0c60c2d6bee7219f5ddf500e0a1457b28" + version = "v0.1.0" + +[[projects]] + branch = "master" + name = "github.com/hashicorp/serf" + packages = [ + "coordinate", + "serf" + ] + revision = "3b250ce4404edb266330f53fcfc8ad0d0dacfae7" + +[[projects]] + name = "github.com/inconshreveable/mousetrap" + packages = ["."] + revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" + version = "v1.0" + +[[projects]] + name = "github.com/jmespath/go-jmespath" + packages = ["."] + revision = "0b12d6b5" + +[[projects]] + branch = "master" + name = "github.com/lbryio/lbry.go" + packages = [ + "errors", + "null", + "querytools" + ] + revision = "fe6bc5bb14af1013b1cabb944d4d06413e7e2c8e" + +[[projects]] + name = "github.com/miekg/dns" + packages = ["."] + revision = "5364553f1ee9cddc7ac8b62dce148309c386695b" + version = "v1.0.4" + +[[projects]] + branch = "master" + name = "github.com/sean-/seed" + packages = ["."] + revision = "e2103e2c35297fb7e17febb81e49b312087a2372" + +[[projects]] + branch = "master" + name = "github.com/sirupsen/logrus" + packages = ["."] + revision = "f4ee69125072b22721efbe639bd0da9c9d19b8cc" + +[[projects]] + branch = "master" + name = "github.com/spf13/cobra" + packages = ["."] + revision = "c6c44e6fdcc30161c7f4480754da7230d01c06e3" + +[[projects]] + name = "github.com/spf13/pflag" + packages = ["."] + revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66" + version = "v1.0.0" + +[[projects]] + branch = "master" + name = "golang.org/x/crypto" + packages = [ + "ed25519", + "ed25519/internal/edwards25519", + "ssh/terminal" + ] + revision = "91a49db82a88618983a78a06c1cbd4e00ab749ab" + +[[projects]] + branch = "master" + name = "golang.org/x/net" + packages = [ + "bpf", + "internal/iana", + "internal/socket", + "ipv4", + "ipv6" + ] + revision = "22ae77b79946ea320088417e4d50825671d82d57" + +[[projects]] + branch = "master" + name = "golang.org/x/sys" + packages = [ + "unix", + "windows" + ] + revision = "f6cff0780e542efa0c8e864dc8fa522808f6a598" + +[[projects]] + name = "google.golang.org/appengine" + packages = ["cloudsql"] + revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a" + version = "v1.0.0" + +[[projects]] + name = "gopkg.in/nullbio/null.v6" + packages = ["convert"] + revision = "40264a2e6b7972d183906cf17663983c23231c82" + version = "v6.3" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "5b78d6f524c5ac93d5346881154fdc97b2740a452a8f9991b603c3e2d130cd68" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml new file mode 100644 index 0000000..aa0ea4a --- /dev/null +++ b/Gopkg.toml @@ -0,0 +1,23 @@ +[[constraint]] + name = "github.com/aws/aws-sdk-go" + branch = "master" + +[[constraint]] + name = "github.com/go-sql-driver/mysql" + branch = "master" + +[[constraint]] + name = "github.com/hashicorp/serf" + branch = "master" + +[[constraint]] + name = "github.com/lbryio/lbry.go" + branch = "master" + +[[constraint]] + name = "github.com/sirupsen/logrus" + branch = "master" + +[[constraint]] + name = "github.com/spf13/cobra" + branch = "master" diff --git a/Makefile b/Makefile index f91ffdc..dfbb821 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,26 @@ -.PHONY: test -.DEFAULT_GOAL: test +BINARY=prism + +DIR = $(shell cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) +VENDOR_DIR = vendor + +VERSION=$(shell git --git-dir=${DIR}/.git describe --dirty --always --long --abbrev=7) +LDFLAGS = -ldflags "-X main.Version=${VERSION}" + + +.PHONY: build dep clean test +.DEFAULT_GOAL: build + + +build: dep + CGO_ENABLED=0 go build ${LDFLAGS} -asmflags -trimpath=${DIR} -o ${DIR}/${BINARY} main.go + +dep: | $(VENDOR_DIR) + +$(VENDOR_DIR): + go get github.com/golang/dep/cmd/dep && dep ensure + +clean: + if [ -f ${DIR}/${BINARY} ]; then rm ${DIR}/${BINARY}; fi test: go test ./... -v -cover diff --git a/cmd/cluster.go b/cmd/cluster.go index 1c8bd4b..72a16d9 100644 --- a/cmd/cluster.go +++ b/cmd/cluster.go @@ -1,6 +1,7 @@ package cmd import ( + crand "crypto/rand" "math/rand" "os" "os/signal" @@ -9,11 +10,12 @@ import ( "sync" "syscall" - "github.com/hashicorp/serf/serf" - "github.com/lbryio/internal-apis/app/crypto" + "github.com/lbryio/lbry.go/errors" "github.com/lbryio/reflector.go/cluster" + "github.com/btcsuite/btcutil/base58" "github.com/davecgh/go-spew/spew" + "github.com/hashicorp/serf/serf" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -41,7 +43,7 @@ func clusterCmd(cmd *cobra.Command, args []string) { var eventCh <-chan serf.Event var err error - nodeName := crypto.RandString(12) + nodeName := randString(12) clusterAddr := "127.0.0.1:" + strconv.Itoa(clusterPort) if args[0] == clusterStart { c, eventCh, err = cluster.Connect(nodeName, clusterAddr, clusterPort) @@ -121,3 +123,19 @@ func getAliveMembers(members []serf.Member) []serf.Member { } return alive } + +// RandString returns a random alphanumeric string of a given length +func randString(length int) string { + buf := make([]byte, length) + _, err := crand.Reader.Read(buf) + if err != nil { + panic(errors.Err(err)) + } + + randStr := base58.Encode(buf)[:length] + if len(randStr) < length { + panic(errors.Err("Could not create random string that is long enough")) + } + + return randStr +} diff --git a/db/db.go b/db/db.go index cf56862..49141fe 100644 --- a/db/db.go +++ b/db/db.go @@ -4,7 +4,7 @@ import ( "database/sql" "github.com/lbryio/lbry.go/errors" - qtools "github.com/lbryio/query.go" + "github.com/lbryio/lbry.go/querytools" "github.com/lbryio/reflector.go/types" _ "github.com/go-sql-driver/mysql" @@ -23,7 +23,7 @@ type SQL struct { } func logQuery(query string, args ...interface{}) { - s, err := qtools.InterpolateParams(query, args...) + s, err := querytools.InterpolateParams(query, args...) if err != nil { log.Errorln(err) } else { diff --git a/store/dbbacked.go b/store/dbbacked.go index b87ea49..cc1bd4d 100644 --- a/store/dbbacked.go +++ b/store/dbbacked.go @@ -3,7 +3,7 @@ package store import ( "encoding/json" - "github.com/go-errors/errors" + "github.com/lbryio/lbry.go/errors" "github.com/lbryio/reflector.go/db" "github.com/lbryio/reflector.go/types" ) @@ -41,7 +41,7 @@ func (d *DBBackedS3Store) PutSD(hash string, blob []byte) error { return err } if blobContents.StreamHash == "" { - return errors.New("sd blob is missing stream hash") + return errors.Err("sd blob is missing stream hash") } err = d.s3.PutSD(hash, blob)