Page MenuHomePhabricator

Replace Elasticsearch and Kibana with apache-licensed opensearch
Open, LowPublic

Description

For licensing flexibility we should evaluate switching to open replacements, which have been released recently and are meant to be a drop-in replacement:

https://en.wikipedia.org/wiki/OpenSearch_(software)

Event Timeline

nolden triaged this task as Normal priority.Jun 8 2021, 11:08 AM
nolden created this task.
nolden moved this task from Backlog to Discussion on the Kaapana (internal) board.

@nolden which priority does this have? In a long run, we probably replace the elasticsearch kibana stack with another technology

If this is not a big deal, i.e. if it really works after switching to the replacement there would be a big benefit. So it would be great if someone could at least try it and report some results, like how much work it would be. After that we could decide how to prioritize, but from my understanding it would make our Kaapana license task much easier

So this task as an _evaluation_ task has a high priority in my opinion. If it turns out to be a bigger thing to replace please stop and we should discuss again

So I tried it out. The problem are not the containeres (opensearch and opensearch-dashboard), but our plugin (workflow-trigger).
The plugin workflow-trigger has some package dependencies based on elastic/kibana. These dependencies have to be changed to the once of opensearch-dashboard.
So I tried to change it, but I get some yarn build issues.
So I am having different issues, probably it would be easier to restart the plugin form fresh. But for this, I would like to know, how the current plugin was created, to get an understanding, on how to create a similar one.
So the current issue is, that the package is searching for specific files, probably an opensearch-dashboard has to have a specific dir-order:

│          ERROR in /home/hanno/project/opensearch/opensearch-dashboard/packages/osd-optimizer/target/worker/entry_point_creator.js
│          Module not found: Error: Can't resolve '../../../../plugins/workflow-trigger/public' in '/home/hanno/project/opensearch/opensearch-dashboard/packages/osd-optimizer/target/worker'
│          resolve '../../../../plugins/workflow-trigger/public' in '/home/hanno/project/opensearch/opensearch-dashboard/packages/osd-optimizer/target/worker'
│            using description file: /home/hanno/project/opensearch/opensearch-dashboard/packages/osd-optimizer/package.json (relative path: ./target/worker)
│              Field 'browser' doesn't contain a valid alias configuration
│              using description file: /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/package.json (relative path: ./public)
│                no extension
│                  Field 'browser' doesn't contain a valid alias configuration
│                  /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public is not a file
│                .js
│                  Field 'browser' doesn't contain a valid alias configuration
│                  /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.js doesn't exist
│                .ts
│                  Field 'browser' doesn't contain a valid alias configuration
│                  /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.ts doesn't exist
│                .tsx
│                  Field 'browser' doesn't contain a valid alias configuration
│                  /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.tsx doesn't exist
│                .json
│                  Field 'browser' doesn't contain a valid alias configuration
│                  /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.json doesn't exist
│                as directory
│                  existing directory
│                    using path: /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index
│                      using description file: /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/package.json (relative path: ./public/index)
│                        no extension
│                          Field 'browser' doesn't contain a valid alias configuration
│                          /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index doesn't exist
│                        .js
│                          Field 'browser' doesn't contain a valid alias configuration
│                          /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.js doesn't exist
│                        .ts
│                          Field 'browser' doesn't contain a valid alias configuration
│                          /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.ts doesn't exist
│                        .tsx
│                          Field 'browser' doesn't contain a valid alias configuration
│                          /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.tsx doesn't exist
│                        .json
│                          Field 'browser' doesn't contain a valid alias configuration
│                          /home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.json doesn't exist
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.js]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.ts]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.tsx]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public.json]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.js]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.ts]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.tsx]
│          [/home/hanno/project/opensearch/opensearch-dashboard/plugins/workflow-trigger/public/index.json]
│           @ /home/hanno/project/opensearch/opensearch-dashboard/packages/osd-optimizer/target/worker/entry_point_creator.js 1:213-275

Thanks Hanno. I think @schererj is the original author, so maybe he can comment or we discuss it in the meeting.

gaoh lowered the priority of this task from Normal to Low.Sep 10 2021, 9:19 AM