As the base assets will be shipped by ES directly, the base package is not needed anymore. https://github.com/elastic/elasticsearch/pull/57629
In the future we might reintroduce it to update the installed assets.
* updates apm integration job to work with service maps
* rename apm job in setup_module test
* modifies detector description
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
In https://github.com/elastic/package-registry/issues/517 the naming of the file paths inside a package is standardised to only use `_` and not `-`. This adjusts the paths for `ilm-policy`, `component-template`, `index-template` to the correct path.
An additional change here is to get rid of assets we don't support yet, like rollup jobs and ml jobs. We will reintroduce these when we support them.
* Sort endpoint responses into indices and datastreams
The server endpoint for policies now returns data streams and
filters out backing indices from the indices array it returned
previously
* Refactor indices switch and field out of the step settings file
* Fix indices field form behaviour
* WiP on UI. Added the second table per mockup for add and edit.
* add support for creating a policy that backs up data streams end to end
* wip on restore flow - added data streams to server response
* add logic for detecting whether an index is part of a data stream
* fix public jest tests
* fix server side jest tests
* pivot to different solution in UI while we do not have data streams nicely separated
* added data stream to snapshot summary details
* move the data streams badge file closer to where it used
* add data stream badge when restoring snapshots too
* update restore copy
* fix pattern specification in indices and data streams field
* first iteration of complete policy UX
* First iteration that is ready for review
Given the contraints on working with data streams and indices in policies
at the moment the simplest implementation is to just include data streams
with indices and have the user select them there for now.
The way snapshotting behaviour is currently implemented relies entirely
on what is specified inside of "indices", this is also where data
streams must be placed. This unfortunately means that capture patterns
defined in indices will capture entire data streams too.
* delete unused import
* fix type issue in tests
* added logic for rendering out previous selection as custom pattern
* refactor indices fields to make component smaller
* added CIT for data streams badge
* Data streams > indices
* updates to relevant pieces of copy
* more copy updates
* fix types and remove unused import
* removed backing indices from restore view
* Added data stream restore warning message
* restore CITs
* first round of copy feedback
* refactor help text to provide clearer feedback, for both restore and policy forms
* Restore updates
- added spacer between title and data streams callout
- added copy to the restore settings tab to indicate that settings
also apply to backing indices
* further copy refinements
* second round of copy feedback
* fix i18n
* added comment to mock
* line spacing fixes and created issue for tracking backing index discovery in snaphots
* refactor collapsible list logic and tests
* refactor editing managed policy check
* refactor copy to be clearer about pluralisation of data streams
* refactor file structure in components for data stream badge
* added tests for indices and data streams field helper
* refactored types and fixed i18n id per guidelines
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Refactor generator for ancestry support
* Adding optional ancestry array
* Refactor the pagination since the totals are not used anymore
* Updating the queries to not use aggregations for determining the totals
* Refactoring the children helper to handle pagination without totals
* Pinning the seed for the resolver tree generator service
* Splitting the fetcher into multiple classes for msearch
* Updating tests and api for ancestry array and msearch
* Adding more comments and fixing type errors
* Fixing resolver test import
* Fixing tests and type errors
* Fixing type errors and tests
* Removing useAncestry field
* Fixing test
* Removing useAncestry field from tests
* An empty array will be returned because that's how ES will do it too
* improved error messages
* traverse recursive error struct
* add check for object with keys
* update button position and copy
* size adjustments
* Refactor i18n texts and change wording
Also added missing translation and refactored maximum errors in
collapsed state to external constant
* use io-ts, add CIT and unit tests
* refactor error utilities to separate file
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* changing transaction count to transaction rate per second
* sanity check coordinates before calculate the mean
* sanity check coordinates before calculate the mean
* removing extend_bounds to return empty when no data is available
* stub out task for the exceptions list packager
* Hits list code and pages
* refactor
* Begin adding saved object and type definitions
* Transforms to endpoint exceptions
* Get internal SO client
* update messaging
* cleanup
* Integrating with task manager
* Integrated with task manager properly
* Begin adding schemas
* Add multiple OS and schema version support
* filter by OS
* Fixing sort
* Move to security_solutions
* siem -> securitySolution
* Progress on downloads, cleanup
* Add config, update artifact creation, add TODOs
* Fixing buffer serialization problem
* Adding cleanup to task
* Handle HEAD req
* proper header
* More robust task management
* single -> agnostic
* Fix OS filtering
* Scaffolding digital signatures / tests
* Adds rotue for creating endpoint user
* Cleanup
* persisting user
* Adding route to fetch created user
* Addings tests for translating exceptions
* Adding test for download API
* Download tweaks + artifact generation fixes
* reorganize
* fix imports
* Fixing test
* Changes id of SO
* integration tests setup
* Add first integration tests
* Cache layer
* more schema validation
* Set up for manifest update
* minor change
* remove setup code
* add manifest schema
* refactoring
* manifest rewrite (partial)
* finish scaffolding new manifest logic
* syntax errors
* more refactoring
* Move to endpoint directory
* minor cleanup
* clean up old artifacts
* Use diff appropriately
* Fix download
* schedule task on interval
* Split up into client/manager
* more mocks
* config interval
* Fixing download tests and adding cache tests
* lint
* mo money, mo progress
* Converting to io-ts
* More tests and mocks
* even more tests and mocks
* Merging both refactors
* Adding more tests for the convertion layer
* fix conflicts
* Adding lzma types
* Bug fixes
* lint
* resolve some type errors
* Adding back in cache
* Fixing download test
* Changing cache to be sized
* Fix manifest manager initialization
* Hook up datasource service
* Fix download tests
* Incremental progress
* Adds integration with ingest manager for auth
* Update test fixture
* Add manifest dispatch
* Refactoring to use the same SO Client from ingest
* bug fixes
* build renovate config
* Fix endpoint_app_context_services tests
* Only index the fields that are necessary for searching
* Integ test progress
* mock and test city
* Add task tests
* Tests for artifact_client and manifest_client
* Add manifest_manager tests
* minor refactor
* Finish manifest_manager tests
* Type errors
* Update integ test
* Type errors, final cleanup
* Fix integration test and add test for invalid api key
* minor fixup
* Remove compression
* Update task interval
* Removing .text suffix from translated list
* Fixes hashes for unit tests
* clean up yarn.lock
* Remove lzma-native from package.json
* missed updating one of the tests
Co-authored-by: Alex Kahan <alexander.kahan@elastic.co>
* Fixed assertion to check through all indices before making assertion.
* Restored yarn.lock file.
* Removed only from describe.
* Fixed linting issue.
* Fixed nits that were in the PR conversation.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
### Summary
This PR creates the bulk functionality of the exception builder. The exception builder is the component that will be used to create exception list items. It does not deal with the actual API creation/deletion/update of exceptions, it does contain an `onChange` handler that can be used to access the exceptions. The builder is able to:
- accept `ExceptionListItem` and render them correctly
- allow user to add exception list item and exception list item entries
- accept an `indexPattern` and use it to fetch relevant field and autocomplete field values
- disable `Or` button if user is only allowed to edit/add to exception list item (not add additional exception list items)
- displays `Add new exception` button if no exception items exist
- An exception item can be created without entries, the `add new exception` button will show in the case that an exception list contains exception list item(s) with an empty `entries` array (as long as there is one exception list item with an item in `entries`, button does not show)
- debounces field value autocomplete searches
- bubble up exceptions to parent component, stripping out any empty entries
* Rename `datasource` saved object to `package_config` (SO type `ingest-datasource` to `ingest-package-config`) and adjust mappings:
- Remove unused `processors` field on input & stream levels
- Remove unnecessary `enabled` field on package config & input levels
- Rename `agent_stream` field to `compiled_stream`
- Reorder other fields so that important fields are closer to top & similar fields are grouped together
Also,
- Remove 7.9.0 migrations as we are not supporting an upgrade path from experimental to beta release
* Pluralize `ingest-package-configs` for consistency
* Rename `Datasource`-related types to `PackageConfig`, update all references (does not include actual type definition changes yet)
* Rename `Datasource` schemas and rest spec typings to `PackageConfig` (does not include actual schema changes yet)
* Change `datasources` on agent config typings and schemas to `package_configs` and update all references
* Add back `enabled` field on package config and input levels. They are needed for current & future UI features. Also:
- Match types and schemas with saved object mappings (`agent_stream` to `compiled_stream`, removal of `processors`)
- Set `namespace` to be a required property on agent config and package config types, add validation support for it on UI
* Rename server-side datasource references in file names, variable names, and routes
* Update spec file and schema file
* Update doc wording
* Rename all instances of datasource in file paths and variable names on client sides, and for Endpoint too
* Minor copy adjustments, fix i18n check
* Replace datasource references in tests and fixtures; remove unused `ingest/policies` es archiver data
* Fix tests
* Fix test field name
* Fix test fixtures fields again
* Fix i18n
* Use modern mount context in Dev Tools and Console, and clean up plugin definitions of Grok Debugger, Search Profiler, and Painless Lab.
* Remove return value from Console lifecycle method.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Refactor generator for ancestry support
* Adding optional ancestry array
* Fixing tests and type errors
* Removing useAncestry field
* Fixing test
* An empty array will be returned because that's how ES will do it too
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Add wrapper function to make an AbortSignal arg optional
Components commonly do not care about aborting a request, but are
required to pass `{ signal: new AbortController().signal }` anyway. This
addresses that use case.
* Adds hook for retrieving the component's mount status
This is useful for dealing with asynchronous tasks that may complete
after the invoking component has been unmounted. Using this hook,
callbacks can determine whether they're currently unmounted, i.e.
whether it's safe to set state or not.
* Add our own implemetation of useAsync
This does not suffer from the Typescript issues that the react-use
implementation had, and is generally a cleaner hook than useAsyncTask as
it makes no assumptions about the underlying function.
* Update exported Lists API hooks to use useAsync and withOptionalSignal
Removes the now-unused useAsyncTask as well.
* Add some JSDoc for our new functions