-
Notifications
You must be signed in to change notification settings - Fork 64
[FEATURE] Refactor integration setup process #1444
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
Labels
enhancement
New feature or request
integrations
Used to denote items related to the Integrations project
Comments
Nice 👍
|
|
6 tasks
RyanL1997
pushed a commit
to RyanL1997/dashboards-observability
that referenced
this issue
Apr 18, 2024
…ect#1450) (opensearch-project#1477) * Replace legacy template with index template (opensearch-project#1359) Signed-off-by: Chang Liu <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * added loginEndPointWithPath (opensearch-project#1358) * added loginEndPointWithPath Signed-off-by: Mattijs Vanhaverbeke <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Add release notes for 1.3.9 (opensearch-project#1379) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * No blank backend role before adding a new one in Create User page (opensearch-project#1384) * Add last backend role empty check Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> * Add backend role empty check Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> * Add strict comparison Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> * Fix lint errors Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> * Add tests for backend role panel Signed-off-by: Saadat Nursultan <[email protected]> * Fix lint errors Signed-off-by: Saadat Nursultan <[email protected]> --------- Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> Co-authored-by: nursaadat <[email protected]> Co-authored-by: Saadat Nursultan <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Fix script for Windows (opensearch-project#1393) * Fix script for Windows Signed-off-by: nurbqq <[email protected]> Signed-off-by: nurbqq <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding new actions for ppl and datasource apis (opensearch-project#1395) * Adding new actions for ppl and datasource apis Signed-off-by: vamsi-amazon <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Fix "Get started" image is not adaptive to the browser window size. (opensearch-project#1396) * Fixed get-started page image not adapting to the browser window size Signed-off-by: Sirazh Gabdullin <[email protected]> * Update fix by applying suggested changes Signed-off-by: Sirazh Gabdullin <[email protected]> * Update unit tests snapshot Signed-off-by: Sirazh Gabdullin <[email protected]> --------- Signed-off-by: Sirazh Gabdullin <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Split up a value into multiple cookie payloads (opensearch-project#1352) * PoC for splitting up a value into multiple cookie payloads Signed-off-by: Jochen Kressin <[email protected]> * Cookie splitting for OpenId and SAML Signed-off-by: Jochen Kressin <[email protected]> * Changes after review comments Signed-off-by: Jochen Kressin <[email protected]> * WIP: First unit tests Signed-off-by: Jochen Kressin <[email protected]> * More unit tests Signed-off-by: Jochen Kressin <[email protected]> * Fix for multi auth, request argument was missing Signed-off-by: Jochen Kressin <[email protected]> * Fixed linting errors Signed-off-by: Jochen Kressin <[email protected]> * Added one additional cookie for the SAML integration tests Signed-off-by: Jochen Kressin <[email protected]> --------- Signed-off-by: Jochen Kressin <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Dynamic tenancy configurations (opensearch-project#1394) * Dynamic multitenancy feature. Signed-off-by: Abhi Kalra <[email protected]> * Dynamic multitenancy feature -PR feedback Signed-off-by: Abhi Kalra <[email protected]> --------- Signed-off-by: Abhi Kalra <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Add release notes for 2.7.0 (opensearch-project#1407) * Add release notes for 2.7.0 Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removes tiny.amazon.com links (opensearch-project#1420) Signed-off-by: Darshit Chanpura <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Fixing dynamic tenancy changes for issues 1412 (opensearch-project#1419) * Fixing dynamic tenancy changes for opensearchdasbhoard.yaml Signed-off-by: Abhi Kalra <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Change the testuser's password in some integration test cases into a stronger password (opensearch-project#1428) * Change the testuser's password into a stronger password Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Increment version to 3.0.0.0 (opensearch-project#1414) Signed-off-by: opensearch-ci-bot <[email protected]> Co-authored-by: opensearch-ci-bot <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adds the newly created admin api permissions to the static dropdown list (opensearch-project#1426) * Adds the newly created admin api permissions to the static dropdown of permissions displayed when creating/modifying a role --------- Signed-off-by: Darshit Chanpura <[email protected]> Co-authored-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Update account-nav-button.tsx Fix added to set the window.location to the pathname, rather than just reload & clear lastURL as it would be from the previous tenant. Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Update account-nav-button.tsx Adding comments to explain changes Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * add new cluster permissions constants for lron (opensearch-project#1444) Signed-off-by: zhichao-aws <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * removing whitespace due to linting fix Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests for account-nav-button wip Signed-off-by: leanneeliatra <[email protected]> * put commented code to original state Signed-off-by: leanneeliatra <[email protected]> * Skip flaky SAML test as it awaits a fix (opensearch-project#1453) Signed-off-by: Craig Perkins <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Use version from package.json for integration tests (opensearch-project#1463) * Use version from package.json for integration tests Signed-off-by: Craig Perkins <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adds 2.8 release notes (opensearch-project#1464) Signed-off-by: Darshit Chanpura <[email protected]> Co-authored-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests to jest test for tenant switch. Putting test in correct folder and renaming function. Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * handle switch calling correct function Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * checking for session storage Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * adding window to make sessionStorage more explicit Signed-off-by: leanneeliatra <[email protected]> * Moved the test into account-nav-button.test.tsx Signed-off-by: leanneeliatra <[email protected]> * Removing additional files. Signed-off-by: leanneeliatra <[email protected]> * Declared session storage as a constant Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Update account-nav-button.tsx Fix added to set the window.location to the pathname, rather than just reload & clear lastURL as it would be from the previous tenant. Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Update account-nav-button.tsx Adding comments to explain changes Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * removing whitespace due to linting fix Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests for account-nav-button wip Signed-off-by: leanneeliatra <[email protected]> * put commented code to original state Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests to jest test for tenant switch. Putting test in correct folder and renaming function. Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * handle switch calling correct function Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing additional files. Signed-off-by: leanneeliatra <[email protected]> * Fix unwanted changes Signed-off-by: Darshit Chanpura <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Update account-nav-button.tsx Fix added to set the window.location to the pathname, rather than just reload & clear lastURL as it would be from the previous tenant. Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests for account-nav-button wip Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests to jest test for tenant switch. Putting test in correct folder and renaming function. Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * checking for session storage Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Declared session storage as a constant Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests for account-nav-button wip Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Adding tests to jest test for tenant switch. Putting test in correct folder and renaming function. Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Moved the test into account-nav-button.test.tsx Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Dynamic tenancy configurations (opensearch-project#1394) * Dynamic multitenancy feature. Signed-off-by: Abhi Kalra <[email protected]> * Dynamic multitenancy feature -PR feedback Signed-off-by: Abhi Kalra <[email protected]> --------- Signed-off-by: Abhi Kalra <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Fixing dynamic tenancy changes for issues 1412 (opensearch-project#1419) * Fixing dynamic tenancy changes for opensearchdasbhoard.yaml Signed-off-by: Abhi Kalra <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing Prerequisite Checks Workflow (opensearch-project#1456) Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Use version from package.json for integration tests (opensearch-project#1463) * Use version from package.json for integration tests Signed-off-by: Craig Perkins <[email protected]> Signed-off-by: leanneeliatra <[email protected]> * Removing unneded file Signed-off-by: leanneeliatra <[email protected]> --------- Signed-off-by: Chang Liu <[email protected]> Signed-off-by: leanneeliatra <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: nursaadat <[email protected]> Signed-off-by: Saadat Nursultan <[email protected]> Signed-off-by: nurbqq <[email protected]> Signed-off-by: nurbqq <[email protected]> Signed-off-by: vamsi-amazon <[email protected]> Signed-off-by: Sirazh Gabdullin <[email protected]> Signed-off-by: Jochen Kressin <[email protected]> Signed-off-by: Abhi Kalra <[email protected]> Signed-off-by: Darshit Chanpura <[email protected]> Signed-off-by: opensearch-ci-bot <[email protected]> Signed-off-by: Leanne Lacey-Byrne <[email protected]> Signed-off-by: zhichao-aws <[email protected]> Signed-off-by: Craig Perkins <[email protected]> Signed-off-by: Ryan Liang <[email protected]> Signed-off-by: Craig Perkins <[email protected]> Co-authored-by: Chang Liu <[email protected]> Co-authored-by: mattieserver <[email protected]> Co-authored-by: Ryan Liang <[email protected]> Co-authored-by: Saadat Nursultan <[email protected]> Co-authored-by: nursaadat <[email protected]> Co-authored-by: Saadat Nursultan <[email protected]> Co-authored-by: Nurbakhyt Sembayev <[email protected]> Co-authored-by: Stephen Crawford <[email protected]> Co-authored-by: Vamsi Manohar <[email protected]> Co-authored-by: Sirazh Gabdullin <[email protected]> Co-authored-by: Jochen Kressin <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Co-authored-by: Abhi Kalra <[email protected]> Co-authored-by: Darshit Chanpura <[email protected]> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: opensearch-ci-bot <[email protected]> Co-authored-by: zhichao-aws <[email protected]> Co-authored-by: Craig Perkins <[email protected]> Co-authored-by: Darshit Chanpura <[email protected]> (cherry picked from commit 7f4e0f29f11668b09c5343da2cbc97ac1d6d0acf) Co-authored-by: leanneeliatra <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
enhancement
New feature or request
integrations
Used to denote items related to the Integrations project
Is your feature request related to a problem?
A critical part of the integration building process is setting up external assets, which define the ways that integrations can read and process data. Currently, assets are stored as references in the config, split by the type of asset (today: saved objects and queries).
As part of the setup process, we go through all of these assets and follow hardcoded steps to install each category of assets. Queries are sent to the asynchronous Flint API, saved objects are sent through a high-level client in-code. This has worked reasonably well so far, as it makes adding more asset types as easy as adding a definition to the
assets
field, and integrating it with the existing setup process.But with growing feature demand, this approach is proving insufficient. There are issues like #1442 demanding being able to set up assets associated with arbitrary OpenSearch APIs, and in-progress features for supporting multiple installation flows1 within one integration that would require configuring which assets are installed. Furthermore, splitting the assets into distinct entities like this complicates serialization and bundling. A different approach is needed.
What solution would you like?
Currently, the assets field of integrations looks like this:
I propose updating the format to look like this:
By unifying the categories, serialization switches from handling each case to writing one main handler. This also allows more flexible installation ordering: if there are queries to run after installing a saved object bundle, that's trivially addable. The install logic will remain case-by-case, but it's somewhat unavoidable if different objects require fundamentally different interfaces to install, and it lets us rework the type-by-type logic to something like
for (const asset of assets) { install(asset); }
2.One concern is backwards compatibility: since dynamic catalogs was released with the old serialization, at least the OS integrations plugin should be robust to both versions. This can be added on-read by having a validation check which automatically converts the old format to the new format, but there are still some details with how to make migrations work with e.g. the
.kibana
type mapping.What alternatives have you considered?
We can continue adding case-by-case steps, which has the drawbacks mentioned above, and is better for backwards compatibility. To implement ordering we could add a field to each type like
order
, where steps run sorted byorder
(default: 0, and support negative values). I worry this will continue to get worse as we add more asset types, but is minimal work upfront.We could also provide some sort of helper method which takes the current format and converts it to this new format. That method can be relatively robust, and simplify a lot of operations on the asset list without requiring a change to the serialization format.
Do you have any additional context?
Also related: workflow integrations with opensearch-project/observability#1805. Additionally, the already-cited request for arbitrary API calls #1442.
Footnotes
To support distinct installation paths, a further
flows?: string[]
field can be introduced (default: all flows), which specifies when a step should be run. If dashboards in the above assets are only installed for a full installation, a user can add the entry"flows": ["full"]
. There may need to be more work to determine how to fully support installation flows, I'll leave that for another issue. ↩A sophisticated implementation might include dependency logic and run steps in parallel, but this is unlikely to be necessary for the amount of effort it would add. ↩
The text was updated successfully, but these errors were encountered: