# 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: package-spec
  description: EPR package specifications
  links:
    - title: Developer Documentation
      icon: file-doc
      url: https://www.elastic.co/guide/en/integrations-developer/current/package-spec.html

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


---
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/e57ee3bed7a6f73077a3f55a38e76e40ec87a7cf/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
  name: buildkite-pipeline-package-spec-test-with-integrations
  description: 'Buildkite pipeline to run specific package-spec version with all packages in integrations repository'
  links:
    - title: Pipeline
      url: https://buildkite.com/elastic/package-spec-test-with-integrations

spec:
  type: buildkite-pipeline
  owner: group:ingest-fp
  system: platform-ingest
  implementation:
    apiVersion: buildkite.elastic.dev/v1
    kind: Pipeline
    metadata:
      name: package-spec-test-with-integrations
      description: 'Buildkite pipeline to run specific package-spec version with all packages in integrations repository'
    spec:
      branch_configuration: main
      pipeline_file: ".buildkite/pipeline.test-with-integrations-repo.yml"
      provider_settings:
        build_tags: false # just run on demand
        build_branches: false # just run on demand
        publish_commit_status: false # do not update status of commits for this pipeline
        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 && build.source == 'api')
      repository: elastic/package-spec
      cancel_intermediate_builds: true
      cancel_intermediate_builds_branch_filter: '!main'
      skip_intermediate_builds: true
      skip_intermediate_builds_branch_filter: '!main'
      teams:
        ecosystem:
          access_level: MANAGE_BUILD_AND_READ
        ingest-fp:
          access_level: MANAGE_BUILD_AND_READ
        everyone:
          access_level: READ_ONLY

---
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/e57ee3bed7a6f73077a3f55a38e76e40ec87a7cf/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
  name: buildkite-pipeline-package-spec
  description: 'EPR package specifications'
  links:
    - title: Pipeline
      url: https://buildkite.com/elastic/package-spec

spec:
  type: buildkite-pipeline
  owner: group:ingest-fp
  system: platform-ingest
  implementation:
    apiVersion: buildkite.elastic.dev/v1
    kind: Pipeline
    metadata:
      name: package-spec
      description: 'EPR package specifications'
    spec:
      branch_configuration: "main v2.* v3.*"
      pipeline_file: ".buildkite/pipeline.yml"
      provider_settings:
        build_pull_request_forks: false
        build_pull_requests: true
        build_tags: true
        filter_enabled: true
        filter_condition: >-
          build.pull_request.id == null || (build.creator.name == 'elasticmachine' && build.pull_request.id != null && build.source == 'api')
      repository: elastic/package-spec
      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:
        ecosystem:
          access_level: MANAGE_BUILD_AND_READ
        ingest-fp:
          access_level: MANAGE_BUILD_AND_READ
        everyone:
          access_level: READ_ONLY
