Compare commits

...

15 Commits

Author SHA1 Message Date
08948739a0 longer commit string
All checks were successful
gl/check check status: success (08948739a05ea33ec515e8ebc765596bee7350b5)
gl/gate gate status: success (08948739a05ea33ec515e8ebc765596bee7350b5)
2024-09-06 07:55:40 +00:00
88bb548c93 sbv-update
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-09-06 07:36:50 +00:00
f94afbff0f Added Commit Hash and Time to confpy
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-09-06 07:36:01 +00:00
69f89e77c4 Add LTS service
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-06-20 10:57:19 +00:00
e97a327999 Add environment filter to services_by_category
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-05-29 10:58:48 +00:00
c5736b6886 Increase otcdocstheme public version requirement
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-29 10:24:09 +00:00
c6be426256 fix zuul.yaml.j2 template
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2024-01-18 13:19:53 +00:00
78c1a0b0e2 Update zuul.yaml.j2
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-18 09:19:22 +00:00
582216f26b Added setuptools as requirement to support Python 3.12
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-03 11:01:38 +00:00
1434915c01 Added bindep for PDF
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2024-01-03 10:59:27 +00:00
bff9eff2bd Differentiate between public and internal otcdocstheme
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2023-11-15 14:07:16 +00:00
d5e7269ae9 Change category name Database to Databases
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-11-15 13:49:01 +00:00
1541a02210 Added sphinx-minify to tox
Reviewed-by: tischrei <tino.schreiber@t-systems.com>
Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
2023-11-15 13:48:58 +00:00
96ffbc1403 correct swiss portal name
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-09-06 12:35:10 +00:00
ca8c5fb34c change the base_url accordingly
Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
Co-authored-by: tischrei <tino.schreiber@t-systems.com>
Co-committed-by: tischrei <tino.schreiber@t-systems.com>
2023-09-06 07:42:07 +00:00
12 changed files with 138 additions and 22 deletions

3
.gitignore vendored
View File

@ -59,3 +59,6 @@ ChangeLog
# Files created by releasenotes build # Files created by releasenotes build
releasenotes/build releasenotes/build
bindep.txt
packages.txt

View File

@ -0,0 +1,10 @@
---
environment: internal
hc_location: api/lts
html_location: docs/lts/api-ref
link: /log-tank-service/api-ref/
pdf_name: lts-api-ref
rst_location: api-ref/source
service_type: lts
title: API Reference
type: api-ref

View File

@ -0,0 +1,10 @@
---
environment: internal
hc_location: usermanual/lts
html_location: docs/lts/umn
link: /log-tank-service/umn/
pdf_name: lts-umn
rst_location: umn/source
service_type: lts
title: User Guide
type: umn

View File

@ -1,3 +1,3 @@
--- ---
name: database name: database
title: Database title: Databases

View File

@ -0,0 +1,16 @@
---
environment: internal
repositories:
- environment: internal
repo: docs-swiss/log-tank-service
type: gitea
- environment: public
repo: opentelekomcloud-docs-swiss/log-tank-service
type: github
service_category: md
service_title: Log Tank Service
service_type: lts
service_uri: log-tank-service
teams:
- name: docs-orchestration-rw
permission: write

View File

@ -87,10 +87,13 @@ class Services(object):
res.append(copy.deepcopy(cat)) res.append(copy.deepcopy(cat))
return res return res
def services_by_category(self, category): def services_by_category(self, category, environment=None):
"""List services matching category""" """List services matching category"""
res = [] res = []
for srv in self.all_services: for srv in self.all_services:
if environment:
if "environment" in srv and srv["environment"] != environment:
continue
if srv["service_category"] == category: if srv["service_category"] == category:
res.append(copy.deepcopy(srv)) res.append(copy.deepcopy(srv))
return res return res

View File

@ -16,6 +16,8 @@
import os import os
import sys import sys
from git import Repo
from datetime import datetime
extensions = [ extensions = [
'otcdocstheme', 'otcdocstheme',
@ -132,3 +134,8 @@ latex_documents = [
{% endif -%} {% endif -%}
] ]
# Get the Git commit values for last updated timestamp on each page
repo = Repo(search_parent_directories=True)
commit = repo.head.commit
current_commit_hash = commit.hexsha
current_commit_time = commit.committed_datetime.strftime('%Y-%m-%d %H:%M')

View File

@ -1,7 +1,16 @@
sphinx>=2.0.0,!=2.1.0 # BSD sphinx>=2.0.0,!=2.1.0 # BSD
{% if target_environment == 'public' %}
otcdocstheme<2.0.0 # Apache-2.0
{% elif target_environment == 'internal' %}
otcdocstheme # Apache-2.0 otcdocstheme # Apache-2.0
{% else %}
otcdocstheme # Apache-2.0
{% endif %}
# releasenotes # releasenotes
reno>=3.1.0 # Apache-2.0 reno>=3.1.0 # Apache-2.0
otc-sphinx-directives>=0.1.0 otc-sphinx-directives>=0.1.0
sphinx-minify>=0.0.1 # Apache-2.0
git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata
setuptools
gitpython

View File

@ -5,3 +5,4 @@
.. service_card:: .. service_card::
:service_type: {{ service_type }} :service_type: {{ service_type }}
:environment: {{ environment }}

View File

@ -34,23 +34,28 @@ allowlist_externals =
rm rm
sphinx-build sphinx-build
commands = commands =
rm -rf doc/build/html doc/build/doctrees rm -rf doc/build/html doc/build/html_temp doc/build/doctrees
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html_temp
sphinx-minify --input-directory doc/build/html_temp/ --output-directory doc/build/html
{%- for doc in docs %} {%- for doc in docs %}
{[testenv:{{ doc.type }}]commands} {[testenv:{{ doc.type }}]commands}
{[testenv:json-{{ doc.type }}]commands} {[testenv:json-{{ doc.type }}]commands}
{%- endfor %} {%- endfor %}
[testenv:docs-pdf] [testenv:docs-pdf]
deps = {[testenv:docs]deps} deps =
{[testenv:docs]deps}
{[testenv:bindeps]deps}
allowlist_externals = allowlist_externals =
rm rm
mkdir mkdir
wget
make make
bash bash
cp cp
commands = commands =
mkdir -p doc/build/pdf mkdir -p doc/build/pdf
{[testenv:bindeps]commands}
{%- for doc in docs %} {%- for doc in docs %}
{%- if doc.pdf_name %} {%- if doc.pdf_name %}
{[testenv:{{ doc.type }}-pdf-docs]commands} {[testenv:{{ doc.type }}-pdf-docs]commands}
@ -66,16 +71,14 @@ allowlist_externals =
cp cp
mkdir mkdir
commands = commands =
sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html/{{ doc.type }} sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html_temp/{{ doc.type }}
{%- if doc.type == 'api-ref' %} sphinx-minify --input-directory doc/build/html_temp/{{ doc.type }} --output-directory doc/build/html/{{ doc.type }}
mkdir -p api-ref/build/html {%- if doc.type == 'dev-guide' %}
cp -av doc/build/html/api-ref api-ref/build/html
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/html
cp -av doc/build/html/umn umn/build/html
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/html mkdir -p dev_guide/build/html
cp -av doc/build/html/dev-guide dev_guide/build/html cp -av doc/build/html/dev-guide dev_guide/build/html
{%- else %}
mkdir -p {{ doc.type }}/build/html
cp -av doc/build/html/{{ doc.type }} {{ doc.type }}/build/html
{%- endif %} {%- endif %}
# Json version (for search) # Json version (for search)
@ -90,15 +93,12 @@ commands =
# Drop data useless for the search - wrap it also with sh/xargs due to bugs # Drop data useless for the search - wrap it also with sh/xargs due to bugs
# in tox # in tox
sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf" sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf"
{%- if doc.type == 'api-ref' %} {%- if doc.type == 'dev-guide' %}
mkdir -p api-ref/build/json
cp -av doc/build/json/api-ref api-ref/build/json
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/json
cp -av doc/build/json/umn umn/build/json
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/json mkdir -p dev_guide/build/json
cp -av doc/build/json/dev-guide dev_guide/build/json cp -av doc/build/json/dev-guide dev_guide/build/json
{%- else %}
mkdir -p {{ doc.type }}/build/json
cp -av doc/build/json/{{ doc.type }} {{ doc.type }}/build/json
{%- endif %} {%- endif %}
{% if doc.pdf_name -%} {% if doc.pdf_name -%}
@ -122,6 +122,21 @@ commands =
{% endif %} {% endif %}
{% endfor %} {% endfor %}
[testenv:bindeps]
deps =
bindep
allowlist_externals =
wget
rm
bash
commands =
rm -rf {toxinidir}/bindep.txt
rm -rf {toxinidir}/packages.txt
wget -O {toxinidir}/bindep.txt https://raw.githubusercontent.com/opentelekomcloud/otcdocstheme/main/bindep.txt
bash -c "bindep test -b -f {toxinidir}/bindep.txt > {toxinidir}/packages.txt || true"
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v apt &>/dev/null; then apt update && xargs apt install --no-install-recommends -y < {toxinidir}/packages.txt; fi; fi'
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v dnf &>/dev/null; then dnf install -y $(cat {toxinidir}/packages.txt); fi; fi'
[doc8] [doc8]
ignore = D001 ignore = D001
extensions = .rst, .yaml extensions = .rst, .yaml

View File

@ -0,0 +1,12 @@
---
- project:
merge-mode: squash-merge
default-branch: main
templates:
- helpcenter-swiss-base-jobs
check:
jobs:
- noop
gate:
jobs:
- noop

View File

@ -50,6 +50,7 @@ def process_repositories(args, service):
) )
conf_py_template = env.get_template("conf.py.j2") conf_py_template = env.get_template("conf.py.j2")
tox_ini_template = env.get_template("tox.ini.j2") tox_ini_template = env.get_template("tox.ini.j2")
zuul_yaml_template = env.get_template("zuul.yaml.j2")
index_sbv_template = env.get_template("index_sbv.rst.j2") index_sbv_template = env.get_template("index_sbv.rst.j2")
doc_requirements_template = env.get_template("doc_requirements.txt.j2") doc_requirements_template = env.get_template("doc_requirements.txt.j2")
@ -148,7 +149,12 @@ def process_repositories(args, service):
context["html_options"] = dict( context["html_options"] = dict(
disable_search=True, disable_search=True,
site_name="Internal Documentation Portal", site_name="Internal Documentation Portal",
logo_url="https://docs-int.otc-service.com", logo_url="https://docs-int.sc.otc.t-systems.com",
)
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
) )
context["doc_environment"] = args.target_environment context["doc_environment"] = args.target_environment
if doc['link']: if doc['link']:
@ -198,8 +204,14 @@ def process_repositories(args, service):
context["html_options"] = dict( context["html_options"] = dict(
disable_search=True, disable_search=True,
site_name="Internal Documentation Portal", site_name="Internal Documentation Portal",
logo_url="https://docs-int.otc-service.com", logo_url="https://docs-int.sc.otc.t-systems.com",
) )
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
)
context["environment"] = args.target_environment
sbv_title = (service["service_title"] + "\n" sbv_title = (service["service_title"] + "\n"
+ ('=' * len(service["service_title"]))) + ('=' * len(service["service_title"])))
context["sbv_title"] = sbv_title context["sbv_title"] = sbv_title
@ -237,6 +249,8 @@ def process_repositories(args, service):
doc["type"] = "dev-guide" doc["type"] = "dev-guide"
context["docs"].append(doc) context["docs"].append(doc)
context["target_environment"] = args.target_environment
tox_ini_content = tox_ini_template.render(**context) tox_ini_content = tox_ini_template.render(**context)
tox_ini_path = pathlib.Path(copy_to, "tox.ini") tox_ini_path = pathlib.Path(copy_to, "tox.ini")
doc_requirements_content = doc_requirements_template.render(**context) doc_requirements_content = doc_requirements_template.render(**context)
@ -257,6 +271,16 @@ def process_repositories(args, service):
out.write(doc_requirements_content) out.write(doc_requirements_content)
repo_to.index.add(["doc/requirements.txt"]) repo_to.index.add(["doc/requirements.txt"])
if args.update_zuul:
"""Update zuul.yaml"""
zuul_yaml_content = zuul_yaml_template.render(**context)
zuul_yaml_path = pathlib.Path(copy_to, "zuul.yaml")
with open(zuul_yaml_path, "w", encoding="utf-8", newline="") as out:
logging.debug(f"Generating {zuul_yaml_path} from template...")
out.write(zuul_yaml_content)
repo_to.index.add(["zuul.yaml"])
if len(repo_to.index.diff("HEAD")) == 0: if len(repo_to.index.diff("HEAD")) == 0:
# Nothing to commit # Nothing to commit
logging.debug( logging.debug(
@ -313,6 +337,7 @@ def main():
parser.add_argument( parser.add_argument(
"--target-environment", "--target-environment",
required=True, required=True,
choices=["internal", "public"],
help="Environment to be used as a source", help="Environment to be used as a source",
) )
parser.add_argument("--service-type", help="Service to update") parser.add_argument("--service-type", help="Service to update")
@ -341,6 +366,11 @@ def main():
action="store_true", action="store_true",
help="Whether to update service-based-view" help="Whether to update service-based-view"
) )
parser.add_argument(
"--update-zuul",
action="store_true",
help="Whether to update zuul.yaml"
)
parser.add_argument( parser.add_argument(
"--overwrite-index-sbv", "--overwrite-index-sbv",
action="store_true", action="store_true",