governance/openstack_governance/projects_schema.yaml
Dmitriy Rabotyagov 5e4b092c53 Rename extra-atcs key to extra-acs
We have agreed to use term Active Contrubitor rather then
Active Technical Contributor, which means it's high time we've aligned
naming in our tools and releases documentation to align on
term to use. Moreover, it makes even more sense with Extra ACs, since
these are designed for ones, who do not contribute in gerrit but with
other means, which are usually non-technical.

Needed-By: https://review.opendev.org/c/openstack/releases/+/893833
Needed-By: https://review.opendev.org/c/openstack/election/+/893810
Change-Id: Id9f2d182d93a9fbe1357e9ecd4814d49d6eb962f
2023-09-06 10:09:30 +02:00

137 lines
3.1 KiB
YAML

---
$schema: "http://json-schema.org/schema#"
$id: "https://opendev.org/openstack/releases/src/branch/master/README.rst"
contact_schema: &contact_schema
type: "array"
items:
type: "object"
required:
- name
- email
additionalProperties: false
properties:
name:
type: "string"
irc:
type: "string"
email:
type: "string"
format: "email"
minItems: 1
uniqueItems: true
additionalProperties:
# Do not allow any properties not defined here. This lets us catch
# typos.
additionalProperties: false
oneOf:
- required:
- ptl
- deliverables
- url
- mission
- required:
- leadership_type
- liaisons
- deliverables
- url
- mission
properties:
ptl:
type: "object"
required:
- name
- email
additionalProperties: false
properties:
name:
type: "string"
irc:
type: "string"
email:
type: "string"
format: "email"
leadership_type:
type: "string"
enum:
- distributed
appointed:
type: "array"
items:
type: "string"
irc-channel:
type: "string"
service:
type: "string"
url:
type: "string"
liaisons:
type: "object"
properties:
tc_members:
type: "array"
items:
type: "string"
uniqueItems: true
# TODO(gmann): Make release, tact-sig,
# and, security liaison as required for
# distributed leadership type.
release: *contact_schema
tact-sig: *contact_schema
security: *contact_schema
events: *contact_schema
project_update_onboarding: *contact_schema
meeting_facilitator: *contact_schema
bug_deputy: *contact_schema
rfp_coordinator: *contact_schema
additionalProperties: false
mission:
type: "string"
deliverables:
type: "object"
additionalProperties:
type: "object"
required:
- repos
additionalProperties: false
properties:
repos:
type: "array"
items:
type: "string"
pattern: "^[^/]+/[^/]+$"
minItems: 1
uniqueItems: true
release-management:
type: "string"
enum:
- none
- deprecated
- external
deprecated:
type: "string"
extra-acs:
type: "array"
items:
type: "object"
required:
- name
- email
- expires-in
additionalProperties: false
properties:
name:
type: "string"
email:
type: "string"
format: "email"
expires-in:
type: "string"
pattern: >-
^(January |February |March |April |May |June |July |August
|September |October |November |December )2[0-9]{3}$
comment:
type: "string"