kibana/config/serverless.oblt.yml
Yuliia Naumenko 221c199ed1
[Search Connectors][Serverless] Add Search Connectors UI to the Stack Management data Section (#213509)
**!!MAJORITY OF THE CHANGED FILES ARE MOVED OR COPIED!!**

### Vision

According to the product vision we will build a new simple UI/UX in the
future https://github.com/elastic/security-team/issues/11790

This PR is a first iteration on enabling Content Connectors Management
UI in Serverless Kibana Stack Management.
Elastic Managed content connectors will be available only for Security
and Observability projects.
### Current PR scope

1. Used initial search_connectors plugin and renamed it to
content_connectors + moved from `x-pack/solutions/search` to
`x-pack/platform/plugins/shared`
2. Copy relevant connectors UI and routes from enterprise_search plugin.
3. Introduce the new Stack Management card/navigation option under the
Data section.
4. Enabled this plugin only in Serverless for Security and Observability
projects.
5. For making PR smaller Pipelines tab was not moved. And according to
Search team vision this functionality should be dropped anyway soon.
6. Extended fleet package logic to include elastic_connectors for
security and o11y serverless projects
7. Added back `search:agentless-connectors-manager` task

In Stack Management navigation:
<img width="2062" alt="Screenshot 2025-04-15 at 3 51 43 PM"
src="https://github.com/user-attachments/assets/5c93ba01-9a6a-4eac-a21d-1370f03b8f35"
/>

Stack Management cards:
<img width="2081" alt="Screenshot 2025-04-10 at 8 41 43 PM"
src="https://github.com/user-attachments/assets/3def1c12-561b-4a84-8241-4dd61cd9313d"
/>


Create Elastic Managed Connector UI (on Agentless):

<img width="1822" alt="Screenshot 2025-04-15 at 3 55 29 PM"
src="https://github.com/user-attachments/assets/6e9fea48-85e7-43df-919d-0e5492d0e704"
/>

Create Self Managed Connector UI:

<img width="2064" alt="Screenshot 2025-04-15 at 3 55 49 PM"
src="https://github.com/user-attachments/assets/d5051898-c8fa-4e41-b9ea-b41d4ed4a0d5"
/>

### Next steps

- [ ] Remove duplicated code between content_connectors,
enterprise_search and serverless_search
- [ ] Extract [common server
libs](https://github.com/elastic/kibana/tree/main/x-pack/solutions/search/plugins/enterprise_search/server/lib)
to the shared package `kbn-search-connectors`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Artem Shelkovnikov <artem.shelkovnikov@elastic.co>
Co-authored-by: Artem Shelkovnikov <lavatroublebubble@gmail.com>
Co-authored-by: Kyle Pollich <kyle.pollich@elastic.co>
2025-04-18 04:50:56 +02:00

237 lines
8.7 KiB
YAML

# Observability Project config
## Disable plugins
xpack.search.enabled: false
xpack.cloudSecurityPosture.enabled: false
xpack.infra.enabled: true
xpack.uptime.enabled: true
xpack.securitySolution.enabled: false
xpack.searchNotebooks.enabled: false
xpack.searchPlayground.enabled: false
xpack.searchInferenceEndpoints.enabled: false
xpack.searchIndices.enabled: false
xpack.searchSynonyms.enabled: false
## Fine-tune the observability solution feature privileges. Also, refer to `serverless.yml` for the project-agnostic overrides.
xpack.features.overrides:
### Applications feature privileges are fine-tuned to grant access to Logs, and Observability apps.
apm:
### By default, this feature named as `APM and User Experience`, but should be renamed to `Applications`.
name: "Applications"
privileges:
# Infrastructure's `All` feature privilege should implicitly grant `All` access to Logs and Observability apps.
all.composedOf:
- feature: "logs"
privileges: [ "all" ]
- feature: "observability"
privileges: [ "all" ]
# Infrastructure's `Read` feature privilege should implicitly grant `Read` access to Logs and Observability apps.
read.composedOf:
- feature: "logs"
privileges: [ "read" ]
- feature: "observability"
privileges: [ "read" ]
### Dashboards feature should be moved from Analytics category to the Observability one.
dashboard_v2.category: "observability"
### Discover feature should be moved from Analytics category to the Observability one and its privileges are
### fine-tuned to grant access to Observability app.
discover:
privileges:
# Discover `All` feature privilege should implicitly grant `All` access to Observability app.
all.composedOf:
- feature: "observability"
privileges: [ "all" ]
# Discover `Read` feature privilege should implicitly grant `Read` access to Observability app.
read.composedOf:
- feature: "observability"
privileges: [ "read" ]
discover_v2:
category: "observability"
privileges:
# Discover `All` feature privilege should implicitly grant `All` access to Observability app.
all.composedOf:
- feature: "observability"
privileges: [ "all" ]
# Discover `Read` feature privilege should implicitly grant `Read` access to Observability app.
read.composedOf:
- feature: "observability"
privileges: [ "read" ]
### Fleet feature privileges are fine-tuned to grant access to Logs app.
fleetv2:
privileges:
# Fleet `All` feature privilege should implicitly grant `All` access to Logs app.
all.composedOf:
- feature: "logs"
privileges: [ "all" ]
# Fleet `Read` feature privilege should implicitly grant `Read` access to Logs app.
read.composedOf:
- feature: "logs"
privileges: [ "read" ]
### Infrastructure feature privileges are fine-tuned to grant access to Logs, and Observability apps.
infrastructure:
### By default, this feature named as `Metrics`, but should be renamed to `Infrastructure`.
name: "Infrastructure"
privileges:
# Infrastructure's `All` feature privilege should implicitly grant `All` access to Logs and Observability apps.
all.composedOf:
- feature: "logs"
privileges: [ "all" ]
- feature: "observability"
privileges: [ "all" ]
# Infrastructure's `Read` feature privilege should implicitly grant `Read` access to Logs and Observability apps.
read.composedOf:
- feature: "logs"
privileges: [ "read" ]
- feature: "observability"
privileges: [ "read" ]
### Logs feature is hidden in Role management since it's automatically granted by either Infrastructure, or Applications features.
logs.hidden: true
### Machine Learning feature should be moved from Analytics category to the Observability one and renamed to `AI Ops`.
ml:
category: "observability"
order: 1200
### Observability feature is hidden in Role management since it's automatically granted by either Discover,
### Infrastructure, Applications, Synthetics, or SLOs features.
observability.hidden: true
### SLOs feature privileges are fine-tuned to grant access to Observability app.
slo:
privileges:
# SLOs `All` feature privilege should implicitly grant `All` access to Observability app.
all.composedOf:
- feature: "observability"
privileges: [ "all" ]
# SLOs `Read` feature privilege should implicitly grant `Read` access to Observability app.
read.composedOf:
- feature: "observability"
privileges: [ "read" ]
### Stack alerts is hidden in Role management since it's not needed.
stackAlerts.hidden: true
### Synthetics feature privileges are fine-tuned to grant access to Observability app.
uptime:
### By default, this feature named as `Synthetics and Uptime`, but should be renamed to `Synthetics` since `Uptime` is not available.
name: "Synthetics"
privileges:
# Synthetics `All` feature privilege should implicitly grant `All` access to Observability app.
all.composedOf:
- feature: "observability"
privileges: [ "all" ]
# Synthetics `Read` feature privilege should implicitly grant `Read` access to Observability app.
read.composedOf:
- feature: "observability"
privileges: [ "read" ]
## Enable the slo plugin
xpack.slo.enabled: true
## Cloud settings
xpack.cloud.serverless.project_type: observability
## Enable the Serverless Observability plugin
xpack.serverless.observability.enabled: true
## Configure plugins
## Set the home route
uiSettings.overrides.defaultRoute: /app/observability/landing
# Customize empty page state for analytics apps
no_data_page.analyticsNoDataPageFlavor: 'serverless_observability'
## Disable adding the component template `.fleet_agent_id_verification-1` to every index template for each datastream for each integration
xpack.fleet.agentIdVerificationEnabled: false
## Enable event.ingested separately because agentIdVerification is disabled
xpack.fleet.eventIngestedEnabled: true
## Enable the capability for the observability feature ID in the serverless environment to take ownership of the rules.
## The value need to be a featureId observability Or stackAlerts Or siem
xpack.alerting.rules.overwriteProducer: 'observability'
xpack.observability.createO11yGenericFeatureId: true
## APM Serverless Onboarding flow
xpack.apm.serverlessOnboarding: true
# Synthetics mTLS cert locations
xpack.uptime.service.tls.certificate: /mnt/elastic-internal/http-certs/tls.crt
xpack.uptime.service.tls.key: /mnt/elastic-internal/http-certs/tls.key
# Fleet specific configuration
xpack.fleet.internal.registry.capabilities: ['apm', 'observability', 'uptime']
xpack.fleet.internal.registry.spec.min: '3.0'
xpack.fleet.internal.registry.spec.max: '3.3'
xpack.fleet.internal.registry.kibanaVersionCheckEnabled: false
xpack.fleet.internal.registry.excludePackages: [
# Security integrations
'endpoint',
'beaconing',
'cloud_security_posture',
'cloud_defend',
'security_detection_engine',
# Deprecated security integrations
'bluecoat',
'cisco',
'cyberark',
'cylance',
'f5',
'fortinet_forticlient',
'juniper_junos',
'juniper_netscreen',
'microsoft',
'netscout',
'radware',
'symantec',
'tomcat',
# ML integrations
'dga',
# Profiling integrations
'profiler_agent',
]
## Required for force installation of integration packages
xpack.fleet.packages:
# fleet_server package installed to publish agent metrics
- name: fleet_server
version: latest
## Disable APM UI components and API calls
xpack.apm.featureFlags.agentConfigurationAvailable: false
xpack.apm.featureFlags.configurableIndicesAvailable: false
xpack.apm.featureFlags.infrastructureTabAvailable: true
xpack.apm.featureFlags.infraUiAvailable: true
xpack.apm.featureFlags.migrationToFleetAvailable: false
xpack.apm.featureFlags.sourcemapApiAvailable: false
xpack.apm.featureFlags.storageExplorerAvailable: false
## Set the AI Assistant type
aiAssistantManagementSelection.preferredAIAssistantType: "observability"
xpack.observabilityAIAssistant.scope: "observability"
# Specify in telemetry the project type
telemetry.labels.serverless: observability
xpack.ml.ad.enabled: true
xpack.ml.dfa.enabled: true
xpack.ml.nlp:
enabled: true
modelDeployment:
allowStaticAllocations: false
vCPURange:
low:
min: 0
max: 2
medium:
min: 1
max: 32
high:
min: 1
max: 128
xpack.ml.compatibleModuleType: 'observability'
# Disable the embedded Dev Console
console.ui.embeddedEnabled: false
# Disable role management (custom roles)
xpack.security.roleManagementEnabled: false