gifs/api
2014-12-17
Parent:21787ed8a185
gifs/api/gifsd/etcd.go
Update import path. Update our import path so it will work without aliasing.
| paddy@7 | 1 package main |
| paddy@7 | 2 |
| paddy@7 | 3 import ( |
| paddy@7 | 4 "log" |
| paddy@7 | 5 |
| paddy@8 | 6 "code.secondbit.org/gifs/api.hg" |
| paddy@7 | 7 "github.com/coreos/go-etcd/etcd" |
| paddy@7 | 8 ) |
| paddy@7 | 9 |
| paddy@7 | 10 func getEtcdContext(resp *etcd.Node) (api.Context, error) { |
| paddy@7 | 11 var context api.Context |
| paddy@7 | 12 var dsn, bucket, tmpbucket, domain string |
| paddy@7 | 13 for _, node := range resp.Nodes { |
| paddy@7 | 14 switch node.Key { |
| paddy@7 | 15 case "/dsn": |
| paddy@7 | 16 dsn = node.Value |
| paddy@7 | 17 case "/bucket": |
| paddy@7 | 18 bucket = node.Value |
| paddy@7 | 19 case "/tmpbucket": |
| paddy@7 | 20 tmpbucket = node.Value |
| paddy@7 | 21 case "/domain": |
| paddy@7 | 22 domain = node.Value |
| paddy@7 | 23 } |
| paddy@7 | 24 } |
| paddy@7 | 25 if dsn != "" { |
| paddy@7 | 26 log.Println("Using PostgreSQL as our datastore.") |
| paddy@7 | 27 /*datastore, err := api.NewMySQLDatastore(dsn) |
| paddy@7 | 28 if err != nil { |
| paddy@7 | 29 return context, err |
| paddy@7 | 30 } |
| paddy@7 | 31 context.Datastore = datastore*/ |
| paddy@7 | 32 panic("PostgreSQL not implemented yet.") |
| paddy@7 | 33 } else { |
| paddy@7 | 34 log.Println("Using in-memory datastore.") |
| paddy@7 | 35 context.Datastore = api.NewMemDatastore() |
| paddy@7 | 36 } |
| paddy@7 | 37 context.UsageTracker = api.NewMemTracker() // TODO: get this using influx |
| paddy@7 | 38 context.Bucket = bucket |
| paddy@7 | 39 context.TmpBucket = tmpbucket |
| paddy@7 | 40 context.RootDomain = domain |
| paddy@7 | 41 storage, err := api.NewGCSServiceStorage() |
| paddy@7 | 42 if err != nil { |
| paddy@7 | 43 log.Println("Using in-memory blob store.") |
| paddy@7 | 44 context.Storage = api.NewMemStorage() |
| paddy@7 | 45 } else { |
| paddy@7 | 46 log.Println("Using Google Cloud Storage for blob store.") |
| paddy@7 | 47 context.Storage = storage |
| paddy@7 | 48 } |
| paddy@7 | 49 return context, nil |
| paddy@7 | 50 } |