Using globally resolveable SyncBase
Change-Id: I0ebcb83338c32c1513ef5eabafbb1b581cc66495
diff --git a/src/travel.js b/src/travel.js
index 4b94a91..00485ca 100644
--- a/src/travel.js
+++ b/src/travel.js
@@ -3,6 +3,7 @@
// license that can be found in the LICENSE file.
var Deferred = require('vanadium/src/lib/deferred');
+var queryString = require('query-string');
var raf = require('raf');
var $ = require('./util/jquery');
@@ -426,10 +427,16 @@
};
});
+ var sbName = opts.syncbase ||
+ queryString.parse(location.search).syncbase || 'travel/sgadmin';
+ if ($.isNumeric(sbName)) {
+ sbName = '/localhost:' + sbName;
+ }
+
var sync = this.sync = new TravelSync(vanadiumStartup, {
maps: maps,
placesService: map.createPlacesService()
- });
+ }, sbName);
sync.bindDestinations(destinations);
this.info(strings['Connecting...'], sync.startup
diff --git a/src/travelsync.js b/src/travelsync.js
index 9f7a20c..37c9a87 100644
--- a/src/travelsync.js
+++ b/src/travelsync.js
@@ -5,7 +5,6 @@
require('es6-shim');
var _ = require('lodash');
-var queryString = require('query-string');
var uuid = require('uuid');
var vanadium = require('vanadium');
@@ -637,14 +636,9 @@
var self = this;
var vanadiumWrapper = args.vanadiumWrapper;
- var sbName = queryString.parse(location.search).syncbase || 4000;
- if ($.isNumeric(sbName)) {
- sbName = '/localhost:' + sbName;
- }
-
this.status.syncbase = 'starting';
return vanadiumWrapper
- .syncbase(sbName)
+ .syncbase(this.syncbaseName)
.then(function(syncbase) {
syncbase.onError.add(self.onError);
syncbase.onUpdate.add(self.processUpdates);
@@ -713,11 +707,13 @@
* @mapsDependencies an object with the following keys:
* maps
* placesService
+ * @syncbaseName name of the local SyncBase endpoint.
*/
- init: function(prereqs, mapsDependencies) {
+ init: function(prereqs, mapsDependencies, syncbaseName) {
var self = this;
this.mapsDeps = mapsDependencies;
+ this.syncbaseName = syncbaseName;
this.tripStatus = {};
this.messages = {};
diff --git a/tools/start_services.sh b/tools/start_services.sh
index b8e74a5..e6509e2 100644
--- a/tools/start_services.sh
+++ b/tools/start_services.sh
@@ -29,19 +29,19 @@
local -r TMP=tmp
local -r CREDS=./tmp/creds/${creds-}
local -r PORT=${port-4000}
- local -r MOUNTTABLED_ADDR=":$((PORT+1))"
local -r SYNCBASED_ADDR=":$((PORT))"
local -r BLESSINGS=`principal dump --v23.credentials=${CREDS} -s=true`
+ local -r RE="dev\.v\.io/u/(.*)"
+ if [[ ${BLESSINGS} =~ ${RE} ]]
+ then local -r V_USER=${BASH_REMATCH[1]}
+ fi
mkdir -p $TMP
- mounttabled \
- --v23.tcp.address=${MOUNTTABLED_ADDR} \
- --v23.credentials=${CREDS} &
./bin/syncbased \
--v=5 \
--alsologtostderr=false \
--root-dir=${TMP}/syncbase_${PORT} \
- --name=syncbase \
- --v23.namespace.root=/${MOUNTTABLED_ADDR} \
+ --name=users/${V_USER}/travel/sgadmin \
+ --v23.namespace.root=/ns.dev.v.io:8101 \
--v23.tcp.address=${SYNCBASED_ADDR} \
--v23.credentials=${CREDS} \
--v23.permissions.literal="{\"Admin\":{\"In\":[\"${BLESSINGS}\"]},\"Write\":{\"In\":[\"${BLESSINGS}\"]},\"Read\":{\"In\":[\"${BLESSINGS}\"]},\"Resolve\":{\"In\":[\"${BLESSINGS}\"]},\"Debug\":{\"In\":[\"...\"]}}"