2014-02-07 00:29:19 +01:00
{
2014-06-17 01:52:19 +02:00
"name" : "kibana" ,
2018-09-17 18:46:03 +02:00
"description" : "Kibana is a browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elasticsearch." ,
2015-01-07 21:48:58 +01:00
"keywords" : [
"kibana" ,
"elasticsearch" ,
"logstash" ,
"analytics" ,
"visualizations" ,
"dashboards" ,
"dashboarding"
] ,
2018-09-17 18:46:03 +02:00
"private" : true ,
2019-02-08 15:04:02 +01:00
"version" : "8.0.0" ,
2017-05-23 21:46:54 +02:00
"branch" : "master" ,
2018-12-17 19:52:21 +01:00
"types" : "./kibana.d.ts" ,
2019-04-03 12:26:00 +02:00
"tsdocMetadata" : "./build/tsdoc-metadata.json" ,
2015-07-29 22:11:04 +02:00
"build" : {
2015-08-31 20:14:09 +02:00
"number" : 8467 ,
"sha" : "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9"
2015-07-29 22:11:04 +02:00
} ,
2015-03-17 02:18:50 +01:00
"homepage" : "https://www.elastic.co/products/kibana" ,
2015-01-23 19:34:29 +01:00
"bugs" : {
2015-03-17 02:32:09 +01:00
"url" : "http://github.com/elastic/kibana/issues"
2015-01-23 19:34:29 +01:00
} ,
2018-11-27 19:04:57 +01:00
"kibana" : {
"clean" : {
"extraPatterns" : [
"build" ,
"optimize" ,
2019-01-10 01:30:29 +01:00
"built_assets" ,
2019-05-01 20:13:58 +02:00
".eslintcache" ,
".node_binaries"
2018-11-27 19:04:57 +01:00
]
}
} ,
2015-03-17 02:18:50 +01:00
"author" : "Rashid Khan <rashid.khan@elastic.co>" ,
2015-01-07 21:48:58 +01:00
"scripts" : {
2018-02-08 13:40:57 +01:00
"preinstall" : "node ./preinstall_check" ,
2018-01-24 10:34:52 +01:00
"kbn" : "node scripts/kbn" ,
2018-03-20 16:30:15 +01:00
"es" : "node scripts/es" ,
2016-06-21 20:23:40 +02:00
"test" : "grunt test" ,
2015-08-18 23:51:31 +02:00
"test:dev" : "grunt test:dev" ,
"test:quick" : "grunt test:quick" ,
"test:browser" : "grunt test:browser" ,
2019-01-03 13:32:04 +01:00
"test:jest" : "node scripts/jest" ,
"test:mocha" : "grunt test:mocha" ,
2019-01-07 04:18:07 +01:00
"test:ui" : "node scripts/functional_tests" ,
"test:ui:server" : "node scripts/functional_tests_server" ,
"test:ui:runner" : "node scripts/functional_test_runner" ,
2015-08-18 23:51:31 +02:00
"test:server" : "grunt test:server" ,
2015-08-25 02:10:21 +02:00
"test:coverage" : "grunt test:coverage" ,
2019-03-15 23:58:25 +01:00
"typespec" : "typings-tester --config x-pack/plugins/canvas/public/lib/aeroelastic/tsconfig.json x-pack/plugins/canvas/public/lib/aeroelastic/__fixtures__/typescript/typespec_tests.ts" ,
2018-06-12 16:56:10 +02:00
"checkLicenses" : "grunt licenses --dev" ,
2018-10-23 22:29:15 +02:00
"build" : "node scripts/build --all-platforms" ,
2019-02-05 19:29:16 +01:00
"start" : "node --trace-warnings --trace-deprecation scripts/kibana --dev " ,
2018-05-18 21:15:05 +02:00
"debug" : "node --nolazy --inspect scripts/kibana --dev" ,
"debug-break" : "node --nolazy --inspect-brk scripts/kibana --dev" ,
2017-11-20 22:22:24 +01:00
"precommit" : "node scripts/precommit_hook" ,
2015-08-29 06:42:21 +02:00
"karma" : "karma start" ,
2019-04-05 18:45:23 +02:00
"lint" : "yarn run lint:es && yarn run lint:sass" ,
2019-01-07 04:18:07 +01:00
"lint:es" : "node scripts/eslint" ,
"lint:sass" : "node scripts/sasslint" ,
"makelogs" : "node scripts/makelogs" ,
"mocha" : "node scripts/mocha" ,
2018-03-13 18:43:39 +01:00
"uiFramework:start" : "cd packages/kbn-ui-framework && yarn docSiteStart" ,
"uiFramework:build" : "cd packages/kbn-ui-framework && yarn docSiteBuild" ,
"uiFramework:createComponent" : "cd packages/kbn-ui-framework && yarn createComponent" ,
2018-03-26 17:54:40 +02:00
"uiFramework:documentComponent" : "cd packages/kbn-ui-framework && yarn documentComponent" ,
2018-10-05 21:00:26 +02:00
"kbn:watch" : "node scripts/kibana --dev --logging.json=false" ,
2019-04-03 12:26:00 +02:00
"build:types" : "tsc --p tsconfig.types.json" ,
2019-04-13 09:50:09 +02:00
"core:acceptApiChanges" : "node scripts/check_core_api_changes.js --accept" ,
2019-04-18 02:40:32 +02:00
"kbn:bootstrap" : "yarn build:types && node scripts/register_git_hook" ,
"spec_to_console" : "node scripts/spec_to_console"
2015-01-07 21:48:58 +01:00
} ,
"repository" : {
"type" : "git" ,
2015-03-17 02:18:50 +01:00
"url" : "https://github.com/elastic/kibana.git"
2015-01-07 21:48:58 +01:00
} ,
Beats Management (#23819)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* [Beats Management] Add Tags List (#21274)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Add TagsTable component and associated search/action bar.
* Rename some variables.
* Add constant after forgetting to save file.
* Fix design mistake in table component.
* Disable delete button when no tags selected.
* Export tags table from index.ts.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Add assignment options to Tags List.
* Remove obsolete code.
* Move tooltips for tag icons to top position.
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* [Beats CM] Manage Tags (#21776)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* Add create tags view.
* fix types
* update deps
* update kibana API for version
* Added component/config interface for editing/creating tags. Added separate pages for create/edit tags.
* Fixup.
* Beats/beat tags workflow (#21923)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* Beats/config view (#22177)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* progress on config forms
* config view inital input types working
* ts fixes
* fix more ts
* code now errors on invalid yaml
* remove un-needed include
* fix bad rebase
* saving config blocks as yaml to db is now working
* propperly formatted YAML
* loading tags back on edit screen in-progress
* fix types
* vis name validation for tag
* update EUI style
* tweak design
* fixed tag assignments (still has a ui glitch)
* fix form validation on select
* fix deps
* update deps
* attached beats now works in the edit tag screen, edit now disables changing the tag id
* better un-parsing of yaml, some elements now rendering to edit config blocks
* delete config block now works
* fix ability to edit config
* fix deps
* fix another rebase issue
* tweaks and fixes
* fix several bugs
* Beats/security (#22500)
* client side security working
* check license on route
* forgot a file
* [Beats CM] Add beats details pages (#22455)
* Move edits from previous details branch.
* Add tag view to beat details.
* Added notifications for add/remove tag from beat.
* Fix dependencies upgrade/downgrade add/removes.
* Create new page files for each sub-section of details view.
* Move page functionality from dedicated components to pages.
* [Beats CM] move to json for configs (#22693)
* move to json for configs, fix some tests
* tweaks
* add fixes (#22711)
* add fixes
* return only one config
* much improved validation for hosts, no longer require not required fields, no longer have JS in the config form config
* fix condition argument
* [Beats CM] Improve UX for assignment of tag to list of beats (#22687)
* Improve UX for assignment of tag to list of beats.
* Revert a change.
* [Beats CM] Sort beat list tags (#22729)
* Add logic to sort tags by ID when rendering in Beats List.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Remove key warnings from beat list components (#22772)
* Add logic to sort tags by ID when rendering in Beats List.
* Remove key warnings from beats list and associated components.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Add check for BeatsPage component to avoid setState when unmounted (#22836)
* Add check if component is unmounted when loading Beats List page.
* Move call to loadBeats() to componentDidMount lifecycle function.
* Update field name in table type config. (#23228)
* Utilize TagBadge functional component to standardize display of tag names. (#23253)
* [Beats CM] Add beat name to update endpoint (#23291)
* Update beat index template and update endpoints to expect name type. Add test file for update.
* Update enroll script and endpoint to create a 'name' field for beats.
* Add name field to CMBeat domain type.
* Update functional tests to include name field.
* Fix broken tag assignment functional test.
* Edit beats list table config to display most recently-updated tag time. (#23337)
* Update beat detail view info. (#23369)
* Update beat detail view info.
* Add period to end of update field.
* [Beat CM] Show only tags associated with selected beat (#23398)
* Reenable output config.
* Make beat detail tag page only show tags associated with that tag.
* Display beat name instead of ID on details screen. (#23410)
* [Beat CM] Display config name instead of beat type in beat detail view (#23411)
* Update config table in beat detail view to show config type instead of beat type.
* Modify Beat Detail view to display human-friendly names for config block types.
* [Beats CM] Add password input and re-enable output config schema (#23417)
* wip defining controls
* Complete adding formsy password field.
* Re-enable output config schema definition.
* Simplify import/export for formsy components.
* Add full list of current Filebeat & Metricbeat module (#23258)
This change also renames `Metricbeat input` to `Metricbeat module`
* Beats/ui tweaks (#23655)
* add initial breadcrumbs
* prevent errors
* New routing in place for supporting URLState needed for Kuery bar
* beats table kuery bar “working” (but not submitting)
* pulling activity view from current phase’s spec
* setup link now at correct URL
* kuery bar
* autocomplete bar now working
* Add walkthrough (#23785)
* add test system, framework, and example tests
* adding walkthrough
* clicking walkthrough step should take you to that step
* try/catch beats loading to prevent unhandeled error when there are no beats
* fix walkthrough not redirecting to main beats page
* update yarn lock files
* fix prettier
* fix x-pack package.json formatting
* update kbn server creation
* remove types from old table implementation
* move to Boom.boomify
* fix TS errors
* fix type
* rollback dep version
* fix more conflicting dep issues
* deps
* force correct node type resolution
* cleanup and skip tests (kbn test util is broken)
* added formsy and basePath
* update yarn lock file
* add beats management icon
* rename beats management main section
* Tags now called Configuration Tags in the tabs
* tokens must expire at most after 2 weeks
* fix bad auto-import
* beat details now shows the extra data needed
* tweak package.json deps for continuity
* update yarn lock for new yarn version
* [Beats CM] Re-arch table assignment control definitions (#23663)
* Patch changes to latest feature branch.
* Update table controls to offer standard search bar if kuery bar props not provided.
* Tweaked enrollment UI to inlcude beat type selection
* Reduce badge list gutter size, change logic for tag assignment to unassign all if some selected. (#24091)
* dont use genaric search bar
* removed unused import
* fix es-lint error
* fix outputs
* fix types from infra merge
* remove dupe dep
* update lock file
* push another lock file
* Add unfilteredBeats field to beat list state to prevent inappropriate redirect. (#24146)
* fix yarn lock because yarn is dumb
* Fix broken tests
2018-10-18 04:06:43 +02:00
"resolutions" : {
2019-03-05 01:35:47 +01:00
"**/@types/node" : "10.12.27" ,
2019-04-16 20:47:20 +02:00
"**/@types/hapi" : "^17.0.18" ,
2019-04-26 17:41:53 +02:00
"**/typescript" : "^3.3.3333" ,
"**/@elastic/eui/**/core-js" : "2.5.3"
Beats Management (#23819)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* [Beats Management] Add Tags List (#21274)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Add TagsTable component and associated search/action bar.
* Rename some variables.
* Add constant after forgetting to save file.
* Fix design mistake in table component.
* Disable delete button when no tags selected.
* Export tags table from index.ts.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Add assignment options to Tags List.
* Remove obsolete code.
* Move tooltips for tag icons to top position.
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* [Beats CM] Manage Tags (#21776)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* Add create tags view.
* fix types
* update deps
* update kibana API for version
* Added component/config interface for editing/creating tags. Added separate pages for create/edit tags.
* Fixup.
* Beats/beat tags workflow (#21923)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* Beats/config view (#22177)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* progress on config forms
* config view inital input types working
* ts fixes
* fix more ts
* code now errors on invalid yaml
* remove un-needed include
* fix bad rebase
* saving config blocks as yaml to db is now working
* propperly formatted YAML
* loading tags back on edit screen in-progress
* fix types
* vis name validation for tag
* update EUI style
* tweak design
* fixed tag assignments (still has a ui glitch)
* fix form validation on select
* fix deps
* update deps
* attached beats now works in the edit tag screen, edit now disables changing the tag id
* better un-parsing of yaml, some elements now rendering to edit config blocks
* delete config block now works
* fix ability to edit config
* fix deps
* fix another rebase issue
* tweaks and fixes
* fix several bugs
* Beats/security (#22500)
* client side security working
* check license on route
* forgot a file
* [Beats CM] Add beats details pages (#22455)
* Move edits from previous details branch.
* Add tag view to beat details.
* Added notifications for add/remove tag from beat.
* Fix dependencies upgrade/downgrade add/removes.
* Create new page files for each sub-section of details view.
* Move page functionality from dedicated components to pages.
* [Beats CM] move to json for configs (#22693)
* move to json for configs, fix some tests
* tweaks
* add fixes (#22711)
* add fixes
* return only one config
* much improved validation for hosts, no longer require not required fields, no longer have JS in the config form config
* fix condition argument
* [Beats CM] Improve UX for assignment of tag to list of beats (#22687)
* Improve UX for assignment of tag to list of beats.
* Revert a change.
* [Beats CM] Sort beat list tags (#22729)
* Add logic to sort tags by ID when rendering in Beats List.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Remove key warnings from beat list components (#22772)
* Add logic to sort tags by ID when rendering in Beats List.
* Remove key warnings from beats list and associated components.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Add check for BeatsPage component to avoid setState when unmounted (#22836)
* Add check if component is unmounted when loading Beats List page.
* Move call to loadBeats() to componentDidMount lifecycle function.
* Update field name in table type config. (#23228)
* Utilize TagBadge functional component to standardize display of tag names. (#23253)
* [Beats CM] Add beat name to update endpoint (#23291)
* Update beat index template and update endpoints to expect name type. Add test file for update.
* Update enroll script and endpoint to create a 'name' field for beats.
* Add name field to CMBeat domain type.
* Update functional tests to include name field.
* Fix broken tag assignment functional test.
* Edit beats list table config to display most recently-updated tag time. (#23337)
* Update beat detail view info. (#23369)
* Update beat detail view info.
* Add period to end of update field.
* [Beat CM] Show only tags associated with selected beat (#23398)
* Reenable output config.
* Make beat detail tag page only show tags associated with that tag.
* Display beat name instead of ID on details screen. (#23410)
* [Beat CM] Display config name instead of beat type in beat detail view (#23411)
* Update config table in beat detail view to show config type instead of beat type.
* Modify Beat Detail view to display human-friendly names for config block types.
* [Beats CM] Add password input and re-enable output config schema (#23417)
* wip defining controls
* Complete adding formsy password field.
* Re-enable output config schema definition.
* Simplify import/export for formsy components.
* Add full list of current Filebeat & Metricbeat module (#23258)
This change also renames `Metricbeat input` to `Metricbeat module`
* Beats/ui tweaks (#23655)
* add initial breadcrumbs
* prevent errors
* New routing in place for supporting URLState needed for Kuery bar
* beats table kuery bar “working” (but not submitting)
* pulling activity view from current phase’s spec
* setup link now at correct URL
* kuery bar
* autocomplete bar now working
* Add walkthrough (#23785)
* add test system, framework, and example tests
* adding walkthrough
* clicking walkthrough step should take you to that step
* try/catch beats loading to prevent unhandeled error when there are no beats
* fix walkthrough not redirecting to main beats page
* update yarn lock files
* fix prettier
* fix x-pack package.json formatting
* update kbn server creation
* remove types from old table implementation
* move to Boom.boomify
* fix TS errors
* fix type
* rollback dep version
* fix more conflicting dep issues
* deps
* force correct node type resolution
* cleanup and skip tests (kbn test util is broken)
* added formsy and basePath
* update yarn lock file
* add beats management icon
* rename beats management main section
* Tags now called Configuration Tags in the tabs
* tokens must expire at most after 2 weeks
* fix bad auto-import
* beat details now shows the extra data needed
* tweak package.json deps for continuity
* update yarn lock for new yarn version
* [Beats CM] Re-arch table assignment control definitions (#23663)
* Patch changes to latest feature branch.
* Update table controls to offer standard search bar if kuery bar props not provided.
* Tweaked enrollment UI to inlcude beat type selection
* Reduce badge list gutter size, change logic for tag assignment to unassign all if some selected. (#24091)
* dont use genaric search bar
* removed unused import
* fix es-lint error
* fix outputs
* fix types from infra merge
* remove dupe dep
* update lock file
* push another lock file
* Add unfilteredBeats field to beat list state to prevent inappropriate redirect. (#24146)
* fix yarn lock because yarn is dumb
* Fix broken tests
2018-10-18 04:06:43 +02:00
} ,
2018-11-12 19:38:11 +01:00
"workspaces" : {
"packages" : [
"packages/*" ,
"x-pack" ,
2018-12-05 16:45:19 +01:00
"x-pack/plugins/*" ,
2019-03-21 07:12:25 +01:00
"test/plugin_functional/plugins/*" ,
"test/interpreter_functional/plugins/*"
2018-11-12 19:38:11 +01:00
] ,
"nohoist" : [
"**/@types/*" ,
"**/@types/*/**" ,
"**/grunt-*" ,
"**/grunt-*/**" ,
2019-03-26 17:31:10 +01:00
"x-pack/typescript"
2018-11-12 19:38:11 +01:00
]
} ,
2015-01-07 21:48:58 +01:00
"dependencies" : {
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"@babel/core" : "^7.3.4" ,
"@babel/polyfill" : "^7.2.5" ,
"@babel/register" : "^7.0.0" ,
2018-12-15 00:42:32 +01:00
"@elastic/datemath" : "5.0.2" ,
2019-05-06 06:37:07 +02:00
"@elastic/eui" : "10.4.0" ,
2017-08-09 21:31:30 +02:00
"@elastic/filesaver" : "1.1.2" ,
2018-12-10 18:41:51 +01:00
"@elastic/good" : "8.1.1-kibana2" ,
2019-04-18 19:42:16 +02:00
"@elastic/numeral" : "2.3.3" ,
2017-08-09 21:31:30 +02:00
"@elastic/ui-ace" : "0.2.3" ,
2018-12-05 16:45:19 +01:00
"@kbn/babel-code-parser" : "1.0.0" ,
2018-11-12 19:38:11 +01:00
"@kbn/babel-preset" : "1.0.0" ,
"@kbn/config-schema" : "1.0.0" ,
2018-11-22 15:24:19 +01:00
"@kbn/es-query" : "1.0.0" ,
2018-11-12 19:38:11 +01:00
"@kbn/i18n" : "1.0.0" ,
2018-11-28 15:37:16 +01:00
"@kbn/interpreter" : "1.0.0" ,
2018-11-12 19:38:11 +01:00
"@kbn/pm" : "1.0.0" ,
"@kbn/test-subj-selector" : "0.2.1" ,
"@kbn/ui-framework" : "1.0.0" ,
2019-03-05 21:42:02 +01:00
"@types/json-stable-stringify" : "^1.0.32" ,
2019-02-11 22:01:12 +01:00
"@types/lodash.clonedeep" : "^4.5.4" ,
2019-03-22 20:53:24 +01:00
"@types/react-grid-layout" : "^0.16.7" ,
2019-03-14 05:09:05 +01:00
"@types/recompose" : "^0.30.5" ,
2019-01-03 17:01:43 +01:00
"JSONStream" : "1.1.1" ,
2018-07-13 01:11:24 +02:00
"abortcontroller-polyfill" : "^1.1.9" ,
2019-04-30 18:16:42 +02:00
"angular" : "npm:@elastic/angular@1.6.9-kibana.0" ,
2017-11-17 09:33:11 +01:00
"angular-aria" : "1.6.6" ,
2015-07-28 02:13:45 +02:00
"angular-elastic" : "2.5.0" ,
2018-04-05 22:58:06 +02:00
"angular-recursion" : "^1.0.5" ,
2015-10-15 15:32:20 +02:00
"angular-route" : "1.4.7" ,
2018-12-14 17:45:05 +01:00
"angular-sanitize" : "1.6.5" ,
2016-12-16 00:11:42 +01:00
"angular-sortable-view" : "0.0.15" ,
2018-08-10 23:24:14 +02:00
"autoprefixer" : "^9.1.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"babel-loader" : "8.0.5" ,
2019-01-10 20:31:12 +01:00
"bluebird" : "3.5.3" ,
2018-10-25 23:01:12 +02:00
"boom" : "^7.2.0" ,
2018-05-15 22:31:26 +02:00
"brace" : "0.11.1" ,
2019-05-03 15:15:14 +02:00
"cache-loader" : "1.2.2" ,
2018-07-13 01:26:57 +02:00
"chalk" : "^2.4.1" ,
2017-03-02 21:07:28 +01:00
"color" : "1.0.3" ,
2015-09-05 10:49:36 +02:00
"commander" : "2.8.1" ,
2018-01-13 21:14:04 +01:00
"compare-versions" : "3.1.0" ,
2019-03-04 20:38:50 +01:00
"core-js" : "2.5.3" ,
2018-12-05 16:45:19 +01:00
"css-loader" : "1.0.0" ,
2018-01-25 15:38:16 +01:00
"custom-event-polyfill" : "^0.3.0" ,
2015-09-05 10:49:36 +02:00
"d3" : "3.5.6" ,
2016-11-21 23:03:25 +01:00
"d3-cloud" : "1.2.1" ,
2018-07-18 13:55:23 +02:00
"del" : "^3.0.0" ,
2016-05-12 11:46:34 +02:00
"dragula" : "3.7.0" ,
2019-05-02 02:47:49 +02:00
"elasticsearch" : "^15.5.0" ,
"elasticsearch-browser" : "^15.5.0" ,
2016-09-10 00:39:57 +02:00
"encode-uri-query" : "1.0.0" ,
2018-12-10 18:41:51 +01:00
"execa" : "^1.0.0" ,
2015-09-05 10:49:36 +02:00
"expiry-js" : "0.1.7" ,
2018-12-05 16:45:19 +01:00
"file-loader" : "2.0.0" ,
2017-04-12 00:01:06 +02:00
"font-awesome" : "4.4.0" ,
2018-10-20 17:45:14 +02:00
"getos" : "^3.1.0" ,
2018-07-27 13:30:17 +02:00
"glob" : "^7.1.2" ,
"glob-all" : "^3.1.0" ,
2018-12-12 13:03:58 +01:00
"globby" : "^8.0.1" ,
2015-09-05 10:49:36 +02:00
"good-squeeze" : "2.1.0" ,
2018-10-25 23:01:12 +02:00
"h2o2" : "^8.1.2" ,
2019-04-29 21:59:54 +02:00
"handlebars" : "4.0.14" ,
2018-10-25 23:01:12 +02:00
"hapi" : "^17.5.3" ,
2019-04-22 20:32:15 +02:00
"hapi-auth-cookie" : "^9.0.0" ,
2018-01-13 21:14:04 +01:00
"hjson" : "3.1.0" ,
2018-10-25 23:01:12 +02:00
"hoek" : "^5.0.4" ,
2018-05-01 22:52:55 +02:00
"http-proxy-agent" : "^2.1.0" ,
"https-proxy-agent" : "^2.2.1" ,
2018-10-25 23:01:12 +02:00
"inert" : "^5.1.0" ,
"joi" : "^13.5.2" ,
2019-05-02 06:44:35 +02:00
"jquery" : "^3.4.1" ,
2019-04-14 17:02:36 +02:00
"js-yaml" : "3.4.1" ,
2019-03-05 21:42:02 +01:00
"json-stable-stringify" : "^1.0.1" ,
2018-01-13 21:14:04 +01:00
"json-stringify-pretty-compact" : "1.0.4" ,
2015-09-05 10:49:36 +02:00
"json-stringify-safe" : "5.0.1" ,
2017-08-23 01:26:30 +02:00
"leaflet" : "1.0.3" ,
"leaflet-draw" : "0.4.10" ,
"leaflet-responsive-popup" : "0.2.0" ,
2018-04-26 00:31:16 +02:00
"leaflet-vega" : "^0.8.6" ,
2018-04-09 20:08:53 +02:00
"leaflet.heat" : "0.2.0" ,
2019-03-29 18:21:39 +01:00
"less" : "^2.7.3" ,
2018-12-05 16:45:19 +01:00
"less-loader" : "4.1.0" ,
2018-10-15 19:04:27 +02:00
"lodash" : "npm:@elastic/lodash@3.10.1-kibana1" ,
2019-02-11 22:01:12 +01:00
"lodash.clonedeep" : "^4.5.0" ,
2017-10-03 10:51:59 +02:00
"lru-cache" : "4.1.1" ,
2018-05-28 16:52:04 +02:00
"markdown-it" : "^8.4.1" ,
2018-12-05 16:45:19 +01:00
"mini-css-extract-plugin" : "0.4.4" ,
2018-07-27 13:30:17 +02:00
"minimatch" : "^3.0.4" ,
2015-09-05 10:49:36 +02:00
"mkdirp" : "0.5.1" ,
2018-01-31 19:16:36 +01:00
"moment" : "^2.20.1" ,
"moment-timezone" : "^0.5.14" ,
Kibana Home page - phase two (#14749)
* add tutorial directory and home promo section
* tutorial components
* use KuiCodeEditor for displaying instruction code
* move spec files to server so joi can be used. Fetch via rest API
* Adding more tutorials (#4)
* More edits on the Apache logs tutorial
* Added nginx, mysql, and sytem modules for FB
* Moved apache to apacheLogs and added an apacheMetrics tutorial
* Added mysqlMetrics, nginxMetrics, systemMetrics tutorials
* Reduce duplication in the tutorials
This uses common objects for the install and start steps for Filebeat.
Same can be done for MB.
* fix windows path for config file
* add markdown parsing
* use mustache to replace config.kibana.version with kibana version
* add image preview to tutorial introduction
* fix css class name
* add param types constants
* add docs variables
* [WIP] Logstash Netflow module tutorial (#5)
* First draft of Logstash Netflow module tutorial
* Incorporated writing style suggestions
* pass params to template replace logic
* parameter inputs
* use isReadOnly flag from ui-framework for KuiCodeEditor
* dedemorton commits on netflow
* remove trailing slash from base links
* add config.docs.logstash and fix vertical spacing between Content component and commands
* Use logstash docs config variable
* Starting to add Deb instructions
* Fix Logstash documentation link
* Make commands optional
* Refactor: extract common LS instructions
* Edits for the existing tutorials
* change schema to support three instruction types
* [Netflow tutorial] Simplify OSX instructions
* replace axios with fetch
* pass credentials to tutorial fetch
* display cloud instructions when cloud set
* RadioButtonGroup component
* update copy
* add tutorial component jest tests
* content component test
* load isCloudEnabled in home_app
* add functional test ensuring add data tutorials are fetch and displayed
* rename card btns to 'Add data', fix type in tutorial directory tab, remove 'Set up index pattern from tutorial directory'
* move parameters form to right of instruction set title
* add copy snippet button, remove line numbers from command block
* add breadcrumb to tutorial view
* update tutorial jest snapshot
* use componentDidMount and ignore async results if componenent has been unmounted
* define shape of prop for instructionVariants and params. Create NumberParameter and StringParameter components
* add bread crumb to add data directory page
* Add cloud version of the apache_logs tutorial (#16)
* Add cloud version of the apache_logs tutorial
* Added onprem-cloud version as well
* fix styling broken by EUI rebase
* add artifacts to tutorial schema
* fix styling for code block
* [Tutorials] Netflow: instructions for onPremCloud (#18)
* Extract common on-prem cloud instructions so LS and Beats can share them
* Extracting common instructions; adding onPremCloud instructions
* fix copy bug where copy would only contain previously selected text
* make string parameter input type be text
* Implementing Elastic Cloud tutorial for Netflow module (#19)
* More tutorial edits (#20)
* More tutorial edits
This updates the on prem instructions with a step that installs the GeoIP and
UA plugins in ES. It also makes the on-prem steps more consistent with the cloud
instructions which results in less redundancy in the code.
* Show config step for all variants
* More DRY in the tutorial content
* Updated screenshot for apache_logs
* wrap markdown content in markdown-body class
* use EuiFlexGroup to remove wasted space with 'copy snippet' button and instruction text
* change OSX to macOS, use Computed property names for instruction_variant DISPLAY_MAP, replace /app/kibana with kbnBaseUrl, remove unneeded if check in copy_to_clippboard, put getTutorials mixin on server instead of request
* capitilize 'C' in Elastic Cloud
* remove try/catch from copy_to_clipboard
* Removing unrelated instructions
* Copy editing fixes
* Multiply edits to the Beats tutorials (#21)
* Updated Nginx module
* Updated MySQL logs module
* Updated system logs module
* Correct the on_prem_cloud enable steps
* Updated the Nginx metrics tutorial and added screenshot
* Updated the Apache metrics module + screenshot
* Updated the MySQL metrics module + screenshot
* Updated the system metrics module + screenshot
* prevent 'Copy snippet' button text from wrapping
* [Netflow tutorial] Windows instructions (#22)
* [Netflow tutorial] Adding onPrem instructions for Windows
* Removing unrelated/superfluous instructions
* Adding Windows instructions for onPremElasticCloud and elasticCloud
* use EuiImage so tutorial images are clickable to view in full screen
* fix jest tests
* set fullScreenIconColor and alt options for EuiImage, add space between command block and instruction text
2018-01-10 15:20:38 +01:00
"mustache" : "2.3.0" ,
2018-01-10 20:26:02 +01:00
"ngreact" : "0.5.1" ,
2016-11-21 23:03:25 +01:00
"no-ui-slider" : "1.2.0" ,
2016-09-09 23:10:50 +02:00
"node-fetch" : "1.3.2" ,
2018-11-08 15:12:01 +01:00
"opn" : "^5.4.0" ,
2018-10-25 23:01:12 +02:00
"oppsy" : "^2.0.0" ,
2016-09-09 23:10:50 +02:00
"pegjs" : "0.9.0" ,
2018-12-05 16:45:19 +01:00
"postcss-loader" : "3.0.0" ,
2017-05-03 15:44:31 +02:00
"prop-types" : "15.5.8" ,
2017-08-09 21:31:30 +02:00
"proxy-from-env" : "1.0.0" ,
2018-07-27 13:21:27 +02:00
"pug" : "^2.0.3" ,
2016-09-09 23:10:50 +02:00
"querystring-browser" : "1.0.4" ,
2015-09-05 10:49:36 +02:00
"raw-loader" : "0.5.1" ,
2019-02-21 11:27:35 +01:00
"react" : "^16.8.0" ,
2018-03-16 16:59:59 +01:00
"react-addons-shallow-compare" : "15.6.2" ,
2018-01-17 10:14:12 +01:00
"react-color" : "^2.13.8" ,
2019-02-21 11:27:35 +01:00
"react-dom" : "^16.8.0" ,
2018-01-17 10:14:12 +01:00
"react-grid-layout" : "^0.16.2" ,
"react-input-range" : "^1.3.0" ,
2018-12-21 00:29:29 +01:00
"react-markdown" : "^3.4.1" ,
2018-08-29 13:18:46 +02:00
"react-redux" : "^5.0.7" ,
2018-10-23 22:34:23 +02:00
"react-router-dom" : "^4.3.1" ,
2018-01-17 10:14:12 +01:00
"react-sizeme" : "^2.3.6" ,
2017-12-11 22:02:39 +01:00
"reactcss" : "1.2.3" ,
2018-08-29 13:18:46 +02:00
"redux" : "4.0.0" ,
2017-10-23 22:39:23 +02:00
"redux-actions" : "2.2.1" ,
2018-08-29 13:18:46 +02:00
"redux-thunk" : "2.3.0" ,
2017-10-25 00:45:57 +02:00
"regression" : "2.0.0" ,
2018-11-07 17:12:26 +01:00
"request" : "^2.88.0" ,
2018-03-09 17:09:54 +01:00
"reselect" : "^3.0.1" ,
2018-12-11 23:00:18 +01:00
"resize-observer-polyfill" : "^1.5.0" ,
2015-09-05 10:49:36 +02:00
"rimraf" : "2.4.3" ,
2016-04-15 23:58:20 +02:00
"rison-node" : "1.0.0" ,
2018-06-25 20:04:19 +02:00
"rxjs" : "^6.2.1" ,
2017-11-01 00:31:22 +01:00
"script-loader" : "0.7.2" ,
2018-05-25 19:43:01 +02:00
"semver" : "^5.5.0" ,
2018-11-23 22:16:38 +01:00
"stream-stream" : "^1.2.6" ,
2019-05-01 04:51:42 +02:00
"style-it" : "^2.1.3" ,
2018-12-05 16:45:19 +01:00
"style-loader" : "0.23.1" ,
2019-05-02 19:14:10 +02:00
"tar" : "4.4.8" ,
2018-12-18 20:29:50 +01:00
"terser-webpack-plugin" : "^1.1.0" ,
2019-02-06 01:45:15 +01:00
"thread-loader" : "^2.1.2" ,
2016-09-09 23:10:50 +02:00
"tinygradient" : "0.3.0" ,
2018-12-11 22:54:34 +01:00
"tinymath" : "1.1.1" ,
2018-01-16 21:30:52 +01:00
"topojson-client" : "3.0.0" ,
2016-04-05 23:56:45 +02:00
"trunc-html" : "1.0.2" ,
"trunc-text" : "1.0.2" ,
2018-09-13 23:18:13 +02:00
"tslib" : "^1.9.3" ,
2018-07-11 10:19:35 +02:00
"type-detect" : "^4.0.8" ,
2017-03-31 20:37:10 +02:00
"ui-select" : "0.19.6" ,
2018-12-05 16:45:19 +01:00
"url-loader" : "1.1.2" ,
2017-06-07 00:15:53 +02:00
"uuid" : "3.0.1" ,
2018-12-05 16:45:19 +01:00
"val-loader" : "^1.1.1" ,
2016-03-04 16:31:58 +01:00
"validate-npm-package-name" : "2.2.2" ,
2019-02-15 17:50:09 +01:00
"vega-lib" : "4.3.0" ,
2019-02-14 11:35:05 +01:00
"vega-lite" : "^2.6.0" ,
2018-01-13 21:14:04 +01:00
"vega-schema-url-parser" : "1.0.0" ,
2018-05-18 19:54:57 +02:00
"vega-tooltip" : "^0.9.14" ,
2018-10-25 23:01:12 +02:00
"vision" : "^5.3.3" ,
2018-12-05 16:45:19 +01:00
"webpack" : "4.23.1" ,
"webpack-merge" : "4.1.4" ,
2019-01-02 23:08:52 +01:00
"whatwg-fetch" : "^3.0.0" ,
2018-10-25 23:01:12 +02:00
"wreck" : "^14.0.2" ,
2017-04-11 21:58:38 +02:00
"yauzl" : "2.7.0"
2015-01-07 21:48:58 +01:00
} ,
2014-02-11 00:09:04 +01:00
"devDependencies" : {
2019-02-27 18:27:40 +01:00
"@babel/parser" : "^7.3.4" ,
"@babel/types" : "^7.3.4" ,
2018-11-12 19:38:11 +01:00
"@elastic/eslint-config-kibana" : "0.15.0" ,
2019-05-06 20:22:24 +02:00
"@elastic/github-checks-reporter" : "0.0.12" ,
2019-02-08 02:36:26 +01:00
"@elastic/makelogs" : "^4.4.0" ,
2018-11-12 19:38:11 +01:00
"@kbn/es" : "1.0.0" ,
"@kbn/eslint-import-resolver-kibana" : "2.0.0" ,
2019-03-23 01:12:14 +01:00
"@kbn/eslint-plugin-eslint" : "1.0.0" ,
2019-03-25 17:56:48 +01:00
"@kbn/expect" : "1.0.0" ,
2018-11-12 19:38:11 +01:00
"@kbn/plugin-generator" : "1.0.0" ,
"@kbn/test" : "1.0.0" ,
2019-04-16 22:19:13 +02:00
"@microsoft/api-documenter" : "7.0.49" ,
2019-05-06 10:15:40 +02:00
"@microsoft/api-extractor" : "7.1.1" ,
Beats Management (#23819)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* [Beats Management] Add Tags List (#21274)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Add TagsTable component and associated search/action bar.
* Rename some variables.
* Add constant after forgetting to save file.
* Fix design mistake in table component.
* Disable delete button when no tags selected.
* Export tags table from index.ts.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Add assignment options to Tags List.
* Remove obsolete code.
* Move tooltips for tag icons to top position.
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* [Beats CM] Manage Tags (#21776)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* Add create tags view.
* fix types
* update deps
* update kibana API for version
* Added component/config interface for editing/creating tags. Added separate pages for create/edit tags.
* Fixup.
* Beats/beat tags workflow (#21923)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* Beats/config view (#22177)
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* add details page, re-configure routes
* move tag crud to new route stuff
* update tag create/edit component api
* tags creation now working
* bunch of stuff I should have split up better…
* fixed perf bug, selected items that are removed are no longer phantom selected
* fix rendering of assignments
* remove assign to beats, the UX was too poor
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* Beats/update (#21702)
* [ML] Fixing issue with historical job audit messages (#21718)
* Add proper aria-label for close inspector (#21719)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* [Beats Management] Move to Ingest UI arch and initial TS effort (#20039)
* [Beats Management] Initial scaffolding for plugin (#18977)
* Initial scaffolding for Beats plugin
* Removing bits not (yet) necessary in initial scaffolding
* [Beats Management] Install Beats index template on plugin init (#19072)
* Install Beats index template on plugin init
* Adding missing files
* [Beats Management] APIs: Create enrollment tokens (#19018)
* WIP checkin
* Register API routes
* Fixing typo in index name
* Adding TODOs
* Removing commented out license checking code that isn't yet implemented
* Remove unnecessary async/await
* Don't return until indices have been refreshed
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Adding TODO
* Fixing variable name
* Using a single index
* Adding expiration date field
* Adding test for expiration date field
* Ignore non-existent index
* Fixing logic in test
* Creating constant for default enrollment tokens TTL value
* Updating test
* Fixing name of test file (#19100)
* [Beats Management] APIs: Enroll beat (#19056)
* WIP checkin
* Add API integration test
* Converting to Jest test
* Create API for enrolling a beat
* Handle invalid or expired enrollment tokens
* Use create instead of index to prevent same beat from being enrolled twice
* Adding unit test for duplicate beat enrollment
* Do not persist enrollment token with beat once token has been checked and used
* Fix datatype of host_ip field
* Make Kibana API guess host IP instead of requiring it in payload
* Fixing error introduced in rebase conflict resolution
* [Beats Management] APIs: List beats (#19086)
* WIP checkin
* Add API integration test
* Converting to Jest test
* WIP checkin
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Updating mapping
* [Beats Management] APIs: Verify beats (#19103)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Fleshing out remaining tests
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Moving TODO comment to right file
* Rename determine* helper functions to find*
* Fixing assertions (#19194)
* [Beats Management] APIs: Update beat (#19148)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Add API tests
* Update template to allow version field for beat
* Implement PUT /api/beats/agent/{beat ID} API
* Make enroll beat code consistent with update beat code
* Fixing minor typo in TODO comment
* Allow version in request payload
* Make sure beat is not updated in ES in error scenarios
* Adding version as required field in Enroll Beat API payload
* Using destructuring
* Fixing rename that was accidentally reversed in conflict fixing
* [Beats Management] APIs: take auth tokens via headers (#19210)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Make "Enroll Beat" API take enrollment token via header instead of request body
* Make "Update Beat" API take access token via header instead of request body
* [Beats Management] APIs: Create configuration block (#19270)
* WIP checkin
* WIP checkin
* Add API integration test
* Converting to Jest test
* Fixing API for default case + adding test for it
* Fixing copy pasta typos
* Fixing variable name
* Using a single index
* Implementing GET /api/beats/agents API
* Creating POST /api/beats/agents/verify API
* Refactoring: extracting out helper functions
* Expanding TODO note so I won't forget :)
* Fixing file name
* Updating mapping
* Fixing minor typo in TODO comment
* Implementing POST /api/beats/configuration_blocks API
* Removing unnecessary escaping
* Fleshing out types + adding validation for them
* Making output singular (was outputs)
* Removing metricbeat.inputs
* Revert implementation of `POST /api/beats/configuration_blocks` API (#19340)
This API allowed the user to operate at a level of abstraction that is unnecessarily and dangerously too low. A better API would be at one level higher, where users can create, update, and delete tags (where a tag can contain multiple configuration blocks).
* [Beats Management] APIs: Create or update tag (#19342)
* Updating mappings
* Implementing PUT /api/beats/tag/{tag} API
* [Beats Management] Prevent timing attacks when checking auth tokens (#19363)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Prevent subtler timing attack in token comparison function
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* [Beats Management] APIs: Assign tag(s) to beat(s) (#19431)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Rename "determine" to "find"
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Updating ES archive
* Renaming
* Use destructuring
* Moving start of script to own line to increase readability
* Using destructuring
* [Beats Management] APIs: Remove tag(s) from beat(s) (#19440)
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Remove random delay
* Starting to implement POST /api/beats/beats_tags API
* Changing API
* Updating tests for changes to API
* Renaming
* Use destructuring
* Using crypto.timingSafeEqual() for comparing auth tokens
* Introduce random delay after we try to find token in ES to mitigate timing attack
* Implementing `POST /api/beats/agents_tags/removals` API
* Updating ES archive
* Use destructuring
* Moving start of script to own line to increase readability
* Nothing to remove if there are no existing tags!
* Updating tests to match changes in bulk update painless script
* Use destructuring
* Ported over base types and arch structure
* move management of installIndexTemplate into the framework adapter
* ts-lint fix
* tslint fixes
* more ts tweaks
* fix paths
* added several working endpoints
* add more routes and bug fixes
* fix linting
* fix type remove CRUFT
* remove more cruft
* remove more CRUFT
* added comments, change plurality
* add tsconfig file
* add extends path
* fixed typo
* serveral PR review fixes
* fixed lodash type version
* “fix” types by applying a lot of any
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* [Beats Management] add more tests, update types, break out ES into it's own adapter (#20566)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* fix auth
* updated lock file
* [Beats Management] add get beat endpoint (#20603)
* [Beats Management] Move tokens to use JWT, add more complete test suite (#20317)
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* fix broken test, this is beats CM not logstash 😊
* added readme
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* inital effort to move to JWT and added jest based tests on libs
* assign beats tests all passing
* token tests now pass
* add more tests
* all tests now green
* move enrollment token back to a hash
* remove un-needed comment
* alias lodash get to avoid confusion
* isolated hash creation
* Add initial efforts for backend framework adapter testing
* move ES code to a DatabaseAdapter from BackendAdapter and add a TON of types for ES
* re-typed
* renamed types to match pattern
* aditional renames
* adapter tests should always just use adapterSetup();
* database now uses InternalRequest
* corrected spelling of framework
* fix typings
* remove CRUFT
* RequestOrInternal
* Dont pass around request objects everywhere, just pass the user. Also, removed hapi types as they were not compatible
* fix tests, add test, removed extra comment
* Moved critical path code from route, to more easeley tested domain
* fix auth
* remove beat verification, added get beat endpoint to return configs
* fix type
* update createGetBeatConfigurationRoute URL
* rename method
* update to match PR #20566
* updated lock file
* fix bad merge
* update TSLinting
* fix bad rebase
* [Beats Management] [WIP] Create public resources for management plugin (#20864)
* Init plugin public resources.
* rename beats to beats_management
* rendering react now
* Beats/initial ui (#20994)
* initial layout and main nav
* modal UI and pattern for UI established
* fix path
* wire up in-memroy adapters
* tweak adapters
* add getAll method to tags adapter (#21287)
* Beats/real adapters (#21481)
* add initial real adapters, and nulled data where we need endpoints
* UI adapters and needed endpoints added (though not tested)
* prep for route tests and some cleanup
* move files
* [Beats Management] Add BeatsTable/Bulk Action Search Component (#21182)
* Add BeatsTable and control bar components.
* Clean yarn.lock.
* Move raw numbers/strings to constants. Remove obsolete state/props.
* Update/add tests.
* Change prop name from "items" to "beats".
* Rename some variables.
* Move search bar filter definitions to table render.
* Update table to support assignment options.
* Update action control position.
* Refactor split render function into custom components.
* Beats/basic use cases (#21660)
* tweak adapter responses / types. re-add enroll ui
* routes enabled, enroll now pings the server
* full enrollment path now working
* improved pinging for beat enrollment
* fix location of history call
* reload beats list on beat enrollment completion
* add update on client side, expand update on server to allow for partial data, and user auth
* remove double beat lookup
* fix tests
* only return active beats
* disenroll now working
* fig getAll query
* re-enrolling a beat will now work
* fix types
* fix types
* update deps
* update kibana API for version
* progress on config forms
* config view inital input types working
* ts fixes
* fix more ts
* code now errors on invalid yaml
* remove un-needed include
* fix bad rebase
* saving config blocks as yaml to db is now working
* propperly formatted YAML
* loading tags back on edit screen in-progress
* fix types
* vis name validation for tag
* update EUI style
* tweak design
* fixed tag assignments (still has a ui glitch)
* fix form validation on select
* fix deps
* update deps
* attached beats now works in the edit tag screen, edit now disables changing the tag id
* better un-parsing of yaml, some elements now rendering to edit config blocks
* delete config block now works
* fix ability to edit config
* fix deps
* fix another rebase issue
* tweaks and fixes
* fix several bugs
* Beats/security (#22500)
* client side security working
* check license on route
* forgot a file
* [Beats CM] Add beats details pages (#22455)
* Move edits from previous details branch.
* Add tag view to beat details.
* Added notifications for add/remove tag from beat.
* Fix dependencies upgrade/downgrade add/removes.
* Create new page files for each sub-section of details view.
* Move page functionality from dedicated components to pages.
* [Beats CM] move to json for configs (#22693)
* move to json for configs, fix some tests
* tweaks
* add fixes (#22711)
* add fixes
* return only one config
* much improved validation for hosts, no longer require not required fields, no longer have JS in the config form config
* fix condition argument
* [Beats CM] Improve UX for assignment of tag to list of beats (#22687)
* Improve UX for assignment of tag to list of beats.
* Revert a change.
* [Beats CM] Sort beat list tags (#22729)
* Add logic to sort tags by ID when rendering in Beats List.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Remove key warnings from beat list components (#22772)
* Add logic to sort tags by ID when rendering in Beats List.
* Remove key warnings from beats list and associated components.
* Prefer lodash sortBy over inline sort implementation.
* [Beats CM] Add check for BeatsPage component to avoid setState when unmounted (#22836)
* Add check if component is unmounted when loading Beats List page.
* Move call to loadBeats() to componentDidMount lifecycle function.
* Update field name in table type config. (#23228)
* Utilize TagBadge functional component to standardize display of tag names. (#23253)
* [Beats CM] Add beat name to update endpoint (#23291)
* Update beat index template and update endpoints to expect name type. Add test file for update.
* Update enroll script and endpoint to create a 'name' field for beats.
* Add name field to CMBeat domain type.
* Update functional tests to include name field.
* Fix broken tag assignment functional test.
* Edit beats list table config to display most recently-updated tag time. (#23337)
* Update beat detail view info. (#23369)
* Update beat detail view info.
* Add period to end of update field.
* [Beat CM] Show only tags associated with selected beat (#23398)
* Reenable output config.
* Make beat detail tag page only show tags associated with that tag.
* Display beat name instead of ID on details screen. (#23410)
* [Beat CM] Display config name instead of beat type in beat detail view (#23411)
* Update config table in beat detail view to show config type instead of beat type.
* Modify Beat Detail view to display human-friendly names for config block types.
* [Beats CM] Add password input and re-enable output config schema (#23417)
* wip defining controls
* Complete adding formsy password field.
* Re-enable output config schema definition.
* Simplify import/export for formsy components.
* Add full list of current Filebeat & Metricbeat module (#23258)
This change also renames `Metricbeat input` to `Metricbeat module`
* Beats/ui tweaks (#23655)
* add initial breadcrumbs
* prevent errors
* New routing in place for supporting URLState needed for Kuery bar
* beats table kuery bar “working” (but not submitting)
* pulling activity view from current phase’s spec
* setup link now at correct URL
* kuery bar
* autocomplete bar now working
* Add walkthrough (#23785)
* add test system, framework, and example tests
* adding walkthrough
* clicking walkthrough step should take you to that step
* try/catch beats loading to prevent unhandeled error when there are no beats
* fix walkthrough not redirecting to main beats page
* update yarn lock files
* fix prettier
* fix x-pack package.json formatting
* update kbn server creation
* remove types from old table implementation
* move to Boom.boomify
* fix TS errors
* fix type
* rollback dep version
* fix more conflicting dep issues
* deps
* force correct node type resolution
* cleanup and skip tests (kbn test util is broken)
* added formsy and basePath
* update yarn lock file
* add beats management icon
* rename beats management main section
* Tags now called Configuration Tags in the tabs
* tokens must expire at most after 2 weeks
* fix bad auto-import
* beat details now shows the extra data needed
* tweak package.json deps for continuity
* update yarn lock for new yarn version
* [Beats CM] Re-arch table assignment control definitions (#23663)
* Patch changes to latest feature branch.
* Update table controls to offer standard search bar if kuery bar props not provided.
* Tweaked enrollment UI to inlcude beat type selection
* Reduce badge list gutter size, change logic for tag assignment to unassign all if some selected. (#24091)
* dont use genaric search bar
* removed unused import
* fix es-lint error
* fix outputs
* fix types from infra merge
* remove dupe dep
* update lock file
* push another lock file
* Add unfilteredBeats field to beat list state to prevent inappropriate redirect. (#24146)
* fix yarn lock because yarn is dumb
* Fix broken tests
2018-10-18 04:06:43 +02:00
"@octokit/rest" : "^15.10.0" ,
2018-12-05 16:45:19 +01:00
"@types/angular" : "1.6.50" ,
2018-10-02 10:55:15 +02:00
"@types/angular-mocks" : "^1.7.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"@types/babel__core" : "^7.1.0" ,
2018-06-22 15:18:29 +02:00
"@types/bluebird" : "^3.1.1" ,
2018-09-17 20:24:32 +02:00
"@types/boom" : "^7.2.0" ,
2018-07-11 10:19:35 +02:00
"@types/chance" : "^1.0.0" ,
2018-12-21 06:16:02 +01:00
"@types/cheerio" : "^0.22.10" ,
2019-03-06 16:25:59 +01:00
"@types/chromedriver" : "^2.38.0" ,
2018-06-20 11:07:44 +02:00
"@types/classnames" : "^2.2.3" ,
2018-11-22 10:30:25 +01:00
"@types/d3" : "^3.5.41" ,
2018-08-10 02:19:24 +02:00
"@types/dedent" : "^0.7.0" ,
2018-10-29 21:02:04 +01:00
"@types/del" : "^3.0.1" ,
2018-11-28 05:15:54 +01:00
"@types/delete-empty" : "^2.0.0" ,
2018-12-17 19:52:21 +01:00
"@types/elasticsearch" : "^5.0.30" ,
2018-07-31 00:06:31 +02:00
"@types/enzyme" : "^3.1.12" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"@types/eslint" : "^4.16.6" ,
2018-05-22 23:00:02 +02:00
"@types/execa" : "^0.9.0" ,
2019-01-02 23:08:52 +01:00
"@types/fetch-mock" : "7.2.1" ,
2019-04-15 23:39:34 +02:00
"@types/getopts" : "^2.0.1" ,
2019-03-27 07:44:48 +01:00
"@types/glob" : "^7.1.1" ,
2018-11-28 05:15:54 +01:00
"@types/globby" : "^8.0.0" ,
2018-11-12 19:38:11 +01:00
"@types/graphql" : "^0.13.1" ,
2018-10-25 23:01:12 +02:00
"@types/hapi" : "^17.0.18" ,
2019-04-16 20:47:20 +02:00
"@types/hapi-auth-cookie" : "^9.1.0" ,
2018-07-11 10:19:35 +02:00
"@types/has-ansi" : "^3.0.0" ,
2018-10-25 23:01:12 +02:00
"@types/hoek" : "^4.1.3" ,
2018-11-22 10:30:25 +01:00
"@types/humps" : "^1.1.2" ,
2019-02-28 13:26:16 +01:00
"@types/jest" : "^24.0.9" ,
2018-10-25 23:01:12 +02:00
"@types/joi" : "^13.4.2" ,
2018-09-11 07:38:41 +02:00
"@types/jquery" : "^3.3.6" ,
2018-07-11 10:19:35 +02:00
"@types/js-yaml" : "^3.11.1" ,
2019-02-21 11:27:35 +01:00
"@types/json5" : "^0.0.30" ,
2018-05-22 23:00:02 +02:00
"@types/listr" : "^0.13.0" ,
2018-06-19 15:41:12 +02:00
"@types/lodash" : "^3.10.1" ,
2019-03-28 14:56:56 +01:00
"@types/lru-cache" : "^5.1.0" ,
2018-05-18 19:54:57 +02:00
"@types/minimatch" : "^2.0.29" ,
2019-02-22 02:38:54 +01:00
"@types/mocha" : "^5.2.6" ,
2018-10-23 22:34:23 +02:00
"@types/moment-timezone" : "^0.5.8" ,
2018-10-18 17:00:08 +02:00
"@types/mustache" : "^0.8.31" ,
2019-03-01 17:44:10 +01:00
"@types/node" : "^10.12.27" ,
2018-11-08 15:12:01 +01:00
"@types/opn" : "^5.1.0" ,
2018-11-12 19:38:11 +01:00
"@types/podium" : "^1.0.0" ,
2018-06-19 15:41:12 +02:00
"@types/prop-types" : "^15.5.3" ,
2019-01-09 17:07:57 +01:00
"@types/puppeteer-core" : "^1.9.0" ,
2019-02-21 11:27:35 +01:00
"@types/react" : "^16.8.0" ,
"@types/react-dom" : "^16.8.0" ,
2018-08-29 13:18:46 +02:00
"@types/react-redux" : "^6.0.6" ,
2018-10-23 22:34:23 +02:00
"@types/react-router-dom" : "^4.3.1" ,
2018-09-13 14:20:01 +02:00
"@types/react-virtualized" : "^9.18.7" ,
2018-09-17 20:24:32 +02:00
"@types/redux" : "^3.6.31" ,
2018-06-19 15:41:12 +02:00
"@types/redux-actions" : "^2.2.1" ,
2019-04-16 20:47:20 +02:00
"@types/request" : "^2.48.1" ,
2019-01-09 17:07:57 +01:00
"@types/rimraf" : "^2.0.2" ,
2019-04-18 09:19:11 +02:00
"@types/selenium-webdriver" : "^3.0.15" ,
2018-09-17 20:24:32 +02:00
"@types/semver" : "^5.5.0" ,
2018-12-19 02:03:17 +01:00
"@types/sinon" : "^7.0.0" ,
2018-07-11 10:19:35 +02:00
"@types/strip-ansi" : "^3.0.0" ,
2018-10-23 22:34:23 +02:00
"@types/styled-components" : "^3.0.1" ,
2018-09-06 17:39:04 +02:00
"@types/supertest" : "^2.0.5" ,
2018-07-11 10:19:35 +02:00
"@types/type-detect" : "^4.0.1" ,
2018-09-17 20:24:32 +02:00
"@types/uuid" : "^3.4.4" ,
2018-11-12 19:38:11 +01:00
"@types/zen-observable" : "^0.8.0" ,
2019-04-05 18:45:23 +02:00
"@typescript-eslint/eslint-plugin" : "^1.6.0" ,
"@typescript-eslint/parser" : "^1.6.0" ,
2015-10-19 15:39:34 +02:00
"angular-mocks" : "1.4.7" ,
2018-11-08 01:11:08 +01:00
"archiver" : "^3.0.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"babel-eslint" : "^10.0.1" ,
"babel-jest" : "^24.1.0" ,
2018-08-29 00:29:42 +02:00
"backport" : "4.4.1" ,
2016-08-15 20:29:17 +02:00
"chai" : "3.5.0" ,
2018-05-14 19:33:04 +02:00
"chance" : "1.0.10" ,
2016-11-18 18:35:30 +01:00
"cheerio" : "0.22.0" ,
2016-07-21 00:00:30 +02:00
"chokidar" : "1.6.0" ,
2019-04-24 18:45:05 +02:00
"chromedriver" : "^74.0.0" ,
2016-12-13 02:54:56 +01:00
"classnames" : "2.2.5" ,
2018-04-20 21:13:37 +02:00
"dedent" : "^0.7.0" ,
2018-11-28 05:15:54 +01:00
"delete-empty" : "^2.0.0" ,
2019-01-23 19:46:09 +01:00
"enzyme" : "^3.7.0" ,
2019-02-21 11:27:35 +01:00
"enzyme-adapter-react-16" : "^1.9.0" ,
"enzyme-adapter-utils" : "^1.10.0" ,
2019-01-23 19:46:09 +01:00
"enzyme-to-json" : "^3.3.4" ,
2019-04-05 18:45:23 +02:00
"eslint" : "^5.16.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"eslint-config-prettier" : "^4.1.0" ,
"eslint-plugin-babel" : "^5.3.0" ,
2019-04-05 18:45:23 +02:00
"eslint-plugin-ban" : "^1.2.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"eslint-plugin-import" : "^2.16.0" ,
2019-04-05 18:45:23 +02:00
"eslint-plugin-jest" : "^22.4.1" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"eslint-plugin-jsx-a11y" : "^6.2.1" ,
"eslint-plugin-mocha" : "^5.3.0" ,
2018-05-24 20:36:59 +02:00
"eslint-plugin-no-unsanitized" : "^3.0.2" ,
2018-09-27 11:54:09 +02:00
"eslint-plugin-prefer-object-spread" : "^1.2.1" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"eslint-plugin-prettier" : "^3.0.1" ,
"eslint-plugin-react" : "^7.12.4" ,
2019-03-27 04:18:14 +01:00
"eslint-plugin-react-hooks" : "^1.6.0" ,
2019-04-17 01:21:12 +02:00
"exit-hook" : "^2.1.0" ,
2015-09-05 10:49:36 +02:00
"faker" : "1.1.0" ,
2019-01-02 23:08:52 +01:00
"fetch-mock" : "7.3.0" ,
2019-05-02 19:14:10 +02:00
"geckodriver" : "^1.16.2" ,
2019-04-15 23:39:34 +02:00
"getopts" : "^2.2.4" ,
2019-02-08 22:15:27 +01:00
"grunt" : "1.0.3" ,
2018-07-27 13:30:17 +02:00
"grunt-cli" : "^1.2.0" ,
2018-11-08 23:09:00 +01:00
"grunt-contrib-watch" : "^1.1.0" ,
2016-07-21 00:00:30 +02:00
"grunt-karma" : "2.0.0" ,
2018-03-22 00:42:23 +01:00
"grunt-peg" : "^2.0.1" ,
2017-06-02 16:15:45 +02:00
"grunt-run" : "0.7.0" ,
Migration to Babel7 and @babel/preset-typescript (#33093)
* chore(NA): first changes on every package.json order to support new babel 7. chore(NA): build for kbn-pm with babel 7.
* chore(NA): patch babel register to load typescrit
* chore(NA): first working version with babel 7 replacing typescript compiler.
* fix(NA): common preset declaration in order to make it work with babel-loader.
* chore(na): organizing babel preset env package json.
* chore(NA): mocha tests enabled.
* fix(NA): typo on importing
* test(NA): majority of x-pack tests ported to use babel-jest
* fix(NA): report info button test with babel-jest.
* fix(NA): polling service tests.
* test(na): fix server plugins plugin tests.
* test(NA): batch of test fixs for jest tests under babel-jest hoisting.
* chore(NA): add babel plugin to hoist mock prefixed vars on jest tests.
* chore(NA): update yarn.lock file.
* chore(NA): tests passing.
* chore(NA): remove wrong dep
* chore(NA): fix tsconfig
* chore(NA): skip babel for ts-jest.
* chore(NA): selectively apply the plugin to strip off namespace from ts files.
* chore(NA): remove not needed changes from ts tests
* chore(NA): removed ts-jest dependency. chore(NA): migrate ts tests on x-pack to use babel-jest with the new pattern.
* chore(NA): migrate kibana default distribution typescript tests to run with babel-jest and the new test mock pattern.
* chore(NA): merge and solve conflicts with master.
* chore(NA): fix problems reported by eslint
* chore(NA): fix license ovveride for babel-plugin-mock-imports
* chore(NA): update jest integration tests for kbn pm
* chore(NA): update babel jest integration tests for kbn pm.
* test(NA): update jest integration snapshot for kbn pm.
* chore(NA): apply changes according to the pull request reviews.
* chore(NA): apply changes according to the pull request reviews.
* refact(NA): migrate jest tests to the new pattern.
* fix(NA): babel 7 polyfill in the tests bundle.
* chore(NA): restore needed step in order to compile x-pack with typescript.
* chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7
* Revert "chore(NA): change build to compile typescript with babel for the oss code. chore(NA): change transpile typescript task to only transpile types for x-pack. refact(NA): common preset for babel 7"
This reverts commit 2707d538f5126c582a00580a8489361592c80d70.
* fix(NA): import paths for tabConfigConst
* chore(NA): fix transpiling error on browser tests
* chore(NA): simplify kbn babel preset package.
* chore(NA): migrate build to use babel transpiler for typescript excluding xpack.
* fix(NA): introduced error on test quick task.
* fix(NA): fix preset for client side code on build.
* fix(NA): build with babel
* fix(NA): negated patterns in the end.
* fix(NA): kbn_tp_sample_panel_action creation.
* fix(NA): babel typescript transform plugin workaround when exporting interface name.
* refact(NA): remove not needed type cast to any on jest test.
* docs(NA): add developement documentation about jest mocks test pattern.
* chore(NA): missing unmerged path.
* chore(NA): fix jest tests for template.
* [CCR] Client integration tests (table lists) (#33525)
* Force user to re-authenticate if token refresh fails with `400` status code. (#33774)
* Improve performance of the Logstash Pipeline Viewer (#33793)
Resolves #27513.
_This PR is a combination of #31293 (the code changes) + #33570 (test updates). These two PRs were individually reviewed and merged into a feature branch. This combo PR here simply sets up the merge from the feature branch to `master`._
Summary of changes, taken from #31293:
## Before this PR
The Logstash Pipeline Viewer UI would make a single Kibana API call to fetch all the information necessary to render the Logstash pipeline. This included information necessary to render the detail drawer that opens up when a user clicks on an individual vertex in the pipeline.
Naturally, this single API call fetched _a lot_ of data, not just from the Kibana server but also, in turn, from Elasticsearch as well. The "pro" of this approach was that the user would see instantaneous results if they clicked on a vertex in a pipeline and opened the detail drawer for that vertex. The "cons" were the amount of computation Elasticsearch had to perform and the amount of data being transferred over the wire between Elasticsearch and the Kibana server as well as between the Kibana server and the browser.
## With this PR
This PR makes the Kibana API call to fetch data necessary for **initially** rendering the pipeline — that is, with the detail drawer closed — much lighter. When the user clicks on a vertex in a pipeline, a second API call is then made to fetch data necessary for the detail drawer.
## Gains, by the numbers
Based on a simple, 1-input, 1-filter, and 1-output pipeline.
* Before this PR, the Elasticsearch `logstash_stats` API responses (multiple calls were made using the `composite` aggregation over the `date_histogram` aggregation) generated a total of 1228 aggregation buckets (before any `filter_path`s were applied but across all `composite` "pages"). With this PR, the single `logstash_stats` API response (note that this is just for the initial rendering of the pipeline, with the detail drawer closed) generated 12 buckets (also before any `filter_path`s were applied). That's a **99.02% reduction** in number of buckets.
* Before this PR, the Elasticsearch `logstash_stats` API responses added up to 70319 bytes. With this PR, the single `logstash_stats` API response for the same pipeline is 746 bytes. That's a **98.93% reduction** in size.
* Before this PR, the Elasticsearch `logstash_state` API response was 7718 bytes. With this PR, the API response for the same pipeline is 2328 bytes. That's a **69.83% reduction** in size.
* Before this PR the Kibana API response was 51777 bytes. With this PR, the API response for the same pipeline is 2567 bytes (again, note that this is just for the initial rendering of the pipeline, with the detail drawer closed). That's a **95.04% reduction** in size.
* [Maps] split settings into layer and source panels (#33788)
* [Maps] split settings into layer and source panels
* fix SCSS import
* [env] exit if starting as root (#21563)
* [env] exit if starting as root
* fix windows
* s/--allow-root
* Typescript sample panel action (#33602)
* Typescript sample panel action
* Update EUI version to match main cabana version
* update yarn.lock
* add back typings include
* use correct relative path
* Home page "recent links" should communicate saved object type #21896 (#33694)
* adds object type for screen order
* adds object type for pointer hovering
* Update src/legacy/ui/public/chrome/directives/header_global_nav/components/header.tsx
Co-Authored-By: rockfield <philipp.b@ya.ru>
2019-03-26 21:44:03 +01:00
"gulp-babel" : "^8.0.0" ,
2018-12-10 18:41:51 +01:00
"gulp-sourcemaps" : "2.6.4" ,
2018-07-11 10:19:35 +02:00
"has-ansi" : "^3.0.0" ,
2016-06-08 19:27:49 +02:00
"image-diff" : "1.6.0" ,
2018-10-25 13:09:23 +02:00
"intl-messageformat-parser" : "^1.4.0" ,
2019-01-28 23:00:22 +01:00
"is-path-inside" : "^2.0.0" ,
2018-12-05 16:45:19 +01:00
"istanbul-instrumenter-loader" : "3.0.1" ,
2019-02-28 13:26:16 +01:00
"jest" : "^24.1.0" ,
"jest-cli" : "^24.1.0" ,
2019-04-18 22:27:53 +02:00
"jest-dom" : "^3.1.3" ,
2018-06-04 17:23:59 +02:00
"jest-raw-loader" : "^1.0.1" ,
2019-04-03 14:10:13 +02:00
"jimp" : "0.6.0" ,
2018-07-17 14:56:55 +02:00
"json5" : "^1.0.1" ,
2019-01-11 17:32:59 +01:00
"karma" : "3.1.4" ,
2017-05-16 01:46:52 +02:00
"karma-chrome-launcher" : "2.1.1" ,
"karma-coverage" : "1.1.1" ,
"karma-firefox-launcher" : "1.0.1" ,
"karma-ie-launcher" : "1.0.0" ,
2017-12-06 01:29:48 +01:00
"karma-junit-reporter" : "1.2.0" ,
2017-05-16 01:46:52 +02:00
"karma-mocha" : "1.3.0" ,
"karma-safari-launcher" : "1.0.0" ,
2018-01-19 08:49:55 +01:00
"license-checker" : "^16.0.0" ,
2018-05-22 23:00:02 +02:00
"listr" : "^0.14.1" ,
2016-07-21 00:00:30 +02:00
"load-grunt-config" : "0.19.2" ,
2018-11-01 01:41:07 +01:00
"mocha" : "3.3.0" ,
2019-02-01 07:35:25 +01:00
"multistream" : "^2.1.1" ,
2016-09-02 00:02:43 +02:00
"murmurhash3js" : "3.0.1" ,
2018-07-30 16:17:57 +02:00
"mutation-observer" : "^1.0.3" ,
2018-12-17 20:47:02 +01:00
"nock" : "10.0.4" ,
2018-12-05 16:45:19 +01:00
"node-sass" : "^4.9.4" ,
2018-08-22 13:57:32 +02:00
"normalize-path" : "^3.0.0" ,
2017-08-23 01:26:30 +02:00
"pixelmatch" : "4.0.2" ,
2018-12-05 16:45:19 +01:00
"pkg-up" : "^2.0.0" ,
2019-03-21 07:12:25 +01:00
"pngjs" : "^3.4.0" ,
2018-12-05 16:45:19 +01:00
"postcss" : "^7.0.5" ,
2019-01-28 23:00:22 +01:00
"postcss-url" : "^8.0.0" ,
2018-09-27 11:54:09 +02:00
"prettier" : "^1.14.3" ,
2018-05-14 19:33:04 +02:00
"proxyquire" : "1.7.11" ,
2018-08-28 02:26:30 +02:00
"regenerate" : "^1.4.0" ,
2019-01-03 17:01:43 +01:00
"sass-lint" : "^1.12.1" ,
2019-03-02 02:53:05 +01:00
"selenium-webdriver" : "^4.0.0-alpha.1" ,
2016-06-10 06:36:09 +02:00
"simple-git" : "1.37.0" ,
2018-12-19 02:03:17 +01:00
"sinon" : "^7.2.2" ,
2017-05-11 21:07:23 +02:00
"strip-ansi" : "^3.0.1" ,
2018-09-06 17:39:04 +02:00
"supertest" : "^3.1.0" ,
"supertest-as-promised" : "^4.0.2" ,
2018-05-14 19:33:04 +02:00
"tree-kill" : "^1.1.0" ,
2019-02-28 17:21:47 +01:00
"typescript" : "^3.3.3333" ,
2019-03-15 23:58:25 +01:00
"typings-tester" : "^0.3.2" ,
2018-04-04 18:12:44 +02:00
"vinyl-fs" : "^3.0.2" ,
2018-05-14 19:33:04 +02:00
"xml2js" : "^0.4.19" ,
2018-06-08 18:32:31 +02:00
"xmlbuilder" : "9.0.4" ,
"zlib" : "^1.0.5"
2015-06-06 01:20:49 +02:00
} ,
"engines" : {
2019-02-28 17:48:42 +01:00
"node" : "10.15.2" ,
2018-10-15 23:34:30 +02:00
"yarn" : "^1.10.1"
2015-01-07 21:48:58 +01:00
}
2019-05-02 19:14:10 +02:00
}