Compare commits
	
		
			8 Commits
		
	
	
		
			gitcontrol
			...
			various_fi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d3e03e87fe | |||
| bc0676ac51 | |||
| 6caf290136 | |||
| c7c190f0a3 | |||
| c3374e47b4 | |||
| de5b323b97 | |||
| 9241395bec | |||
| 47b3314fdc | 
							
								
								
									
										8
									
								
								otc_metadata/data/documents/iam-permissions.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								otc_metadata/data/documents/iam-permissions.yaml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
---
 | 
			
		||||
html_location: docs/iam/permissions
 | 
			
		||||
link: /identity-access-management/permissions/
 | 
			
		||||
pdf_name: iam-permissions
 | 
			
		||||
rst_location: doc/permissions/source
 | 
			
		||||
service_type: iam
 | 
			
		||||
title: Permissions
 | 
			
		||||
type: permissions
 | 
			
		||||
							
								
								
									
										9
									
								
								otc_metadata/data/documents/sd-umn.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								otc_metadata/data/documents/sd-umn.yaml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
---
 | 
			
		||||
hc_location: usermanual/sd
 | 
			
		||||
html_location: docs/sd/umn
 | 
			
		||||
link: /status-dashboard/umn/
 | 
			
		||||
pdf_name: sd-umn
 | 
			
		||||
rst_location: umn/source
 | 
			
		||||
service_type: sd
 | 
			
		||||
title: User Guide
 | 
			
		||||
type: umn
 | 
			
		||||
@ -1,5 +1,4 @@
 | 
			
		||||
---
 | 
			
		||||
environment: internal
 | 
			
		||||
hc_location: api/dwaf
 | 
			
		||||
html_location: docs/wafd/api-ref
 | 
			
		||||
link: /web-application-firewall-dedicated/api-ref/
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,4 @@
 | 
			
		||||
---
 | 
			
		||||
environment: internal
 | 
			
		||||
hc_location: usermanual/dwaf
 | 
			
		||||
html_location: docs/wafd/umn
 | 
			
		||||
link: /web-application-firewall-dedicated/umn/
 | 
			
		||||
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
name: big_data
 | 
			
		||||
title: Big Data and Data Analysis
 | 
			
		||||
							
								
								
									
										16
									
								
								otc_metadata/data/services/sd.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								otc_metadata/data/services/sd.yaml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
---
 | 
			
		||||
repositories:
 | 
			
		||||
- environment: internal
 | 
			
		||||
  repo: docs-swiss/status-dashboard
 | 
			
		||||
  type: gitea
 | 
			
		||||
- environment: public
 | 
			
		||||
  repo: opentelekomcloud-docs-swiss/status-dashboard
 | 
			
		||||
  type: github
 | 
			
		||||
service_category: other
 | 
			
		||||
service_title: Status Dashboard
 | 
			
		||||
service_type: sd
 | 
			
		||||
service_uri: status-dashboard/umn
 | 
			
		||||
environment: hidden
 | 
			
		||||
teams:
 | 
			
		||||
- name: docs-eco-rw
 | 
			
		||||
  permission: write
 | 
			
		||||
@ -48,6 +48,15 @@ class Services(object):
 | 
			
		||||
            self._service_data["services"],
 | 
			
		||||
            key=lambda x: f"{x.get('service_type')}{x.get('service_title')}",
 | 
			
		||||
        )
 | 
			
		||||
        # sort service categories by <name>_<title>
 | 
			
		||||
        self._service_data["service_categories"] = sorted(
 | 
			
		||||
            self._service_data["service_categories"],
 | 
			
		||||
            key=lambda x: f"{x.get('name')}{x.get('title')}",
 | 
			
		||||
        )
 | 
			
		||||
        other = {'name': 'other', 'title': 'Other'}
 | 
			
		||||
        if other in self._service_data["service_categories"]:
 | 
			
		||||
            self._service_data["service_categories"].remove(other)
 | 
			
		||||
            self._service_data["service_categories"].append(other)
 | 
			
		||||
 | 
			
		||||
    def _rewrite_data(self):
 | 
			
		||||
        otc_metadata.data.rewrite_data("services.yaml", self._service_data)
 | 
			
		||||
@ -113,6 +122,58 @@ class Services(object):
 | 
			
		||||
            res[cat]["docs"].append(res_doc)
 | 
			
		||||
        return res
 | 
			
		||||
 | 
			
		||||
    def service_types_with_doc_types(self, environment=None):
 | 
			
		||||
        """Retrieve type and title from services and corresponding docs.
 | 
			
		||||
            As well as a list of all available doc types with title.
 | 
			
		||||
 | 
			
		||||
        :param str environment: Optional service environment.
 | 
			
		||||
        """
 | 
			
		||||
        service_list = []
 | 
			
		||||
        docs = []
 | 
			
		||||
 | 
			
		||||
        for service in self.all_services:
 | 
			
		||||
            if "environment" in service:
 | 
			
		||||
                if service["environment"] != environment:
 | 
			
		||||
                    continue
 | 
			
		||||
            if not service["service_title"]:
 | 
			
		||||
                continue
 | 
			
		||||
            if not service["service_type"]:
 | 
			
		||||
                continue
 | 
			
		||||
 | 
			
		||||
            doc_list = []
 | 
			
		||||
            for doc in self.all_docs:
 | 
			
		||||
                if "environment" in doc:
 | 
			
		||||
                    if doc["environment"] != environment:
 | 
			
		||||
                        continue
 | 
			
		||||
                if doc["service_type"] == service["service_type"]:
 | 
			
		||||
                    doc_list.append({
 | 
			
		||||
                        "title": doc["title"],
 | 
			
		||||
                        "type": doc["type"]
 | 
			
		||||
                    })
 | 
			
		||||
 | 
			
		||||
                new_doc = {
 | 
			
		||||
                    "type": doc["type"],
 | 
			
		||||
                    "title": doc["title"]
 | 
			
		||||
                }
 | 
			
		||||
                type_exists = any(
 | 
			
		||||
                    doc_dict["type"] == new_doc["type"] for doc_dict in docs
 | 
			
		||||
                )
 | 
			
		||||
                if not type_exists:
 | 
			
		||||
                    docs.append(new_doc)
 | 
			
		||||
 | 
			
		||||
            service_list.append({
 | 
			
		||||
                "service_title": service["service_title"],
 | 
			
		||||
                "service_type": service["service_type"],
 | 
			
		||||
                "docs": doc_list
 | 
			
		||||
            })
 | 
			
		||||
 | 
			
		||||
        res = {
 | 
			
		||||
            "services": service_list,
 | 
			
		||||
            "docs": docs
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return res
 | 
			
		||||
 | 
			
		||||
    def docs_by_service_category(self, category, environment=None):
 | 
			
		||||
        """List services matching category
 | 
			
		||||
 | 
			
		||||
@ -176,6 +237,8 @@ class Services(object):
 | 
			
		||||
            srv_res = dict(
 | 
			
		||||
                service_title=srv["service_title"],
 | 
			
		||||
                service_type=srv["service_type"],
 | 
			
		||||
                service_category=srv["service_category"],
 | 
			
		||||
                service_environment=environment,
 | 
			
		||||
                docs=[],
 | 
			
		||||
            )
 | 
			
		||||
            if "teams" in srv:
 | 
			
		||||
@ -199,6 +262,7 @@ class Services(object):
 | 
			
		||||
                        rst_location=doc["rst_location"],
 | 
			
		||||
                        title=doc["title"],
 | 
			
		||||
                        type=doc.get("type", "dummy"),
 | 
			
		||||
                        link=doc["link"],
 | 
			
		||||
                    )
 | 
			
		||||
                    if "pdf_name" in doc:
 | 
			
		||||
                        doc_res["pdf_name"] = doc["pdf_name"]
 | 
			
		||||
 | 
			
		||||
@ -37,6 +37,17 @@ otcdocs_git_fqdn = '{{ git_fqdn }}'
 | 
			
		||||
otcdocs_git_type = '{{ git_type }}'
 | 
			
		||||
{%- endif %}
 | 
			
		||||
 | 
			
		||||
# Those variables are needed for indexing into OpenSearch
 | 
			
		||||
otcdocs_doc_environment = '{{ doc_environment }}'
 | 
			
		||||
otcdocs_doc_link = '{{ doc_link }}'
 | 
			
		||||
otcdocs_doc_title = '{{ doc_title }}'
 | 
			
		||||
otcdocs_doc_type = '{{ doc_type }}'
 | 
			
		||||
otcdocs_service_category = '{{ service_category }}'
 | 
			
		||||
otcdocs_service_title = '{{ service_title }}'
 | 
			
		||||
otcdocs_service_type = '{{ service_type }}'
 | 
			
		||||
otcdocs_search_environment = 'hc_swiss'
 | 
			
		||||
otcdocs_search_url = "https://opensearch.eco.tsi-dev.otc-service.com/"
 | 
			
		||||
 | 
			
		||||
# If extensions (or modules to document with autodoc) are in another directory,
 | 
			
		||||
# add these directories to sys.path here. If the directory is relative to the
 | 
			
		||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,9 @@ commands = {posargs}
 | 
			
		||||
# This env is invoked in the periodic pipeline and is therefore responsible to
 | 
			
		||||
# build all relevant docs at once.
 | 
			
		||||
[testenv:docs]
 | 
			
		||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
deps =
 | 
			
		||||
  -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
  -c https://raw.githubusercontent.com/opentelekomcloud-docs-swiss/docs-constraints/main/constraints.txt
 | 
			
		||||
allowlist_externals =
 | 
			
		||||
  mkdir
 | 
			
		||||
  cp
 | 
			
		||||
@ -40,7 +42,7 @@ commands =
 | 
			
		||||
{%- endfor %}
 | 
			
		||||
 | 
			
		||||
[testenv:docs-pdf]
 | 
			
		||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
deps = {[testenv:docs]deps}
 | 
			
		||||
allowlist_externals =
 | 
			
		||||
  rm
 | 
			
		||||
  mkdir
 | 
			
		||||
@ -59,7 +61,7 @@ commands =
 | 
			
		||||
{% set loc = doc.rst_location | replace('/source', '') %}
 | 
			
		||||
# HTML version
 | 
			
		||||
[testenv:{{ doc.type }}]
 | 
			
		||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
deps = {[testenv:docs]deps}
 | 
			
		||||
allowlist_externals =
 | 
			
		||||
  cp
 | 
			
		||||
  mkdir
 | 
			
		||||
@ -78,7 +80,7 @@ commands =
 | 
			
		||||
 | 
			
		||||
# Json version (for search)
 | 
			
		||||
[testenv:json-{{ doc.type }}]
 | 
			
		||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
deps = {[testenv:docs]deps}
 | 
			
		||||
allowlist_externals =
 | 
			
		||||
  cp
 | 
			
		||||
  mkdir
 | 
			
		||||
@ -102,7 +104,7 @@ commands =
 | 
			
		||||
{% if doc.pdf_name -%}
 | 
			
		||||
# PDF version
 | 
			
		||||
[testenv:{{ doc.type }}-pdf-docs]
 | 
			
		||||
deps = -r{toxinidir}/doc/requirements.txt
 | 
			
		||||
deps = {[testenv:docs]deps}
 | 
			
		||||
allowlist_externals =
 | 
			
		||||
  rm
 | 
			
		||||
  mkdir
 | 
			
		||||
 | 
			
		||||
@ -32,9 +32,11 @@ def process_services(args, services):
 | 
			
		||||
        block_on_rejected_reviews=True,
 | 
			
		||||
        dismiss_stale_approvals=True,
 | 
			
		||||
        enable_push=False,
 | 
			
		||||
        enable_status_check=True,
 | 
			
		||||
        status_check_contexts=["gl/check"],
 | 
			
		||||
        enable_merge_whitelist=True,
 | 
			
		||||
        merge_whitelist_usernames=["zuul"],
 | 
			
		||||
        required_approvals=1,
 | 
			
		||||
    )
 | 
			
		||||
    gitea_repo_template = dict(
 | 
			
		||||
        default_branch="main",
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,7 @@ import otc_metadata.services
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    data = otc_metadata.services.Services()
 | 
			
		||||
    data._sort_data()
 | 
			
		||||
 | 
			
		||||
    _yaml = YAML()
 | 
			
		||||
    _yaml.indent(mapping=2, sequence=4, offset=2)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user