# Declare a Backstage Component that represents your application.
---
# yaml-language-server: $schema=https://json.schemastore.org/catalog-info.json
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: stream

spec:
  type: tool
  owner: group:ingest-fp
  system: platform-ingest
  lifecycle: production

---
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
  name: buildkite-pipeline-stream-pub-sub
  description: 'Pipeline for the stream project'
  links:
    - title: Pipeline
      url: https://buildkite.com/elastic/stream

spec:
  type: buildkite-pipeline
  owner: group:ingest-fp
  system: platform-ingest
  implementation:
    apiVersion: buildkite.elastic.dev/v1
    kind: Pipeline
    metadata:
      name: stream
      description: 'Pipeline for the stream project'
    spec:
      pipeline_file: ".buildkite/pipeline.yml"
      maximum_timeout_in_minutes: 120
      provider_settings:
        build_tags: true
        publish_commit_status: true
        build_pull_request_forks: false
        build_pull_requests: true # requires filter_enabled and filter_condition settings as below when used with buildkite-pr-bot
        filter_enabled: true
        filter_condition: >-
          build.pull_request.id == null || (build.creator.name == 'elasticmachine' && build.pull_request.id != null)
      repository: elastic/stream
      cancel_intermediate_builds: true
      cancel_intermediate_builds_branch_filter: '!main'
      skip_intermediate_builds: true
      skip_intermediate_builds_branch_filter: '!main'
      env:
        ELASTIC_PR_COMMENTS_ENABLED: 'true'
      teams:
        ingest-fp:
          access_level: MANAGE_BUILD_AND_READ
        everyone:
          access_level: READ_ONLY
