<!DOCTYPE html><html><head><link href="/images/favicon.ico" rel="icon" type="image/png" /><meta charset="utf-8" /><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" /><title>InfluxDB Administration</title><link href="/stylesheets/all.css" media="screen" rel="stylesheet" type="text/css" /><link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" media="screen" rel="stylesheet" type="text/css" /><script src="/javascripts/all.js" type="text/javascript"></script><script src="http://get.influxdb.org/influxdb-latest.js" type="text/javascript"></script></head><body class="index" ng-app="adminApp" ng-controller="AdminIndexCtrl"><section class="nav"><div class="row"><nav class="top-bar" data-topbar=""><ul class="title-area"><li class="name"><a href="/"><img src="/images/influxdb-light-24px.png" /></a></li></ul><section class="top-bar-section"><ul class="left" ng-show="authenticated"><li ng-class="" ng-show="!isClusterAdmin"><a ng-click="showSelectedDatabase()">{{selectedDatabase}} </a></li><li ng-class="" ng-show="isClusterAdmin"><a ng-click="showDatabases()">Databases</a></li><li ng-class="" ng-show="isClusterAdmin"><a ng-click="showClusterAdmins()">Cluster Admins</a></li><li ng-class="" ng-show="isClusterAdmin"><a ng-click="showClusterConfiguration()">Cluster</a></li><li class="has-dropdown" ng-class="{active: selectedPane == 'data'}"><a href="#" ng-hide="isClusterAdmin">Interfaces</a><ul class="dropdown"><li ng-repeat="i in interfaces"><a href="#" ng-click="setCurrentInterface(i)">{{humanize(i)}}</a></li></ul></li></ul><ul class="right" ng-show="authenticated"><li class="has-form"><a class="button" ng-click="authenticated=false">Disconnect</a></li></ul><ul class="right status" ng-show="authenticated"><li><i class="fa fa-user"></i>{{username}} </li><li><i class="icon-database-alt2"></i>{{host}}:{{port}} </li></ul></section></nav></div></section><section class="main"><div class="row" id="alert-success" style="margin-top: 10px; display: none;"><div class="large-12 columns"><div class="alert-box success" data-alert="">{{successMessage}} </div></div></div><div class="row" id="alert-failure" style="margin-top: 10px; display: none;"><div class="large-12 columns"><div class="alert-box alert" data-alert="">{{failureMessage}} </div></div></div><div class="row"><div class="twelve columns"><section ng-hide="authenticated"><span class="label alert" id="authFailure" style="display:none;">{{authMessage}}</span><form><fieldset><legend>Connect</legend><div class="row"><div class="large-3 columns"><input ng-model="username" placeholder="username" type="text" /></div><div class="large-3 columns"><input ng-model="password" placeholder="password" type="password" /></div><div class="large-3 columns"><input ng-model="database" placeholder="database (optional)" type="text" /></div><div class="large-3 columns"><button class="tiny button" ng-click="authenticateUser()">Connect</button></div></div></fieldset><fieldset><legend>Hostname and Port Settings</legend><div class="row"><div class="large-3 columns"><input ng-model="host" placeholder="hostname" type="text" /></div><div class="large-1 columns"><input ng-model="port" placeholder="port" type="text" /></div><div class="large-2 columns" style="padding-top: 10px;"><input ng-model="ssl" type="checkbox" /><label>SSL</label></div><div class="large-6 columns"></div></div></fieldset></form></section><div ng-show="authenticated"><div ng-show="selectedPane == 'cluster'"><div class="row"><div class="large-12 columns"><h2>Servers</h2><table class="twelve columns"><thead><tr><td>Id</td><td>Connection String</td></tr></thead><tr ng-repeat="clusterServer in clusterServers"><td>{{clusterServer.id}} </td><td>{{clusterServer.protobufConnectString}} </td></tr></table></div></div><hr /><div class="row"><div class="large-12 columns"><h2>Shards</h2><h3>Short Term</h3><table class="twelve columns" ng-show="clusterShards.shortTerm"><thead><tr><td>Id</td><td>Start Time</td><td>End Time</td><td>Servers</td><td></td></tr></thead><tr ng-repeat="clusterShard in clusterShards.shortTerm"><td>{{clusterShard.id}} </td><td>{{clusterShard.startTime*1000 | date:'yyyy-MM-dd HH:mm:ss'}} </td><td>{{clusterShard.endTime*1000 | date:'yyyy-MM-dd HH:mm:ss'}} </td><td>{{clusterShard.serverIds}} </td><td style="text-align:right;"><a ng-click="deleteClusterShard(clusterShard)" ng-confirm-click="Are you sure you want to delete this shard?"><i class="fa fa-times"></i></a></td></tr></table><div class="panel" ng-hide="clusterShards.shortTerm"><h5>No Short Term Shards Currently Exist</h5></div><h3>Long Term</h3><table class="twelve columns" ng-show="clusterShards.longTerm"><thead><tr><td>Id</td><td>Start Time</td><td>End Time</td><td>Servers</td><td></td></tr></thead><tr ng-repeat="clusterShard in clusterShards.longTerm"><td>{{clusterShard.id}} </td><td>{{clusterShard.startTime*1000 | date:'yyyy-MM-dd HH:mm:ss'}} </td><td>{{clusterShard.endTime*1000 | date:'yyyy-MM-dd HH:mm:ss'}} </td><td>{{clusterShard.serverIds}} </td><td style="text-align:right;"><a ng-click="deleteClusterShard(clusterShard)" ng-confirm-click="Are you sure you want to delete this shard?"><i class="fa fa-times"></i></a></td></tr></table><div class="panel" ng-hide="clusterShards.longTerm"><h5>No Long Term Shards Currently Exist</h5></div></div></div></div><div ng-show="selectedPane == 'databases'"><section ng-show="selectedDatabase == null && isClusterAdmin"><div class="row"><div class="large-12 columns"><h2>Databases</h2><table class="twelve columns"><thead><tr><td>Name</td><td></td><td></td></tr></thead><tr ng-repeat="database in databases | orderBy:'name'"><td><a href="#" ng-click="showDatabase(database)">{{database.name}}</a></td><td><a ng-click="showDefaultInterface(database.name)">Explore Data &raquo;</a></td><td style="text-align:right;"><a ng-click="deleteDatabase(database.name)" ng-confirm-click="Are you sure you want to delete this database?"><i class="fa fa-times"></i></a></td></tr></table></div></div><div class="row"><div class="large-12 columns"><form><fieldset><legend>Create a Database</legend><div class="row"><div class="large-3 columns"><input ng-model="newDatabaseName" placeholder="name" type="text" /></div><div class="large-9 columns"><button class="tiny button" ng-click="createDatabase()">Create</button></div></div></fieldset></form></div></div></section><section id="database-header" ng-show="selectedDatabase != null"><div class="row"><div class="large-12 columns"><ul class="button-group radius"><li class="active"><a class="button secondary tiny" ng-class="{active: selectedSubPane == 'users'}" ng-click="showDatabaseUsers()" title="Users"><i class="fa fa-users"></i></a></li><li><a class="button secondary tiny" ng-class="{active: selectedSubPane == 'continuousQueries'}" ng-click="showContinuousQueries()" title="Continuous Queries"><i class="fa fa-refresh"></i></a></li><li><a class="button secondary tiny" ng-class="{active: selectedSubPane == 'settings'}" ng-click="showDbSettings()" title="Settings"><i class="fa fa-gears"></i></a></li></ul><h2><i class="icon-database"></i>{{selectedDatabase}} </h2></div></div></section><div ng-show="selectedSubPane == 'continuousQueries'"><div class="row"><div class="large-12 columns"><h3>Continuous Queries</h3><table class="twelve columns" ng-show="continuousQueries"><thead><tr><td>Id</td><td>Query</td><td></td></tr></thead><tr ng-repeat="continuousQuery in continuousQueries"><td>{{continuousQuery.id}} </td><td>{{continuousQuery.query}} </td><td style="text-align:right;"><a ng-click="deleteContinuousQuery(continuousQuery)" ng-confirm-click="Are you sure you want to delete this continuous query?"><i class="fa fa-times"></i></a></td></tr></table><div class="panel" ng-hide="continuousQueries"><h5>No continuous queries defined!</h5></div></div></div></div><div ng-show="selectedSubPane == 'settings'"><div class="row"><div class="large-12 columns"><h3>Settings &amp; Properties</h3><div class="panel"><h5>{{databaseUsers.length}} users </h5><h5>{{continuousQueries.length}} continuous queries </h5></div><hr /><a class="button alert" ng-click="deleteDatabase(selectedDatabase)" ng-confirm-click="Are you sure you want to delete this database?">Delete Database</a></div></div></div><div ng-show="selectedSubPane == 'users'"><section ng-show="selectedDatabase != null && selectedDatabaseUser != null"><div class="row"><div class="large-12 columns"><h3><i class="fa fa-user"></i>&nbsp;{{databaseUser.name}}</h3><div class="row"><div class="large-6 columns"><fieldset><input ng-model="databaseUser.isAdmin" type="checkbox"><label>Admin?</label></input></fieldset></div></div><div class="row"><div class="large-6 columns"><button class="small button" ng-click="updateDatabaseUser()">Update User</button></div></div><form><fieldset><legend>Change Password</legend><div class="row"><div class="large-3 columns"><input ng-model="dbUserPassword" placeholder="Password" type="password" /></div><div class="large-3 columns"><input ng-model="dbUserPasswordConfirmation" placeholder="Password Confirmation" type="password" /></div><div class="large-6 columns"><button class="tiny button" ng-click="changeDbUserPassword()">Change Password</button></div></div></fieldset></form></div></div></section><section ng-show="selectedDatabase != null && selectedDatabaseUser == null"><div class="row"><div class="large-12 columns"><h3>Database Users</h3><table class="twelve columns"><thead><tr><td>Name</td><td>Admin?</td><td></td></tr></thead><tr ng-repeat="databaseUser in databaseUsers"><td><a href="#" ng-click="showDatabaseUser(databaseUser)">{{databaseUser.name}}</a></td><td>{{databaseUser.isAdmin}} </td><td style="text-align:right;"><a ng-click="deleteDatabaseUser(databaseUser.name)" ng-confirm-click="Are you sure you want to delete this user?"><i class="fa fa-times"></i></a></td></tr></table></div></div><div class="row"><div class="large-12 columns"><form><fieldset><legend>Create a New Database User</legend><div class="row"><div class="large-3 columns"><input ng-model="newDbUser.username" placeholder="Username" type="text" /></div><div class="large-3 columns"><input ng-model="newDbUser.password" placeholder="Password" type="password" /></div><div class="large-3 columns" style="padding-top:10px;"><input ng-model="newDbUser.isAdmin" type="checkbox"><label>Admin?</label></input></div><div class="large-3 columns"><button class="tiny button" ng-click="createDatabaseUser()">Create</button></div></div></fieldset></form></div></div></section></div></div><section ng-show="selectedPane == 'admins' && isClusterAdmin"><div ng-show="selectedClusterAdmin == null"><div class="row"><div class="large-12 columns"><h2>Cluster Admins</h2><table class="twelve columns"><thead><tr><td> Username</td><td></td></tr></thead><tr ng-repeat="admin in admins"><td><a href="#" ng-click="showClusterAdmin(admin)">{{admin.name}}</a></td><td style="text-align:right;"><a ng-click="deleteClusterAdmin(admin.name)" ng-confirm-click="Are you sure you want to delete this cluster admin?"><i class="fa fa-times"></i></a></td></tr></table></div></div><div class="row"><div class="large-12 columns"><form><fieldset><legend>Create a Cluster Admin</legend><div class="row"><div class="large-3 columns"><input ng-model="newAdminUsername" placeholder="username" type="text" /></div><div class="large-3 columns"><input ng-model="newAdminPassword" placeholder="password" type="password" /></div><div class="large-6 columns"><button class="tiny button" ng-click="createClusterAdmin()">Create</button></div></div></fieldset></form></div></div></div><div ng-show="selectedClusterAdmin != null"><div class="row"><div class="large-12 columns"><div class="panel"><h3><i class="fa fa-user"></i>&nbsp;{{selectedClusterAdmin}}</h3></div><form><fieldset><legend>Change Password</legend><div class="row"><div class="large-3 columns"><input ng-model="clusterAdminPassword" placeholder="Password" type="password" /></div><div class="large-3 columns"><input ng-model="clusterAdminPasswordConfirmation" placeholder="Password Confirmation" type="password" /></div><div class="large-6 columns"><button class="tiny button" ng-click="changeClusterAdminPassword()">Change Password</button></div></div></fieldset></form></div></div></div></section></div></div></div><section ng-show="selectedPane == 'data' && authenticated"><iframe class="large-12" id="explorer" src="" style="height:100%;width:100%;overflow:auto;"></iframe></section></section></body><script src="/javascripts/vendor/foundation.min.js" type="text/javascript"></script></html>