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

Merge Frontend for OpenSearch Integrations #618

Merged
merged 4 commits into from
Jul 11, 2023

Conversation

Swiddis
Copy link
Collaborator

@Swiddis Swiddis commented Jul 10, 2023

Description

PR containing frontend. Breakdown WIP

Issues Resolved

[List any issues this PR will resolve]

Check List

  • New functionality includes testing.
    • All tests pass, including unit test, integration test and doctest
  • New functionality has been documented.
    • New functionality has javadoc added
    • New functionality has user manual doc added
  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@codecov
Copy link

codecov bot commented Jul 10, 2023

Codecov Report

Merging #618 (6a05461) into main (14ec857) will increase coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #618      +/-   ##
==========================================
+ Coverage   43.42%   43.63%   +0.21%     
==========================================
  Files         300      313      +13     
  Lines       18113    18594     +481     
  Branches     4447     4484      +37     
==========================================
+ Hits         7866     8114     +248     
- Misses       9712    10438     +726     
+ Partials      535       42     -493     
Flag Coverage Δ
dashboards-observability 43.63% <ø> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 92 files with indirect coverage changes

Copy link
Contributor

@pjfitzgibbons pjfitzgibbons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall good.

Create follow-on PRs for notes and suggestions.

};


describe('Basic sanity test for integrations plugin', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add cleanup on each test.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't consider this a blocking note. Create a follow-on issue for tracking.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call out, sometime I run into issues where i have added too many on my local that it shows up on second page, created an issue: #620

@@ -8,7 +8,9 @@ import { v4 as uuidv4 } from 'uuid';
export const CUSTOM_PANELS_API_PREFIX = '/api/observability/operational_panels';
export const CUSTOM_PANELS_DOCUMENTATION_URL =
'https://opensearch.org/docs/latest/observability-plugin/operational-panels/';
export const CREATE_PANEL_MESSAGE = 'Enter a name to describe the purpose of this Observability Dashboard.';
export const OPENSEARCH_DOCUMENTATION_URL = 'https://opensearch.org/docs/latest';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change?
Future of integration is to split it into a separate plugin? - If so, then isolate this constant into a separate file.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to new file

@@ -38,6 +38,16 @@ export const CREATE_TAB_PARAM = {
} as const;
export const HAS_SAVED_TIMESTAMP = 'hasSavedTimestamp';
export const FILTER_OPTIONS = ['Visualization', 'Query', 'Metric'];
export const ASSET_FILTER_OPTIONS = ['index-pattern', 'search', 'visualization', 'dashboard'];
export const INTEGRATION_TEMPLATE_OPTIONS = ['nginx', 'aws_elb'];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also split these constants into separate file for isolation

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -52,9 +52,9 @@ export const observabilityPanelsID = 'observability-dashboards';
export const observabilityPanelsTitle = 'Dashboards';
export const observabilityPanelsPluginOrder = 5095;

export const observabilityIntegrationsID = 'observability-integrations';
export const observabilityIntegrationsID = 'integrations';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Split for isolation

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed, but I think it still makes sense to keep in the same file

@@ -0,0 +1,150 @@
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this file was taken away in Nav/OSD-Nav change.
This might be mistaken merge.

If this is required somehow we need to discuss alternative.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will remove

helpText,
optionalArgs,
} = props;
const [value, setValue] = useState(openPanelName || ''); // sets input value
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be more meaningful panelName, setPanelName

@@ -0,0 +1,179 @@
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dead code?
If not dead code, there are many questions.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes dead code, will remove

));
};

if (Object.keys(integration).length === 0) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be easier to read/follow/maintain using React Suspense
https://react.dev/reference/react/Suspense

Create a follow-on task to cover this on different PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created issue here: #622

@@ -0,0 +1,113 @@
/*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All these files are called ..._panel, although there doesn't appear to be any distinguishing feature of the group or between them that suggests "panel". Also the internal class name is not "..Panel".

Consider dropping the file-name suffix to improve clarity.
Create a follow-on task to address this in a separate PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created issue here: #621

Copy link
Member

@ps48 ps48 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changes requested

@@ -8,7 +8,9 @@ import { v4 as uuidv4 } from 'uuid';
export const CUSTOM_PANELS_API_PREFIX = '/api/observability/operational_panels';
export const CUSTOM_PANELS_DOCUMENTATION_URL =
'https://opensearch.org/docs/latest/observability-plugin/operational-panels/';
export const CREATE_PANEL_MESSAGE = 'Enter a name to describe the purpose of this Observability Dashboard.';
export const OPENSEARCH_DOCUMENTATION_URL = 'https://opensearch.org/docs/latest';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this intended to be added?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think github just made it look weird - it was on line 11 before - but regardless moving this out to its own file as per suggestions above

@@ -12,6 +12,7 @@ import { observabilityID, observabilityTitle } from '../../common/constants/shar
import { store } from '../framework/redux/store';
import { AppPluginStartDependencies } from '../types';
import { Home as ApplicationAnalyticsHome } from './application_analytics/home';
import { Home as PlaceholderHome } from './integrations/home';
Copy link
Member

@ps48 ps48 Jul 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change name to IntegrationsHome?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes good call out - was left over from calling it "Placeholder" Plugin

@@ -0,0 +1,150 @@
/*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can delete this file. This was removed in 2.7

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will remove

export const observabilityIntegrationsTitle = 'Integrations';
export const observabilityIntegrationsPluginOrder = 5096;
export const observabilityIntegrationsPluginOrder = 9020;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is integrations moving out of the Observability plugin list?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will go under "Management" Sub group, which starts at 9000

http: HttpStart;
}

export const doTypeValidation = (toCheck: any, required: any): boolean => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can remove export from functions that do have a call outside this file.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually just checked - it is used in testing file. Found a module that can potentially test unexported functions but don't want to add last minute things at this point - I am leaning towards keeping it as is - what do you think @ps48 ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes this is minor, so should be good. I would then move these functions to utils.tsx or something similar, later.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea - created follow up issue: #624

Comment on lines 102 to 103
// value={query}
// onClick = {() => query.current.}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be removed.

@@ -9,6 +9,7 @@ export function OpenSearchObservabilityPlugin(Client: any, config: any, componen
const clientAction = components.clientAction.factory;

Client.prototype.observability = components.clientAction.namespaceFactory();
Client.prototype.integrations = components.clientAction.namespaceFactory();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is unused, can be removed.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this should be removed

"author": "John Doe",
"sourceUrl": "https://github.com/",
"author": "OpenSearch",
"sourceUrl": "https://github.com/opensearch-project/observability/pull/1493/files",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if the URL must be link to PR or the asset folder itself in the main/version branch? Cause if Nginx assets change in future, the PR becomes out of date.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, pointed it to the directory in observability 2.x line

Comment on lines 131 to 165
const getModal = (name: string) => {
setModalLayout(
getAddIntegrationModal(
() => {
addIntegrationRequest(name);
setIsModalVisible(false);
},
() => {
setIsModalVisible(false);
},
'Name',
'Namespace',
'Tags (optional)',
name,
'prod',
'Add Integration Options',
'Cancel',
'Add',
'test'
)
);
setIsModalVisible(true);
};

useEffect(() => {
chrome.setBreadcrumbs([
{
text: 'Integrations',
href: '#/',
},
]);
handleDataRequest();
}, []);

async function handleDataRequest() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Any particular reason we keep two styles of declaring functions? Ex.
const getModal = (name: string) is declared as a function object.
async function handleDataRequest() is declared as a JS function
Keeping same style is good for readability.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point - it might be because two people were developing 😂 , but yes this is a good suggestion - I created a follow up issue here: #623 (comment).

Comment on lines 131 to 136
// sorting={{
// sort: {
// field: 'dateModified',
// direction: 'desc',
// },
// }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove this commented code.

@@ -0,0 +1,171 @@
import {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add license

Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
@derek-ho
Copy link
Collaborator

@pjfitzgibbons @ps48 thanks for the thorough review - it cleaned up the code a lot. Can you review again? I replied to review comments and where appropriate created follow up issues. Thanks!

@Swiddis Swiddis merged commit fba6d30 into opensearch-project:main Jul 11, 2023
9 checks passed
Swiddis added a commit to Swiddis/dashboards-observability that referenced this pull request Jul 11, 2023
Merge Frontend for OpenSearch Integrations
Swiddis added a commit to Swiddis/dashboards-observability that referenced this pull request Jul 11, 2023
Merge Frontend for OpenSearch Integrations

Signed-off-by: Simeon Widdis <[email protected]>
Swiddis added a commit that referenced this pull request Jul 11, 2023
* Merge pull request #547 from Swiddis/osints/main

Stub router for integrations project

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request #552 from Swiddis/osints/main

Merge in repository classes from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request #559 from Swiddis/copy-repository

Copy integrations repository content

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request #583 from Swiddis/osints/sanitize-paths

Copy path sanitization from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request #615 from Swiddis/osints/main

Merge sample data endpoint from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request #618 from Swiddis/osints/frontend

Merge Frontend for OpenSearch Integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Merge frontend from osints/dev (#636)

* Remove unused NDJson parsing code

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused instance store

Signed-off-by: Simeon Widdis <[email protected]>

* Move repository logic to own class

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for IntegrationsRepository

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for kibana backend

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Clear repository between runs in testing

Signed-off-by: Simeon Widdis <[email protected]>

* fix tests and import

Signed-off-by: Derek Ho <[email protected]>

* add sanity test cypress test

Signed-off-by: Derek Ho <[email protected]>

* clean up code

Signed-off-by: Derek Ho <[email protected]>

* Add tests for integration builder

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Swap jest test to it

Signed-off-by: Simeon Widdis <[email protected]>

* {
  "attributes": {
    "description": "Nginx dashboard with basic Observability on access / error logs",
    "hits": 0,
    "kibanaSavedObjectMeta": {
      "searchSourceJSON": "{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"
    },
    "optionsJSON": "{\"hidePanelTitles\":false,\"useMargins\":true}",
    "panelsJSON": "[{\"version\":\"2.5.0\",\"gridData\":{\"h\":8,\"i\":\"1f31e50b-06e3-41e6-972e-e4e5fe1a9872\",\"w\":48,\"x\":0,\"y\":0},\"panelIndex\":\"1f31e50b-06e3-41e6-972e-e4e5fe1a9872\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.5.0\",\"gridData\":{\"h\":9,\"i\":\"d91a8da4-b34b-470a-aca6-9c76b47cd6fb\",\"w\":24,\"x\":0,\"y\":8},\"panelIndex\":\"d91a8da4-b34b-470a-aca6-9c76b47cd6fb\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.5.0\",\"gridData\":{\"h\":15,\"i\":\"27149e5a-3a77-4f3c-800e-8a160c3765f4\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"27149e5a-3a77-4f3c-800e-8a160c3765f4\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.5.0\",\"gridData\":{\"x\":0,\"y\":17,\"w\":24,\"h\":15,\"i\":\"4d8c2aa7-159c-4a1a-80ff-00a9299056ce\"},\"panelIndex\":\"4d8c2aa7-159c-4a1a-80ff-00a9299056ce\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"2.5.0\",\"gridData\":{\"x\":24,\"y\":23,\"w\":24,\"h\":15,\"i\":\"800b7f19-f50c-417f-8987-21b930531cbe\"},\"panelIndex\":\"800b7f19-f50c-417f-8987-21b930531cbe\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"}]",
    "timeRestore": false,
    "title": "[NGINX Core Logs 1.0] Overview",
    "version": 1
  },
  "id": "96847220-5261-44d0-89b4-65f3a659f13a",
  "migrationVersion": {
    "dashboard": "7.9.3"
  },
  "references": [
    {
      "id": "3b49a65d-54d8-483d-a8f0-3d7c855e1ecf",
      "name": "panel_0",
      "type": "visualization"
    },
    {
      "id": "865e577b-634b-4a65-b9d6-7e324c395d18",
      "name": "panel_1",
      "type": "visualization"
    },
    {
      "id": "dc1803f0-b478-11ed-9063-ebe46f9ac203",
      "name": "panel_2",
      "type": "visualization"
    },
    {
      "id": "99acc580-b47a-11ed-9063-ebe46f9ac203",
      "name": "panel_3",
      "type": "visualization"
    },
    {
      "id": "01ea64d0-b62f-11ed-a677-43d7aa86763b",
      "name": "panel_4",
      "type": "visualization"
    }
  ],
  "type": "dashboard",
  "updated_at": "2023-02-26T23:44:09.855Z",
  "version": "WzczLDdd"
}

Signed-off-by: Derek Ho <[email protected]>

* Stub out sample integration data for front-end

Signed-off-by: Simeon Widdis <[email protected]>

* Use more realistic integration sample

Signed-off-by: Simeon Widdis <[email protected]>

* Add full traversal to fields list

Signed-off-by: Simeon Widdis <[email protected]>

* Add license to integration template

Signed-off-by: Simeon Widdis <[email protected]>

* add some unit testing framework

Signed-off-by: Derek Ho <[email protected]>

* fix up the testing name

Signed-off-by: Derek Ho <[email protected]>

* fix up table view and add a test

Signed-off-by: Derek Ho <[email protected]>

* add an added integration table test using dummy data

Signed-off-by: Derek Ho <[email protected]>

* add integration specific types and clean up code

Signed-off-by: Derek Ho <[email protected]>

* clean up code and use integration specific types

Signed-off-by: Derek Ho <[email protected]>

* Route integrations page to actual repository

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused import

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use loading spinner

Signed-off-by: Simeon Widdis <[email protected]>

* add some changes to UI according to figma

Signed-off-by: Derek Ho <[email protected]>

* add license headers and hook up get to specific instance for added page

Signed-off-by: Derek Ho <[email protected]>

* add screenshots and fix up mappings and breadcrumbs

Signed-off-by: Derek Ho <[email protected]>

* Add failing test case for empty object

Signed-off-by: Simeon Widdis <[email protected]>

* Make template test pass

Signed-off-by: Simeon Widdis <[email protected]>

* use flyout according to figma and connect flyout input to backend creation

Signed-off-by: Derek Ho <[email protected]>

* implement delete

Signed-off-by: Derek Ho <[email protected]>

* fix up tests for changes

Signed-off-by: Derek Ho <[email protected]>

* get added page to working order

Signed-off-by: Derek Ho <[email protected]>

* Add template validator via Ajv

Signed-off-by: Simeon Widdis <[email protected]>

* Fix builder tests for new validation

Signed-off-by: Simeon Widdis <[email protected]>

* add unit test coverage

Signed-off-by: Derek Ho <[email protected]>

* update page and tests to remove added by for integration instances

Signed-off-by: Derek Ho <[email protected]>

* deleting an instance also deletes its children saved objects

Signed-off-by: Derek Ho <[email protected]>

* Add integration instance validation

Signed-off-by: Simeon Widdis <[email protected]>

* update components and snapshots with data-test-subj for cypress tests and add more comprehensive cypress test suite

Signed-off-by: Derek Ho <[email protected]>

* remove unecessary console logging

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Minor code cleanup

Signed-off-by: Simeon Widdis <[email protected]>

* dynamically handle id generation to allow for multiple instances of the same template to be created

Signed-off-by: Derek Ho <[email protected]>

* Update integration with fixed panels

Signed-off-by: Simeon Widdis <[email protected]>

* Apply minor behavior tweaks

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor repository for new format

Signed-off-by: Simeon Widdis <[email protected]>

* fix empty assets bug

Signed-off-by: Derek Ho <[email protected]>

* Write basic FS latest integration queries

Signed-off-by: Simeon Widdis <[email protected]>

* Update integration template type and validator

Signed-off-by: Simeon Widdis <[email protected]>

* Add template retrieval to repository fs

Signed-off-by: Simeon Widdis <[email protected]>

* Add copyright notice to repository_fs

Signed-off-by: Simeon Widdis <[email protected]>

* fix escape

Signed-off-by: Derek Ho <[email protected]>

* revert file

Signed-off-by: Derek Ho <[email protected]>

* fix test

Signed-off-by: Derek Ho <[email protected]>

* Stub composite repository class

Signed-off-by: Simeon Widdis <[email protected]>

* Apply minor condition refactor

Signed-off-by: Simeon Widdis <[email protected]>

* Fill in basic implementation for integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type errors on repository tests

Signed-off-by: Simeon Widdis <[email protected]>

* Patch: Handle files with invalid version formats

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor displayAssets to assets

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic getAssets implementation

Signed-off-by: Simeon Widdis <[email protected]>

* Add handling for invalid config error case

Signed-off-by: Simeon Widdis <[email protected]>

* Add handling for failed saved object loading

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic getStatic method

Signed-off-by: Simeon Widdis <[email protected]>

* Fix handling for missing statics

Signed-off-by: Simeon Widdis <[email protected]>

* Remove outdated repository classes

Signed-off-by: Simeon Widdis <[email protected]>

* Add docs for the integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Hook up router to new static loading

Signed-off-by: Simeon Widdis <[email protected]>

* Clarify content-type docs

Signed-off-by: Simeon Widdis <[email protected]>

* Fix details page crashes due to outdated schema

Signed-off-by: Simeon Widdis <[email protected]>

* Infer mime type for statics

Signed-off-by: Simeon Widdis <[email protected]>

* Fix screenshot loading on integrations details page

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove mimetypes from nginx 1.0.0

Signed-off-by: Simeon Widdis <[email protected]>

* Add getSchemas method with tests

Signed-off-by: Simeon Widdis <[email protected]>

* Make minor modifications to integration typing

Signed-off-by: Simeon Widdis <[email protected]>

* Add integration deep check

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor integration builder

Signed-off-by: Simeon Widdis <[email protected]>

* Fix remap ID method

Signed-off-by: Simeon Widdis <[email protected]>

* Fix loading process

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor tests for new integrations backend

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type errors in test suite

Signed-off-by: Simeon Widdis <[email protected]>

* hook up datasource creation from flyout to backend

Signed-off-by: Derek Ho <[email protected]>

* remove nullable

Signed-off-by: Derek Ho <[email protected]>

* Add schema route to router

Signed-off-by: Simeon Widdis <[email protected]>

* Fix frontend request routing for new API

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix added integration errors

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Add an actual screenshot

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused assets folder

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use Oui images

Signed-off-by: Simeon Widdis <[email protected]>

* Make integration instance deletion more robust

Signed-off-by: Simeon Widdis <[email protected]>

* Remove asset map (again

Signed-off-by: Simeon Widdis <[email protected]>

* Fix remap data source

Signed-off-by: Simeon Widdis <[email protected]>

* Correct deletion for actual 404 behavior

Signed-off-by: Simeon Widdis <[email protected]>

* Add display name field to integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Apply display name through frontend

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use display name on table view

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused code in flyout

Signed-off-by: Simeon Widdis <[email protected]>

* Stub mapping validation on frontend

Signed-off-by: Simeon Widdis <[email protected]>

* Add error message for failed validation result

Signed-off-by: Simeon Widdis <[email protected]>

* Fix request to proxy

Signed-off-by: Simeon Widdis <[email protected]>

* Add more detailed handling for missing schemas

Signed-off-by: Simeon Widdis <[email protected]>

* Apply integration type in validation

Signed-off-by: Simeon Widdis <[email protected]>

* Add full schema validation

Signed-off-by: Simeon Widdis <[email protected]>

* Add unit tests for mapping validation

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type checking in unit tests

Signed-off-by: Simeon Widdis <[email protected]>

* create dataSource UI option

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Update route for listing added integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix component tests

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic status querying

Signed-off-by: Simeon Widdis <[email protected]>

* Add unit tests for availability queries

Signed-off-by: Simeon Widdis <[email protected]>

* create ss4o index from ui

Signed-off-by: Derek Ho <[email protected]>

* code cleanup

Signed-off-by: Derek Ho <[email protected]>

* use user input

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Sync package versions with osd

Signed-off-by: Simeon Widdis <[email protected]>

* Fix path-dependent tests on windows

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Repair template naming on index autocreation

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Allow wildcards in index pattern specification

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove redundant integrationType field

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused schema files

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Add sample data

Signed-off-by: Simeon Widdis <[email protected]>

* move integrations under core (pending ux)

Signed-off-by: Derek Ho <[email protected]>

* Fix handling for templates on create

Signed-off-by: Simeon Widdis <[email protected]>

* Merge in kibana backend from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Add integration type to .kibana from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Re-add license header

Signed-off-by: Simeon Widdis <[email protected]>

* hook up toast

Signed-off-by: Derek Ho <[email protected]>

* Update integration-instance type

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix types again

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix cypress

Signed-off-by: Simeon Widdis <[email protected]>

* Add sample data endpoint

Signed-off-by: Simeon Widdis <[email protected]>

* Add license checking to eslint

Signed-off-by: Simeon Widdis <[email protected]>

* Created elb integration

Signed-off-by: Daniel Dong <[email protected]>

* successfully hook up toast and block until done with for loop

Signed-off-by: Derek Ho <[email protected]>

* fix and fix test

Signed-off-by: Derek Ho <[email protected]>

* Added screenshot of elb integration`

Signed-off-by: Daniel Dong <[email protected]>

* Updated aws_elb descriptions and logos

Signed-off-by: Daniel Dong <[email protected]>

* Deleted .DS_Store

Signed-off-by: Daniel Dong <[email protected]>

* Added container in components

Signed-off-by: Daniel Dong <[email protected]>

* Merged markers

Signed-off-by: Daniel Dong <[email protected]>

* Hotfix: Rename installed integrations to added integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Revert Nginx sample prettifying

Signed-off-by: Simeon Widdis <[email protected]>

* remove console.log

Signed-off-by: Derek Ho <[email protected]>

* updates cypress test to test create data source flow with toast

Signed-off-by: Derek Ho <[email protected]>

* update snapshot based on cypress changes

Signed-off-by: Derek Ho <[email protected]>

* get rid of extra line

Signed-off-by: Derek Ho <[email protected]>

* update according to figma

Signed-off-by: Derek Ho <[email protected]>

* Fix integrations type

Signed-off-by: Simeon Widdis <[email protected]>

* Sanitize file path for getting integration statics

Signed-off-by: Simeon Widdis <[email protected]>

* Update tests for merge

Signed-off-by: Simeon Widdis <[email protected]>

* make some UX improvements

Signed-off-by: Derek Ho <[email protected]>

* Add basic sample data loading

Signed-off-by: Simeon Widdis <[email protected]>

* moves integration on left nav, removes unused create flow

Signed-off-by: Derek Ho <[email protected]>

* hook up sample data to a standalone button

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* implement length validation and update tests accordingly

Signed-off-by: Derek Ho <[email protected]>

* disable buttons while adding

Signed-off-by: Derek Ho <[email protected]>

* fix breadcrumbs and tests

Signed-off-by: Derek Ho <[email protected]>

* update according to figma

Signed-off-by: Derek Ho <[email protected]>

* maek some changes according to figma

Signed-off-by: Derek Ho <[email protected]>

* implement tabbing for both added/available and fields/assets

Signed-off-by: Derek Ho <[email protected]>

* remove status on template, change status to badge on instance and hook up type filtering for added

Signed-off-by: Derek Ho <[email protected]>

* remove actions

Signed-off-by: Derek Ho <[email protected]>

* convert to badges

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* remove columns from table

Signed-off-by: Derek Ho <[email protected]>

* add linking to all assets

Signed-off-by: Derek Ho <[email protected]>

* fix unit and integration tests

Signed-off-by: Derek Ho <[email protected]>

* final fix up

Signed-off-by: Derek Ho <[email protected]>

* fix filtering

Signed-off-by: Derek Ho <[email protected]>

* final fix up

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* add cateogry filter and fix tests

Signed-off-by: Derek Ho <[email protected]>

* fix cypress and unit tests

Signed-off-by: Derek Ho <[email protected]>

* Fix broken index template naming in sample creation

Signed-off-by: Simeon Widdis <[email protected]>

* Add priority to logs mapping and fix index pattern

Signed-off-by: Simeon Widdis <[email protected]>

* fix various UI and add validation

Signed-off-by: Derek Ho <[email protected]>

* add request metrics

Signed-off-by: Derek Ho <[email protected]>

* fix tests, remove console log

Signed-off-by: Derek Ho <[email protected]>

* add metrics to links and final UX fix up, test fixes

Signed-off-by: Derek Ho <[email protected]>

* add back installed

Signed-off-by: Derek Ho <[email protected]>

* Fix broken nginx panels

Signed-off-by: Simeon Widdis <[email protected]>

* address pr comments

Signed-off-by: Derek Ho <[email protected]>

* address pr comments

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Fix constants

Signed-off-by: Simeon Widdis <[email protected]>

* Add learn more link to index field

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused AWS ELB integration

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused ELB constants

Signed-off-by: Simeon Widdis <[email protected]>

* Remove redundant EUI spacing

Signed-off-by: Simeon Widdis <[email protected]>

* Fix snapshots

Signed-off-by: Simeon Widdis <[email protected]>

* fix relative path

Signed-off-by: Derek Ho <[email protected]>

---------

Signed-off-by: Simeon Widdis <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Daniel Dong <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Daniel Dong <[email protected]>
Signed-off-by: Simeon Widdis <[email protected]>

---------

Signed-off-by: Simeon Widdis <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Daniel Dong <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Daniel Dong <[email protected]>
amsiglan pushed a commit to amsiglan/dashboards-observability that referenced this pull request Jun 7, 2024
* Merge pull request opensearch-project#547 from Swiddis/osints/main

Stub router for integrations project

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request opensearch-project#552 from Swiddis/osints/main

Merge in repository classes from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request opensearch-project#559 from Swiddis/copy-repository

Copy integrations repository content

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request opensearch-project#583 from Swiddis/osints/sanitize-paths

Copy path sanitization from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request opensearch-project#615 from Swiddis/osints/main

Merge sample data endpoint from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Merge pull request opensearch-project#618 from Swiddis/osints/frontend

Merge Frontend for OpenSearch Integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Merge frontend from osints/dev (opensearch-project#636)

* Remove unused NDJson parsing code

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused instance store

Signed-off-by: Simeon Widdis <[email protected]>

* Move repository logic to own class

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for IntegrationsRepository

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for kibana backend

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Clear repository between runs in testing

Signed-off-by: Simeon Widdis <[email protected]>

* fix tests and import

Signed-off-by: Derek Ho <[email protected]>

* add sanity test cypress test

Signed-off-by: Derek Ho <[email protected]>

* clean up code

Signed-off-by: Derek Ho <[email protected]>

* Add tests for integration builder

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Swap jest test to it

Signed-off-by: Simeon Widdis <[email protected]>

* {
  "attributes": {
    "description": "Nginx dashboard with basic Observability on access / error logs",
    "hits": 0,
    "kibanaSavedObjectMeta": {
      "searchSourceJSON": "{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"
    },
    "optionsJSON": "{\"hidePanelTitles\":false,\"useMargins\":true}",
    "panelsJSON": "[{\"version\":\"2.5.0\",\"gridData\":{\"h\":8,\"i\":\"1f31e50b-06e3-41e6-972e-e4e5fe1a9872\",\"w\":48,\"x\":0,\"y\":0},\"panelIndex\":\"1f31e50b-06e3-41e6-972e-e4e5fe1a9872\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.5.0\",\"gridData\":{\"h\":9,\"i\":\"d91a8da4-b34b-470a-aca6-9c76b47cd6fb\",\"w\":24,\"x\":0,\"y\":8},\"panelIndex\":\"d91a8da4-b34b-470a-aca6-9c76b47cd6fb\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.5.0\",\"gridData\":{\"h\":15,\"i\":\"27149e5a-3a77-4f3c-800e-8a160c3765f4\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"27149e5a-3a77-4f3c-800e-8a160c3765f4\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.5.0\",\"gridData\":{\"x\":0,\"y\":17,\"w\":24,\"h\":15,\"i\":\"4d8c2aa7-159c-4a1a-80ff-00a9299056ce\"},\"panelIndex\":\"4d8c2aa7-159c-4a1a-80ff-00a9299056ce\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"2.5.0\",\"gridData\":{\"x\":24,\"y\":23,\"w\":24,\"h\":15,\"i\":\"800b7f19-f50c-417f-8987-21b930531cbe\"},\"panelIndex\":\"800b7f19-f50c-417f-8987-21b930531cbe\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"}]",
    "timeRestore": false,
    "title": "[NGINX Core Logs 1.0] Overview",
    "version": 1
  },
  "id": "96847220-5261-44d0-89b4-65f3a659f13a",
  "migrationVersion": {
    "dashboard": "7.9.3"
  },
  "references": [
    {
      "id": "3b49a65d-54d8-483d-a8f0-3d7c855e1ecf",
      "name": "panel_0",
      "type": "visualization"
    },
    {
      "id": "865e577b-634b-4a65-b9d6-7e324c395d18",
      "name": "panel_1",
      "type": "visualization"
    },
    {
      "id": "dc1803f0-b478-11ed-9063-ebe46f9ac203",
      "name": "panel_2",
      "type": "visualization"
    },
    {
      "id": "99acc580-b47a-11ed-9063-ebe46f9ac203",
      "name": "panel_3",
      "type": "visualization"
    },
    {
      "id": "01ea64d0-b62f-11ed-a677-43d7aa86763b",
      "name": "panel_4",
      "type": "visualization"
    }
  ],
  "type": "dashboard",
  "updated_at": "2023-02-26T23:44:09.855Z",
  "version": "WzczLDdd"
}

Signed-off-by: Derek Ho <[email protected]>

* Stub out sample integration data for front-end

Signed-off-by: Simeon Widdis <[email protected]>

* Use more realistic integration sample

Signed-off-by: Simeon Widdis <[email protected]>

* Add full traversal to fields list

Signed-off-by: Simeon Widdis <[email protected]>

* Add license to integration template

Signed-off-by: Simeon Widdis <[email protected]>

* add some unit testing framework

Signed-off-by: Derek Ho <[email protected]>

* fix up the testing name

Signed-off-by: Derek Ho <[email protected]>

* fix up table view and add a test

Signed-off-by: Derek Ho <[email protected]>

* add an added integration table test using dummy data

Signed-off-by: Derek Ho <[email protected]>

* add integration specific types and clean up code

Signed-off-by: Derek Ho <[email protected]>

* clean up code and use integration specific types

Signed-off-by: Derek Ho <[email protected]>

* Route integrations page to actual repository

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused import

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use loading spinner

Signed-off-by: Simeon Widdis <[email protected]>

* add some changes to UI according to figma

Signed-off-by: Derek Ho <[email protected]>

* add license headers and hook up get to specific instance for added page

Signed-off-by: Derek Ho <[email protected]>

* add screenshots and fix up mappings and breadcrumbs

Signed-off-by: Derek Ho <[email protected]>

* Add failing test case for empty object

Signed-off-by: Simeon Widdis <[email protected]>

* Make template test pass

Signed-off-by: Simeon Widdis <[email protected]>

* use flyout according to figma and connect flyout input to backend creation

Signed-off-by: Derek Ho <[email protected]>

* implement delete

Signed-off-by: Derek Ho <[email protected]>

* fix up tests for changes

Signed-off-by: Derek Ho <[email protected]>

* get added page to working order

Signed-off-by: Derek Ho <[email protected]>

* Add template validator via Ajv

Signed-off-by: Simeon Widdis <[email protected]>

* Fix builder tests for new validation

Signed-off-by: Simeon Widdis <[email protected]>

* add unit test coverage

Signed-off-by: Derek Ho <[email protected]>

* update page and tests to remove added by for integration instances

Signed-off-by: Derek Ho <[email protected]>

* deleting an instance also deletes its children saved objects

Signed-off-by: Derek Ho <[email protected]>

* Add integration instance validation

Signed-off-by: Simeon Widdis <[email protected]>

* update components and snapshots with data-test-subj for cypress tests and add more comprehensive cypress test suite

Signed-off-by: Derek Ho <[email protected]>

* remove unecessary console logging

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Minor code cleanup

Signed-off-by: Simeon Widdis <[email protected]>

* dynamically handle id generation to allow for multiple instances of the same template to be created

Signed-off-by: Derek Ho <[email protected]>

* Update integration with fixed panels

Signed-off-by: Simeon Widdis <[email protected]>

* Apply minor behavior tweaks

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor repository for new format

Signed-off-by: Simeon Widdis <[email protected]>

* fix empty assets bug

Signed-off-by: Derek Ho <[email protected]>

* Write basic FS latest integration queries

Signed-off-by: Simeon Widdis <[email protected]>

* Update integration template type and validator

Signed-off-by: Simeon Widdis <[email protected]>

* Add template retrieval to repository fs

Signed-off-by: Simeon Widdis <[email protected]>

* Add copyright notice to repository_fs

Signed-off-by: Simeon Widdis <[email protected]>

* fix escape

Signed-off-by: Derek Ho <[email protected]>

* revert file

Signed-off-by: Derek Ho <[email protected]>

* fix test

Signed-off-by: Derek Ho <[email protected]>

* Stub composite repository class

Signed-off-by: Simeon Widdis <[email protected]>

* Apply minor condition refactor

Signed-off-by: Simeon Widdis <[email protected]>

* Fill in basic implementation for integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Add tests for integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type errors on repository tests

Signed-off-by: Simeon Widdis <[email protected]>

* Patch: Handle files with invalid version formats

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor displayAssets to assets

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic getAssets implementation

Signed-off-by: Simeon Widdis <[email protected]>

* Add handling for invalid config error case

Signed-off-by: Simeon Widdis <[email protected]>

* Add handling for failed saved object loading

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic getStatic method

Signed-off-by: Simeon Widdis <[email protected]>

* Fix handling for missing statics

Signed-off-by: Simeon Widdis <[email protected]>

* Remove outdated repository classes

Signed-off-by: Simeon Widdis <[email protected]>

* Add docs for the integration class

Signed-off-by: Simeon Widdis <[email protected]>

* Hook up router to new static loading

Signed-off-by: Simeon Widdis <[email protected]>

* Clarify content-type docs

Signed-off-by: Simeon Widdis <[email protected]>

* Fix details page crashes due to outdated schema

Signed-off-by: Simeon Widdis <[email protected]>

* Infer mime type for statics

Signed-off-by: Simeon Widdis <[email protected]>

* Fix screenshot loading on integrations details page

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove mimetypes from nginx 1.0.0

Signed-off-by: Simeon Widdis <[email protected]>

* Add getSchemas method with tests

Signed-off-by: Simeon Widdis <[email protected]>

* Make minor modifications to integration typing

Signed-off-by: Simeon Widdis <[email protected]>

* Add integration deep check

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor integration builder

Signed-off-by: Simeon Widdis <[email protected]>

* Fix remap ID method

Signed-off-by: Simeon Widdis <[email protected]>

* Fix loading process

Signed-off-by: Simeon Widdis <[email protected]>

* Refactor tests for new integrations backend

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type errors in test suite

Signed-off-by: Simeon Widdis <[email protected]>

* hook up datasource creation from flyout to backend

Signed-off-by: Derek Ho <[email protected]>

* remove nullable

Signed-off-by: Derek Ho <[email protected]>

* Add schema route to router

Signed-off-by: Simeon Widdis <[email protected]>

* Fix frontend request routing for new API

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix added integration errors

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Add an actual screenshot

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused assets folder

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use Oui images

Signed-off-by: Simeon Widdis <[email protected]>

* Make integration instance deletion more robust

Signed-off-by: Simeon Widdis <[email protected]>

* Remove asset map (again

Signed-off-by: Simeon Widdis <[email protected]>

* Fix remap data source

Signed-off-by: Simeon Widdis <[email protected]>

* Correct deletion for actual 404 behavior

Signed-off-by: Simeon Widdis <[email protected]>

* Add display name field to integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Apply display name through frontend

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Use display name on table view

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused code in flyout

Signed-off-by: Simeon Widdis <[email protected]>

* Stub mapping validation on frontend

Signed-off-by: Simeon Widdis <[email protected]>

* Add error message for failed validation result

Signed-off-by: Simeon Widdis <[email protected]>

* Fix request to proxy

Signed-off-by: Simeon Widdis <[email protected]>

* Add more detailed handling for missing schemas

Signed-off-by: Simeon Widdis <[email protected]>

* Apply integration type in validation

Signed-off-by: Simeon Widdis <[email protected]>

* Add full schema validation

Signed-off-by: Simeon Widdis <[email protected]>

* Add unit tests for mapping validation

Signed-off-by: Simeon Widdis <[email protected]>

* Fix type checking in unit tests

Signed-off-by: Simeon Widdis <[email protected]>

* create dataSource UI option

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Update route for listing added integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix component tests

Signed-off-by: Simeon Widdis <[email protected]>

* Add basic status querying

Signed-off-by: Simeon Widdis <[email protected]>

* Add unit tests for availability queries

Signed-off-by: Simeon Widdis <[email protected]>

* create ss4o index from ui

Signed-off-by: Derek Ho <[email protected]>

* code cleanup

Signed-off-by: Derek Ho <[email protected]>

* use user input

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Sync package versions with osd

Signed-off-by: Simeon Widdis <[email protected]>

* Fix path-dependent tests on windows

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Repair template naming on index autocreation

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Allow wildcards in index pattern specification

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove redundant integrationType field

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Remove unused schema files

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Add sample data

Signed-off-by: Simeon Widdis <[email protected]>

* move integrations under core (pending ux)

Signed-off-by: Derek Ho <[email protected]>

* Fix handling for templates on create

Signed-off-by: Simeon Widdis <[email protected]>

* Merge in kibana backend from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Add integration type to .kibana from osints/dev

Signed-off-by: Simeon Widdis <[email protected]>

* Re-add license header

Signed-off-by: Simeon Widdis <[email protected]>

* hook up toast

Signed-off-by: Derek Ho <[email protected]>

* Update integration-instance type

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix types again

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Fix cypress

Signed-off-by: Simeon Widdis <[email protected]>

* Add sample data endpoint

Signed-off-by: Simeon Widdis <[email protected]>

* Add license checking to eslint

Signed-off-by: Simeon Widdis <[email protected]>

* Created elb integration

Signed-off-by: Daniel Dong <[email protected]>

* successfully hook up toast and block until done with for loop

Signed-off-by: Derek Ho <[email protected]>

* fix and fix test

Signed-off-by: Derek Ho <[email protected]>

* Added screenshot of elb integration`

Signed-off-by: Daniel Dong <[email protected]>

* Updated aws_elb descriptions and logos

Signed-off-by: Daniel Dong <[email protected]>

* Deleted .DS_Store

Signed-off-by: Daniel Dong <[email protected]>

* Added container in components

Signed-off-by: Daniel Dong <[email protected]>

* Merged markers

Signed-off-by: Daniel Dong <[email protected]>

* Hotfix: Rename installed integrations to added integrations

Signed-off-by: Simeon Widdis <[email protected]>

* Hotfix: Revert Nginx sample prettifying

Signed-off-by: Simeon Widdis <[email protected]>

* remove console.log

Signed-off-by: Derek Ho <[email protected]>

* updates cypress test to test create data source flow with toast

Signed-off-by: Derek Ho <[email protected]>

* update snapshot based on cypress changes

Signed-off-by: Derek Ho <[email protected]>

* get rid of extra line

Signed-off-by: Derek Ho <[email protected]>

* update according to figma

Signed-off-by: Derek Ho <[email protected]>

* Fix integrations type

Signed-off-by: Simeon Widdis <[email protected]>

* Sanitize file path for getting integration statics

Signed-off-by: Simeon Widdis <[email protected]>

* Update tests for merge

Signed-off-by: Simeon Widdis <[email protected]>

* make some UX improvements

Signed-off-by: Derek Ho <[email protected]>

* Add basic sample data loading

Signed-off-by: Simeon Widdis <[email protected]>

* moves integration on left nav, removes unused create flow

Signed-off-by: Derek Ho <[email protected]>

* hook up sample data to a standalone button

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* implement length validation and update tests accordingly

Signed-off-by: Derek Ho <[email protected]>

* disable buttons while adding

Signed-off-by: Derek Ho <[email protected]>

* fix breadcrumbs and tests

Signed-off-by: Derek Ho <[email protected]>

* update according to figma

Signed-off-by: Derek Ho <[email protected]>

* maek some changes according to figma

Signed-off-by: Derek Ho <[email protected]>

* implement tabbing for both added/available and fields/assets

Signed-off-by: Derek Ho <[email protected]>

* remove status on template, change status to badge on instance and hook up type filtering for added

Signed-off-by: Derek Ho <[email protected]>

* remove actions

Signed-off-by: Derek Ho <[email protected]>

* convert to badges

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* remove columns from table

Signed-off-by: Derek Ho <[email protected]>

* add linking to all assets

Signed-off-by: Derek Ho <[email protected]>

* fix unit and integration tests

Signed-off-by: Derek Ho <[email protected]>

* final fix up

Signed-off-by: Derek Ho <[email protected]>

* fix filtering

Signed-off-by: Derek Ho <[email protected]>

* final fix up

Signed-off-by: Derek Ho <[email protected]>

* fix tests

Signed-off-by: Derek Ho <[email protected]>

* add cateogry filter and fix tests

Signed-off-by: Derek Ho <[email protected]>

* fix cypress and unit tests

Signed-off-by: Derek Ho <[email protected]>

* Fix broken index template naming in sample creation

Signed-off-by: Simeon Widdis <[email protected]>

* Add priority to logs mapping and fix index pattern

Signed-off-by: Simeon Widdis <[email protected]>

* fix various UI and add validation

Signed-off-by: Derek Ho <[email protected]>

* add request metrics

Signed-off-by: Derek Ho <[email protected]>

* fix tests, remove console log

Signed-off-by: Derek Ho <[email protected]>

* add metrics to links and final UX fix up, test fixes

Signed-off-by: Derek Ho <[email protected]>

* add back installed

Signed-off-by: Derek Ho <[email protected]>

* Fix broken nginx panels

Signed-off-by: Simeon Widdis <[email protected]>

* address pr comments

Signed-off-by: Derek Ho <[email protected]>

* address pr comments

Signed-off-by: Derek Ho <[email protected]>

* Hotfix: Fix constants

Signed-off-by: Simeon Widdis <[email protected]>

* Add learn more link to index field

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused AWS ELB integration

Signed-off-by: Simeon Widdis <[email protected]>

* Remove unused ELB constants

Signed-off-by: Simeon Widdis <[email protected]>

* Remove redundant EUI spacing

Signed-off-by: Simeon Widdis <[email protected]>

* Fix snapshots

Signed-off-by: Simeon Widdis <[email protected]>

* fix relative path

Signed-off-by: Derek Ho <[email protected]>

---------

Signed-off-by: Simeon Widdis <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Daniel Dong <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Daniel Dong <[email protected]>
Signed-off-by: Simeon Widdis <[email protected]>

---------

Signed-off-by: Simeon Widdis <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Derek Ho <[email protected]>
Signed-off-by: Daniel Dong <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Derek Ho <[email protected]>
Co-authored-by: Daniel Dong <[email protected]>
(cherry picked from commit 55d9954)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants