mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
AI4DSOC security serverless periodic pipeline (#221127)
## Summary Add the AI4DSOC API and Cypress test references that will be executed as part of the security serverless periodic pipelines. This PR is paired with this PR: https://github.com/elastic/security-serverless-quality-gate/pull/47 Executions will occur here: https://buildkite.com/elastic/security-serverless-quality-gate-kibana-periodic --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: dkirchan <diamantis.kirchantzoglou@elastic.co>
This commit is contained in:
parent
4c62313e1b
commit
e5c907a267
7 changed files with 113 additions and 2 deletions
|
@ -47,6 +47,7 @@ spec:
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/scalability_testing-daily.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/scalability_testing-daily.yml
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/gen-ai-evals.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/gen-ai-evals.yml
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/security-solution-ess.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/security-solution-ess.yml
|
||||||
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-ai4dsoc.yml
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-detection-engine.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-detection-engine.yml
|
||||||
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-entity-analytics.yml
|
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-entity-analytics.yml
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
|
||||||
|
apiVersion: backstage.io/v1alpha1
|
||||||
|
kind: Resource
|
||||||
|
metadata:
|
||||||
|
name: bk-kibana-serverless-secsol-ai4dsoc
|
||||||
|
description: "[MKI] Executes Cypress tests for the AI4DSOC team"
|
||||||
|
spec:
|
||||||
|
type: buildkite-pipeline
|
||||||
|
owner: 'group:security-engineering-productivity'
|
||||||
|
system: buildkite
|
||||||
|
implementation:
|
||||||
|
apiVersion: buildkite.elastic.dev/v1
|
||||||
|
kind: Pipeline
|
||||||
|
metadata:
|
||||||
|
name: "Kibana / Serverless / Security Solution Quality Gate / AI4DSOC"
|
||||||
|
description: "[MKI] Executes Cypress and API tests for the AI4DSOC team"
|
||||||
|
spec:
|
||||||
|
repository: elastic/kibana
|
||||||
|
pipeline_file: .buildkite/pipelines/security_solution_quality_gate/mki_security_solution_ai4dsoc.yml
|
||||||
|
provider_settings:
|
||||||
|
build_branches: false
|
||||||
|
build_pull_requests: false
|
||||||
|
publish_commit_status: false
|
||||||
|
skip_pull_request_builds_for_existing_commits: false
|
||||||
|
trigger_mode: none
|
||||||
|
build_tags: false
|
||||||
|
teams:
|
||||||
|
kibana-tech-leads:
|
||||||
|
access_level: MANAGE_BUILD_AND_READ
|
||||||
|
appex-qa:
|
||||||
|
access_level: MANAGE_BUILD_AND_READ
|
||||||
|
kibana-operations:
|
||||||
|
access_level: MANAGE_BUILD_AND_READ
|
||||||
|
security-engineering-productivity:
|
||||||
|
access_level: MANAGE_BUILD_AND_READ
|
||||||
|
everyone:
|
||||||
|
access_level: BUILD_AND_READ
|
||||||
|
tags:
|
||||||
|
- kibana
|
||||||
|
- security-solution
|
|
@ -0,0 +1,48 @@
|
||||||
|
steps:
|
||||||
|
- group: "Cypress MKI - AI4DSOC"
|
||||||
|
key: cypress_test_ai4dsoc
|
||||||
|
steps:
|
||||||
|
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:ai4dsoc
|
||||||
|
label: "Cypress MKI - AI4DSOC"
|
||||||
|
key: test_ai4dsoc
|
||||||
|
env:
|
||||||
|
BK_TEST_SUITE_KEY: "serverless-cypress-ai4dsoc"
|
||||||
|
agents:
|
||||||
|
image: family/kibana-ubuntu-2004
|
||||||
|
imageProject: elastic-images-prod
|
||||||
|
provider: gcp
|
||||||
|
machineType: n2-standard-4
|
||||||
|
# TODO : Revise the timeout when the pipeline will be officially integrated with the quality gate.
|
||||||
|
timeout_in_minutes: 300
|
||||||
|
parallelism: 1
|
||||||
|
|
||||||
|
- group: "API MKI - AI4DSOC"
|
||||||
|
key: api_test_ai4dsoc
|
||||||
|
steps:
|
||||||
|
- label: Running ai4dsoc_cases:qa:serverless
|
||||||
|
command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh ai4dsoc_cases:qa:serverless
|
||||||
|
key: ai4dsoc_cases:qa:serverless
|
||||||
|
agents:
|
||||||
|
image: family/kibana-ubuntu-2004
|
||||||
|
imageProject: elastic-images-prod
|
||||||
|
provider: gcp
|
||||||
|
machineType: n2-standard-4
|
||||||
|
timeout_in_minutes: 120
|
||||||
|
retry:
|
||||||
|
automatic:
|
||||||
|
- exit_status: "1"
|
||||||
|
limit: 2
|
||||||
|
|
||||||
|
- label: Running ai4dsoc_nlp_cleanup_task:qa:serverless
|
||||||
|
command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh ai4dsoc_nlp_cleanup_task:qa:serverless
|
||||||
|
key: ai4dsoc_nlp_cleanup_task:qa:serverless
|
||||||
|
agents:
|
||||||
|
image: family/kibana-ubuntu-2004
|
||||||
|
imageProject: elastic-images-prod
|
||||||
|
provider: gcp
|
||||||
|
machineType: n2-standard-4
|
||||||
|
timeout_in_minutes: 120
|
||||||
|
retry:
|
||||||
|
automatic:
|
||||||
|
- exit_status: "1"
|
||||||
|
limit: 2
|
|
@ -0,0 +1,19 @@
|
||||||
|
steps:
|
||||||
|
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/upload_image_metadata.sh
|
||||||
|
label: "Upload runtime info"
|
||||||
|
key: upload_runtime_info
|
||||||
|
agents:
|
||||||
|
image: family/kibana-ubuntu-2004
|
||||||
|
imageProject: elastic-images-prod
|
||||||
|
provider: gcp
|
||||||
|
machineType: n2-standard-4
|
||||||
|
preemptible: true
|
||||||
|
timeout_in_minutes: 300
|
||||||
|
retry:
|
||||||
|
automatic:
|
||||||
|
- exit_status: "*"
|
||||||
|
limit: 1
|
||||||
|
|
||||||
|
- command: "cat .buildkite/pipelines/security_solution_quality_gate/mki_periodic/mki_periodic_ai4dsoc.yml | buildkite-agent pipeline upload"
|
||||||
|
label: 'Upload Serverless Periodic AI4DSOC Pipeline'
|
||||||
|
if: "build.env('KIBANA_MKI_QUALITY_GATE') != '1'"
|
|
@ -69,9 +69,11 @@
|
||||||
|
|
||||||
"ai4dsoc_cases:server:serverless": "npm run initialize-server:ai4dsoc cases serverless",
|
"ai4dsoc_cases:server:serverless": "npm run initialize-server:ai4dsoc cases serverless",
|
||||||
"ai4dsoc_cases:runner:serverless": "npm run run-tests:ai4dsoc cases serverless serverlessEnv",
|
"ai4dsoc_cases:runner:serverless": "npm run run-tests:ai4dsoc cases serverless serverlessEnv",
|
||||||
|
"ai4dsoc_cases:qa:serverless": "npm run run-tests:ai4dsoc cases serverless qaPeriodicEnv",
|
||||||
|
|
||||||
"ai4dsoc_nlp_cleanup_task:server:serverless": "npm run initialize-server:ai4dsoc nlp_cleanup_task serverless",
|
"ai4dsoc_nlp_cleanup_task:server:serverless": "npm run initialize-server:ai4dsoc nlp_cleanup_task serverless",
|
||||||
"ai4dsoc_nlp_cleanup_task:runner:serverless": "npm run run-tests:ai4dsoc nlp_cleanup_task serverless serverlessEnv",
|
"ai4dsoc_nlp_cleanup_task:runner:serverless": "npm run run-tests:ai4dsoc nlp_cleanup_task serverless serverlessEnv",
|
||||||
|
"ai4dsoc_nlp_cleanup_task:qa:serverless": "npm run run-tests:ai4dsoc nlp_cleanup_task serverless qaPeriodicEnv",
|
||||||
|
|
||||||
"genai_evals:server:ess": "npm run initialize-server:genai:trial_complete evaluations ess",
|
"genai_evals:server:ess": "npm run initialize-server:genai:trial_complete evaluations ess",
|
||||||
"genai_evals:runner:ess": "npm run run-tests:genai:trial_complete evaluations ess essEnv",
|
"genai_evals:runner:ess": "npm run run-tests:genai:trial_complete evaluations ess essEnv",
|
||||||
|
|
|
@ -51,7 +51,7 @@ import {
|
||||||
// https://github.com/elastic/kibana/issues/187279
|
// https://github.com/elastic/kibana/issues/187279
|
||||||
describe(
|
describe(
|
||||||
'Add endpoint exception from rule details',
|
'Add endpoint exception from rule details',
|
||||||
{ tags: ['@ess', '@serverless, @skipInServerlessMKI'] },
|
{ tags: ['@ess', '@serverless', '@skipInServerlessMKI'] },
|
||||||
() => {
|
() => {
|
||||||
const ITEM_NAME = 'Sample Exception List Item';
|
const ITEM_NAME = 'Sample Exception List Item';
|
||||||
const NEW_ITEM_NAME = 'Exception item-EDITED';
|
const NEW_ITEM_NAME = 'Exception item-EDITED';
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
"cypress:run:qa:serverless:detection_engine": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/!(exceptions)/**/*.cy.ts'",
|
"cypress:run:qa:serverless:detection_engine": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/!(exceptions)/**/*.cy.ts'",
|
||||||
"cypress:run:qa:serverless:detection_engine:exceptions": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/exceptions/**/*.cy.ts'",
|
"cypress:run:qa:serverless:detection_engine:exceptions": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/exceptions/**/*.cy.ts'",
|
||||||
"cypress:run:qa:serverless:ai_assistant": "yarn cypress:qa:serverless --spec './cypress/e2e/ai_assistant/**/*.cy.ts'",
|
"cypress:run:qa:serverless:ai_assistant": "yarn cypress:qa:serverless --spec './cypress/e2e/ai_assistant/**/*.cy.ts'",
|
||||||
"cypress:run:qa:serverless:cloud_security_posture": "yarn cypress:qa:serverless --spec './cypress/e2e/cloud_security_posture/**/*.cy.ts"
|
"cypress:run:qa:serverless:cloud_security_posture": "yarn cypress:qa:serverless --spec './cypress/e2e/cloud_security_posture/**/*.cy.ts",
|
||||||
|
"cypress:run:qa:serverless:ai4dsoc": "yarn cypress:qa:serverless --spec './cypress/e2e/ai4dsoc/**/*.cy.ts'"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue