Solved application generation bugs

This commit is contained in:
Kevin Veen-Birkenbach 2025-05-09 18:03:48 +02:00
parent 5b47333955
commit a2e6c9881a
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
19 changed files with 72 additions and 34 deletions

36
cli/fix_tabs.py Normal file
View File

@ -0,0 +1,36 @@
#!/usr/bin/env python3
import os
from pathlib import Path
ROLES_DIR = Path("roles") # Adjust this if needed
FILES_FIXED = []
def fix_tabs_in_file(file_path):
with open(file_path, "r") as f:
lines = f.readlines()
if any('\t' in line for line in lines):
fixed_lines = [line.replace('\t', ' ') for line in lines]
with open(file_path, "w") as f:
f.writelines(fixed_lines)
FILES_FIXED.append(str(file_path))
def main():
for role_dir in sorted(ROLES_DIR.iterdir()):
if not role_dir.is_dir():
continue
vars_main = role_dir / "vars" / "main.yml"
if vars_main.exists():
fix_tabs_in_file(vars_main)
if FILES_FIXED:
print("✅ Fixed tab characters in the following files:")
for f in FILES_FIXED:
print(f" - {f}")
else:
print("✅ No tabs found in any vars/main.yml files.")
if __name__ == "__main__":
main()

View File

@ -26,7 +26,7 @@ def main():
result = {"default_applications": {}} result = {"default_applications": {}}
for role_dir in sorted(roles_dir.glob("docker-*")): for role_dir in sorted(roles_dir.iterdir()):
role_name = role_dir.name role_name = role_dir.name
vars_main = role_dir / "vars" / "main.yml" vars_main = role_dir / "vars" / "main.yml"
config_file = role_dir / "vars" / "configuration.yml" config_file = role_dir / "vars" / "configuration.yml"

View File

@ -1,5 +1,5 @@
application_id: "baserow" application_id: "baserow"
database_password: "{{ baserow_database_password }}" database_password: "{{ baserow_database_password }}"
database_type: "postgres" database_type: "postgres"
domain: "{{ domains[application_id] }}" domain: "{{ domains[application_id] }}"
http_port: "{{ ports.localhost.http[application_id] }}" http_port: "{{ ports.localhost.http[application_id] }}"

View File

@ -1,13 +1,13 @@
application_id: "bigbluebutton" application_id: "bigbluebutton"
bbb_repository_directory: "{{ docker_compose.directories.services }}" bbb_repository_directory: "{{ docker_compose.directories.services }}"
docker_compose_file_origine: "{{ docker_compose.directories.services }}docker-compose.yml" docker_compose_file_origine: "{{ docker_compose.directories.services }}docker-compose.yml"
docker_compose_file_final: "{{ docker_compose.directories.instance }}docker-compose.yml" docker_compose_file_final: "{{ docker_compose.directories.instance }}docker-compose.yml"
# Database configuration # Database configuration
database_type: "postgres" database_type: "postgres"
database_password: "{{ applications.bigbluebutton.credentials.postgresql_secret }}" database_password: "{{ applications.bigbluebutton.credentials.postgresql_secret }}"
domain: "{{ domains[application_id] }}" domain: "{{ domains[application_id] }}"
http_port: "{{ ports.localhost.http[application_id] }}" http_port: "{{ ports.localhost.http[application_id] }}"
bbb_env_file_link: "{{ docker_compose.directories.instance }}.env" bbb_env_file_link: "{{ docker_compose.directories.instance }}.env"
bbb_env_file_origine: "{{ bbb_repository_directory }}.env" bbb_env_file_origine: "{{ bbb_repository_directory }}.env"

View File

@ -1,3 +1,3 @@
application_id: "joomla" application_id: "joomla"
database_password: "{{joomla_database_password}}" database_password: "{{joomla_database_password}}"
database_type: "postgres" database_type: "postgres"

View File

@ -1,4 +1,4 @@
application_id: "keycloak" application_id: "keycloak"
database_type: "postgres" database_type: "postgres"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"
container_name: "{{application_id}}_application" container_name: "{{application_id}}_application"

View File

@ -1,4 +1,4 @@
application_id: "listmonk" application_id: "listmonk"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"
database_type: "postgres" database_type: "postgres"

View File

@ -1,7 +1,7 @@
application_id: "mailu" application_id: "mailu"
# Database Configuration # Database Configuration
database_password: "{{applications.mailu.credentials.database_password}}" database_password: "{{applications.mailu.credentials.database_password}}"
database_type: "mariadb" database_type: "mariadb"
cert_mount_directory: "{{docker_compose.directories.volumes}}certs/" cert_mount_directory: "{{docker_compose.directories.volumes}}certs/"
@ -11,4 +11,4 @@ cert_mount_directory: "{{docker_compose.directories.volumes}}certs/"
docker_source: "{{ 'ghcr.io/heviat' if applications[application_id].features.oidc | bool else 'ghcr.io/mailu' }}" docker_source: "{{ 'ghcr.io/heviat' if applications[application_id].features.oidc | bool else 'ghcr.io/mailu' }}"
domain: "{{ domains[application_id] }}" domain: "{{ domains[application_id] }}"
http_port: "{{ ports.localhost.http[application_id] }}" http_port: "{{ ports.localhost.http[application_id] }}"

View File

@ -1 +0,0 @@
version: "latest"

View File

@ -0,0 +1,3 @@
version: "latest"
application_id: "mariadb"
hostname: "central-{{application_id}}"

View File

@ -1,3 +1,3 @@
application_id: "mastodon" application_id: "mastodon"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"
database_type: "postgres" database_type: "postgres"

View File

@ -1,5 +1,5 @@
--- ---
application_id: "matomo" application_id: "matomo"
database_type: "mariadb" database_type: "mariadb"
database_password: "{{applications.matomo.credentials.database_password}}" database_password: "{{applications.matomo.credentials.database_password}}"

View File

@ -1,6 +1,6 @@
--- ---
application_id: "matrix" application_id: "matrix"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"
database_type: "postgres" database_type: "postgres"
registration_file_folder: "/data/" registration_file_folder: "/data/"
well_known_directory: "{{nginx.directories.data.well_known}}/matrix/" well_known_directory: "{{nginx.directories.data.well_known}}/matrix/"

View File

@ -1,5 +1,5 @@
--- ---
application_id: "mybb" application_id: "mybb"
docker_compose_instance_confd_directory: "{{docker_compose.directories.instance}}conf.d/" docker_compose_instance_confd_directory: "{{docker_compose.directories.instance}}conf.d/"
docker_compose_instance_confd_defaultconf_file: "{{docker_compose_instance_confd_directory}}default.conf" docker_compose_instance_confd_defaultconf_file: "{{docker_compose_instance_confd_directory}}default.conf"
target_mount_conf_d_directory: "{{nginx.directories.http.servers}}" target_mount_conf_d_directory: "{{nginx.directories.http.servers}}"

View File

@ -3,7 +3,7 @@
application_id: "nextcloud" # Application identifier application_id: "nextcloud" # Application identifier
# Database # Database
database_password: "{{applications.nextcloud.credentials.database_password}}" # Database password database_password: "{{applications.nextcloud.credentials.database_password}}" # Database password
database_type: "mariadb" # Database flavor database_type: "mariadb" # Database flavor
# Networking # Networking

View File

@ -1,3 +1,3 @@
application_id: "peertube" application_id: "peertube"
database_type: "postgres" database_type: "postgres"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"

View File

@ -1,7 +1,7 @@
# General Configuration # General Configuration
application_id: syncope application_id: syncope
database_type: "postgres" database_type: "postgres"
database_password: {{ domains[application_id].credentials.database_password }} database_password: "{{ domains[application_id].credentials.database_password }}"
# Application Specific # Application Specific
syncope_keymaster_address: http://localhost:8080/syncope/rest/keymaster syncope_keymaster_address: http://localhost:8080/syncope/rest/keymaster
@ -10,8 +10,8 @@ syncope_paths:
console: console console: console
enduser: enduser enduser: enduser
syncope_anonymous_user: {{ domains[application_id].users.anonymous.username }} syncope_anonymous_user: "{{ domains[application_id].users.anonymous.username }}"
syncope_anonymous_password: {{ domains[application_id].credentials.anonymous.password }} syncope_anonymous_password: "{{ domains[application_id].credentials.anonymous.password }}"
syncope_administrator_user: {{ domains[application_id].users.administrator.username }} syncope_administrator_user: "{{ domains[application_id].users.administrator.username }}"
syncope_administrator_password: {{ domains[application_id].credentials.administrator_password }} syncope_administrator_password: "{{ domains[application_id].credentials.administrator_password }}"

View File

@ -1,7 +1,7 @@
application_id: "wordpress" application_id: "wordpress"
wordpress_max_upload_size: "64M" wordpress_max_upload_size: "64M"
database_type: "mariadb" database_type: "mariadb"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"
wordpress_custom_image: "wordpress_custom" wordpress_custom_image: "wordpress_custom"
wordpress_docker_html_path: "/var/www/html" wordpress_docker_html_path: "/var/www/html"
host_msmtp_conf: "{{docker_compose.directories.config}}msmtprc.conf" host_msmtp_conf: "{{docker_compose.directories.config}}msmtprc.conf"

View File

@ -1,3 +1,3 @@
application_id: "yourls" application_id: "yourls"
database_type: "mariadb" database_type: "mariadb"
database_password: "{{applications[application_id].credentials.database_password}}" database_password: "{{applications[application_id].credentials.database_password}}"