Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
f47d3ca
added planning doc
Jun 18, 2015
8d2e881
[server] work out plugin organization, and app declaration
Jun 25, 2015
40e2bd5
updated 'always included' list
Jun 25, 2015
472a67d
solidify bootstrap step, setup kibana app
Jun 25, 2015
2181f32
fix less building
Jun 25, 2015
b1e0344
include settings in kibana, fix url tracking
Jun 25, 2015
91f0e12
fix status and devServer grunt tasks
Jun 25, 2015
0edf821
defaultRoute implemented, redirect when missing a slash
Jun 25, 2015
3ceaf12
unwrap ui source
Jun 25, 2015
daadf97
document KbnServer class
Jun 25, 2015
1d35cff
added app switcher
Jun 26, 2015
3f24050
don't show apps button in app switcher
Jun 26, 2015
edb56fe
trim down chrome for appSwitcher
Jun 26, 2015
1b28446
fix base redirect
Jun 26, 2015
64937a5
[chrome] wire up logo and background methods
Jun 26, 2015
7d6bc64
use the plugin name for main modules, so that they're easier to diffe…
Jun 26, 2015
844b95c
initial webpack implementation
Jun 30, 2015
40536fe
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jun 30, 2015
58ce334
use https://github.com/webpack/node-libs-browser/pull/28
Jun 30, 2015
f51ec29
update main module
Jun 30, 2015
615f4c9
move / redirection to catch-all route so that routes can use trailing…
Jun 30, 2015
935bb5e
initial optimize attempt
Jun 30, 2015
522a00e
building is mostly stable, less is improving, initial cached building…
Jul 7, 2015
c95e315
add tags to logging, use classes
Jul 7, 2015
f621a42
fix styles, time to begin finding bugs
Jul 8, 2015
967726f
added start command for dev server that uses nodemon to restart serve…
Jul 8, 2015
e98d264
enhance cli to manage dev server
Jul 9, 2015
3d82d40
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 9, 2015
e8f8347
allow setting controller as a string
Jul 10, 2015
e809f4b
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 10, 2015
8d7ae77
[bin/kibana] find node in patch if no local node
Jul 10, 2015
4f5f523
[server/pid] move pid to it's own config, allow setting exclusive=true
Jul 10, 2015
52570cb
[cli] collect extra arguments and merge into settings object
Jul 10, 2015
382598f
split dev server in two, preventing server source file from forcing w…
Jul 10, 2015
0936b03
[Status] Fixed some bugs, moved some things around generally improved…
panda01 Jul 10, 2015
23a22d5
[Merge] Merged with latest master
panda01 Jul 10, 2015
73beac9
consolidate around --config arg, use js to resolve
Jul 10, 2015
86453f6
dont log server starting twice, move status info to api
Jul 10, 2015
c4fbf5b
treat the ui directory as static assets
Jul 10, 2015
dfe1687
[chrome] don't check for an app.id, let app set switcher presence
Jul 10, 2015
473f0a3
[statusPage] provide a rendering helper on the reply
Jul 10, 2015
226d414
lock down nvd3 and angular-nvd3 versions which are known to work toge…
Jul 10, 2015
0d4ebcb
license has updated, but the licenses are the same
Jul 13, 2015
75db706
[bin/kibana] support --no-watch arg
Jul 13, 2015
dd58bdd
optimize process now communicates with server process so server statu…
Jul 13, 2015
3c9f179
enhance tab settings
Jul 13, 2015
665bfbb
update serverStatus css
Jul 13, 2015
22fb1e5
Merge branch 'feature/3270/statusPage' of github.com:panda01/kibana i…
Jul 13, 2015
2c879b6
match the body color in the app-switchers tabs
Jul 14, 2015
77a9e0f
split up the statusPage a bit more
Jul 14, 2015
407da03
remove sense stub app
Jul 14, 2015
b15d6f2
[chrome] only show the apps link when there is more than one app inst…
Jul 14, 2015
ec5a8f7
hoist requires in AMD modules and modularize some webpack stuff
Jul 15, 2015
25b775c
allow getters for the tab active color, load css in proper order
Jul 15, 2015
93c8ab9
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 15, 2015
2093bf4
added new node-libs-browser dep to license config
Jul 15, 2015
bb77b8a
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 15, 2015
0de0ac4
unwrap the command files a bit, support multiple --plugin-path and --…
Jul 15, 2015
a1b7aab
default to pretty string formatting if outputting to stdout and it's …
Jul 16, 2015
bf11b06
remove lesshat usage
Jul 16, 2015
ffb5e8c
unwrap watch directory
Jul 16, 2015
5eb9bed
clean up the log output a bit
Jul 16, 2015
eb31780
make devmode support --silent and --quiet
Jul 16, 2015
9001265
clean up old grunt tasks
Jul 16, 2015
a3e93ee
remove plan doc
Jul 16, 2015
d21490c
allow customizing the directory plugins are installed to, move defaul…
Jul 16, 2015
1609968
move commands again
Jul 16, 2015
ffc4f3d
flatten the ui directory a bit, shorten module ids
Jul 16, 2015
5beb79d
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 16, 2015
abfe919
move debug spy to devMode, and move basic spyModes to a plugin
Jul 16, 2015
844f2d6
moved tests next to related source files
Jul 16, 2015
8ae3b8b
make unkown option collection opt-in
Jul 16, 2015
9258452
support removing events
Jul 16, 2015
c7b441f
fix request logging by setting it up after server.connection()
Jul 16, 2015
f863b30
close workers on process exit
Jul 16, 2015
a8b486b
don't require angular-bootstrap in the app-switcher
Jul 16, 2015
f0df913
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 16, 2015
2aa1204
cast read entry file to string so comparrison works properly
Jul 16, 2015
d7a1749
[appSwitcher] fix alignment of the app cards
Jul 16, 2015
1c01589
fix directive name
Jul 17, 2015
7f8b1de
re-add ui component styles
Jul 17, 2015
1586436
It has been a while.. sorry
Jul 20, 2015
75d0b07
move to ngMock module
Jul 21, 2015
450cf58
update licenses
Jul 21, 2015
9e02c78
if a plugin resolves to a file, assume it is valid and error out if i…
Jul 22, 2015
a228174
commit to the ui/ module prefix
Jul 22, 2015
dd2b562
semicolon checking is a style thing
Jul 22, 2015
176b606
redirect to valid test url (with trailing slash)
Jul 22, 2015
eef8bb5
the elasticsearch plugin can't run without knowing the kibana configu…
Jul 22, 2015
1dfa46d
move meta-modules into special embedded plugin, simplify dependency p…
Jul 22, 2015
e46dabd
don't write invalid bundle files, or the optimizer will think they ar…
Jul 22, 2015
68247c9
lean on metaLibs using ui/modules for angular-module injection
Jul 22, 2015
8c580f9
fix references to file-saver
Jul 22, 2015
3f48493
ensure that bundles are synced before starting an optimizer
Jul 22, 2015
c342be8
allow specifying noParse rules in uiExports spec
Jul 22, 2015
9f17f06
cleanup LiveOptimizer active check
Jul 22, 2015
769e4af
move plugin status assignment into Plugin#init()
Jul 22, 2015
da9603a
fixed incompatibilities with angular, ace, and gridster
Jul 22, 2015
89044bc
added autoprefixer, make css sourcemaps optional
Jul 22, 2015
2377381
re-enable sourcemaps
Jul 22, 2015
2881da7
double down on ui/ prefix
Jul 22, 2015
af305c7
use ui-bootstrap with bundled templates
Jul 22, 2015
b168382
increase the url limit back to 10000, the recommended value
Jul 22, 2015
20bdb65
remove debug statements
Jul 22, 2015
835694b
update WatchingOptimizer to use latest conventions
Jul 22, 2015
ec45b26
added better filters for which change events should restart the optim…
Jul 22, 2015
d265126
better track worker processes in watch mode
Jul 23, 2015
608be74
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 23, 2015
ab686ee
listen to the proper rebuild event in optimizer
Jul 23, 2015
aace498
lastPath => lastUrl, drop _g the lastUrl
Jul 23, 2015
28de689
only log responses, by default, when logging json
Jul 23, 2015
64828d8
make the test bootstrap filename a bit more unique
Jul 23, 2015
48c4ed4
[chrome] split up api, added mucho docs, fixed _g moving
Jul 23, 2015
402dfe9
publicDir is no longer configurable, unless set to false it is assume…
Jul 23, 2015
77f70c1
rather than watching specific subdirectories, just ignore all public/…
Jul 24, 2015
2671579
case-sensitivity is good
Jul 24, 2015
cb9c5c9
fix the definition of the table_vis tests
Jul 24, 2015
33ede71
simplify test harness for now, focus on 'all tests' solution
Jul 24, 2015
94e120f
prevent accidentally clobbering config in kibana.yml
Jul 24, 2015
b2246da
fixed lots of dep issues in tests
Jul 26, 2015
136532f
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 26, 2015
7d8e72c
loosen font regexp to capture all loaded variants
Jul 26, 2015
39192e6
handle hasty loops in the search looper more gracefully
Jul 26, 2015
2dff117
specified css support desired
Jul 26, 2015
2bcf846
get the server tests passing again
Jul 26, 2015
2905b79
relocated some tests, fixed others, moved more modules to CamelCase n…
Jul 27, 2015
d2048d7
split up StackTraceMapper
Jul 27, 2015
1e555c5
switch to Karma, now the tests pass with Grunt
Jul 27, 2015
f9f4b0e
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 27, 2015
cfc398b
remove bower, nice people matter
Jul 28, 2015
78348d1
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 28, 2015
7fe7ff5
mocha => karma
Jul 28, 2015
0f6d59e
remove license checking from test script
Jul 28, 2015
992e396
karma config for travis
Jul 28, 2015
29fdd03
fix case-sensitivity issue
Jul 28, 2015
7454e36
add firefox plugin for karma
Jul 28, 2015
5705f1a
update auto-release-sinon
Jul 28, 2015
6e03b58
switch to dots reporter in grunt
Jul 28, 2015
f9897a3
added grunt tasks for jenkins and travis
Jul 28, 2015
95eb992
updated CONTRIBUTING.md to talk about avn and use the new --dev flag …
Jul 28, 2015
0e6e02e
update the doc title service to use chrome to get active app/tab
Jul 28, 2015
e4de84b
fixed windows issue in kibana.bat for spaces in path
BigFunger Jul 28, 2015
e2d6053
Merge pull request #5 from BigFunger/apps/home
spalger Jul 28, 2015
67fdb33
ensure that entry files are created before the watching optimizer runs
Jul 28, 2015
8029a23
move tar to prod deps, and remove unused http-proxy
Jul 28, 2015
062ab01
skip clipboard tests that sometimes fail, opened #4511
Jul 28, 2015
2152bf0
disable the plugin tests since they fail on jenkins
Jul 29, 2015
d05d6a7
stretch out the browser-start timeout, Jenkins seems to be really slo…
Jul 29, 2015
09875a0
move default buildNum and version into config
Jul 29, 2015
9ec0636
Merge branch 'master' of github.com:elastic/kibana into apps/home
Jul 29, 2015
bbef901
close the elasticsearch client when the server closes
Jul 29, 2015
bce10f8
report errors from any mixin, and close the server when any occur
Jul 29, 2015
ba9e366
Merge pull request #4335 from spalger/apps/home
spalger Jul 30, 2015
5eee21f
Merge branch 'master' of github.com:elastic/kibana into pr/4523
Jul 30, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .bowerrc

This file was deleted.

6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
.DS_Store
.node_binaries
node_modules
bower_components
**/*.css
trash
build
bundles
target
.jruby
.idea
*.iml
*.log
esvm
.htpasswd
src/server/bin/plugins
installed_plugins
4 changes: 3 additions & 1 deletion .jscsrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
{
"esnext": true,
"maximumLineLength": {
"value": 140,
"allowComments": true
},
"requireCurlyBraces": [
"requireSemicolons": true,
"requireCurlyBraces": [
"for",
"do",
"try",
Expand Down
18 changes: 17 additions & 1 deletion .jshintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
{
// for files at project root
"node": true,
"browser": true,
"mocha": true,

"predef": {
"inject": true,
"module": true,
"define": true,
"console": false,
"-event": true,
"-name": true,
"-Promise": true,
"-Worker": true,
"-status": true,
"-fetch": true
},

// shared with .jshintrc files for browser and node
"unused": false,
Expand All @@ -23,5 +38,6 @@
"sub": true,
"-W084": true,
"scripturl": true,
"evil": true
"evil": true,
"esnext": true
}
14 changes: 0 additions & 14 deletions .jshintrc.browser

This file was deleted.

9 changes: 0 additions & 9 deletions .jshintrc.node

This file was deleted.

2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.10.x
iojs-v2.4
10 changes: 6 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
language: node_js
node_js: '0.12'
node_js: 'iojs-v2.4'
install: npm install
script: npm test
script: ./node_modules/.bin/grunt travis
sudo: false
cache:
directories:
- esvm
- node_modules
- src/kibana/bower_components
before_cache:
- rm -rf esvm/*/logs esvm/data_dir
- rm -rf esvm/*/logs esvm/data_dir
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
notifications:
email:
- rashid.khan@elastic.co
Expand Down
23 changes: 11 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,35 @@ Please make sure you have signed the [Contributor License Agreement](http://www.

### Development Environment Setup

- Install node.js (we recommend using [nvm](https://github.com/creationix/nvm))
- Clone the kibana repo and move into it

```sh
## follow directions at https://github.com/creationix/nvm, then
nvm install 0.10
git clone https://github.com/elastic/kibana.git kibana
cd kibana
```

- Install grunt and bower globally (as root if not using nvm)
- Install the version of node.js listed in the `.node-version` file (this is made easy with tools like [nvm](https://github.com/creationix/nvm) and [avn](https://github.com/wbyoung/avn))

```sh
npm install -g grunt-cli bower
nvm install "$(cat .node-version)"
```

- Clone the kibana repo and move into it
- Install dependencies

```sh
git clone https://github.com/elastic/kibana.git kibana
cd kibana
npm install
```

- Install node and bower dependencies
- Start elasticsearch, you can use [esvm](https://github.com/simianhacker/esvm) to make that easier.

```sh
npm install && bower install
grunt esvm:dev:keepalive
```

- Start the development server.

```sh
grunt dev # use the "--with-es" flag to install & start elasticsearch too
./bin/kibana --dev
```

#### Linting
Expand All @@ -65,7 +64,7 @@ Before running the tests you will need to install the projects dependencies as d
Once that is complete just run:

```sh
grunt test build
./node_modules/.bin/grunt test build
```

Distributable, built packages can be found in `target/` after the build completes.
Expand Down
69 changes: 22 additions & 47 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,34 @@
module.exports = function (grunt) {
// set the config once before calling load-grunt-config
// and once durring so that we have access to it via
// and once during so that we have access to it via
// grunt.config.get() within the config files
var config = {
pkg: grunt.file.readJSON('package.json'),
root: __dirname,
src: __dirname + '/src', // unbuild version of build
build: __dirname + '/build', // copy of source, but optimized
app: __dirname + '/src/kibana', // source directory for the app
plugins: __dirname + '/src/kibana/plugins', // source directory for the app
server: __dirname + '/src/server', // source directory for the server
target: __dirname + '/target', // location of the compressed build targets
buildApp: __dirname + '/build/kibana', // build directory for the app
configFile: __dirname + '/src/server/config/kibana.yml',
src: __dirname + '/src',
build: __dirname + '/build', // temporary build directory
plugins: __dirname + '/src/plugins',
server: __dirname + '/src/server',
target: __dirname + '/target', // location of the compressed build targets
testUtilsDir: __dirname + '/src/testUtils',
configFile: __dirname + '/src/config/kibana.yml',

karmaBrowser: (function () {
switch (require('os').platform()) {
case 'win32':
return 'IE';
case 'darwin':
return 'Chrome';
default:
return 'Firefox';
}
}()),

nodeVersion: '0.10.35',
platforms: ['darwin-x64', 'linux-x64', 'linux-x86', 'windows'],
services: [ [ 'launchd', '10.9'], [ 'upstart', '1.5'], [ 'systemd', 'default'], [ 'sysv', 'lsb-3.1' ] ],

unitTestDir: __dirname + '/test/unit',
testUtilsDir: __dirname + '/test/utils',
bowerComponentsDir: __dirname + '/src/kibana/bower_components',

devPlugins: 'vis_debug_spy',
devPlugins: 'devMode',

meta: {
banner: '/*! <%= package.name %> - v<%= package.version %> - ' +
Expand All @@ -34,44 +40,13 @@ module.exports = function (grunt) {
lintThese: [
'Gruntfile.js',
'<%= root %>/tasks/**/*.js',
'<%= src %>/kibana/*.js',
'<%= src %>/server/bin/*.js',
'<%= src %>/server/{config,lib,plugins}/**/*.js',
'<%= src %>/server/bin/{plugin,startup}/**/*.js',
'<%= src %>/kibana/{components,directives,factories,filters,plugins,registry,services,utils}/**/*.js',
'<%= unitTestDir %>/**/*.js',
'!<%= unitTestDir %>/specs/vislib/fixture/**/*'
],
lessFiles: [
'<%= src %>/kibana/components/*/*.less',
'<%= src %>/kibana/styles/main.less',
'<%= src %>/kibana/components/vislib/styles/main.less',
'<%= src %>/server/plugins/status/public/styles/main.less',
'<%= plugins %>/dashboard/styles/main.less',
'<%= plugins %>/discover/styles/main.less',
'<%= plugins %>/settings/styles/main.less',
'<%= plugins %>/visualize/styles/main.less',
'<%= plugins %>/visualize/styles/visualization.less',
'<%= plugins %>/visualize/styles/main.less',
'<%= plugins %>/table_vis/table_vis.less',
'<%= plugins %>/metric_vis/metric_vis.less',
'<%= plugins %>/markdown_vis/markdown_vis.less'
'<%= src %>/**/*.js',
'!<%= src %>/fixtures/**/*.js'
]
};

grunt.config.merge(config);

var dirname = require('path').dirname;
var indexFiles = grunt.file.expand({ cwd: 'src/kibana/plugins' }, [
'*/index.js',
'!' + config.devPlugins + '/index.js'
]);
var moduleIds = indexFiles.map(function (fileName) {
return 'plugins/' + dirname(fileName) + '/index';
});

config.bundled_plugin_module_ids = grunt.bundled_plugin_module_ids = moduleIds;

// load plugins
require('load-grunt-config')(grunt, {
configPath: __dirname + '/tasks/config',
Expand Down
4 changes: 2 additions & 2 deletions STYLEGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -812,7 +812,7 @@ Kibana is written in Angular, and uses several utility methods to make using Ang
Angular modules are defined using a custom require module named `module`. It is used as follows:

```js
var app = require('modules').get('app/namespace');
var app = require('ui/modules').get('app/namespace');
```

`app` above is a reference to an Angular module, and can be used to define controllers, providers and anything else used in Angular.
Expand Down Expand Up @@ -849,7 +849,7 @@ app.service('CustomService', function(Promise, otherDeps) {
Angular routes are defined using a custom require modules named `routes` that remove much of the required boilerplate.

```js
require('routes')
require('ui/routes')
.when('/my/object/route/:id?', {
// angular route code goes here
});
Expand Down
25 changes: 25 additions & 0 deletions bin/kibana
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/sh
SCRIPT=$0

# SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path.
while [ -h "$SCRIPT" ] ; do
ls=$(ls -ld "$SCRIPT")
# Drop everything prior to ->
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=$(dirname "$SCRIPT")/"$link"
fi
done

DIR="$(dirname "${SCRIPT}")/.."
NODE="${DIR}/node/bin/node"
test -x "$NODE" || NODE=$(which node)
if [ ! -x "$NODE" ]; then
echo "unable to find usable node.js executable."
exit 1
fi

exec "${NODE}" "${DIR}/src/cli/cli" ${@}

25 changes: 25 additions & 0 deletions bin/kibana.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@echo off

SETLOCAL

set SCRIPT_DIR=%~dp0
for %%I in ("%SCRIPT_DIR%..") do set DIR=%%~dpfI

set NODE=%DIR%\node\node.exe
for /f "delims=" %%i in ('WHERE node') do set SYS_NODE=%%i

If Not Exist "%NODE%" (
IF Exist "%SYS_NODE%" (
set NODE=%SYS_NODE%
) else (
Echo unable to find usable node.js executable.
Exit /B 1
)
)

TITLE Kibana Server
"%NODE%" "%DIR%\src\cli\cli" %*

:finally

ENDLOCAL
59 changes: 0 additions & 59 deletions bower.json

This file was deleted.

Loading