mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 10:40:07 -04:00
This PR adds guidelines for designing Kibana HTTP APIs that are terraform-provider developer friendly. fix https://github.com/elastic/kibana/issues/224643 ## Summary Kibana doesn't have specific guidelines for designing HTTP APIs. With increasing constraints, it's time to document what was previously tribal knowledge. Elasticsearch is far further along this road, and other teams have compiled their own. This document serves as guidelines to designing _public_ HTTP APIs that are suitable for managing with Terraform. ## How to test this (recommended for easier reading) - pull this PR - setup [`docs.elastic.dev`](https://docs.elastic.dev/docs/local-dev-docs-setup) locally - run `yarn dev` from `docs.elastic.dev` - review the docs live!  ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials --------- Co-authored-by: florent-leborgne <florent.leborgne@elastic.co> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
660 lines
15 KiB
JSON
660 lines
15 KiB
JSON
{
|
|
"mission": "Kibana Developer Guide",
|
|
"id": "kibDevDocs",
|
|
"landingPageId": "kibDevDocsWelcome",
|
|
"icon": "logoKibana",
|
|
"description": "Developer documentation for building custom Kibana plugins and extending Kibana functionality.",
|
|
"items": [
|
|
{
|
|
"label": "Getting started",
|
|
"items": [
|
|
{
|
|
"id": "kibDevDocsWelcome"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialSetupDevEnv"
|
|
},
|
|
{
|
|
"id": "kibHelloWorldApp"
|
|
},
|
|
{
|
|
"id": "kibDevAddData"
|
|
},
|
|
{
|
|
"id": "kibTroubleshooting"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Contributing",
|
|
"items": [
|
|
{
|
|
"id": "kibDevPrinciples"
|
|
},
|
|
{
|
|
"id": "kibRepoStructure"
|
|
},
|
|
{
|
|
"id": "kibStandards"
|
|
},
|
|
{
|
|
"id": "kibBestPractices"
|
|
},
|
|
{
|
|
"id": "kibDocumentation"
|
|
},
|
|
{
|
|
"id": "kibStyleGuide"
|
|
},
|
|
{
|
|
"id": "kibHttpApiGuidelines"
|
|
},
|
|
{
|
|
"id": "ktRFCProcess"
|
|
},
|
|
{
|
|
"id": "kibGitHub"
|
|
},
|
|
{
|
|
"id": "kibThirdPartyDependencies"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Key concepts",
|
|
"items": [
|
|
{
|
|
"id": "kibPlatformIntro"
|
|
},
|
|
{
|
|
"id": "kibDevAnatomyOfAPlugin"
|
|
},
|
|
{
|
|
"id": "kibDevPerformance",
|
|
"items": [
|
|
{
|
|
"id": "kibDevPerformanceClient",
|
|
"label": "Client-side code"
|
|
},
|
|
{
|
|
"id": "kibDevPerformanceServer",
|
|
"label": "Server-side code"
|
|
},
|
|
{
|
|
"label": "Case studies",
|
|
"id": "kibDevPerformanceCaseStudies",
|
|
"items": [
|
|
{
|
|
"label": "Async too early",
|
|
"id": "kibDevPerformanceCaseStudyAsyncTooEarly"
|
|
},
|
|
{
|
|
"label": "Top-level imports",
|
|
"id": "kibDevPerformanceCaseStudyTopLevelImports"
|
|
},
|
|
{
|
|
"label": "Uncommon code in common",
|
|
"id": "kibDevPerformanceCaseStudyUncommonCodeInCommon"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "kibBuildingBlocks"
|
|
},
|
|
{
|
|
"id": "kibDevDocsSecurityAPIAuthorization"
|
|
},
|
|
{
|
|
"id": "kibDevDocsSecurityKibanaSystemUser"
|
|
},
|
|
{
|
|
"id": "kibDevFeaturePrivileges",
|
|
"label": "Feature Privileges"
|
|
},
|
|
{
|
|
"id": "kibDevDocsSavedObjectsIntro",
|
|
"label": "Saved objects"
|
|
},
|
|
{
|
|
"id": "kibDevDocsEncryptedSavedObjectsIntro",
|
|
"label": "Encrypted Saved objects"
|
|
},
|
|
{
|
|
"id": "kibDevDocsPersistableStateIntro"
|
|
},
|
|
{
|
|
"id": "kibDataPlugin",
|
|
"label": "Data"
|
|
},
|
|
{
|
|
"id": "kibCoreLogging"
|
|
},
|
|
{
|
|
"id": "kibAuditLogging"
|
|
},
|
|
{
|
|
"id": "kibUsageCollectionPlugin"
|
|
},
|
|
{
|
|
"id": "kibDataViewsKeyConcepts"
|
|
},
|
|
{
|
|
"id": "kibDevKeyConceptsNavigation"
|
|
},
|
|
{
|
|
"id": "kibDevDocsEmbeddables"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Tutorials",
|
|
"items": [
|
|
{
|
|
"id": "kibDevTutorialAddingCustomPerformanceMetrics",
|
|
"label": "Adding Performance Metrics"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialSetupWindowsDevWSL"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialTestingPlugins"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialSavedObject"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialVersioningHTTPAPIs",
|
|
"label": "Versioning HTTP APIs"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialVersioningInterfaces",
|
|
"label": "Versioning interfaces"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialGeneratingOASForHTTPAPIs"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialSubmitPullRequest"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialExpressions"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialDataSearchAndSessions",
|
|
"label": "data.search"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialScreenshotting",
|
|
"label": "Screenshotting",
|
|
"items": [
|
|
{
|
|
"id": "kibDevDocsUpdatingPuppeteerAndChromium"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "kibDevTutorialDataViews"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialDebugging"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialDebuggingFipsTestFailures"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialBuildingDistributable",
|
|
"label": "Building a Kibana distributable"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialCI"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialServerEndpoint"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialAdvancedSettings"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialCcsSetup"
|
|
},
|
|
{
|
|
"id": "kibFeatureFlagsService",
|
|
"label": "Feature Flags"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Serverless",
|
|
"pageId": "ktServerlessReleaseOverview",
|
|
"items": [
|
|
{
|
|
"id": "ktServerlessReleaseOverview"
|
|
},
|
|
{
|
|
"id": "ktServerlessEmergencyReleases"
|
|
},
|
|
{
|
|
"id": "ktCustomServerlessImage"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialsSolutionNavigation"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Operations",
|
|
"items": [
|
|
{
|
|
"id": "kibDevDocsOpsOverview",
|
|
"label": "Overview"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Shared UX",
|
|
"pageId": "kibDevDocsSharedUxOverview",
|
|
"items": [
|
|
{
|
|
"label": "Solution Navigation (stateful solution nav and serverless navigation",
|
|
"id": "kibDevTutorialsSolutionNavigation"
|
|
},
|
|
{
|
|
"id": "kibDevTutorialFileService",
|
|
"label": "File service"
|
|
},
|
|
{
|
|
"id": "kibDevSharePluginReadme",
|
|
"label": "Sharing"
|
|
},
|
|
{
|
|
"label": "Content Management",
|
|
"id": "kibContentManagement",
|
|
"items": [
|
|
{
|
|
"id": "kibDevTutorialsContentManagementOnboarding"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "kibDevTutorialAdvancedSettings",
|
|
"label": "Advanced Settings"
|
|
},
|
|
{
|
|
"id": "kibDevDocsKPTTutorial",
|
|
"label": "Kibana Page Template"
|
|
},
|
|
{
|
|
"id": "kibDevRenderingService",
|
|
"label": "Core Rendering Service"
|
|
},
|
|
{
|
|
"id": "kibDevDocsChromeRecentlyAccessed",
|
|
"label": "Recently Viewed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Lens",
|
|
"pageId": "kibDevLensOverview",
|
|
"items": [
|
|
{
|
|
"label": "Lens Config API",
|
|
"id": "kibDevLensConfigAPI",
|
|
"items": [
|
|
{
|
|
"label": "Introduction",
|
|
"id": "kibDevLensConfigAPI"
|
|
},
|
|
{
|
|
"label": "Examples",
|
|
"id": "kibDevLensConfigAPIExamples"
|
|
},
|
|
{
|
|
"label": "Metric Chart",
|
|
"id": "kibDevLensConfigAPIMetric"
|
|
},
|
|
{
|
|
"label": "Gauge Chart",
|
|
"id": "kibDevLensConfigAPIGauge"
|
|
},
|
|
{
|
|
"label": "Pie Chart",
|
|
"id": "kibDevLensConfigAPIPie"
|
|
},
|
|
{
|
|
"label": "Mosaic Chart",
|
|
"id": "kibDevLensConfigAPIMosaic"
|
|
},
|
|
{
|
|
"label": "TreeMap Chart",
|
|
"id": "kibDevLensConfigAPITreeMap"
|
|
},
|
|
{
|
|
"label": "TagCloud Chart",
|
|
"id": "kibDevLensConfigAPITagCloud"
|
|
},
|
|
{
|
|
"label": "RegionMap Chart",
|
|
"id": "kibDevLensConfigAPIRegionMap"
|
|
},
|
|
{
|
|
"label": "Table Chart",
|
|
"id": "kibDevLensConfigAPITable"
|
|
},
|
|
{
|
|
"label": "Heatmap Chart",
|
|
"id": "kibDevLensConfigAPIHeatmap"
|
|
},
|
|
{
|
|
"label": "XY Chart",
|
|
"id": "kibDevLensConfigAPIXY"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Contributors Newsletters",
|
|
"items": [
|
|
{
|
|
"id": "kibSeptember2023ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJuly2023ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMay2023ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMarch2023ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJanuary2023ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibNovember2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibOctober2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibSeptember2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibAugust2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJuly2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJune2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMay2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibApril2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMarch2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibFebruary2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJanuary2022ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibDecember2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibNovember2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibOctober2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibSeptember2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibAugust2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJuly2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibJune2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMay2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibApril2021ContributorNewsletter"
|
|
},
|
|
{
|
|
"id": "kibMarch2021ContributorNewsletter"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "API documentation",
|
|
"items": [
|
|
{
|
|
"id": "kibDevDocsApiWelcome"
|
|
},
|
|
{
|
|
"id": "kibDevDocsPluginDirectory"
|
|
},
|
|
{
|
|
"id": "kibDevDocsDeprecationsDueByTeam"
|
|
},
|
|
{
|
|
"id": "kibDevDocsDeprecationsByPlugin"
|
|
},
|
|
{
|
|
"id": "kibDevDocsDeprecationsByApi"
|
|
},
|
|
{
|
|
"id": "kibFieldFormatsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDataPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDataViewsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDataQueryPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDataSearchPluginApi"
|
|
},
|
|
{
|
|
"id": "kibAlertingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibTaskManagerPluginApi"
|
|
},
|
|
{
|
|
"id": "kibActionsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibEventLogPluginApi"
|
|
},
|
|
{
|
|
"id": "kibTriggersActionsUiPluginApi"
|
|
},
|
|
{
|
|
"id": "kibCasesPluginApi"
|
|
},
|
|
{
|
|
"id": "kibChartsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDashboardPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDevToolsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDiscoverPluginApi"
|
|
},
|
|
{
|
|
"id": "kibEmbeddablePluginApi"
|
|
},
|
|
{
|
|
"id": "kibEncryptedSavedObjectsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibEnterpriseSearchPluginApi"
|
|
},
|
|
{
|
|
"id": "kibEsUiSharedPluginApi"
|
|
},
|
|
{
|
|
"id": "kibExpressionsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibFeaturesPluginApi"
|
|
},
|
|
{
|
|
"id": "kibFileUploadPluginApi"
|
|
},
|
|
{
|
|
"id": "kibFilesPluginApi"
|
|
},
|
|
{
|
|
"id": "kibFleetPluginApi"
|
|
},
|
|
{
|
|
"id": "kibGlobalSearchPluginApi"
|
|
},
|
|
{
|
|
"id": "kibHomePluginApi"
|
|
},
|
|
{
|
|
"id": "kibInspectorPluginApi"
|
|
},
|
|
{
|
|
"id": "kibKibanaReactPluginApi"
|
|
},
|
|
{
|
|
"id": "kibKibanaUtilsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibLensPluginApi"
|
|
},
|
|
{
|
|
"id": "kibLicenseManagementPluginApi"
|
|
},
|
|
{
|
|
"id": "kibLicensingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibListsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibManagementPluginApi"
|
|
},
|
|
{
|
|
"id": "kibMapsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibMlPluginApi"
|
|
},
|
|
{
|
|
"id": "kibMonitoringPluginApi"
|
|
},
|
|
{
|
|
"id": "kibNavigationPluginApi"
|
|
},
|
|
{
|
|
"id": "kibNewsfeedPluginApi"
|
|
},
|
|
{
|
|
"id": "kibNotificationsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibObservabilityPluginApi"
|
|
},
|
|
{
|
|
"id": "kibRemoteClustersPluginApi"
|
|
},
|
|
{
|
|
"id": "kibReportingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibRollupPluginApi"
|
|
},
|
|
{
|
|
"id": "kibRuntimeFieldsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSavedObjectsManagementPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSavedObjectsTaggingOssPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSavedObjectsTaggingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSavedObjectsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibScreenshottingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSecuritySolutionPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSecurityPluginApi"
|
|
},
|
|
{
|
|
"id": "kibSharePluginApi"
|
|
},
|
|
{
|
|
"id": "kibSnapshotRestorePluginApi"
|
|
},
|
|
{
|
|
"id": "kibSpacesPluginApi"
|
|
},
|
|
{
|
|
"id": "kibStackAlertsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibTelemetryCollectionManagerPluginApi"
|
|
},
|
|
{
|
|
"id": "kibTelemetryManagementSectionPluginApi"
|
|
},
|
|
{
|
|
"id": "kibTelemetryPluginApi"
|
|
},
|
|
{
|
|
"id": "kibUiActionsEnhancedPluginApi"
|
|
},
|
|
{
|
|
"id": "kibUiActionsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibUrlForwardingPluginApi"
|
|
},
|
|
{
|
|
"id": "kibUsageCollectionPluginApi"
|
|
},
|
|
{
|
|
"id": "kibVisTypeTimeseriesPluginApi"
|
|
},
|
|
{
|
|
"id": "kibVisualizationsPluginApi"
|
|
},
|
|
{
|
|
"id": "kibDevDocsOpsTest"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|