* Create actions plugin (#35679)
* Basic alerting plugin with actions
* Remove relative imports
* Code cleanup
* Split service into 3 parts, change connector structure
* Ability to disable plugin, ability to get actions
* Add slack connector
* Add email connector
* Ability to validate params and connector options
* Remove connectorOptionsSecrets for now
* Fix plugin config validation
* Add tests for slack connector
* Default connectors register on plugin init, console renamed to log, slack to message_slack
* Add remaining API endpoints for action CRUD
* Add list connectors API
* Change actions CRUD APIs to be closer with saved objects structure
* WIP
* Fix broken tests
* Add encrypted attribute support
* Add params and connectorOptions for email
* WIP
* Remove action's ability to have custom ids
* Remove ts-ignore
* Fix broken test
* Remove default connectors from this branch
* Fix API integration tests to use fixture connector
* Rename connector terminology to action type
* Rename actionTypeOptions to actionTypeConfig
* Code cleanup
* Fix broken tests
* Rename alerting plugin to actions
* Some code cleanup and add API unit tests
* Change signature of action type service execute function
* Add some plugin api integration tests
* Fix type check failure
* Code cleanup
* Create an actions client instead of an action service
* Apply Bill's PR feedback
* Fix broken test
* Find function to have destructured params
* Add tests to ensure encrypted attributes are not returned
* Fix broken test
* Add tests for validation
* Ensure actions can be updated without re-passing the config
* Remove dead code
* Test cleanup
* Fix eslint issue
* Apply Peter's PR feedback
* Code cleanup and fix broken tests
* Apply Brandon's PR feedback
* Add namespace support
* Fix broken test
* Pass services to action executors (#37194)
* Pass services to action executors
* Fix tests
* Apply PR feedback
* Apply PR feedback pt2
* Cleanup actions plugin (#37250)
* Cleanup actions, move code from alerting plugin PR
* Rename service terminology to registry
* Use static encryption key for encrypted attributes plugin inside of tests
* Empty data after create test is done running
* Fix type checks
* Fix inconsistent naming
* add server log action for alerting (#37530)
adds the first "builtin" alertType for performing a `server.log()`
* Create alerting plugin (#37043)
* WIP
* Rename fire function and remove @ts-ignore in all places
* Change naming in alerting service
* Remove alert instance class for now, support interval configuration
* Cleanup TS
* Split alerting between registry and client
* Use saved object alongside task manager instance
* Add remaining alerting APIs
* Change create structure
* Rename some variables, change actionGroups structure
* Use handlebars for templating strings at fire time
* Fix params given to alert type execute function
* Use alert instance class
* Alert instances support meta attributes
* Move alert instances deserialization
* Change interval to be ms
* Rename actions es archive
* Fix tests to use encrypted esArchive for action record
* Add create alert test to demo end to end flow
* Fix type check issue
* Alerts to use references to action objects
* Only update task manager tasks after saved objects are fully updated
* Use scope in task manager
* Fix type check
* Use task manager to execute actions
* Convert ids into references and back
* Apply PR feedback
* Fix broken test
* Fix some bugs
* Fix test errors
* Alert interval to be previous runAt + interval instead of now + interval
* Add range support
* Remove extra line
* Cleanup
* Add alert_instance.test.ts
* Add alert_type_registry.test.ts
* Move tests around
* Create generic task manager mock
* Add note about saved objects client mock
* Create alert_type_registry.mock.ts
* Add alerts_client.test.ts
* Add create_alert_instance_factory.test.ts
* Add create_fire_handler.test.ts
* WIP
* Fix get_create_task_runner_function.test.ts and make test pass
* Make get_create_task_runner_function.test.ts 100% coverage
* Add unit tests for routes
* Move files around
* Created transform_action_params.ts
* Add get_next_run_at.ts
* Add comment explaining why we copy nextRunAt
* Re-use state within alert instance
* Finalize code coverage in unit tests
* Create base api integration tests
* Add a test that ensures end to end functionality of an alert
* Fix ui capabilities test
* Fix broken plugin api integration test
* Fix jest tests with new saved objects client
* Fix broken integration tests
* Change api integration test fixture to make more sense, add functions for future tests
* Move alerts integration testing into own file, prep to add more tests
* Add tests to ensure failed task instances get retried
* Add get_create_task_runner_function.test.ts for actions, create encrypted saved objects mock
* Add action validation tests
* Ensure action type validation occurs on update
* Test 400 on unregistered alert types
* Ensure alertTypeId can't be updated
* Add validation test for alert create / update
* Fix broken checks / tests
* Skip failing test for now
* Cleanup jest tests
* Ensure action objects can be updated while keeping encrypted attributes readable
* Remove partial update sopport, remove ability to change actionTypeId, require config
* Ensure actionTypeConfig is validated on create and update
* Add alertTypeParams validation support
* Fix failing tests
* Ensure alert cleanup errors don't replace the original error
* Pass callCluster as a service to alerts and actions
* Only pass log to alerts client
* Pass savedObjectsClient as a service to alerting and actions
* Fix failing tests
* Remove range support, provide when current and previous task got scheduled
* Ensure Joi validation happens before every execute
* Remove skipped tests, to be done in future PR
* Apply self feedback pt1
* Apply self feedback pt2
* Fix broken tests
* Apply PR feedback
* PR feedback pt1
* Apply security team PR feedback
* PR feedback pt1
* PR feedback pt2
* PR feedback pt3
* Fix broken tests
* Fix callCluster to have signature
* Revert f11a6aeb06
* PR feedback pt4
* Remove __jest__ folders
* PR feedback pt5
* Fix Joi from leaking secrets
* Fire instance actions in parallel instead of series
* Fix failing jest tests
* Accept core api changes
* Fix saved objects client mock
* PR feedback pt1
* Fix eslint issues
* Throw error when alert instance already fired (#39251)
* Throw error when alert instance already fired
* shouldFire doesn't need its own boolean value
* Actions & alerting getting started user guides (#39093)
* Initial user guides
* Cleanup
* Typos, example changes
* Switch to tables, use ordered list for usage
* Start docs around alert instances and templating
* Documentation changes
* Some adjustments
* Apply PR feedback
* Apply suggestions from code review
Co-Authored-By: gchaps <33642766+gchaps@users.noreply.github.com>
* PR feedback pt2
* Provide better examples for alert types
* Apply PR feedback
* Update README locations
94 lines
3.6 KiB
JavaScript
94 lines
3.6 KiB
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License;
|
|
* you may not use this file except in compliance with the Elastic License.
|
|
*/
|
|
|
|
import { xpackMain } from './legacy/plugins/xpack_main';
|
|
import { graph } from './legacy/plugins/graph';
|
|
import { monitoring } from './legacy/plugins/monitoring';
|
|
import { reporting } from './legacy/plugins/reporting';
|
|
import { security } from './legacy/plugins/security';
|
|
import { searchprofiler } from './legacy/plugins/searchprofiler';
|
|
import { ml } from './legacy/plugins/ml';
|
|
import { tilemap } from './legacy/plugins/tilemap';
|
|
import { watcher } from './legacy/plugins/watcher';
|
|
import { grokdebugger } from './legacy/plugins/grokdebugger';
|
|
import { dashboardMode } from './legacy/plugins/dashboard_mode';
|
|
import { logstash } from './legacy/plugins/logstash';
|
|
import { beats } from './legacy/plugins/beats_management';
|
|
import { apm } from './legacy/plugins/apm';
|
|
import { code } from './legacy/plugins/code';
|
|
import { maps } from './legacy/plugins/maps';
|
|
import { licenseManagement } from './legacy/plugins/license_management';
|
|
import { cloud } from './legacy/plugins/cloud';
|
|
import { indexManagement } from './legacy/plugins/index_management';
|
|
import { indexLifecycleManagement } from './legacy/plugins/index_lifecycle_management';
|
|
import { consoleExtensions } from './legacy/plugins/console_extensions';
|
|
import { spaces } from './legacy/plugins/spaces';
|
|
import { notifications } from './legacy/plugins/notifications';
|
|
import { kueryAutocomplete } from './legacy/plugins/kuery_autocomplete';
|
|
import { canvas } from './legacy/plugins/canvas';
|
|
import { infra } from './legacy/plugins/infra';
|
|
import { taskManager } from './legacy/plugins/task_manager';
|
|
import { rollup } from './legacy/plugins/rollup';
|
|
import { siem } from './legacy/plugins/siem';
|
|
import { remoteClusters } from './legacy/plugins/remote_clusters';
|
|
import { crossClusterReplication } from './legacy/plugins/cross_cluster_replication';
|
|
import { translations } from './legacy/plugins/translations';
|
|
import { upgradeAssistant } from './legacy/plugins/upgrade_assistant';
|
|
import { uptime } from './legacy/plugins/uptime';
|
|
import { ossTelemetry } from './legacy/plugins/oss_telemetry';
|
|
import { fileUpload } from './legacy/plugins/file_upload';
|
|
import { telemetry } from './legacy/plugins/telemetry';
|
|
import { encryptedSavedObjects } from './legacy/plugins/encrypted_saved_objects';
|
|
import { snapshotRestore } from './legacy/plugins/snapshot_restore';
|
|
import { actions } from './legacy/plugins/actions';
|
|
import { alerting } from './legacy/plugins/alerting';
|
|
|
|
module.exports = function (kibana) {
|
|
return [
|
|
xpackMain(kibana),
|
|
telemetry(kibana),
|
|
graph(kibana),
|
|
monitoring(kibana),
|
|
reporting(kibana),
|
|
spaces(kibana),
|
|
security(kibana),
|
|
searchprofiler(kibana),
|
|
ml(kibana),
|
|
tilemap(kibana),
|
|
watcher(kibana),
|
|
grokdebugger(kibana),
|
|
dashboardMode(kibana),
|
|
logstash(kibana),
|
|
beats(kibana),
|
|
apm(kibana),
|
|
code(kibana),
|
|
maps(kibana),
|
|
canvas(kibana),
|
|
licenseManagement(kibana),
|
|
cloud(kibana),
|
|
indexManagement(kibana),
|
|
consoleExtensions(kibana),
|
|
notifications(kibana),
|
|
indexLifecycleManagement(kibana),
|
|
kueryAutocomplete(kibana),
|
|
infra(kibana),
|
|
taskManager(kibana),
|
|
rollup(kibana),
|
|
siem(kibana),
|
|
remoteClusters(kibana),
|
|
crossClusterReplication(kibana),
|
|
translations(kibana),
|
|
upgradeAssistant(kibana),
|
|
uptime(kibana),
|
|
ossTelemetry(kibana),
|
|
fileUpload(kibana),
|
|
encryptedSavedObjects(kibana),
|
|
snapshotRestore(kibana),
|
|
actions(kibana),
|
|
alerting(kibana),
|
|
];
|
|
};
|