Little tweaks

This commit is contained in:
Kevin Veen-Birkenbach 2025-05-22 05:55:33 +02:00
parent c7ff39169a
commit 2717651189
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
16 changed files with 51 additions and 20 deletions

View File

@ -120,17 +120,28 @@ def generate_playbook_entries(roles_dir, prefix=None):
# Include the remaining unsorted roles
final_sorted_roles += [role for role in sorted_role_names if role not in final_sorted_roles]
# Remove duplicates, keeping only the last occurrence of each role
seen = set()
deduplicated_roles = []
for role in reversed(final_sorted_roles):
if role not in seen:
deduplicated_roles.insert(0, role)
seen.add(role)
# Generate the playbook entries
entries = []
for role_name in final_sorted_roles:
for role_name in deduplicated_roles:
role = roles[role_name]
entry = (
f"- name: setup {role['application_id']}\n" # Use application_id here
f" when: ('{role['application_id']}' in group_names)\n" # Correct condition format
entries.append(
f"- name: setup {role['application_id']}\n"
f" when: ('{role['application_id']}' in group_names)\n"
f" include_role:\n"
f" name: {role['role_name']}\n"
)
entries.append(entry)
entries.append(
f"- name: flush handlers after {role['application_id']}\n"
f" meta: flush_handlers\n"
)
return entries

View File

@ -2,7 +2,7 @@
## Description
Elevate your website management with Joomla, a powerful content management system that fuses versatility with dynamic design. Experience a vibrant platform that inspires creativity and drives your digital presence to new, energetic heights.
Elevate your website management with [Joomla](https://www.joomla.org/), a powerful content management system that fuses versatility with dynamic design. Experience a vibrant platform that inspires creativity and drives your digital presence to new, energetic heights.
## Overview

View File

@ -19,6 +19,6 @@ galaxy_info:
documentation: https://s.veen.world/cymais
logo:
class: "fa-solid fa-lock"
run_after:
run_after:
- docker-matomo
dependencies: []

View File

@ -10,4 +10,8 @@ features:
central_database: true
domains:
canonical:
- "microblog.{{ primary_domain }}"
- "microblog.{{ primary_domain }}"
csp:
whitelist:
frame-src:
- "*"

View File

@ -29,5 +29,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-project-diagram"
run_after:
run_after:
- docker-keycloak

View File

@ -28,5 +28,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-video"
run_after:
run_after:
- docker-keycloak

View File

@ -24,4 +24,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-database"
dependencies: []
run_after:
- docker-postgres

View File

@ -23,4 +23,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-user-lock"
dependencies: []
run_after:
- docker-ldap

View File

@ -25,4 +25,5 @@ galaxy_info:
documentation: https://s.veen.world/cymais
logo:
class: "fa-solid fa-database"
dependencies: []
run_after:
- docker-mariadb

View File

@ -24,4 +24,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-camera"
dependencies: []
run_after:
- docker-keycloak

View File

@ -112,7 +112,7 @@
description: Access our comprehensive documentation and support resources to help you get the most out of the software.
icon:
class: fas fa-book
url: https://{{domains.sphinx}}
url: https://{{domains | get_domain('sphinx')}}
iframe: {{ applications | is_feature_enabled('portfolio_iframe','sphinx') }}
{% endif %}
@ -123,10 +123,16 @@
description: Checkout the presentation
icon:
class: "fas fa-chalkboard-teacher"
url: https://{{domains.presentation}}
url: https://{{domains | get_domain('presentation')}}
iframe: {{ applications | is_feature_enabled('portfolio_iframe','presentation') }}
{% endif %}
- name: Solutions
description: "Software and IT Infrastructure Solutions by Kevin Veen-Birkenbach"
icon:
class: fa-solid fa-rocket
url: "https://cybermaster.space/"
iframe: false
- name: Imprint
description: Check out the imprint information

View File

@ -19,6 +19,8 @@ csp:
flags:
style-src:
unsafe-inline: true
script-src:
unsafe-inline: true
domains:
canonical:
- "{{ primary_domain }}"

View File

@ -27,5 +27,5 @@ galaxy_info:
documentation: "https://s.veen.world/cymais"
logo:
class: "fa-solid fa-blog"
run_after:
run_after:
- docker-keycloak

View File

@ -1,2 +1,4 @@
application_id: "html-server"
domain: "{{domains | get_domain(application_id)}}"
application_id: "html-server"
domain: "{{domains | get_domain(application_id)}}"
features:
portfolio_iframe: true # Necessary for imprint loading

View File

@ -28,6 +28,8 @@ class TestCspConfigurationConsistency(unittest.TestCase):
return True
if entry.startswith(('data:', 'blob:')):
return True
if entry == '*':
return True
parsed = urlparse(entry)
return parsed.scheme in ('http', 'https') and bool(parsed.netloc)

View File

@ -181,7 +181,7 @@ class TestCspFilters(unittest.TestCase):
# Expect '*.domain-example.com' in the frame-ancestors directive
self.assertRegex(
header,
r"frame-ancestors\s+'self'\s+\*\.domain-example\.com;"
r"frame-ancestors\s+'self'\s+domain-example\.com;"
)
# Now disable the feature and rebuild