From 4c7e210159fecf8b349a798e482bca75f3125ee3 Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Tue, 6 Sep 2022 15:41:01 +0200 Subject: [PATCH] add teams info into metadata --- otc_metadata/data/services.yaml | 163 ++++++++++++++++++++++++- tools/convert_data.py | 17 +-- tools/generate_doc_gitcontrol_repos.py | 17 ++- 3 files changed, 169 insertions(+), 28 deletions(-) diff --git a/otc_metadata/data/services.yaml b/otc_metadata/data/services.yaml index 432f99bf..3d5fdfc5 100644 --- a/otc_metadata/data/services.yaml +++ b/otc_metadata/data/services.yaml @@ -801,15 +801,15 @@ services: - environment: internal repo: docs/anti-ddos type: gitea - teams: - - name: docs-security-rw - permission: "write" - environment: public repo: opentelekomcloud-docs/anti-ddos type: github service_category: security service_title: Anti DDoS service_type: antiddos + teams: + - name: docs-security-rw + permission: write - repositories: - environment: internal repo: docs/application-operations-management @@ -820,6 +820,9 @@ services: service_category: application service_title: Application Operations Management service_type: aom + teams: + - name: docs-application-rw + permission: write - repositories: - environment: internal repo: docs/auto-scaling @@ -830,6 +833,9 @@ services: service_category: compute service_title: Auto Scaling service_type: as + teams: + - name: docs-compute-rw + permission: write - repositories: - environment: internal repo: docs/bare-metal-server @@ -840,6 +846,9 @@ services: service_category: compute service_title: Bare Metal Server service_type: bms + teams: + - name: docs-compute-rw + permission: write - repositories: - environment: internal repo: docs/cloud-backup-recovery @@ -850,6 +859,9 @@ services: service_category: storage service_title: Cloud Backup and Recovery service_type: cbr + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/cloud-container-engine @@ -860,6 +872,9 @@ services: service_category: container service_title: Cloud Container Service service_type: cce + teams: + - name: docs-container-rw + permission: write - repositories: - environment: internal repo: docs/content-delivery-network @@ -870,6 +885,9 @@ services: service_category: network service_title: Content Delivery Network (Akamai) service_type: cdn + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/cloud-eye @@ -880,6 +898,9 @@ services: service_category: md service_title: Cloud Eye service_type: ces + teams: + - name: docs-md-rw + permission: write - repositories: - environment: internal repo: docs/cloud-server-backup-service @@ -890,6 +911,9 @@ services: service_category: storage service_title: Cloud Server Backup Service service_type: csbs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/cloud-search-service @@ -900,6 +924,9 @@ services: service_category: big_data service_title: Cloud Search Service service_type: css + teams: + - name: docs-big_data-rw + permission: write - repositories: - environment: internal repo: docs/cloud-trace-service @@ -910,6 +937,9 @@ services: service_category: md service_title: Cloud Trace Service service_type: cts + teams: + - name: docs-md-rw + permission: write - repositories: - environment: internal repo: docs/data-admin-service @@ -920,6 +950,9 @@ services: service_category: database service_title: Data Admin Service service_type: das + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/direct-connect @@ -930,6 +963,9 @@ services: service_category: network service_title: Direct Connect service_type: dc + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/distributed-cache-service @@ -940,6 +976,9 @@ services: service_category: database service_title: Distributed Cache Service service_type: dcs + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/document-database-service @@ -950,6 +989,9 @@ services: service_category: database service_title: Document Database Service service_type: dds + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/dedicated-host @@ -960,6 +1002,9 @@ services: service_category: compute service_title: Dedicated Host service_type: deh + teams: + - name: docs-compute-rw + permission: write - repositories: - environment: internal repo: docs/data-ingestion-service @@ -970,6 +1015,9 @@ services: service_category: big_data service_title: Data Ingestion Service service_type: dis + teams: + - name: docs-big_data-rw + permission: write - repositories: - environment: internal repo: docs/distributed-message-service @@ -980,6 +1028,9 @@ services: service_category: application service_title: Distributed Message Service service_type: dms + teams: + - name: docs-application-rw + permission: write - repositories: - environment: internal repo: docs/domain-name-service @@ -990,6 +1041,9 @@ services: service_category: network service_title: Domain Name Service service_type: dns + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/data-replication-service @@ -1000,6 +1054,9 @@ services: service_category: database service_title: Data Replication Service service_type: drs + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/data-warehouse-service @@ -1010,15 +1067,18 @@ services: service_category: big_data service_title: Data Warehouse Service service_type: dws + teams: + - name: docs-big_data-rw + permission: write - repositories: - repo: docs/elastic-cloud-server type: gitea environment: internal teams: - name: docs-compute-ro - permission: "read" + permission: read - name: docs-compute-rw - permission: "write" + permission: write assignees: - docs-compute-ro - repo: opentelekomcloud-docs/elastic-cloud-server @@ -1027,6 +1087,9 @@ services: service_category: compute service_title: Elastic Cloud Server service_type: ecs + teams: + - name: docs-compute-rw + permission: write - repositories: - environment: internal repo: docs/enterprise-dashboard @@ -1037,6 +1100,9 @@ services: service_category: other service_title: Enterprise Dashboard service_type: ed + teams: + - name: docs-other-rw + permission: write - repositories: - environment: internal repo: docs/elastic-ip @@ -1047,6 +1113,9 @@ services: service_category: network service_title: Elastic IP service_type: eip + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/elastic-load-balancing @@ -1057,6 +1126,9 @@ services: service_category: network service_title: Elastic Load Balancing service_type: elb + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/elastic-volume-service @@ -1067,6 +1139,9 @@ services: service_category: storage service_title: Elastic Volume Service service_type: evs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/gaussdb-mysql @@ -1078,6 +1153,9 @@ services: service_title: "GaussDB Enterprise-class Distributed Database compatible with\ \ MySQL\n" service_type: gaussdb_mysql + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/gaussdb-nosql @@ -1088,6 +1166,9 @@ services: service_category: database service_title: GaussDB Distributed Multi-model NoSQL Database service_type: gaussdb_nosql + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/identity-access-management @@ -1098,6 +1179,9 @@ services: service_category: security service_title: Identity and Access Management service_type: iam + teams: + - name: docs-security-rw + permission: write - repositories: - environment: internal repo: docs/image-management-service @@ -1108,6 +1192,9 @@ services: service_category: compute service_title: Image Management Service service_type: ims + teams: + - name: docs-compute-rw + permission: write - repositories: - environment: internal repo: docs/key-management-service @@ -1118,6 +1205,9 @@ services: service_category: security service_title: Key Management Service service_type: kms + teams: + - name: docs-security-rw + permission: write - repositories: - environment: internal repo: docs/log-tank-service @@ -1128,6 +1218,9 @@ services: service_category: md service_title: Log Tank Service service_type: lts + teams: + - name: docs-md-rw + permission: write - repositories: - environment: internal repo: docs/modelarts @@ -1138,6 +1231,9 @@ services: service_category: big_data service_title: ModelArts service_type: ma + teams: + - name: docs-big_data-rw + permission: write - repositories: - environment: internal repo: docs/mapreduce-service @@ -1148,6 +1244,9 @@ services: service_category: big_data service_title: Map Reduce Service service_type: mrs + teams: + - name: docs-big_data-rw + permission: write - repositories: - environment: internal repo: docs/nat-gateway @@ -1158,6 +1257,9 @@ services: service_category: network service_title: NAT Gateway service_type: natgw + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/object-storage-service @@ -1168,6 +1270,9 @@ services: service_category: storage service_title: Object Storage Service service_type: obs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/gaussdb-opengauss @@ -1179,6 +1284,9 @@ services: service_title: "GaussDB Enterprise-grade Relational Database on the openGauss\ \ ecosystem\n" service_type: opengauss + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/private-link-access-service @@ -1189,6 +1297,9 @@ services: service_category: network service_title: Private Link Access service_type: plas + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/relational-database-service @@ -1199,6 +1310,9 @@ services: service_category: database service_title: Relational Database Service service_type: rds + teams: + - name: docs-database-rw + permission: write - repositories: - environment: internal repo: docs/resource-template-service @@ -1209,6 +1323,9 @@ services: service_category: md service_title: Resource Template Service service_type: rts + teams: + - name: docs-md-rw + permission: write - repositories: - environment: internal repo: docs/status-dashboard @@ -1219,6 +1336,9 @@ services: service_category: other service_title: Status Dashboard service_type: sd + teams: + - name: docs-other-rw + permission: write - repositories: - environment: internal repo: docs/storage-disaster-recovery-service @@ -1229,6 +1349,9 @@ services: service_category: storage service_title: Storage Disaster Recovery Service service_type: sdrs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/scalable-file-service @@ -1239,6 +1362,9 @@ services: service_category: storage service_title: Scalable File System service_type: sfs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/simple-message-notification @@ -1249,6 +1375,9 @@ services: service_category: application service_title: Simple Message Notification service_type: smn + teams: + - name: docs-application-rw + permission: write - repositories: - environment: internal repo: docs/software-repository-container @@ -1259,6 +1388,9 @@ services: service_category: container service_title: Software Repository for Containers service_type: swr + teams: + - name: docs-container-rw + permission: write - repositories: - environment: internal repo: docs/tag-management-service @@ -1269,6 +1401,9 @@ services: service_category: md service_title: Tag Management Service service_type: tms + teams: + - name: docs-md-rw + permission: write - repositories: - environment: internal repo: docs/volume-backup-service @@ -1279,6 +1414,9 @@ services: service_category: storage service_title: Volume Backup Service service_type: vbs + teams: + - name: docs-storage-rw + permission: write - repositories: - environment: internal repo: docs/virtual-private-cloud @@ -1289,6 +1427,9 @@ services: service_category: network service_title: Virtual Private Cloud service_type: vpc + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/vpc-endpoint @@ -1299,6 +1440,9 @@ services: service_category: network service_title: VPC Endpoint service_type: vpcep + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/virtual-private-network @@ -1309,6 +1453,9 @@ services: service_category: network service_title: Virtual Private Network service_type: vpn + teams: + - name: docs-network-rw + permission: write - repositories: - environment: internal repo: docs/web-application-firewall @@ -1319,6 +1466,9 @@ services: service_category: security service_title: Web Application Firewall service_type: waf + teams: + - name: docs-security-rw + permission: write - repositories: - environment: internal repo: docs/web-application-firewall-dedicated @@ -1329,3 +1479,6 @@ services: service_category: security service_title: Dedicated Web Application Firewall service_type: wafd + teams: + - name: docs-security-rw + permission: write diff --git a/tools/convert_data.py b/tools/convert_data.py index a4aff691..0765069b 100644 --- a/tools/convert_data.py +++ b/tools/convert_data.py @@ -9,20 +9,9 @@ new_data = data._service_data services = data.service_dict for srv in new_data["services"]: - if len(srv["repositories"]) ==1: - r1 = srv["repositories"][0] - srv["repositories"] = [ - { - "environment": r1["environment"], - "repo": r1["repo"], - "type": r1["type"] - }, - { - "environment": "public", - "repo": 'opentelekomcloud-' + r1["repo"], - "type": "github" - }, - ] + srv["teams"] = [ + {"name": f"docs-{srv['service_category']}-rw", "permission": "write"} + ] _yaml = YAML() diff --git a/tools/generate_doc_gitcontrol_repos.py b/tools/generate_doc_gitcontrol_repos.py index b748ff49..c8514f8d 100644 --- a/tools/generate_doc_gitcontrol_repos.py +++ b/tools/generate_doc_gitcontrol_repos.py @@ -23,8 +23,8 @@ import otc_metadata.services data = otc_metadata.services.Services() -def process_repositories(args, services): - """Checkout repositories +def process_services(args, services): + """Process services """ gitea_bp = dict( @@ -68,7 +68,11 @@ def process_repositories(args, services): teams = [{"name": "docs-infra-team", "permission": "write"}] branch_protections_main = copy.deepcopy(gitea_bp) if "teams" in repo: - for team in repo["teams"]: + teams_def = repo["teams"] + if "teams" in service: + teams_def = service["teams"] + if teams_def: + for team in teams_def: branch_protections_main["approvals_whitelist_teams"].append( team["name"]) teams.append(dict( @@ -113,11 +117,6 @@ def main(): required=True, help='Environment to be used as a source' ) -# parser.add_argument( -# '--gitcontrol-repo', -# required=True, -# help='Gitcontrol repository url' -# ) parser.add_argument( '--work-dir', required=True, @@ -127,7 +126,7 @@ def main(): args = parser.parse_args() logging.basicConfig(level=logging.DEBUG) - process_repositories(args, data.all_services) + process_services(args, data.all_services) if __name__ == '__main__':