Skip to content
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

[FEATURE] Multiple installation flows for Integrations. #1462

Closed
Swiddis opened this issue Feb 21, 2024 · 0 comments · Fixed by #1518
Closed

[FEATURE] Multiple installation flows for Integrations. #1462

Swiddis opened this issue Feb 21, 2024 · 0 comments · Fixed by #1518
Labels
enhancement New feature or request integrations Used to denote items related to the Integrations project

Comments

@Swiddis
Copy link
Collaborator

Swiddis commented Feb 21, 2024

Is your feature request related to a problem?
As integration setups become more complex, there's a growing need to support multiple installation flows tailored to different use cases. Presently, the setup process is streamlined for a singular installation path, which poses limitations as demands for varied setups arise. This is briefly discussed in #1444, which talks about making the installation process more flexible.

What solution would you like?
To address this, I propose enhancing the integration setup process to accommodate multiple installation flows, with a flows config option. This can be added to the config as a top-level field showing each flow:

{
  "name": "example"
  // ...
  "flows": [
    {
      "name": "Queries",
      "description": "Ingestion pipeline for logging use cases with a low querying frequency. Includes sample saved queries.",
      "required": true
    },
    {
      "name": "Dashboards",
      "description": "Optimized for high querying frequency, includes visual dashboards for additional insights."
    }
  ],
  // ...
}

These flows will be rendered in a checkbox-list on the frontend, where a user can select any number of flows to install with. When we install assets, each step can have a set of flows it's a part of (default: all flows).

{
  "name": "example"
  // ...
  "assets": {
    "savedObjects": {
      "name": "example_dashboards",
      "version": "1.0.0",
      "flows": ["Dashboards"] // Dashboards flow: installs only if the dashboards flow is selected
    },
    "queries": [
      {
        "name": "create_table", // No flows: always installs
        "version": "1.0.0",
        "language": "sql"
      },
      {
        "name": "saved_queries",
        "version": "1.0.0",
        "language": "sql",
        "flows": ["Queries"] // Queries flow: installs only if queries selected (equivalent to no flows if queries is required)
      },
      {
        "name": "create_mv",
        "version": "1.0.0",
        "language": "sql",
        "flows": ["Dashboards"]
      }
    ]
  },
  // ...
}

This refactoring is equally applicable if #1444 is implemented.

What alternatives have you considered?

Separate integrations could be made for each flow. This avoids the need for the feature, but complicates the selection process when a user is onboarding.

Do you have any additional context?

N/A

@Swiddis Swiddis added enhancement New feature or request untriaged integrations Used to denote items related to the Integrations project and removed untriaged labels Feb 21, 2024
RyanL1997 pushed a commit to RyanL1997/dashboards-observability that referenced this issue Apr 18, 2024
…nsearch-project#1462) (opensearch-project#1485)

* More information added

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* More information added

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* fixed linting errors

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Removing Prerequisite Checks Workflow (opensearch-project#1456)

Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Removing Prerequisite Checks Workflow (opensearch-project#1456)

Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Removing Prerequisite Checks Workflow (opensearch-project#1456)

Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: Ryan Liang <109499885+RyanL1997@users.noreply.github.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Extracting function to tenant_resolver and adding more appropriate comments.

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* lint errors fixed

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Use version from package.json for integration tests (opensearch-project#1463)

* Use version from package.json for integration tests

Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Adds 2.8 release notes (opensearch-project#1464)

Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Co-authored-by: Ryan Liang <109499885+RyanL1997@users.noreply.github.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Cleaning up comments

Signed-off-by: Leanne Lacey-Byrne <leanne.laceybyrne@eliatra.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* linting issues resolved

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Removing Prerequisite Checks Workflow (opensearch-project#1456)

Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Removing Prerequisite Checks Workflow (opensearch-project#1456)

Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: Ryan Liang <109499885+RyanL1997@users.noreply.github.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* Update server/multitenancy/tenant_resolver.ts

Co-authored-by: Darshit Chanpura <35282393+DarshitChanpura@users.noreply.github.com>
Signed-off-by: leanneeliatra <131779422+leanneeliatra@users.noreply.github.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* comments addressed & linting amended

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

* integration test fix following rebase

Signed-off-by: leanneeliatra <131779422+leanneeliatra@users.noreply.github.com>
Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>

---------

Signed-off-by: leanneeliatra <leanne.laceybyrne@eliatra.com>
Signed-off-by: Ryan Liang <jiallian@amazon.com>
Signed-off-by: Ryan Liang <109499885+RyanL1997@users.noreply.github.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Signed-off-by: Leanne Lacey-Byrne <leanne.laceybyrne@eliatra.com>
Signed-off-by: leanneeliatra <131779422+leanneeliatra@users.noreply.github.com>
Co-authored-by: Ryan Liang <109499885+RyanL1997@users.noreply.github.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Darshit Chanpura <35282393+DarshitChanpura@users.noreply.github.com>
(cherry picked from commit e9f95763a16f5e42247830ff6083af6ef7014e9b)

Co-authored-by: leanneeliatra <131779422+leanneeliatra@users.noreply.github.com>
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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant