Commit Graph
2917 Commits
Author SHA1 Message Date
Patrick Sullivan d236fbf368 feat: New folders endpoints that accept folder_type URL parameter (#5405)
## Overview

This adds new CRUDL folder endpoints that include `folder_type` as URL
parameter. These new endpoints can be used to
create/read/update/delete/list folders of the type specified in the
`folder_type` URL parameter.

The older CRUDL folder endpoints only worked on dashboard folders. They
are being deprecated in this PR. Once the UI stops calling these
endpoints they can be removed entirely.

## URL path design

he URLs for the new endpoints generally follow the pattern
`{org_id}/folders/{folder_type}/{folder_id}`. The position of the
`{folder_type}` parameter in these URLs is specifically intended to
represent the place of "folder types" within the hierarchy of
resources/concepts in the URL. Specifically the hierarchy is as
follows...
- `{org_id}` - represents an org which owns many folders
- `folders` - represents all folders
- `{folder_type}` - represents a class or subset of folders
- `{folder_id}` - identifies a single folder; this ID is only uniquely
identifying in the context of all concepts higher in the hierarchy,
including `{folder_type}`

## Alternatives

An alternative approach to this PR would be to update the existing
endpoints so that either

- `{folder_type}` is an optional final URL parameter (after
`{folder_id}`) that defaults to `dashboards`
- `{folder_type}` is an optional query parameter that defaults to
`dashboards`

Although pursuing one of these approaches would have reduced the need to
add new routes and deprecate old ones, I think the design of the URL
path would suffer and be less clear with either of these approaches
since in either of these approaches the path would not actually be
formatted to represent the resource hierarchy described above.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new `FolderType` enum for folder data categorization.
- Enhanced folder management API with new functions that include a
`folder_type` parameter.

- **Bug Fixes**
- Deprecated old folder-related functions while maintaining backward
compatibility.

- **Documentation**
- Updated API documentation to reflect changes in folder management
functions, including new deprecated endpoints and the `FolderType`
schema.

- **Chores**
- Added deprecation warnings for the `folders` module to inform users
about outdated methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-21 14:01:25 -06:00
Patrick Sullivan 386906f6a7 feat: Migrate alerts data out of meta table into alerts table (#5390)
#5253 

The overall goal of this PR is to migrate alerts data out of `meta`
table into `alerts` table. To accomplish this three main changes are
made. Unfortunately, all three of these changes need to be synchronized
and submitted in the same PR.

1. A new migration script is added to
- Parse alerts JSON currently stored in the `meta` table into Rust
models for alerts. These Rust models are isolated to the migration
script since they represent the schema of alerts as they are stored in
the `meta` table before this migration executes.
    - Convert those Rust models into Sea ORM entities for alerts.
- Insert all the Sea ORM entities for alerts into the new `alerts`
table.
2. Create get/put/delete/list methods for accessing the data in the
`alerts` table
    - These functions use SeaORM to query and update the database.
- These functions must also convert between SeaORM alert entities and
the application's current data model for alerts (as defined in
`config::meta::alerts`.
- It's entirely expected that the models inside `config::meta::alerts`
will change over time. When this happens in the future, developers will
need to update the transformation functions between SeaORM alert
entities and the models in `config::meta::alerts`. Luckily, the compiler
should help to direct developers to where these transformation functions
need to be updated.
3. Update the old logic in `/src/service/db/alerts.rs` that previously
read and wrote alerts to the `meta` table so that it now reads and
writes alerts to the `alerts` table.
- The methods for accessing the `meta` table included logic for
triggering "cache update events" to the cluster coordinator and for
sending events to the super cluster queue. Since the new logic accesses
the `alerts` table rather than the `meta` table, this logic for emitting
events had to be reproduced.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new `ListAlertsParams` struct for flexible querying of
alerts.
  - Enhanced `TriggerCondition` struct with new timing parameters.
- Added new error variants for improved error handling in alert
management.
- Created a comprehensive alert management system with CRUD operations.
- Added integration tests for various functionalities related to alerts
and dashboards.
- Introduced a new `Alerts` variant in the `FolderType` enum for better
folder management.

- **Bug Fixes**
  - Improved error handling for folder deletion when alerts are present.

- **Documentation**
- Updated documentation for several functions to clarify their scope and
functionality.

- **Chores**
  - Added new dependencies to support additional functionality.
  - Introduced migration scripts for database schema changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-20 20:17:58 -06:00
Hengfei Yang 415cc7f722 feat: add auto clean for streaming output (#5424) 2024-12-20 22:26:21 +08:00
Bhargav 0cbeebd7fc fix: table refresh issue. (#5414)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced management of enrichment tables with the addition of a method
to reset stream types.
- **Bug Fixes**
- Improved error handling for fetching and deleting lookup tables,
ensuring only relevant errors trigger notifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-20 18:07:13 +05:30
Hengfei Yang 8f6c5e8312 fix: add limit for full text search field must by text (#5422) 2024-12-20 19:47:20 +08:00
udevandHengfei Yang ed2d247ca2 feat: Red button feature (#5342)
This PR introduces a feature to exempt data form the normal data
retention cycle and allows it to be stored for a longer period of time.
This time period is configurable via a global environment variable.

- [x] Add new feature: extend data retention
- [x] Fix issue #5418 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Introduced a new field for extended data retention days in the
compacting process.
- Added a flexible update settings structure for managing stream
settings.
  - Implemented a new time range management feature for deletion tasks.
  - Enhanced configuration response to include retention days.

- **Bug Fixes**
- Improved error handling for stream settings related to retention days.

- **Tests**
  - Expanded test suite with new tests for time range functionality.

- **Documentation**
- Updated OpenAPI documentation to reflect changes in stream settings
structures.
  - Removed outdated components from OpenAPI definition.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2024-12-20 16:33:54 +05:30
Hengfei Yang ecc383efd3 fix: add total record & index_size to summary (#5421)
impl #4281 
- [x] Add total records
- [x] Add total index_size

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced the organization summary with new metrics: total records and
total index size.
- **Bug Fixes**
- Improved data accuracy in the organization summary by incorporating
additional stream statistics.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-20 14:58:55 +05:30
ktx-vaidehiandKirtan Thakkar 5c2857ff86 feat: on click of refresh button or apply button only apply variables (#5077)
- #4885 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced refresh button functionality in dashboard panels, providing
visual feedback when variable data changes.
- Introduced a new utility function to check if variables are fully
loaded before updates.
- Added computed properties and event emissions to improve user
interaction and responsiveness to variable updates.
- Improved error handling and logging in dashboard components for better
user visibility.
- Introduced new methods for handling user interactions in variable
selection components.

- **Bug Fixes**
- Improved test case flows for dashboard settings and variable settings,
ensuring smoother interactions in automated tests.

- **Documentation**
- Updated tooltips and button states for better user guidance regarding
variable changes.

- **Chores**
- Streamlined test cases by removing redundant steps, enhancing clarity
and efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
2024-12-19 23:57:48 +05:30
ktx-vaidehi 7f301b3acf feat: logs support on dashboard drilldown (#5249)
- #5194

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced new logging options in drilldown functionality, allowing
users to select between "Auto" and "Custom" logs modes.
  - Added a new query editor for custom log queries.
- Enhanced drilldown navigation to logs with improved error handling and
logging.
- Added optional fields for logging configurations in the drilldown data
structure.
- Improved responsiveness of the dashboard component with new computed
properties and watch functions.

- **Bug Fixes**
- Improved validation logic for drilldown forms to accommodate new
logging options.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-19 23:09:10 +05:30
Hengfei Yang 3d430092e1 feat: streaming agg query (#5412) 2024-12-19 21:58:58 +08:00
Abhay Padamani e0cc7c0ed6 fix: metrics page changes (#5409)
- #5193 


![image](https://github.com/user-attachments/assets/cd6f4a46-11e7-4e1e-b38a-b1c6bd58286f)



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
	- Introduced PromQL mode handling in the dashboard panel.
- Enhanced metrics page layout with new components:
DateTimePickerDashboard, AutoRefreshInterval, ChartSelection,
CustomHTMLEditor, CustomMarkdownEditor, DashboardQueryBuilder,
DashboardErrorsComponent, PanelSchemaRenderer, PanelSidebar,
RelativeTime, and QueryInspector.
	- Added localization support for metrics in the search context.

- **Bug Fixes**
- Improved error handling for loading stream fields and validating panel
configurations.
- Stream type selection visibility now adapts based on dashboard panel
data type.
- Enhanced user interaction by simulating keyboard input for
organization selection.
	- Reduced validation requirements for the metrics page.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-19 18:46:47 +05:30
ktx-vaidehi 7dd3586882 feat: change api call to get dashboard data and listing of data (#5354)
- #5196

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Enhanced dashboard data fetching and error handling for improved user
experience.
- Introduced a new reactive variable to manage the fetched dashboards
more effectively.
	- Added a new method for retrieving dashboard data by ID.
	- Improved form validation for drilldown operations.
  
- **Bug Fixes**
- Enhanced error handling logic to display appropriate messages based on
dashboard data retrieval conditions.
  
- **Chores**
- Refactored various functions for better maintainability and clarity in
dashboard management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-19 18:16:41 +05:30
Neha P eecafe12ac test: pipeline updated assertions (#5413)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new suite of Playwright tests for validating enrichment
table functionality.
- Added new functions for enhanced navigation and interaction within the
pipeline UI.
- Added tests to assert the data in every derived stream with condition,
function and only source + derived stream
- Added tests to assert if user clicks on any menu option and cancel on
dialog box, user stays on pipeline page
- Added tests to assert if user clicks on dashboard menu option and
accept on dialog box, user navigates to dashboard page

  
- **Bug Fixes**
- Improved error handling in tests to ensure accurate feedback during
interactions.

- **Chores**
- Updated the GitHub Actions workflow to include additional integration
tests.
- Removed outdated test files related to function management, Kinesis
ingestion, and reporting functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-19 17:14:37 +05:30
Shyam Panjiyar 49f5716b6b test: Service-Account-updated-automation (#5406)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
	- Removed automated UI tests for managing service accounts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-19 13:58:20 +05:30
Taiming Liu a9206f8caf chore: downgrade log level to warn for pipeline vrl functions (#5399)
log at warn level for apply vrl function
2024-12-18 05:39:07 -08:00
Loakesh Indiranandhengfei yang 8d234483d2 fix: check invalid stream_name during bulk ingestion (#5403)
#5378

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced error handling for invalid stream names during ingestion,
ensuring appropriate logging and response for empty or invalid entries.
- Updated assertions in tests to reflect the correct handling of invalid
bulk payloads by the API, ensuring errors are present for invalid
submissions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
2024-12-18 18:08:31 +05:30
Sai Nikhil 16fb8eb3a4 fix: Duplicate Entries in streams page (#5404)
This PR fixes the #5400 
both sorting issues and duplicate entries being created are solved 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced row identification in the LogStream table with a dynamic key
generation method.

- **Bug Fixes**
- Improved handling of row selection and updates in the LogStream
component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-18 16:23:51 +05:30
Sai Nikhil 4379cd7c56 fix: 403 double popups issue (#5376)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added `data-test` attributes to various components for improved
testability.
- **Bug Fixes**
- Enhanced error handling logic to suppress notifications for 403 status
responses across multiple components, improving user experience during
error scenarios.
- **Chores**
- Minor formatting adjustments and code structure refinements for
clarity in several components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-18 14:45:18 +05:30
Loakesh Indiranandoasisk 21cf2cadc6 fix: cache partial responses only if its a range error (#5374)
There are 3 types of partial responses:
1. VRL error
2. Super cluster error
3. Range error (max_query_limit)

Cache partial results only if there is a range error.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced search functionality with improved error handling for query
ranges.
- Introduced caching logic for partial results based on specific error
conditions.

- **Bug Fixes**
- Streamlined response generation and error reporting in search-related
functions, ensuring clarity and efficiency.

- **Documentation**
- Updated method signatures to reflect the latest changes in
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
2024-12-18 13:58:55 +05:30
Patrick Sullivan 4b401a22d8 feat: Use folder_type parameter in internal folder methods (#5391)
In this [other PR
](https://github.com/openobserve/openobserve/pull/5390) I need to be
able to add logic to create a default "alerts" folder.

In order to do that, we first need to enable callers to pass a
`folder_type` parameter to different internal methods for
getting/creating/updating/deleting/listing folders. Previously those
methods assumed that the folder type was always `Dashboards` since thus
far that was the only folder type that existed.
2024-12-17 17:08:16 -08:00
Yashodhan JoshiandYashodhan Joshi 88268f4895 fix : distinct values bug (#5389)
This fixes two bugs -
1. The _values api used `Count(*)` function in query to get count.
However in case of distinct streams we already aggregate the count in
`count` field. Thus we need to use `sum(count)` instead.
2. In https://github.com/openobserve/openobserve/pull/5220 , the logic
which adds/removes the distinct values when dashboard is added/deleted
was removed accidentally. This Also re-adds that logic back.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced bulk deletion of dashboards with associated distinct
values.
	- Added new methods for managing distinct fields in dashboards.
- Enhanced search functionality with improved handling of distinct
streams.

- **Bug Fixes**
- Improved error handling for dashboard operations and search requests,
including new error messages.

- **Documentation**
	- Updated documentation for methods to clarify functionality and usage.

- **Refactor**
	- Streamlined query variable extraction logic for dashboards.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
2024-12-17 23:07:17 +05:30
Ashish Kolhe db04b3871c feat: token exchange for external service accounts (#5386)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new endpoint for listing user roles, excluding certain
roles.
- Added a new endpoint for token exchange requests for service accounts.
- **Enhancements**
- Improved role management logic and error handling in user management
functions.
- Enhanced error handling for authentication and token validation
processes.
	- Updated the handling of claims and user roles based on login flow.
- Enhanced the logic for retrieving login URLs and managing
authentication states.
- **Bug Fixes**
- Prevented unauthorized updates and retrievals for external service
accounts.
- **Documentation**
- Updated method signatures to reflect new parameters and functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 19:17:41 +05:30
Neha P ec5400e11e test: pytest-scheduled-pipeline (#5385) 2024-12-17 18:10:39 +05:30
Neha P 38ee5dfe0c test: pipeline-api-tests (#5380)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Tests**
- Introduced a new end-to-end test for pipeline creation, enabling, and
disabling.
- Utilized parameterization to test various scenarios with different
pipeline names, actions, and expected HTTP status codes.
- Removed the previous end-to-end tests related to user token
management, which included user token retrieval and email verification
processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 16:25:35 +05:30
Omkar Kesarkhane f57df5e018 feat: trellis chart (#5015)
#4871 
#5127  

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
	- Introduced a new "sankey" chart type in the chart selection.
- Added a configuration section for trellis layouts in dashboard panel
settings.
	- Enhanced error handling and data validation for various panel types.
	- New utility function `deepCopy` for creating deep copies of objects.
	- Enhanced grid management capabilities for trellis layouts.
	- Improved rendering logic for charts and dynamic height adjustments.
- Introduced new computed properties for dynamic chart panel height and
trellis configuration.
- New parameter `chartPanelStyle` added for enhanced customization in
data conversion.
- Improved handling of no data scenarios for metric and heatmap panel
types.
	- Added new localization keys for layout and dashboard settings.

- **Bug Fixes**
- Improved error messages for dashboard retrieval and data validation
logic.

- **Documentation**
	- Expanded localization options for layout and dashboard settings.

- **Chores**
	- Minor formatting and consistency improvements across multiple files.
	- Added trailing commas for improved code consistency in various files.
	- Updated import paths to reflect codebase restructuring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 11:42:35 +05:30
Sai Nikhil f62ff31806 fix: create destination button in add alert (#5338)
This PR fixes the #5323 issue that is related to adding create
destination button in add alert page

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added buttons for refreshing and creating destinations in the alert
creation interface.
- Introduced a new event for refreshing destinations and a method to
navigate to the destination creation page.

- **Improvements**
- Enhanced filtering logic for destinations and refined validation for
the alert form.
- Improved error handling for asynchronous operations in the alert
management system.
	- Streamlined the filtering process in the destination list.
- Implemented lifecycle hook to ensure route updates on component mount.

- **Bug Fixes**
- Adjusted layout and styling for better usability and consistency
across components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 11:08:41 +05:30
Shyam Panjiyar ca7b05aba6 test: service account API access automation (#5258)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Updated the locator for the management menu item to enhance navigation
reliability.
- Streamlined the control flow by removing unnecessary wait times in the
management navigation process.

- **New Features**
- Added methods for managing service accounts, including adding,
validating, and deleting service accounts.
- Introduced a new test suite for validating service account
functionality, covering error handling and successful operations during
creation.
- Added a new method for automatic login based on visibility of the
login option.

- **Improvements**
- Updated the login method to ensure it waits for the correct login page
URL before proceeding.
- Simplified the login process in UI tests by removing unnecessary
parameters and wait times.
- Enhanced test scripts with improved structure and clarity, including
comments for better understanding.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 09:50:29 +05:30
Taiming Liu 716ad947c2 fix: add deleted migration step back (#5375)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new migration for creating an alerts table, enhancing the
database capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-16 18:57:39 -06:00
Neha P 505bd69aa3 test: e2e-enrichment-bulkapi-pytest (#5371)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced end-to-end testing for bulk ingestion with comprehensive
coverage.
- Enhanced functionality for managing enrichment tables, including
adding, uploading, and deleting entries.

- **Bug Fixes**
- Improved error handling and user interaction checks in the enrichment
table upload process.

- **Tests**
- Added multiple new test cases for enrichment table functionality,
including upload and error handling scenarios.
	- Updated existing test cases for consistency and improved logic.

- **Chores**
- Standardized import statements and improved overall test structure for
clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-16 17:13:55 +05:30
Bhargav 6ee5a54d0b fix: values api for single stream selection filter context (#5372)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced log display functionality with improved query context
handling for multiple streams.
- Improved error handling for filter validity when selecting multiple
streams.
	- Adjusted pagination logic for accurate total fields display.
- Added new buttons and toggles in the search bar for better control
over query results.
- Introduced confirmation dialog for switching between visualization and
log modes.

- **Bug Fixes**
- Refined logic for updating field values to ensure correct aggregation
and display.
	- Enhanced error handling for download attempts in the search bar.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-16 16:15:48 +05:30
Omkar Kesarkhane f85220fcdd fix: Removed multiple registrations of autocomplete suggestions in Query Editor (#5369)
#5370 
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **Bug Fixes**
- Improved error handling for the Monaco editor's element retrieval
process.
- Ensured proper disposal of auto-completion providers to prevent memory
leaks.

- **New Features**
- Enhanced lifecycle management for the Monaco editor's auto-completion
functionality.
- Added new SQL completion items and improved filtering of suggestions
based on user input.

- **Style**
	- Updated code formatting for consistency in `watch` statements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-16 15:02:53 +05:30
Subhra264andHengfei Yang fab0fb2bd8 fix: root permission bug in delete organization user (#5367)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced access control by preventing the removal of root users from
organizations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2024-12-16 13:27:35 +05:30
Omkar Kesarkhane f3d2720fd1 fix: fixed explore enrichment table and overlap of logs table cell content (#5353)
#5330 #5343

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new method for handling stream exploration based on the
stream type.
- Added props for error messaging, timestamp highlighting, and default
column settings in the table component.

- **Improvements**
- Enhanced responsiveness and usability of the table component with
better column resizing and row management.
- Improved readability and maintainability of the `schema` component
through formatting adjustments.
- Updated error handling for data retention days in the schema
component.
- Added a new asynchronous method to calculate the time range for stream
exploration.

- **Bug Fixes**
	- Refined error handling in stream deletion methods for consistency.

- **Documentation**
	- Updated method signatures for clarity and improved functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-16 12:06:52 +05:30
Juan Calderon-Perez 7b461a6ab7 fix: Improve English locale (#5364) 2024-12-16 13:37:43 +08:00
Taiming Liu ecb7b7a43d fix: short_url duplicating to meta (#5365) 2024-12-15 20:12:43 -08:00
Taiming Liu 45419b5700 chore: defer sea_orm migration after legacy migration done (#5358)
This pr propose to defer recently added and soon-to-be-added migrations
to be executed after the version-based migration is done with the meta
table.
2024-12-15 19:13:54 -08:00
Prabhat Sharma 706991dbd2 fix: Fix ZO_MMDB_GEOLITE_ASNDB_SHA256_URL (#5362)
Fix the env variable name for the HASH URL

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Updated the environment variable name for improved accuracy regarding
the ASN database.

- **Documentation**
- Clarified the naming of the configuration fields to better reflect
their purposes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-15 11:17:33 -08:00
Prabhat Sharma 17f24ac21a chore: add k8s cluster name to helm chart instructions (#5361)
Add k8s cluster name to helm chart. This will allow separating data from
multiple k8s clusters in same streams.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Updated installation commands for the OpenObserve collector to specify
the Kubernetes cluster name.
- **Bug Fixes**
- Enhanced specificity of commands related to the OpenObserve collector
installation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-14 16:33:19 -08:00
Hengfei Yang cc86212f1e fix: usage report is zero (#5359)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced precision for storage size metrics across various components
by updating data types to floating-point numbers.

- **Bug Fixes**
- Adjusted calculations for size metrics to ensure accurate
floating-point operations.

- **Chores**
- Updated test cases to reflect new floating-point type handling for
storage metrics.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-14 15:20:00 -08:00
Patrick Sullivan 603b037915 feat: Isolate schema migration (#5286)
# Summary 

This is preparatory work for migrating Alerts into folders as part of
#5253 .

# Context

The migration logic inside `/src/common/migration/schema.rs` currently
references a number of data structures and logic that are defined
outside of this migration module. Specifically...

- The migration script references various `set...` functions and a
`delete...` functions from the `service::db` module which serialize
alerts (and other data structures) into JSON and write them to the
`meta` table in the DB.
- The migration script references various data structures from the
`config::meta` module and uses the JSON serialization and
deserialization logic derived on those structs to read and write the
data structures to the `meta` table as part of the migration.

This poses a number of risks:

1. Most immediate: The behavior of the referenced `set..` and
`delete...` functions from the `service::db` module will be changing
extremely soon as part of my work to migrate Alerts out of the `meta`
table and into their own `alerts` table. These functions will be changed
to interact with the `alerts` table rather than the `meta` table.
Therefore, if this migration script continues to reference those
functions then it's behavior will be completely changed - leading to
inconsistent and likely unpredictable results when different clients run
the migration starting from different application versions.
2. Less immediate: 
- Since the migration currently uses the serialization/deserialization
logic derived on structs defined in `config::meta`, any change to those
structs (even non-breaking API changes like the addition of a new field)
could result in changes to the behavior of the migration script
itself....
- ...And I think it's important for long-term stability and
maintainability that developers be able to make non-breaking API changes
to those data structures without accidentally breaking an existing
migration, especially since the compiler would not be able to catch any
such errors.
- ...More practically, my understanding is that we plan to overhaul the
structure of `Alert`s at some point in the future. If the logic in this
migration module continues to reference that data structure then that
change could also break this migration script.

# Alternatives

I realize that a main point of concern with this PR may be the fact that
we are copying all structs that are serialized or deserialized into this
module. If we still strongly object to including this additional code in
the migration script I think there are two alternatives, outlined below.
 
**Alternative 1 - Don't worry about the referenced structs and continue
referencing the data structs in `config::meta`**

The first alternative is that we can just keep referencing the data
structs in `config::meta`. Personally, I think this is risky for reasons
outlined above, but it could work as long as we are careful that those
structs do not change. (Though, as mentioned, this seems like it will
happen eventually.)

**Alternative 2 - Serialize/deserialize the objects into
`serde_json::Value` rather than `Alert` or other structs**

If we want to mitigate the risks I described while avoiding copying a
large chunk of code into this module, we could refactor the migration
logic so that rather than deserializing/serializing to/from structs in
`config::meta` we could instead deserialize/serialize to/from the
`serde_json::Value` type. We would have to update the logic in the
migration script a bit to account for the reduced type guarantees due to
working with JSON objects rather than an actual Rust structs, but I
think this could definitely work. (And this is probably what I would do
if I were writing a migration like this from scratch.)

My one concern with this approach is just I'm more worried about
introducing a change/bug into the logic of this script with this
approach than I would be with copying the currently referenced structs
into a submodule. However this isn't an extremely large concern.

# Update 2024-12-13

As of `v0.14.0` this migration script has been deprecated. It will
remain in the codebase until it is removed in `v0.17.0`. Therefore, I
feel like the particular approach we decide to take here will have less
long-term ramifications than I originally imagined.

My own bias continues to be to go with the approach in this PR since
this PR is now blocking another task I'm working on, all the extra code
and structs that are added in this PR will be removed in `v0.17.0`, and
this continues to be the lowest-risk approach I can think of (though
given the upcoming deletion of this script, the other approaches may
have limited risk as well).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
	- Introduced a new `meta` module for improved migration logic.
- Added methods for managing alerts, destinations, and templates,
enhancing migration capabilities.
- **Documentation**
- Added detailed comments in the `meta` module to clarify function
purposes and data structures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-13 11:06:33 -08:00
Bhargav 35c414386f fix: added fuzzy search function guide & autocomplete (#5301)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
	- Enhanced SQL autocomplete with fuzzy matching suggestions.
- Updated syntax guide to include fuzzy matching instructions for SQL
queries.

- **Bug Fixes**
- Maintained existing logic for other completion items, ensuring
seamless integration of new features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-13 17:26:31 +05:30
Sai Nikhil 7ae2e36d34 fix: UI fix for stream settings page (#5340)
This PR fixes the issue #5339 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **New Features**
	- Enhanced schema details interface with dynamic theme support.
	- Improved filtering capabilities for schema fields.
- Updated pagination logic for better row display based on user
selections.
	- Validation for data retention days in submission process.

- **Bug Fixes**
- Improved error handling for field deletion operations, providing
clearer feedback to users.

- **Style**
	- Adjusted table scrollbar behavior and hover effects for rows.
	- Enhanced visual differentiation between dark and light themes.
	- Improved rendering of selection checkboxes in the table.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-13 16:25:34 +05:30
Hengfei Yang 76f4038d2a fix: some panics (#5349) 2024-12-13 16:37:29 +08:00
udev b03e6c2a24 fix: skip enrichment tables stream for compactor (#5348) 2024-12-13 15:37:39 +08:00
Bhargav fe615a409e fix: 5297 subqueries not being parsed in UI (#5341)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced error handling and logic improvements in SQL query parsing
for the `useLogs` composable.
- Improved functionality of the search bar component, including better
handling of SQL queries and user notifications.

- **Bug Fixes**
- Refined logic for managing selected streams and improved feedback for
download attempts in the search bar.

- **Style**
- Adjusted button classes and added scoped styles to improve the visual
layout of the search bar component.

- **Chores**
- Updated GitHub Actions workflow configuration for Playwright UI tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-12 18:14:55 +05:30
Patrick Sullivan 3db0fb4a1b feat: Create alerts table (#5325) 2024-12-12 05:57:57 -06:00
Juan Calderon-Perez e180100627 fix: Improve Spanish locale (#5291) 2024-12-12 13:35:44 +08:00
c23faaf974 fix: dashboard search across folders (#5318)
This PR fixes #5198 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced search functionality with a toggle to search across folders
or within the current folder.
- New methods for fetching search results and debouncing input for
efficient searching.
- Added support for dynamic filtering of dashboards based on the search
context.
- New localization entries for improved user interface text related to
dashboard searches.
- Added methods for managing permissions and fetching dashboards within
role management.
- Enhanced report creation with improved handling of dashboard options
and scheduling.

- **Bug Fixes**
- Improved error handling for dashboard management functions to prevent
runtime errors.

- **Chores**
- Streamlined dashboard state updates after modifications to ensure
consistency.
	- Added `data-test` attributes to components for better testability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
2024-12-11 20:13:39 +05:30
Hengfei Yang b9435e5992 fix: max query range should be hour (#5333) v0.14.0 2024-12-11 19:15:26 +08:00
Hengfei Yang e65774403a ci: build node on windows (#5332) 2024-12-11 17:30:03 +08:00