11 Commits

Author SHA1 Message Date
91e9962846 change service category to compute
All checks were successful
gl/check check status: success (91e99628462ed0b4dea8c9ac2d71e4220456ef0f)
gl/gate gate status: success (91e99628462ed0b4dea8c9ac2d71e4220456ef0f)
2025-06-11 08:12:51 +00:00
0147b46518 add overview README file
All checks were successful
gl/check check status: success (0147b46518dad6c219884b247db56ac436236b95)
2025-06-11 08:09:58 +00:00
a47e2a9d87 README.md files added documenting the metadata dependencies and usage
All checks were successful
gl/check check status: success (a47e2a9d87081c668fcb5b5ce9d90bd52c14018f)
2025-06-11 08:02:59 +00:00
f0db6132bb describe metadata overview
All checks were successful
gl/check check status: success (f0db6132bb80e23e1f1d38ca608df69d31205d90)
2025-06-10 13:45:41 +00:00
1c90e222ae Rename Big Data to Data Analysis according to OTC console
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-committed-by: Tino Schreiber <tino.schreiber@t-systems.com>
2025-06-02 10:13:24 +00:00
dc86ee3773 Change Categoring Networking title
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-committed-by: Tino Schreiber <tino.schreiber@t-systems.com>
2025-06-02 08:13:40 +00:00
a6993b58b6 Disable PDF for CCE swiss
Reviewed-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-authored-by: Sebastian Gode <sebastian.gode@telekom.de>
Co-committed-by: Sebastian Gode <sebastian.gode@telekom.de>
2025-05-27 07:58:02 +00:00
244122d66e Fix is_global
Reviewed-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-authored-by: Sebastian Gode <sebastian.gode@telekom.de>
Co-committed-by: Sebastian Gode <sebastian.gode@telekom.de>
2025-05-23 12:36:03 +00:00
c840bfddf7 Update otc_metadata/data/services/obs_3rd_party.yaml
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-committed-by: Tino Schreiber <tino.schreiber@t-systems.com>
2025-05-23 12:25:21 +00:00
5688aa9fa9 Update requirements
Reviewed-by: Tino Schreiber <tino.schreiber@t-systems.com>
Co-authored-by: Sebastian Gode <sebastian.gode@telekom.de>
Co-committed-by: Sebastian Gode <sebastian.gode@telekom.de>
2025-05-23 08:11:53 +00:00
483dd1ba13 Update 3rd_party-python-sdk
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Sebastian Gode <sebastian.gode@telekom.de>
Co-committed-by: Sebastian Gode <sebastian.gode@telekom.de>
2025-05-23 08:05:22 +00:00
14 changed files with 219 additions and 7 deletions

View File

@ -0,0 +1,26 @@
# 📁 data/
This directory is the core of the metadata structure for Open Telekom Cloud Service Documentation. It contains structured definitions for services, their document types, categories, and repository configurations.
## 📂 Folder Overview
| Folder Name | Description |
|---------------------|-----------------------------------------------------------------------------|
| `services/` | Contains metadata for each individual service, including its cloud regions and access teams. |
| `documents/` | Holds metadata about documentation types (e.g., user guides, API refs) for each service and cloud region. |
| `service_categories/`| Lists available service categories used to group services (e.g., "Application", "Database"). |
| `repositories/` | Defines where the documentation source code is located (GitHub or Gitea) for each service per cloud environment. |
## 📦 Usage
These metadata files are used to:
- Build documentation portals.
- Generate links and visibility rules dynamically.
- Control contributor access.
- Connect documentation to source control repositories.
Each subfolder contains its own `README.md` with detailed field references and options.
## 📎 Example Structure
![Folder Structure](./folder_structure.png)

View File

@ -0,0 +1,69 @@
# 📁 documents/
This folder contains metadata about documentation files per service, such as user guides or API references. Each file describes a single document variant for a specific cloud environment.
## 🔧 Example: `ecs-umn.yaml`
```yaml
---
hc_location: usermanual/ecs
html_location: docs/ecs/umn
link: /elastic-cloud-server/umn/
rst_location: umn/source
service_type: ecs
title: User Guide
type: umn
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true
- name: swiss
visibility: public
pdf_visibility: public
pdf_enabled: true
```
## 🔧 Example: `ecs-api-ref.yaml`
```yaml
---
hc_location: api/ecs
html_location: docs/ecs/api-ref
link: /elastic-cloud-server/api-ref/
rst_location: api-ref/source
service_type: ecs
title: API Reference
type: api-ref
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true
- name: swiss
visibility: public
pdf_visibility: public
pdf_enabled: true
```
## Parameter Reference
| Field | Type | Description |
| -------------------- | ------ | -------------------------------------------------------- |
| `hc_location` | string | Path used in the Horizon Console. |
| `html_location` | string | Location of the built HTML output. |
| `link` | string | Target URL segment for this document. |
| `rst_location` | string | Source folder for `.rst` input. |
| `service_type` | string | Related service identifier (matches `services/`). |
| `title` | string | Display name of the document. |
| `type` | string | Document type (e.g., `umn`, `api-ref`, etc.). |
| `cloud_environments` | list | Region-specific metadata like visibility or PDF support. |
### `cloud_environments` Options:
| Field | Type | Allowed Values | Description |
| ---------------- | ------- | ------------------------------ | ---------------------------------- |
| `name` | string | e.g., `eu_de`, `swiss` | Name of the cloud region. |
| `visibility` | string | `public`, `internal`, `hidden` | Document visibility level. |
| `pdf_visibility` | string | `public`, `internal`, `hidden` | PDF visibility level |
| `pdf_enabled` | boolean | `true`, `false` | Enable PDF export |

View File

@ -14,4 +14,4 @@ cloud_environments:
- name: swiss - name: swiss
visibility: public visibility: public
pdf_visibility: public pdf_visibility: public
pdf_enabled: true pdf_enabled: false

View File

@ -14,4 +14,4 @@ cloud_environments:
- name: swiss - name: swiss
visibility: public visibility: public
pdf_visibility: public pdf_visibility: public
pdf_enabled: true pdf_enabled: false

View File

@ -5,7 +5,7 @@ link: /object-storage-service-3rd-party/python-sdk/
rst_location: doc/python-sdk/source rst_location: doc/python-sdk/source
service_type: obs_3rd_party service_type: obs_3rd_party
title: Python SDK title: Python SDK
type: 3rd_party_sdk type: python-sdk
cloud_environments: cloud_environments:
- name: eu_de - name: eu_de
visibility: public visibility: public

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,47 @@
# 📁 repositories/
Defines the documentation repositories associated with each service for both internal and public environments. Used for resolving documentation sources and CI sync jobs.
## 🔧 Example: `ecs.yaml`
```yaml
---
service_type: ecs
repositories:
- environment: public
repo: opentelekomcloud-docs/elastic-cloud-server
type: github
cloud_environments:
- eu_de
- environment: internal
repo: docs/elastic-cloud-server
type: gitea
cloud_environments:
- eu_de
- environment: public
repo: opentelekomcloud-docs-swiss/elastic-cloud-server
type: github
cloud_environments:
- swiss
- environment: internal
repo: docs-swiss/elastic-cloud-server
type: gitea
cloud_environments:
- swiss
```
## Parameter Options:
| Field | Type | Description |
| -------------- | ------ | ---------------------------------------------------- |
| `service_type` | string | Links this configuration to a service (`services/`). |
| `repositories` | list | List of repositories per environment and cloud. |
### `repositories` Options:
| Field | Type | Allowed Values | Description |
| -------------------- | ------ | ---------------------- | ------------------------------------- |
| `environment` | string | `public`, `internal` | Visibility level of the repository. |
| `repo` | string | Git path | Path to the Git repository. |
| `type` | string | `github`, `gitea` | Type of Git service. |
| `cloud_environments` | list | e.g., `eu_de`, `swiss` | Supported regions for the repository. |

View File

@ -0,0 +1,18 @@
# 📁 service_categories/
Contains the list of service category definitions. These categories help group services (e.g., "Application", "Database").
## 🔧 Example: `compute.yaml`
```yaml
---
name: compute
title: Computing
```
## Parameter Reference
| Field | Type | Description |
| ------- | ------ | ------------------------------------- |
| `name` | string | Internal identifier for the category. |
| `title` | string | Display name used in UIs. |

View File

@ -1,3 +1,3 @@
--- ---
name: big_data name: big_data
title: Big Data and Data Analysis title: Data Analysis

View File

@ -1,3 +1,3 @@
--- ---
name: network name: network
title: Networking title: Network

View File

@ -0,0 +1,48 @@
# 📁 services/
This folder contains metadata files that describe individual cloud services. Each file defines a single service and its configuration across environments.
## 🔧 Example: `ecs.yaml`
```yaml
---
service_category: compute
service_title: Elastic Cloud Server
service_type: ecs
service_uri: elastic-cloud-server
teams:
- name: docs-compute-rw
permission: write
cloud_environments:
- name: eu_de
visibility: public
- name: swiss
visibility: public
is_global: false
```
## Parameter Reference
| Parameter | Type | Description |
| -------------------- | ------- | --------------------------------------------------------------------- |
| `is_global` | boolean | Indicates whether the service is available globally (`true`/`false`). |
| `service_category` | string | Category reference, defined in `service_categories/`. |
| `service_title` | string | Display name of the service. |
| `service_type` | string | Unique identifier used across all metadata. |
| `service_uri` | string | URI component used in documentation links. |
| `cloud_environments` | list | List of cloud regions and their visibility settings. |
| `teams` | list | Contributor teams with write or read access. |
### `cloud_environments` Options:
| Field | Type | Allowed Values | Description |
| ------------ | ------ | ------------------------------ | ----------------------------------- |
| `name` | string | e.g., `eu_de`, `swiss` | Name of the cloud region. |
| `visibility` | string | `public`, `internal`, `hidden` | Controls visibility of the service. |
### `teams` Options:
| Field | Type | Allowed Values | Description |
| ------------ | ------ | --------------- | ---------------------------------------- |
| `name` | string | team identifier | Name of the team (e.g., `docs-compute-rw`). |
| `permission` | string | `read`, `write` | Access level to the metadata. |

View File

@ -11,4 +11,3 @@ cloud_environments:
- name: eu_de - name: eu_de
visibility: public visibility: public
is_global: false is_global: false
is_global: false

View File

@ -8,5 +8,5 @@ teams:
permission: write permission: write
cloud_environments: cloud_environments:
- name: eu_de - name: eu_de
visibility: internal visibility: hidden
is_global: false is_global: false

View File

@ -103,6 +103,11 @@ class Services(object):
for srv in self.all_services: for srv in self.all_services:
if environment and cloud_environment: if environment and cloud_environment:
cloud_environment_check = False cloud_environment_check = False
if srv["is_global"] is True:
if srv["environment"] == environment:
cloud_environment_check = True
else:
continue
if srv["is_global"] is not True: if srv["is_global"] is not True:
for srv_cloud_environment in srv["cloud_environments"]: for srv_cloud_environment in srv["cloud_environments"]:
if srv_cloud_environment["name"] == cloud_environment: if srv_cloud_environment["name"] == cloud_environment: