Open YANG-DB opened 4 months ago
Can we add the field for getting_started in the existing integrations config type: https://github.com/opensearch-project/dashboards-observability/blob/b328720c11811d45da9d0594c5c28a18dd8fa2d0/server/adaptors/integrations/types.ts#L12-L29
Something like:
interface IntegrationConfig {
name: string;
version: string;
displayName?: string;
license: string;
type: string;
labels?: string[];
author?: string;
description?: string;
sourceUrl?: string;
workflows?: IntegrationWorkflow[];
statics?: IntegrationStatics;
components: IntegrationComponent[];
assets: IntegrationAsset[];
sampleData?: {
path: string;
};
gettingStarted?: GettingStartedType;
}
interface GettingStartedType {
// contains all the delta we add
// workflow
// statics
// relatedAssets
}
Also Let's add type to the workflow steps; so content-type field can help UI component to tell what to render is it an image, video, code, etc.
@Swiddis Can you please enlighten us how validator behaves when an asset with gettingStarted field is added to older integrations code base?
It'd reject it, since additionalProperties: false
is set
Need create schema section which describes the index template and name/alias to be generated as part of the preparation for ingestion. The actual schema should come from the integration meta-deta component section. Which refers to the integration schema.
Is your feature request related to a problem?
Today the Integrations catalog are becoming more popular due to its simple installation and opinionated schema governed by the Otel protocol. Each integration has a
TryMe
button that has a small dataset which functions as a mock data-points for the dashboard to show some minimal visual appearance.The need for a comprehensive documentation and instruction (including scripts or live docker image) of how to actually add the agent on top of the observed service, how to map the resulting logs into the Otel (simple schema) format and the actual setup of the agent that will be responsible of the data shipping is not covered and very much missing.
What solution would you like? This is a proposal for the content of such
getting-started
template and format that will lead to a catalog of getting started component that are accompanied with the following :Each such component will have the following relationships:
Do you have any additional context?
Getting Started Schema Specification
Getting-Started within the Integration Json Specification
getting-started
: An object containing the workflows for getting started.Properties
getting-started
Metadata-Properties
Properties
workflows
: An array of workflow objects.workflows
Workflow Object
name
: The name of the workflow."fluent-bit"
description
: A description of the workflow."This is a fluent-bit based getting started instructions tutorial"
steps
: An array of step objects.steps
Step Object
name
: The name of the step."Fluent-Bit Parser"
type
: The type of step."console-cmd"
label
: A label for the step."Log Parsing"
info
: An array of URLs providing additional information.["https://github.com/opensearch-project/opensearch-catalog/tree/main/integrations/observability/nginx/getting-started/fluent-bit/parsers.conf"]
description
: A description of the step."Setup Fluent-Bit parser config file parsing Nginx access log fields"
content
: The content of the step, such as commands or configurations."[PARSER]\n Name apache\n Format regex\n ..."