mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-15 08:30:46 +02:00
replaced port-ui-desktop with desktop to make it more speakable
This commit is contained in:
parent
5e00deea19
commit
4a65a254ae
@ -148,13 +148,13 @@ class FilterModule(object):
|
|||||||
|
|
||||||
# Allow the loading of js from the cdn
|
# Allow the loading of js from the cdn
|
||||||
if directive == 'script-src-elem':
|
if directive == 'script-src-elem':
|
||||||
if self.is_feature_enabled(applications, 'logout', application_id) or self.is_feature_enabled(applications, 'port-ui-desktop', application_id):
|
if self.is_feature_enabled(applications, 'logout', application_id) or self.is_feature_enabled(applications, 'desktop', application_id):
|
||||||
domain = domains.get('web-svc-cdn')[0]
|
domain = domains.get('web-svc-cdn')[0]
|
||||||
tokens.append(f"{domain}")
|
tokens.append(f"{domain}")
|
||||||
|
|
||||||
if directive == 'frame-ancestors':
|
if directive == 'frame-ancestors':
|
||||||
# Enable loading via ancestors
|
# Enable loading via ancestors
|
||||||
if self.is_feature_enabled(applications, 'port-ui-desktop', application_id):
|
if self.is_feature_enabled(applications, 'desktop', application_id):
|
||||||
domain = domains.get('web-app-port-ui')[0]
|
domain = domains.get('web-app-port-ui')[0]
|
||||||
sld_tld = ".".join(domain.split(".")[-2:]) # yields "example.com"
|
sld_tld = ".".join(domain.split(".")[-2:]) # yields "example.com"
|
||||||
tokens.append(f"{sld_tld}") # yields "*.example.com"
|
tokens.append(f"{sld_tld}") # yields "*.example.com"
|
||||||
|
@ -13,11 +13,11 @@
|
|||||||
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == PRIMARY_DOMAIN) }}"
|
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == PRIMARY_DOMAIN) }}"
|
||||||
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
||||||
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
||||||
port_ui: "{{ applications | get_app_conf(application_id, 'features.port-ui-desktop', False) }}"
|
port_ui: "{{ applications | get_app_conf(application_id, 'features.desktop', False) }}"
|
||||||
|
|
||||||
- name: "Activate Portfolio iFrame notifier for {{ domain }}"
|
- name: "Activate Portfolio iFrame notifier for {{ domain }}"
|
||||||
include_role:
|
include_role:
|
||||||
name: srv-web-7-7-inj-port-ui-desktop
|
name: srv-web-7-7-inj-desktop
|
||||||
public: true # Expose variables so that they can be used in template
|
public: true # Expose variables so that they can be used in template
|
||||||
when: inj_enabled.port_ui
|
when: inj_enabled.port_ui
|
||||||
|
|
||||||
@ -48,7 +48,7 @@
|
|||||||
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == PRIMARY_DOMAIN) }}"
|
logout: "{{ (applications | get_app_conf(application_id, 'features.logout', False) or domain == PRIMARY_DOMAIN) }}"
|
||||||
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
css: "{{ applications | get_app_conf(application_id, 'features.css', False) }}"
|
||||||
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
matomo: "{{ applications | get_app_conf(application_id, 'features.matomo', False) }}"
|
||||||
port_ui: "{{ applications | get_app_conf(application_id, 'features.port-ui-desktop', False) }}"
|
port_ui: "{{ applications | get_app_conf(application_id, 'features.desktop', False) }}"
|
||||||
|
|
||||||
- name: "Activate Corporate CSS for {{domain}}"
|
- name: "Activate Corporate CSS for {{domain}}"
|
||||||
include_role:
|
include_role:
|
||||||
|
@ -43,7 +43,7 @@ body_filter_by_lua_block {
|
|||||||
-- build a list of head-injection snippets
|
-- build a list of head-injection snippets
|
||||||
local head_snippets = {}
|
local head_snippets = {}
|
||||||
|
|
||||||
{% for head_feature in ['css', 'matomo', 'port-ui-desktop', 'javascript', 'logout' ] %}
|
{% for head_feature in ['css', 'matomo', 'desktop', 'javascript', 'logout' ] %}
|
||||||
{% if applications | get_app_conf(application_id, 'features.' ~ head_feature, false) | bool %}
|
{% if applications | get_app_conf(application_id, 'features.' ~ head_feature, false) | bool %}
|
||||||
head_snippets[#head_snippets + 1] = [=[
|
head_snippets[#head_snippets + 1] = [=[
|
||||||
{%- include "roles/srv-web-7-7-inj-" ~ head_feature ~ "/templates/head_sub.j2" -%}
|
{%- include "roles/srv-web-7-7-inj-" ~ head_feature ~ "/templates/head_sub.j2" -%}
|
||||||
@ -58,7 +58,7 @@ body_filter_by_lua_block {
|
|||||||
-- build a list of body-injection snippets
|
-- build a list of body-injection snippets
|
||||||
local body_snippets = {}
|
local body_snippets = {}
|
||||||
|
|
||||||
{% for body_feature in ['matomo', 'logout', 'port-ui-desktop'] %}
|
{% for body_feature in ['matomo', 'logout', 'desktop'] %}
|
||||||
{% if applications | get_app_conf(application_id, 'features.' ~ body_feature, false) | bool %}
|
{% if applications | get_app_conf(application_id, 'features.' ~ body_feature, false) | bool %}
|
||||||
body_snippets[#body_snippets + 1] = [=[
|
body_snippets[#body_snippets + 1] = [=[
|
||||||
{%- include "roles/srv-web-7-7-inj-" ~ body_feature ~ "/templates/body_sub.j2" -%}
|
{%- include "roles/srv-web-7-7-inj-" ~ body_feature ~ "/templates/body_sub.j2" -%}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
when: run_once_srv_web_7_4_core is not defined
|
when: run_once_srv_web_7_4_core is not defined
|
||||||
- include_tasks: 01_deploy.yml
|
- include_tasks: 01_deploy.yml
|
||||||
- include_tasks: utils/run_once.yml
|
- include_tasks: utils/run_once.yml
|
||||||
when: run_once_srv_web_7_7_inj_port_ui_desktop is not defined
|
when: run_once_srv_web_7_7_inj_desktop is not defined
|
||||||
|
|
||||||
# --- Build tiny inline initializer (CSP-hashed) ---
|
# --- Build tiny inline initializer (CSP-hashed) ---
|
||||||
- name: "Load iFrame init code for '{{ application_id }}'"
|
- name: "Load iFrame init code for '{{ application_id }}'"
|
@ -5,7 +5,7 @@ setup_admin_email: "{{ users.administrator.email }}"
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
server:
|
server:
|
||||||
|
@ -4,7 +4,7 @@ image:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
docker:
|
docker:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
docker:
|
docker:
|
||||||
|
@ -3,7 +3,7 @@ api_suffix: "/bigbluebutton/"
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: false # Videos can't open in frame due to iframe restrictions
|
desktop: false # Videos can't open in frame due to iframe restrictions
|
||||||
# @todo fix this
|
# @todo fix this
|
||||||
ldap: false
|
ldap: false
|
||||||
oidc: true
|
oidc: true
|
||||||
|
@ -5,7 +5,7 @@ pds:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
server:
|
server:
|
||||||
|
@ -2,7 +2,7 @@ repository: "discourse_repository" # Name of the repository folder
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: true
|
central_database: true
|
||||||
ldap: false # @todo implement and activate
|
ldap: false # @todo implement and activate
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: false # @todo Solve https://chatgpt.com/c/687a50b4-8d78-800f-a202-1631aa05fd4f before setting it to true
|
desktop: false # @todo Solve https://chatgpt.com/c/687a50b4-8d78-800f-a202-1631aa05fd4f before setting it to true
|
||||||
ldap: false
|
ldap: false
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: true
|
central_database: true
|
||||||
|
@ -3,7 +3,7 @@ images:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false # Temporary deactivated
|
css: false # Temporary deactivated
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: false # Implementation doesn't work yet
|
oidc: false # Implementation doesn't work yet
|
||||||
central_database: true
|
central_database: true
|
||||||
ldap: true
|
ldap: true
|
||||||
|
@ -15,7 +15,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: false # Doesn't make sense to activate it atm, because login is possible on homepage
|
oauth2: false # Doesn't make sense to activate it atm, because login is possible on homepage
|
||||||
|
@ -7,7 +7,7 @@ configuration:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
ldap: true
|
ldap: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
docker:
|
docker:
|
||||||
|
@ -3,7 +3,7 @@ images:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
server:
|
server:
|
||||||
|
@ -4,7 +4,7 @@ actions:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
central_database: true
|
central_database: true
|
||||||
recaptcha: true
|
recaptcha: true
|
||||||
|
@ -11,7 +11,7 @@ oauth2_proxy:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -11,7 +11,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: true # Enable Matomo Tracking
|
matomo: true # Enable Matomo Tracking
|
||||||
css: true # Enable Global CSS Styling
|
css: true # Enable Global CSS Styling
|
||||||
port-ui-desktop: true # Enable loading of app in iframe
|
desktop: true # Enable loading of app in iframe
|
||||||
ldap: false # Enable LDAP Network
|
ldap: false # Enable LDAP Network
|
||||||
central_database: false # Enable Central Database Network
|
central_database: false # Enable Central Database Network
|
||||||
recaptcha: false # Enable ReCaptcha
|
recaptcha: false # Enable ReCaptcha
|
||||||
|
@ -2,7 +2,7 @@ public_api_activated: False # Security hol
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oidc: true
|
oidc: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -5,7 +5,7 @@ domain: "{{ PRIMARY_DOMAIN }}" # The main domain from which m
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true # Deactivated mailu iframe loading until keycloak supports it
|
desktop: true # Deactivated mailu iframe loading until keycloak supports it
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: false # Deactivate central database for mailu, I don't know why the database deactivation is necessary
|
central_database: false # Deactivate central database for mailu, I don't know why the database deactivation is necessary
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -3,7 +3,7 @@ setup: true # Set true
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -5,7 +5,7 @@ features:
|
|||||||
# itself wouldn't be possible
|
# itself wouldn't be possible
|
||||||
matomo: false
|
matomo: false
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: false # Didn't work in frame didn't have high priority @todo figure out pcause and solve it
|
desktop: false # Didn't work in frame didn't have high priority @todo figure out pcause and solve it
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: false
|
oauth2: false
|
||||||
logout: false # Dependency conflict. It requires CDN and CDN requires matomo
|
logout: false # Dependency conflict. It requires CDN and CDN requires matomo
|
||||||
|
@ -20,7 +20,7 @@ setup: false # Set true in inventory
|
|||||||
features:
|
features:
|
||||||
matomo: false # Deactivated, because in html CSP restricts use
|
matomo: false # Deactivated, because in html CSP restricts use
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: true # Deactivated OIDC due to this issue https://github.com/matrix-org/synapse/issues/10492
|
oidc: true # Deactivated OIDC due to this issue https://github.com/matrix-org/synapse/issues/10492
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -7,7 +7,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: true # activate tracking
|
matomo: true # activate tracking
|
||||||
css: true # use custom infinito stile
|
css: true # use custom infinito stile
|
||||||
port-ui-desktop: true # Enable in port-ui
|
desktop: true # Enable in port-ui
|
||||||
logout: false
|
logout: false
|
||||||
server:
|
server:
|
||||||
csp:
|
csp:
|
||||||
|
@ -3,7 +3,7 @@ features:
|
|||||||
central_database: true
|
central_database: true
|
||||||
oidc: true
|
oidc: true
|
||||||
matomo: true
|
matomo: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
logout: true
|
logout: true
|
||||||
server:
|
server:
|
||||||
csp:
|
csp:
|
||||||
|
@ -2,7 +2,7 @@ site_titel: "Academy on {{PRIMARY_DOMAIN}}"
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oidc: true
|
oidc: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
docker:
|
docker:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
logout: false
|
logout: false
|
||||||
server:
|
server:
|
||||||
csp:
|
csp:
|
||||||
|
@ -56,7 +56,7 @@ oidc:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: true
|
central_database: true
|
||||||
|
@ -4,7 +4,7 @@ allowed_roles: "admin" # Restrict it default to admin r
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: false
|
desktop: false
|
||||||
logout: true
|
logout: true
|
||||||
server:
|
server:
|
||||||
domains:
|
domains:
|
||||||
|
@ -13,7 +13,7 @@ ldap:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false # Temporary deactivated. Needs to be optimized for production use.
|
css: false # Temporary deactivated. Needs to be optimized for production use.
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oidc: true
|
oidc: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -9,7 +9,7 @@ oauth2_proxy:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -7,7 +7,7 @@ oauth2_proxy:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
ldap: true
|
ldap: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -7,7 +7,7 @@ oauth2_proxy:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: false # Opens itself in a new window, when it's loaded in an iframe.
|
desktop: false # Opens itself in a new window, when it's loaded in an iframe.
|
||||||
# it's anyhow not so enduser relevant, so it can be kept like this
|
# it's anyhow not so enduser relevant, so it can be kept like this
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
|
@ -2,7 +2,7 @@ titel: "Pictures on {{PRIMARY_DOMAIN}}"
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false # Needs to be reactivated
|
css: false # Needs to be reactivated
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oidc: true
|
oidc: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: false
|
desktop: false
|
||||||
simpleicons: true # Activate Brand Icons for your groups
|
simpleicons: true # Activate Brand Icons for your groups
|
||||||
javascript: true # Necessary for URL sync
|
javascript: true # Necessary for URL sync
|
||||||
logout: false # Doesn't have own user data. Just a frame.
|
logout: false # Doesn't have own user data. Just a frame.
|
||||||
|
@ -22,7 +22,7 @@ class LookupModule(LookupBase):
|
|||||||
- Retrieves the icon class from galaxy_info.logo.class
|
- Retrieves the icon class from galaxy_info.logo.class
|
||||||
- Retrieves the tags from galaxy_info.galaxy_tags
|
- Retrieves the tags from galaxy_info.galaxy_tags
|
||||||
- Builds the URL using the 'domains' variable
|
- Builds the URL using the 'domains' variable
|
||||||
- Sets the iframe flag from applications | get_app_conf(application_id, 'features.port-ui-desktop', True)
|
- Sets the iframe flag from applications | get_app_conf(application_id, 'features.desktop', True)
|
||||||
|
|
||||||
Only cards whose application_id is included in the variable group_names are returned.
|
Only cards whose application_id is included in the variable group_names are returned.
|
||||||
"""
|
"""
|
||||||
@ -109,7 +109,7 @@ class LookupModule(LookupBase):
|
|||||||
url = "https://" + domain_url if domain_url else ""
|
url = "https://" + domain_url if domain_url else ""
|
||||||
|
|
||||||
app_data = applications.get(application_id, {})
|
app_data = applications.get(application_id, {})
|
||||||
iframe = app_data.get("features", {}).get("port-ui-desktop", False)
|
iframe = app_data.get("features", {}).get("desktop", False)
|
||||||
|
|
||||||
# Build card dictionary
|
# Build card dictionary
|
||||||
card = {
|
card = {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
- name: Assert that each web-app- or web-svc- port-ui-desktop app uses the correct domain suffix
|
- name: Assert that each web-app- or web-svc- desktop app uses the correct domain suffix
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- >
|
- >
|
||||||
(
|
(
|
||||||
not (item.value.features['port-ui-desktop'] | default(false) | bool)
|
not (item.value.features['desktop'] | default(false) | bool)
|
||||||
)
|
)
|
||||||
or (domains | get_domain(item.key)).endswith(domains | get_domain('web-app-port-ui'))
|
or (domains | get_domain(item.key)).endswith(domains | get_domain('web-app-port-ui'))
|
||||||
fail_msg: >
|
fail_msg: >
|
||||||
|
@ -33,13 +33,13 @@ applications:
|
|||||||
icon:
|
icon:
|
||||||
class: fa-solid fa-shield-halved
|
class: fa-solid fa-shield-halved
|
||||||
url: {{ keycloak_url }}/admin
|
url: {{ keycloak_url }}/admin
|
||||||
iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.port-ui-desktop', False) }}
|
iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.desktop', False) }}
|
||||||
- name: Profile
|
- name: Profile
|
||||||
description: Update your personal admin settings
|
description: Update your personal admin settings
|
||||||
icon:
|
icon:
|
||||||
class: fa-solid fa-user-gear
|
class: fa-solid fa-user-gear
|
||||||
url: {{ keycloak_url }}/realms/{{oidc.client.id}}/account
|
url: {{ keycloak_url }}/realms/{{oidc.client.id}}/account
|
||||||
iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.port-ui-desktop', False) }}
|
iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.desktop', False) }}
|
||||||
- name: Logout
|
- name: Logout
|
||||||
description: End your admin session securely
|
description: End your admin session securely
|
||||||
icon:
|
icon:
|
||||||
|
@ -12,7 +12,7 @@ followus:
|
|||||||
class: fa-brands fa-mastodon
|
class: fa-brands fa-mastodon
|
||||||
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.mastodon.split('@')[2] }}/@{{ service_provider.contact.mastodon.split('@')[1] }}"
|
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.mastodon.split('@')[2] }}/@{{ service_provider.contact.mastodon.split('@')[1] }}"
|
||||||
identifier: "{{service_provider.contact.mastodon}}"
|
identifier: "{{service_provider.contact.mastodon}}"
|
||||||
iframe: {{ applications | get_app_conf('web-app-mastodon','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-mastodon','features.desktop',True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if service_provider.contact.bluesky is defined and service_provider.contact.bluesky != "" %}
|
{% if service_provider.contact.bluesky is defined and service_provider.contact.bluesky != "" %}
|
||||||
- name: Bluesky
|
- name: Bluesky
|
||||||
@ -31,7 +31,7 @@ followus:
|
|||||||
class: fa-solid fa-camera
|
class: fa-solid fa-camera
|
||||||
identifier: "{{service_provider.contact.pixelfed}}"
|
identifier: "{{service_provider.contact.pixelfed}}"
|
||||||
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.pixelfed.split('@')[2] }}/@{{ service_provider.contact.pixelfed.split('@')[1] }}"
|
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.pixelfed.split('@')[2] }}/@{{ service_provider.contact.pixelfed.split('@')[1] }}"
|
||||||
iframe: {{ applications | get_app_conf('web-app-pixelfed','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-pixelfed','features.desktop',True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if service_provider.contact.peertube is defined and service_provider.contact.peertube != "" %}
|
{% if service_provider.contact.peertube is defined and service_provider.contact.peertube != "" %}
|
||||||
- name: Peertube
|
- name: Peertube
|
||||||
@ -40,7 +40,7 @@ followus:
|
|||||||
class: fa-solid fa-video
|
class: fa-solid fa-video
|
||||||
identifier: "{{service_provider.contact.peertube}}"
|
identifier: "{{service_provider.contact.peertube}}"
|
||||||
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.peertube.split('@')[2] }}/@{{ service_provider.contact.peertube.split('@')[1] }}"
|
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.peertube.split('@')[2] }}/@{{ service_provider.contact.peertube.split('@')[1] }}"
|
||||||
iframe: {{ applications | get_app_conf('web-app-peertube','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-peertube','features.desktop',True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if service_provider.contact.wordpress is defined and service_provider.contact.wordpress != "" %}
|
{% if service_provider.contact.wordpress is defined and service_provider.contact.wordpress != "" %}
|
||||||
- name: Wordpress
|
- name: Wordpress
|
||||||
@ -49,7 +49,7 @@ followus:
|
|||||||
class: fa-solid fa-blog
|
class: fa-solid fa-blog
|
||||||
identifier: "{{service_provider.contact.wordpress}}"
|
identifier: "{{service_provider.contact.wordpress}}"
|
||||||
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.wordpress.split('@')[2] }}/@{{ service_provider.contact.wordpress.split('@')[1] }}"
|
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.wordpress.split('@')[2] }}/@{{ service_provider.contact.wordpress.split('@')[1] }}"
|
||||||
iframe: {{ applications | get_app_conf('web-app-wordpress','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-wordpress','features.desktop',True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if service_provider.contact.friendica is defined and service_provider.contact.friendica != "" %}
|
{% if service_provider.contact.friendica is defined and service_provider.contact.friendica != "" %}
|
||||||
- name: Friendica
|
- name: Friendica
|
||||||
@ -58,5 +58,5 @@ followus:
|
|||||||
class: fas fa-net-wired
|
class: fas fa-net-wired
|
||||||
identifier: "{{service_provider.contact.friendica}}"
|
identifier: "{{service_provider.contact.friendica}}"
|
||||||
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.friendica.split('@')[2] }}/@{{ service_provider.contact.friendica.split('@')[1] }}"
|
url: "{{ WEB_PROTOCOL }}://{{ service_provider.contact.friendica.split('@')[2] }}/@{{ service_provider.contact.friendica.split('@')[1] }}"
|
||||||
iframe: {{ applications | get_app_conf('web-app-friendica','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-friendica','features.desktop',True) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
icon:
|
icon:
|
||||||
class: fas fa-book
|
class: fas fa-book
|
||||||
url: https://{{domains | get_domain('web-app-sphinx')}}
|
url: https://{{domains | get_domain('web-app-sphinx')}}
|
||||||
iframe: {{ applications | get_app_conf('web-app-sphinx','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-sphinx','features.desktop',True) }}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@ -21,7 +21,7 @@
|
|||||||
icon:
|
icon:
|
||||||
class: "fas fa-chalkboard-teacher"
|
class: "fas fa-chalkboard-teacher"
|
||||||
url: https://{{domains | get_domain('web-app-navigator')}}
|
url: https://{{domains | get_domain('web-app-navigator')}}
|
||||||
iframe: {{ applications | get_app_conf('web-app-navigator','features.port-ui-desktop',True) }}
|
iframe: {{ applications | get_app_conf('web-app-navigator','features.desktop',True) }}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
- name: Solutions
|
- name: Solutions
|
||||||
|
@ -11,7 +11,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: true # Enable Matomo Tracking
|
matomo: true # Enable Matomo Tracking
|
||||||
css: true # Enable Global CSS Styling
|
css: true # Enable Global CSS Styling
|
||||||
port-ui-desktop: true # Enable loading of app in iframe
|
desktop: true # Enable loading of app in iframe
|
||||||
ldap: false # Enable LDAP Network
|
ldap: false # Enable LDAP Network
|
||||||
central_database: false # Enable Central Database Network
|
central_database: false # Enable Central Database Network
|
||||||
recaptcha: false # Enable ReCaptcha
|
recaptcha: false # Enable ReCaptcha
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
ldap: true
|
ldap: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
logout: false
|
logout: false
|
||||||
server:
|
server:
|
||||||
csp:
|
csp:
|
||||||
|
@ -8,7 +8,7 @@ flavor: 'taigaio' # Potential flavors: robrotheram, taigaio
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: false
|
oidc: false
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -10,7 +10,7 @@ plugins:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: false
|
css: false
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
oidc: true
|
oidc: true
|
||||||
central_database: true
|
central_database: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -9,7 +9,7 @@ oauth2_proxy:
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
central_database: true
|
central_database: true
|
||||||
oauth2: true
|
oauth2: true
|
||||||
logout: true
|
logout: true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: false
|
desktop: false
|
||||||
server:
|
server:
|
||||||
domains:
|
domains:
|
||||||
canonical:
|
canonical:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
server:
|
server:
|
||||||
domains:
|
domains:
|
||||||
canonical:
|
canonical:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
server:
|
server:
|
||||||
domains:
|
domains:
|
||||||
canonical:
|
canonical:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
features:
|
features:
|
||||||
matomo: true
|
matomo: true
|
||||||
css: true
|
css: true
|
||||||
port-ui-desktop: true
|
desktop: true
|
||||||
javascript: false
|
javascript: false
|
||||||
logout: false
|
logout: false
|
||||||
server:
|
server:
|
||||||
|
@ -11,7 +11,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: false # Matomo tracking isn't necessary
|
matomo: false # Matomo tracking isn't necessary
|
||||||
css: true # Enable Global CSS Styling
|
css: true # Enable Global CSS Styling
|
||||||
port-ui-desktop: true # Enable loading of app in iframe
|
desktop: true # Enable loading of app in iframe
|
||||||
ldap: false # Enable LDAP Network
|
ldap: false # Enable LDAP Network
|
||||||
central_database: false # Enable Central Database Network
|
central_database: false # Enable Central Database Network
|
||||||
recaptcha: false # Enable ReCaptcha
|
recaptcha: false # Enable ReCaptcha
|
||||||
|
@ -18,7 +18,7 @@ docker:
|
|||||||
features:
|
features:
|
||||||
matomo: true # Enable Matomo Tracking
|
matomo: true # Enable Matomo Tracking
|
||||||
css: true # Enable Global CSS Styling
|
css: true # Enable Global CSS Styling
|
||||||
port-ui-desktop: true # Enable loading of app in iframe
|
desktop: true # Enable loading of app in iframe
|
||||||
ldap: false # Enable LDAP Network
|
ldap: false # Enable LDAP Network
|
||||||
central_database: false # Enable Central Database Network
|
central_database: false # Enable Central Database Network
|
||||||
recaptcha: false # Enable ReCaptcha
|
recaptcha: false # Enable ReCaptcha
|
||||||
|
@ -177,10 +177,10 @@ class TestCspFilters(unittest.TestCase):
|
|||||||
def test_build_csp_header_frame_ancestors(self):
|
def test_build_csp_header_frame_ancestors(self):
|
||||||
"""
|
"""
|
||||||
frame-ancestors should include the wildcarded SLD+TLD when
|
frame-ancestors should include the wildcarded SLD+TLD when
|
||||||
'port-ui-desktop' is enabled, and omit it when disabled.
|
'desktop' is enabled, and omit it when disabled.
|
||||||
"""
|
"""
|
||||||
# Ensure feature enabled and domain set
|
# Ensure feature enabled and domain set
|
||||||
self.apps['app1']['features']['port-ui-desktop'] = True
|
self.apps['app1']['features']['desktop'] = True
|
||||||
# simulate a subdomain for the application
|
# simulate a subdomain for the application
|
||||||
self.domains['web-app-port-ui'] = ['domain-example.com']
|
self.domains['web-app-port-ui'] = ['domain-example.com']
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ class TestCspFilters(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Now disable the feature and rebuild
|
# Now disable the feature and rebuild
|
||||||
self.apps['app1']['features']['port-ui-desktop'] = False
|
self.apps['app1']['features']['desktop'] = False
|
||||||
header_no = self.filter.build_csp_header(self.apps, 'app1', self.domains, web_protocol='https')
|
header_no = self.filter.build_csp_header(self.apps, 'app1', self.domains, web_protocol='https')
|
||||||
# Should no longer contain the wildcarded sld.tld
|
# Should no longer contain the wildcarded sld.tld
|
||||||
self.assertNotIn("*.domain-example.com", header_no)
|
self.assertNotIn("*.domain-example.com", header_no)
|
||||||
|
@ -57,7 +57,7 @@ galaxy_info:
|
|||||||
"applications": {
|
"applications": {
|
||||||
"portfolio": {
|
"portfolio": {
|
||||||
"features": {
|
"features": {
|
||||||
"port-ui-desktop": True
|
"desktop": True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -90,7 +90,7 @@ galaxy_info:
|
|||||||
"applications": {
|
"applications": {
|
||||||
"portfolio": {
|
"portfolio": {
|
||||||
"features": {
|
"features": {
|
||||||
"port-ui-desktop": True
|
"desktop": True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user