[Security] Migrate security quality gate pipelines and ESS (#179606)

As part of the migration of pipelines from kibana-buildkite repo here, I
have migrated the Defend Workflows pipeline and the ESS Security
Solution.

Relevant PR in kibana-buildkite repo:
https://github.com/elastic/kibana-buildkite/pull/166
This commit is contained in:
dkirchan 2024-03-28 14:23:57 +01:00 committed by GitHub
parent 2f29639376
commit 01cf91240d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 166 additions and 10 deletions

View file

@ -13,4 +13,6 @@ spec:
- 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-gen-ai.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-defend-workflows.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/kibana-serverless-release.yml

View file

@ -0,0 +1,37 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-security-solution-ess
description: "[ESS] Executes Cypress tests against ESS deployment"
spec:
type: buildkite-pipeline
owner: 'group:security-engineering-productivity'
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: "Kibana / ESS / Security Solution"
description: "[ESS] Executes Cypress tests against ESS deployment"
spec:
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/security_solution/ess_cypress.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

View file

@ -0,0 +1,37 @@
# 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-defend-workflows
description: "[MKI] Executes Cypress tests for the Defend Workflows 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 / Defend Workflows"
description: "[MKI] Executes Cypress tests for the Defend Workflows team"
spec:
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/security_solution_quality_gate/mki_security_solution_explore.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

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -25,6 +25,10 @@ spec:
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:

View file

@ -0,0 +1,30 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/create_periodic_test_docker_image.sh
label: Build kibana image
key: build_image
agents:
queue: n2-16-spot
timeout_in_minutes: 60
retry:
automatic:
- exit_status: '-1'
limit: 3
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/upload_image_metadata.sh
label: 'Upload runtime info'
key: upload_runtime_info
depends_on: build_image
agents:
queue: n2-4-spot
timeout_in_minutes: 300
retry:
automatic:
- exit_status: '-1'
limit: 2
- group: 'Execute Cypress Tests'
key: test_execution
depends_on: build_image
steps:
- label: Running ESS Cypress Tests
command: "echo 'Running ESS Cypress Tests'"

View file

@ -0,0 +1,36 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/create_periodic_test_docker_image.sh
label: Build kibana image
key: build_image
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-16
preemptible: true
timeout_in_minutes: 60
retry:
automatic:
- exit_status: "-1"
limit: 3
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/upload_image_metadata.sh
label: "Upload runtime info"
key: upload_runtime_info
depends_on: build_image
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
provider: gcp
machineType: n2-standard-4
preemptible: true
timeout_in_minutes: 300
retry:
automatic:
- exit_status: "*"
limit: 1
- command: "echo 'Running the defend worklows tests in this step"
depends_on: build_image
key: test_defend_workflows
label: 'Serverless MKI QA Defend Workflows - Security Solution Cypress Tests'

View file

@ -1,5 +0,0 @@
#!/bin/bash
set -euo pipefail
echo "Inside the security solution pipeline"

View file

@ -1,5 +0,0 @@
#!/bin/bash
set -euo pipefail
echo "Running the EDR-Workflows testing for Kibana"