Skip to content

Commit

Permalink
Kibana QualityGate Scaffold (#163831)
Browse files Browse the repository at this point in the history
The main question is here did I get the github team names correct for
fleet and security? Are there any other groups I am missing who will
have quality gates they want to see execute on every kibana release?

- The PR which registered the repo and controls who can write secrets to
vault was merged
[here](https://github.com/elastic/catalog-info/pull/488/files)
- Quality gate registration with argo deploy pipeline
[here](https://github.com/elastic/serverless-gitops/pull/586). Should
merge after this and pipelines are working.
- [this one](https://github.com/elastic/catalog-info/pull/485/files)
merges last and tells terrazzo about the catalog-info.yaml file with our
pipeline. Other pipelines should be migrated over but are not included
here.


Rel: https://github.com/elastic/ingest-dev/issues/2201
Rel: https://elasticco.atlassian.net/browse/QX-282

---------

Co-authored-by: Ramon Butter <[email protected]>
  • Loading branch information
imkarrer and ramonbutter authored Aug 22, 2023
1 parent 5eeb3f7 commit 58334b5
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .buildkite/pipelines/quality-gates/pipeline.kibana-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
env:
ENVIRONMENT: ${ENVIRONMENT?}

steps:
- label: ":pipeline::grey_question::seedling: Trigger Kibana Tests for ${ENVIRONMENT}"
env:
QG_PIPELINE_LOCATION: ".buildkite/pipelines/quality-gates"
command: "make -C /agent run-environment-tests"
agents:
image: "docker.elastic.co/ci-agent-images/quality-gate-seedling:0.0.2"
15 changes: 15 additions & 0 deletions .buildkite/pipelines/quality-gates/pipeline.tests-production.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
steps:
- label: ":pipeline::kibana::seedling: Trigger Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Kibana specific tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::fleet::seedling: Trigger Fleet Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Fleet specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::lock::seedling: Trigger Security Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Security specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"
15 changes: 15 additions & 0 deletions .buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
steps:
- label: ":pipeline::kibana::seedling: Trigger Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Kibana specific tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::fleet::seedling: Trigger Fleet Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Fleet specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::lock::seedling: Trigger Security Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Security specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"
15 changes: 15 additions & 0 deletions .buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
steps:
- label: ":pipeline::kibana::seedling: Trigger Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Kibana specific tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::fleet::seedling: Trigger Fleet Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Fleet specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"

- label: ":pipeline::lock::seedling: Trigger Security Kibana Tests for ${ENVIRONMENT}"
command: echo "replace me with Security specific Kibana tests"
agent:
image: "docker.elastic.co/ci-agent-images/basic-buildkite-agent:1688566364"
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -988,6 +988,7 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability
/.buildkite/ @elastic/kibana-operations
/kbn_pm/ @elastic/kibana-operations
/x-pack/dev-tools @elastic/kibana-operations
catalog-info.yaml @elastic/kibana-operations @elastic/kibana-tech-leads

# Appex QA
/src/dev/code_coverage @elastic/appex-qa
Expand Down
70 changes: 70 additions & 0 deletions catalog-info.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: kibana
description: Kibana is a user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack.

annotations:
backstage.io/source-location: url:https://github.com/elastic/kibana/tree/main
github.com/project-slug: elastic/kibana
github.com/team-slug: elastic/kibana-tech-leads
buildkite.com/project-slug: elastic/kibana

tags:
- typescript
- javascript
- dashboards
- metrics
- visualizations
- observability

links:
- title: Documentation
url: https://www.elastic.co/guide/en/kibana/current/index.html

spec:
type: monorepo
owner: group:kibana-tech-leads
lifecycle: production

---

apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: kibana-tests-pipeline
description: Definition of the kibana pipeline
links:
- title: Pipeline
url: https://buildkite.com/elastic/kibana-tests
spec:
type: buildkite-pipeline
owner: group:kibana-tech-leads
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana-tests
description: Pipeline that tests the service integration in various environments
spec:
repository: elastic/kibana
pipeline_file: ./.buildkite/pipelines/pipeline.kibana-tests.yaml
provider_settings:
trigger_mode: none
teams:
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
security-engineering-productivity:
access_level: BUILD_AND_READ
fleet:
access_level: BUILD_AND_READ
kibana-tech-leads:
access_level: BUILD_AND_READ
kibana-core:
access_level: BUILD_AND_READ
cloud-tooling:
access_level: BUILD_AND_READ
everyone:
access_level: READ_ONLY
3 changes: 3 additions & 0 deletions src/dev/precommit_hook/casing_check_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ export const IGNORE_FILE_GLOBS = [
// Required to match the name in the docs.elastic.dev repo.
'nav-kibana-dev.docnav.json',

// Match elastic wide naming convention for catalog-info.yaml
'catalog-info.yaml',

// filename must match language code which requires capital letters
'**/translations/*.json',

Expand Down

0 comments on commit 58334b5

Please sign in to comment.