##
## Note about project IDs: Previously Cobalt used project_ids hashed from the project name
## which is why some of the project IDs are many digits long. From now on Cobalt is using
## manually specified project IDs and so all newly specified project IDs should be small
## positive integers chosen successively.
##

customers:
- customer_name:       cobalt_internal
  # Customer ID MaxInt32 is reserved for cobalt-internal metrics
  customer_id:         2147483647

  # When adding new projects, also make sure to update the Google-internal list
  # of Cobalt projects: go/cobalt-internal-registry-metadata
  # Next project ID:   1
  projects:

################################################################################
# Cobalt Internal Projects
################################################################################
    - project_name:    metrics
      project_id:      205836624 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com

- customer_name:      fuchsia
  customer_id:        1

  # When adding new projects, also make sure to update the internal list of
  # Cobalt projects: go/cobalt-internal-registry-metadata
  # Next project ID:  21
  projects:

################################################################################
# Fuchsia Test Projects
################################################################################
    - project_name:    prober
      project_id:      929352809 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    test_app2
      project_id:      657579885 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    devel_project
      project_id:      7
      project_contact: fuchsia-cobalt-dashboard-owners@google.com

################################################################################
# Fuchsia Projects
################################################################################
    - project_name:    bluetooth
      project_id:      2322225253 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    connectivity_location
      project_id:      4
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    component_diagnostics
      project_id:      5
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    connectivity_wlan
      project_id:      3708719327 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    feedback
      project_id:      4228153068 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    flash_ts
      project_id:      2
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    frame_metrics
      project_id:      2820332838 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    fuchsia_system_metrics
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
      project_id:      1334068210 # legacy long project_id
    - project_name:    local_storage
      project_id:      3676913920 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    managed_os
      project_id:      285903809 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    media
      project_id:      3142410971 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    memory
      project_id:      3509424520 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    modular
      project_id:      2165403525 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    networking
      project_id:      1
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    power
      project_id:      3
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    session_framework
      project_id:      2550112954 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    software_delivery
      project_id:      4247972873 # legacy long project_id
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    time
      project_id:      6
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    camera
      project_id:      8
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    sdmmc
      project_id:      9
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    display
      project_id:      10
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    radar
      project_id:      12
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    component_metrics
      project_id:      13
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    audio_drivers
      project_id:      14
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    sysmem
      project_id:      15
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    setui
      project_id:      16
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    recovery
      project_id:      17
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    network_policy
      project_id:      18
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    input_pipeline
      project_id:      19
      project_contact: fuchsia-cobalt-dashboard-owners@google.com
    - project_name:    assistant_ui
      project_id:      20
      project_contact: fuchsia-cobalt-dashboard-owners@google.com

  # Deleted project IDs that must not be reused.
  deleted_project_ids: [11,100,101,102,103,104,105,106,107,108,109,1672220376]
