# ============LICENSE_START=======================================================
# Copyright (C) 2021-2024 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================

---
project: 'cps'
project_creation_date: '2020-10-27'
lifecycle_state: 'Mature'
project_category: ''
project_lead: &onap_releng_ptl
    name: 'Toine Siebelink'
    email: 'toine.siebelink@est.tech'
    id: 'ToineSiebelink'
    company: 'Ericsson Software Technology'
    timezone: 'Europe/Dublin'
primary_contact: *onap_releng_ptl
issue_tracking:
    type: 'jira'
    url: 'https://jira.onap.org/projects/CPS'
    key: 'CPS'
mailing_list:
    type: 'groups.io'
    url: 'lists.onap.org'
    tag: '<[sub-project_name]>'
realtime_discussion: ''
meetings:
    - type: 'zoom'
      agenda: 'https://wiki.onap.org/pages/viewpage.action?pageId=111117075'
      url: 'https://zoom.us/j/836561560?pwd=TTZNcFhXTWYxMmZ4SlgzcVZZQXluUT09'
      server: 'n/a'
      channel: 'n/a'
      repeats: 'weekly'
      time: '08:00 America/New_York'
committers:
    - <<: *onap_releng_ptl
    - name: 'Sourabh Sharma'
      email: 'sourabh.sourabh@est.tech'
      company: 'Ericsson Software Technology'
      id: 'sourabh_sourabh'
      timezone: 'Europe/Dublin'
    - name: 'Priyank Maheshwari'
      email: 'priyank.maheshwari@est.tech'
      company: 'Ericsson Software Technology'
      id: 'mpriyank'
      timezone: 'Europe/Dublin'
    - name: 'Lee Anjella Macabuhay'
      email: 'lee.anjella.macabuhay@est.tech'
      company: 'Ericsson Software Technology'
      id: 'emaclee'
      timezone: 'Europe/Dublin'
    - name: 'Daniel Hanrahan'
      email: 'daniel.hanrahan@est.tech'
      company: 'Ericsson Software Technology'
      id: 'danielhanrahan'
      timezone: 'Europe/Dublin'
repositories:
    - cps
tsc:
    approval: 'https://lists.onap.org/g/onap-tsc'
