1 line
12 KiB
HTML
1 line
12 KiB
HTML
<!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" /><script src="javascripts/all.js" type="text/javascript"></script><script src="javascripts/vendor/influxdb-0.8.999.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"><img src="/images/influxdb-light-24px.png" /></li></ul><section class="top-bar-section"><ul class="left" ng-show="authenticated"><li ng-class=""><a ng-click="showSelectedDatabase()">{{selectedDatabase}} </a></li><li ng-class=""><a ng-click="showDatabases()">Databases</a></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><table class="twelve columns" ng-show="clusterShards"><thead><tr><td>Id</td><td>Database</td><td>Space</td><td>Start Time</td><td>End Time</td><td>Servers</td><td></td></tr></thead><tr ng-repeat="clusterShard in clusterShards"><td>{{clusterShard.id}} </td><td>{{clusterShard.database}} </td><td>{{clusterShard.spaceName}} </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></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 »</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 ng-submit="createDatabase()"><fieldset><legend>Create a Database</legend><div class="row"><div class="large-6 columns"><h5>Database Details</h5><input ng-model="newDatabaseName" placeholder="Database Name" type="text" /><button class="tiny button" ng-click="submit()" style="margin-top:1.25rem;margin-bottom:0;">Create Database</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 == 'retentionPolicies'}" ng-click="showRetentionPolicies()" title="Retention Policies"><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></tr></thead><tr ng-repeat="continuousQuery in continuousQueries"><td>{{continuousQuery.id}} </td><td>{{continuousQuery.query}} </td></tr></table><div class="panel" ng-hide="continuousQueries"><h5>No continuous queries defined!</h5></div></div></div></div><div ng-show="selectedSubPane == 'retentionPolicies'"><div class="row"><div class="large-12 columns"><h3>Retention Policies</h3><table class="twelve columns"><thead><tr><td>Name</td><td>Duration</td><td>Replication</td><td></td></tr></thead><tr ng-repeat="retentionPolicy in retentionPolicies"><td>{{retentionPolicy.name}} </td><td>{{retentionPolicy.duration}} </td><td>{{retentionPolicy.replicaN}} </td><td style="text-align:right;"><a ng-click="deleteRetentionPolicy(retentionPolicy.name)" ng-confirm-click="Are you sure you want to delete this retention policy?" style="display:none;"><i class="fa fa-times"></i></a></td></tr></table></div></div><div class="row"><div class="large-12 columns"><form ng-submit="createRetentionPolicy()"><fieldset><legend>Create Retention Policy</legend><div class="row"><div class="large-4 columns"><input ng-model="newRetentionPolicyName" placeholder="Name" type="text" /></div><div class="large-2 columns"><input ng-model="newRetentionPolicyDuration" placeholder="Duration" type="text" /></div><div class="large-2 columns"><input ng-model="newRetentionPolicyReplication" placeholder="Replication" type="text" /></div><div class="large-2 columns" style="padding-top: 10px;"><input ng-model="newRetentionPolicyIsDefault" type="checkbox" /><label>Default?</label></div><div class="large-2 columns"><button class="tiny button" ng-click="submit()">Create</button></div></div></fieldset></form></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> {{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> {{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> |