2 Commits

Author SHA1 Message Date
9fb0bd7bc2 Fix is_global
All checks were successful
gl/check check status: success (9fb0bd7bc205d62f10b65024ad26b68b1c5ee0c8)
gl/gate gate status: success (9fb0bd7bc205d62f10b65024ad26b68b1c5ee0c8)
2025-05-23 12:30:16 +00:00
3eed651f11 Fix is_global
All checks were successful
gl/check check status: success (3eed651f11d11d36f6c07e5382f4c8df0bd83ffc)
2025-05-23 12:22:29 +00:00
92 changed files with 417 additions and 877 deletions

View File

@ -1,62 +0,0 @@
name: Create Weekly Analytics Stats
on:
schedule:
# 03:00 UTC = 04:00 CET
- cron: "0 3 * * 1"
workflow_dispatch:
jobs:
run-analytics:
runs-on: ubuntu
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.PUSH_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests otc-metadata
- name: Run analytics for eu_de
env:
UMAMI_USERNAME: ${{ secrets.UMAMI_USERNAME }}
UMAMI_PASSWORD: ${{ secrets.UMAMI_PASSWORD }}
run: |
python ./tools/collect_statistics.py \
--website-id "${{ secrets.UMAMI_WEBSITE_ID }}" \
--cloud-environment "eu_de" \
--environment "public" \
--limit "10"
- name: Run analytics for swiss
env:
UMAMI_USERNAME: ${{ secrets.UMAMI_USERNAME }}
UMAMI_PASSWORD: ${{ secrets.UMAMI_PASSWORD }}
run: |
python ./tools/collect_statistics.py \
--website-id "${{ secrets.UMAMI_WEBSITE_ID }}" \
--cloud-environment "swiss" \
--environment "public" \
--limit "10"
- name: Commit and push results
run: |
git config --global user.name "gitea-actions[bot]"
git config --global user.email "actions@users.noreply.local"
git checkout -B analytics-update
git add otc_metadata/analytics/
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "chore: update analytics data [skip ci]"
git push origin analytics-update --force
fi

View File

@ -1,18 +0,0 @@
name: Run Tox Check
on:
pull_request:
types: [opened, reopened, synchronize, edited]
jobs:
tox-py312:
runs-on: ubuntu
steps:
- uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-py-test@v1
tox-pep8:
runs-on: ubuntu
steps:
- uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-py-test@v1
with:
tox-env: pep8

View File

@ -1,32 +0,0 @@
name: Updates Opensearch filters
on:
pull_request:
types:
- closed
branches:
- main
jobs:
update-opensearch-filters:
if: github.event.pull_request.merged == true
runs-on: ubuntu
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies and local package otc-metadata package
run: |
python -m pip install --upgrade pip
pip install . -r tools-requirements.txt
- name: Update swiss and eu_de Opensearch indizies
run: |
python tools/index_metadata.py --hosts ${{ secrets.OPENSEARCH_HOST1 }} --target-environment public --index search_index_de --cloud-environment eu_de --username ${{ secrets.OPENSEARCH_USER }} --password ${{ secrets.OPENSEARCH_PW }} --delete-index
python tools/index_metadata.py --hosts ${{ secrets.OPENSEARCH_HOST1 }} --target-environment public --index search_index_swiss --cloud-environment swiss --username ${{ secrets.OPENSEARCH_USER }} --password ${{ secrets.OPENSEARCH_PW }} --delete-index

View File

@ -1,48 +0,0 @@
# 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.
from pathlib import Path
import json
BASE_DIR = Path(__file__).resolve().parent
analytics_path = BASE_DIR / "public"
cloud_environments = [
'eu_de',
'swiss'
]
analytics_data = {k: [] for k in cloud_environments}
# Open and read the json data files
for env in cloud_environments:
file_path = analytics_path / f"{env}.json"
with file_path.open(encoding="utf-8") as file:
analytics_data[env] = json.load(file)
class AnalyticsData(object):
"""Encapsulate OTC Analystics data"""
def __init__(self):
self._analytics_data = analytics_data
def all_analytics_data(self):
"""returns all analytics data"""
return self._analytics_data
def analytics_data_by_cloud_environment(self, cloud_environment):
"""returns all analytics data"""
if cloud_environment and cloud_environment in self._analytics_data:
return self._analytics_data[cloud_environment]
else:
raise ValueError(f"cloud_environment '{cloud_environment}' does not exist.")

View File

@ -1,12 +0,0 @@
[
"evs",
"ims",
"ecs",
"cce",
"obs",
"rds",
"sfs",
"iam",
"elb",
"apig"
]

View File

@ -1,12 +0,0 @@
[
"evs",
"ims",
"ecs",
"cce",
"obs",
"rds",
"iam",
"elb",
"cbr",
"vpc"
]

View File

@ -1,26 +0,0 @@
# 📁 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

@ -1,69 +0,0 @@
# 📁 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

@ -0,0 +1,14 @@
---
hc_location: bestpractice/asm
html_location: docs/asm/best-practice
link: /application-service-mesh/best-practice/
rst_location: doc/best-practice/source
service_type: asm
title: Best Practice
type: best-practice
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true
disable_import: true

View File

@ -1,14 +0,0 @@
---
hc_location: api/bcc
html_location: docs/bcc/api-ref
link: /business-continuity-center/api-ref/
rst_location: api-ref/source
service_type: bcc
title: API Reference
type: api-ref
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: internal
pdf_enabled: false

View File

@ -1,14 +0,0 @@
---
hc_location: usermanual/bcc
html_location: docs/bcc/umn
link: /business-continuity-center/umn/
rst_location: umn/source
service_type: bcc
title: User Guide
type: umn
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: internal
pdf_enabled: false

View File

@ -0,0 +1,13 @@
---
hc_location: usermanual/bd
html_location: docs/bd/umn
link: /business-dashboard/umn/
rst_location: umn/source
service_type: bd
title: User Guide
type: umn
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: hidden
pdf_enabled: false

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/cbr
html_location: docs/cbr/best-practice
link: /cloud-backup-recovery/best-practice/
rst_location: doc/best-practice/source
service_type: cbr
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

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

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/cce
html_location: docs/cce/best-practice
link: /cloud-container-engine/best-practice/
rst_location: doc/best-practice/source
service_type: cce
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: false

View File

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

View File

@ -1,13 +0,0 @@
---
hc_location: koosearch-api/css
html_location: docs/css/koosearch-api-ref
link: /cloud-search-service/koosearch-api-ref/
rst_location: doc/koosearch-api-ref/source
service_type: css
title: Koosearch API Reference
type: koosearch-api-ref
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -1,13 +0,0 @@
---
hc_location: koosearch-usermanual/css
html_location: docs/css/koosearch-umn
link: /cloud-search-service/koosearch-umn/
rst_location: doc/koosearch-umn/source
service_type: css
title: Koosearch User Guide
type: koosearch-umn
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/dc
html_location: docs/dc/best-practice
link: /direct-connect/best-practice/
rst_location: doc/best-practice/source
service_type: dc
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/dcs
html_location: docs/dcs/best-practice
link: /distributed-cache-service/best-practice/
rst_location: doc/best-practice/source
service_type: dcs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/dds
html_location: docs/dds/best-practice
link: /document-database-service/best-practice/
rst_location: doc/best-practice/source
service_type: dds
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,13 @@
---
hc_location: api/dis
html_location: docs/dis/api-ref
link: /data-ingestion-service/api-ref/
rst_location: api-ref/source
service_type: dis
title: API Reference
type: api-ref
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,13 @@
---
hc_location: usermanual/dis
html_location: docs/dis/umn
link: /data-ingestion-service/umn/
rst_location: umn/source
service_type: dis
title: User Guide
type: umn
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/dms
html_location: docs/dms/best-practice
link: /distributed-message-service/best-practice/
rst_location: doc/best-practice/source
service_type: dms
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -1,13 +0,0 @@
---
hc_location: api/hrm
html_location: docs/dms_rocketmq/api-ref
link: /distributed-message-service-rocketmq/api-ref/
rst_location: api-ref/source
service_type: dms_rocketmq
title: API Reference
type: api-ref
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -1,13 +0,0 @@
---
hc_location: usermanual/hrm
html_location: docs/dms_rocketmq/umn
link: /distributed-message-service-rocketmq/umn/
rst_location: umn/source
service_type: dms_rocketmq
title: User Guide
type: umn
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/dns
html_location: docs/dns/best-practice
link: /domain-name-service/best-practice/
rst_location: doc/best-practice/source
service_type: dns
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/drs
html_location: docs/drs/best-practice
link: /data-replication-service/best-practice/
rst_location: doc/best-practice/source
service_type: drs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/ecs
html_location: docs/ecs/best-practice
link: /elastic-cloud-server/best-practice/
rst_location: doc/best-practice/source
service_type: ecs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/elb
html_location: docs/elb/best-practice
link: /elastic-load-balancing/best-practice/
rst_location: doc/best-practice/source
service_type: elb
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/evs
html_location: docs/evs/best-practice
link: /elastic-volume-service/best-practice/
rst_location: doc/best-practice/source
service_type: evs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/functiongraph
html_location: docs/fg/best-practice
link: /function-graph/best-practice/
rst_location: doc/best-practice/source
service_type: fg
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/iam
html_location: docs/iam/best-practice
link: /identity-access-management/best-practice/
rst_location: doc/best-practice/source
service_type: iam
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -8,10 +8,10 @@ title: Permissions
type: permissions
cloud_environments:
- name: eu_de
visibility: public
visibility: internal
pdf_visibility: public
pdf_enabled: true
- name: swiss
visibility: public
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/ims
html_location: docs/ims/best-practice
link: /image-management-service/best-practice/
rst_location: doc/best-practice/source
service_type: ims
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -10,4 +10,4 @@ cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true
pdf_enabled: false

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/mrs
html_location: docs/mrs/best-practice
link: /mapreduce-service/best-practice/
rst_location: doc/best-practice/source
service_type: mrs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: false

View File

@ -10,4 +10,4 @@ cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: true
pdf_enabled: false

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/natgw
html_location: docs/natgw/best-practice
link: /nat-gateway/best-practice/
rst_location: doc/best-practice/source
service_type: natgw
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/obs
html_location: docs/obs/best-practice
link: /object-storage-service/best-practice/
rst_location: doc/best-practice/source
service_type: obs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -1,13 +0,0 @@
---
hc_location: sdk/c-devg-obs
html_location: docs/obs_3rd_party/c_sdk
link: /object-storage-service-3rd-party/c-sdk/
rst_location: doc/c-sdk/source
service_type: obs_3rd_party
title: C SDK
type: c-sdk
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: false

View File

@ -1,13 +0,0 @@
---
hc_location: sdk/go-devg-obs
html_location: docs/obs_3rd_party/go_sdk
link: /object-storage-service-3rd-party/go-sdk/
rst_location: doc/go-sdk/source
service_type: obs_3rd_party
title: Go SDK
type: go-sdk
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: false

View File

@ -1,13 +0,0 @@
---
hc_location: sdk/java-devg-obs
html_location: docs/obs_3rd_party/java_sdk
link: /object-storage-service-3rd-party/java-sdk/
rst_location: doc/java-sdk/source
service_type: obs_3rd_party
title: Java SDK
type: java-sdk
cloud_environments:
- name: eu_de
visibility: public
pdf_visibility: public
pdf_enabled: false

View File

@ -6,7 +6,6 @@ rst_location: umn/source
service_type: sd
title: User Guide
type: umn
disable_import: true
cloud_environments:
- name: swiss
visibility: public

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/sfs
html_location: docs/sfs/best-practice
link: /scalable-file-service/best-practice/
rst_location: doc/best-practice/source
service_type: sfs
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/swr
html_location: docs/swr/best-practice
link: /software-repository-container/best-practice/
rst_location: doc/best-practice/source
service_type: swr
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -8,6 +8,6 @@ title: API Reference
type: api-ref
cloud_environments:
- name: eu_de
visibility: public
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -9,6 +9,6 @@ title: User Guide
type: umn
cloud_environments:
- name: eu_de
visibility: public
visibility: internal
pdf_visibility: public
pdf_enabled: true

View File

@ -0,0 +1,14 @@
---
hc_location: bestpractice/tms
html_location: docs/tms/best-practice
link: /tag-management-service/best-practice/
rst_location: doc/best-practice/source
service_type: tms
title: Best Practice
type: best-practice
disable_import: true
cloud_environments:
- name: eu_de
visibility: internal
pdf_visibility: public
pdf_enabled: true

Some files were not shown because too many files have changed in this diff Show More