-
Notifications
You must be signed in to change notification settings - Fork 25.6k
[Connector API] Support soft deletes of connectors #118282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
93ac07c
12567b2
4fdc2ca
d9be216
183ed7a
397032b
d8523e0
2640383
6e1197c
3d77bb2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
pr: 118282 | ||
summary: "[Connector API] Support soft deletes of connectors" | ||
area: Extract&Transform | ||
type: feature | ||
issues: [] |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,11 @@ | |
"query": { | ||
"type": "string", | ||
"description": "A search string for querying connectors, filtering results by matching against connector names, descriptions, and index names" | ||
}, | ||
"deleted": { | ||
"type": "boolean", | ||
"default": false, | ||
"description": "A flag indicating whether to list connectors that have been soft-deleted." | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we say that it's listing "only" deleted connectors, not all together? |
||
} | ||
} | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,307 @@ | ||
{ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is it possible to have a test that checks that both deleted and non-deleted indices have the same schema? Additionally, does it make sense to make a lot of properties here searchable? Or we wanna have filters on deleted connectors too? |
||
"settings": { | ||
"index": { | ||
"number_of_shards": "1", | ||
"auto_expand_replicas": "0-1" | ||
} | ||
}, | ||
"mappings":{ | ||
"_doc":{ | ||
"dynamic":"false", | ||
"_meta": { | ||
"version": "${connectors-deleted.version}", | ||
"managed_index_mappings_version": ${connectors-deleted.managed.index.version} | ||
}, | ||
"properties":{ | ||
"api_key_id":{ | ||
"type":"keyword" | ||
}, | ||
"configuration":{ | ||
"type":"object" | ||
}, | ||
"custom_scheduling":{ | ||
"type":"object" | ||
}, | ||
"description":{ | ||
"type":"text" | ||
}, | ||
"error":{ | ||
"type":"keyword" | ||
}, | ||
"features":{ | ||
"properties":{ | ||
"filtering_advanced_config":{ | ||
"type":"boolean" | ||
}, | ||
"filtering_rules":{ | ||
"type":"boolean" | ||
}, | ||
"incremental_sync":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
} | ||
} | ||
}, | ||
"sync_rules":{ | ||
"properties":{ | ||
"advanced":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
} | ||
} | ||
}, | ||
"basic":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"filtering":{ | ||
"properties":{ | ||
"active":{ | ||
"properties":{ | ||
"advanced_snippet":{ | ||
"properties":{ | ||
"created_at":{ | ||
"type":"date" | ||
}, | ||
"updated_at":{ | ||
"type":"date" | ||
}, | ||
"value":{ | ||
"type":"object" | ||
} | ||
} | ||
}, | ||
"rules":{ | ||
"properties":{ | ||
"created_at":{ | ||
"type":"date" | ||
}, | ||
"field":{ | ||
"type":"keyword" | ||
}, | ||
"id":{ | ||
"type":"keyword" | ||
}, | ||
"order":{ | ||
"type":"short" | ||
}, | ||
"policy":{ | ||
"type":"keyword" | ||
}, | ||
"rule":{ | ||
"type":"keyword" | ||
}, | ||
"updated_at":{ | ||
"type":"date" | ||
}, | ||
"value":{ | ||
"type":"keyword" | ||
} | ||
} | ||
}, | ||
"validation":{ | ||
"properties":{ | ||
"errors":{ | ||
"properties":{ | ||
"ids":{ | ||
"type":"keyword" | ||
}, | ||
"messages":{ | ||
"type":"text" | ||
} | ||
} | ||
}, | ||
"state":{ | ||
"type":"keyword" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"domain":{ | ||
"type":"keyword" | ||
}, | ||
"draft":{ | ||
"properties":{ | ||
"advanced_snippet":{ | ||
"properties":{ | ||
"created_at":{ | ||
"type":"date" | ||
}, | ||
"updated_at":{ | ||
"type":"date" | ||
}, | ||
"value":{ | ||
"type":"object" | ||
} | ||
} | ||
}, | ||
"rules":{ | ||
"properties":{ | ||
"created_at":{ | ||
"type":"date" | ||
}, | ||
"field":{ | ||
"type":"keyword" | ||
}, | ||
"id":{ | ||
"type":"keyword" | ||
}, | ||
"order":{ | ||
"type":"short" | ||
}, | ||
"policy":{ | ||
"type":"keyword" | ||
}, | ||
"rule":{ | ||
"type":"keyword" | ||
}, | ||
"updated_at":{ | ||
"type":"date" | ||
}, | ||
"value":{ | ||
"type":"keyword" | ||
} | ||
} | ||
}, | ||
"validation":{ | ||
"properties":{ | ||
"errors":{ | ||
"properties":{ | ||
"ids":{ | ||
"type":"keyword" | ||
}, | ||
"messages":{ | ||
"type":"text" | ||
} | ||
} | ||
}, | ||
"state":{ | ||
"type":"keyword" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"index_name":{ | ||
"type":"keyword" | ||
}, | ||
"is_native":{ | ||
"type":"boolean" | ||
}, | ||
"language":{ | ||
"type":"keyword" | ||
}, | ||
"last_access_control_sync_error":{ | ||
"type":"keyword" | ||
}, | ||
"last_access_control_sync_scheduled_at":{ | ||
"type":"date" | ||
}, | ||
"last_access_control_sync_status":{ | ||
"type":"keyword" | ||
}, | ||
"last_deleted_document_count":{ | ||
"type":"long" | ||
}, | ||
"last_incremental_sync_scheduled_at":{ | ||
"type":"date" | ||
}, | ||
"last_indexed_document_count":{ | ||
"type":"long" | ||
}, | ||
"last_seen":{ | ||
"type":"date" | ||
}, | ||
"last_sync_error":{ | ||
"type":"keyword" | ||
}, | ||
"last_sync_scheduled_at":{ | ||
"type":"date" | ||
}, | ||
"last_sync_status":{ | ||
"type":"keyword" | ||
}, | ||
"last_synced":{ | ||
"type":"date" | ||
}, | ||
"name":{ | ||
"type":"keyword" | ||
}, | ||
"pipeline":{ | ||
"properties":{ | ||
"extract_binary_content":{ | ||
"type":"boolean" | ||
}, | ||
"name":{ | ||
"type":"keyword" | ||
}, | ||
"reduce_whitespace":{ | ||
"type":"boolean" | ||
}, | ||
"run_ml_inference":{ | ||
"type":"boolean" | ||
} | ||
} | ||
}, | ||
"scheduling":{ | ||
"properties":{ | ||
"access_control":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
}, | ||
"interval":{ | ||
"type":"text" | ||
} | ||
} | ||
}, | ||
"full":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
}, | ||
"interval":{ | ||
"type":"text" | ||
} | ||
} | ||
}, | ||
"incremental":{ | ||
"properties":{ | ||
"enabled":{ | ||
"type":"boolean" | ||
}, | ||
"interval":{ | ||
"type":"text" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"service_type":{ | ||
"type":"keyword" | ||
}, | ||
"status":{ | ||
"type":"keyword" | ||
}, | ||
"sync_cursor":{ | ||
"type":"object" | ||
}, | ||
"sync_now":{ | ||
"type":"boolean" | ||
} | ||
} | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ admin: | |
cluster: | ||
- manage_search_application | ||
- manage_behavioral_analytics | ||
- manage_connector | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you add a comment on why this and below permissions are needed? What does it practically mean for users, if it does anything? |
||
- manage | ||
- monitor | ||
indices: | ||
|
@@ -18,6 +19,7 @@ user: | |
cluster: | ||
- post_behavioral_analytics_event | ||
- manage_api_key | ||
- monitor_connector | ||
- read_connector_secrets | ||
- write_connector_secrets | ||
indices: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about unmuting the tests?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It got muted due couple of flakey runs recently ... I checked the logs and it seemed to be weird ES error. It has been running for almost a year now fine