From 0fd5cdb5d6d4a05c64e2ebccd102f56b6c9c63bf Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sat, 12 Jul 2025 18:41:13 +0200 Subject: [PATCH] Renamed portfolio to portwebui --- .../util-srv-corporate-identity/meta/main.yml | 2 +- .../Administrator.md | 0 roles/web-app-port-ui/README.md | 34 +++++++++++++++++++ .../config/main.yml | 0 .../filter_plugins/list_in_filter.py | 0 .../filter_plugins/simpleicons_source.py | 0 .../lookup_plugins/__init__.py | 0 .../lookup_plugins/docker_cards.py | 0 .../lookup_plugins/docker_cards_grouped.py | 0 .../meta/main.yml | 2 +- .../tasks/main.yml | 0 .../templates/config.yaml.j2 | 0 .../templates/docker-compose.yml.j2 | 0 .../templates/javascript.js.j2 | 0 .../templates/menu/applications.yml.j2 | 0 .../templates/menu/contact.yml.j2 | 0 .../templates/menu/followus.yml.j2 | 0 .../templates/menu/footer.yml.j2 | 0 .../templates/menu/header.yml.j2 | 0 .../templates/menu/support.yml.j2 | 0 .../vars/main.yml | 6 ++-- .../vars/menu_categories.yml | 0 roles/web-app-portfolio/README.md | 34 ------------------- tests/unit/README.md | 4 +-- .../test_applications_filter_for_html.py | 2 +- .../unit/lookup_plugins/test_docker_cards.py | 8 ++--- 26 files changed, 46 insertions(+), 46 deletions(-) rename roles/{web-app-portfolio => web-app-port-ui}/Administrator.md (100%) create mode 100644 roles/web-app-port-ui/README.md rename roles/{web-app-portfolio => web-app-port-ui}/config/main.yml (100%) rename roles/{web-app-portfolio => web-app-port-ui}/filter_plugins/list_in_filter.py (100%) rename roles/{web-app-portfolio => web-app-port-ui}/filter_plugins/simpleicons_source.py (100%) rename roles/{web-app-portfolio => web-app-port-ui}/lookup_plugins/__init__.py (100%) rename roles/{web-app-portfolio => web-app-port-ui}/lookup_plugins/docker_cards.py (100%) rename roles/{web-app-portfolio => web-app-port-ui}/lookup_plugins/docker_cards_grouped.py (100%) rename roles/{web-app-portfolio => web-app-port-ui}/meta/main.yml (95%) rename roles/{web-app-portfolio => web-app-port-ui}/tasks/main.yml (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/config.yaml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/docker-compose.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/javascript.js.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/applications.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/contact.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/followus.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/footer.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/header.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/templates/menu/support.yml.j2 (100%) rename roles/{web-app-portfolio => web-app-port-ui}/vars/main.yml (57%) rename roles/{web-app-portfolio => web-app-port-ui}/vars/menu_categories.yml (100%) delete mode 100644 roles/web-app-portfolio/README.md diff --git a/roles/util-srv-corporate-identity/meta/main.yml b/roles/util-srv-corporate-identity/meta/main.yml index bd9f2d07..d93e4b50 100644 --- a/roles/util-srv-corporate-identity/meta/main.yml +++ b/roles/util-srv-corporate-identity/meta/main.yml @@ -26,4 +26,4 @@ galaxy_info: dependencies: - web-svc-legal - web-svc-asset - - web-app-portfolio \ No newline at end of file + - web-app-port-ui \ No newline at end of file diff --git a/roles/web-app-portfolio/Administrator.md b/roles/web-app-port-ui/Administrator.md similarity index 100% rename from roles/web-app-portfolio/Administrator.md rename to roles/web-app-port-ui/Administrator.md diff --git a/roles/web-app-port-ui/README.md b/roles/web-app-port-ui/README.md new file mode 100644 index 00000000..8d2cb49a --- /dev/null +++ b/roles/web-app-port-ui/README.md @@ -0,0 +1,34 @@ +# PortWebUI + +## Description + +A lightweight, Docker-powered UI framework that offers CyMaIS users a unified interface to access all their applications in one intuitive dashboard. 🚀 + +## Overview + +Tailored for creative professionals and developers, this role streamlines the process of setting up a portfolio site. It automates tasks such as Docker container configuration, dynamic routing via Nginx, and repository integration, so you can concentrate on perfecting your content and design. Enjoy a responsive layout and easy-to-modify YAML files that let you rapidly update your online presence without deep technical intervention. + +## Purpose + +The purpose of tthis role is to simplify the deployment and management of a personal or professional portfolio. By focusing on usability and a clean presentation, the role helps you: +- Quickly launch a professional-looking website. +- Customize and update your portfolio content effortlessly. +- Integrate seamlessly with complementary roles for Docker Compose and web server management. +- Reduce manual configuration and maintenance tasks. + +## Features +- **Unified Navigation**: Central menu bar with dynamic categories for all registered applications. +- **Customizable Tiles**: Showcase applications with title, description, and icons—fully configurable via YAML. +- **Responsive Design**: Optimized for desktop, tablet & mobile, built on Bootstrap. +- **Interactive Icons**: Automatic integration of Simple Icons for popular brands and tools. +- **Seamless IFrame Embedding**: Launch apps directly within the UI or open in new tabs. +- **YAML-Driven Configuration**: Define all content & structure easily in `config.yaml`. +- **Fast Access**: Automatic cache management ensures lightning-fast load times. + +## Credits 📝 + +Developed and maintained by **Kevin Veen-Birkenbach**. +Learn more at [www.veen.world](https://www.veen.world) + +Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais) +License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) diff --git a/roles/web-app-portfolio/config/main.yml b/roles/web-app-port-ui/config/main.yml similarity index 100% rename from roles/web-app-portfolio/config/main.yml rename to roles/web-app-port-ui/config/main.yml diff --git a/roles/web-app-portfolio/filter_plugins/list_in_filter.py b/roles/web-app-port-ui/filter_plugins/list_in_filter.py similarity index 100% rename from roles/web-app-portfolio/filter_plugins/list_in_filter.py rename to roles/web-app-port-ui/filter_plugins/list_in_filter.py diff --git a/roles/web-app-portfolio/filter_plugins/simpleicons_source.py b/roles/web-app-port-ui/filter_plugins/simpleicons_source.py similarity index 100% rename from roles/web-app-portfolio/filter_plugins/simpleicons_source.py rename to roles/web-app-port-ui/filter_plugins/simpleicons_source.py diff --git a/roles/web-app-portfolio/lookup_plugins/__init__.py b/roles/web-app-port-ui/lookup_plugins/__init__.py similarity index 100% rename from roles/web-app-portfolio/lookup_plugins/__init__.py rename to roles/web-app-port-ui/lookup_plugins/__init__.py diff --git a/roles/web-app-portfolio/lookup_plugins/docker_cards.py b/roles/web-app-port-ui/lookup_plugins/docker_cards.py similarity index 100% rename from roles/web-app-portfolio/lookup_plugins/docker_cards.py rename to roles/web-app-port-ui/lookup_plugins/docker_cards.py diff --git a/roles/web-app-portfolio/lookup_plugins/docker_cards_grouped.py b/roles/web-app-port-ui/lookup_plugins/docker_cards_grouped.py similarity index 100% rename from roles/web-app-portfolio/lookup_plugins/docker_cards_grouped.py rename to roles/web-app-port-ui/lookup_plugins/docker_cards_grouped.py diff --git a/roles/web-app-portfolio/meta/main.yml b/roles/web-app-port-ui/meta/main.yml similarity index 95% rename from roles/web-app-portfolio/meta/main.yml rename to roles/web-app-port-ui/meta/main.yml index dd6bbbe4..a4c70c41 100644 --- a/roles/web-app-portfolio/meta/main.yml +++ b/roles/web-app-port-ui/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: "https://github.com/kevinveenbirkenbach/portfolio/issues" documentation: "https://github.com/kevinveenbirkenbach/portfolio#readme" logo: - class: "fa-solid fa-briefcase" \ No newline at end of file + class: "fa fa-th-large" \ No newline at end of file diff --git a/roles/web-app-portfolio/tasks/main.yml b/roles/web-app-port-ui/tasks/main.yml similarity index 100% rename from roles/web-app-portfolio/tasks/main.yml rename to roles/web-app-port-ui/tasks/main.yml diff --git a/roles/web-app-portfolio/templates/config.yaml.j2 b/roles/web-app-port-ui/templates/config.yaml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/config.yaml.j2 rename to roles/web-app-port-ui/templates/config.yaml.j2 diff --git a/roles/web-app-portfolio/templates/docker-compose.yml.j2 b/roles/web-app-port-ui/templates/docker-compose.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/docker-compose.yml.j2 rename to roles/web-app-port-ui/templates/docker-compose.yml.j2 diff --git a/roles/web-app-portfolio/templates/javascript.js.j2 b/roles/web-app-port-ui/templates/javascript.js.j2 similarity index 100% rename from roles/web-app-portfolio/templates/javascript.js.j2 rename to roles/web-app-port-ui/templates/javascript.js.j2 diff --git a/roles/web-app-portfolio/templates/menu/applications.yml.j2 b/roles/web-app-port-ui/templates/menu/applications.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/applications.yml.j2 rename to roles/web-app-port-ui/templates/menu/applications.yml.j2 diff --git a/roles/web-app-portfolio/templates/menu/contact.yml.j2 b/roles/web-app-port-ui/templates/menu/contact.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/contact.yml.j2 rename to roles/web-app-port-ui/templates/menu/contact.yml.j2 diff --git a/roles/web-app-portfolio/templates/menu/followus.yml.j2 b/roles/web-app-port-ui/templates/menu/followus.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/followus.yml.j2 rename to roles/web-app-port-ui/templates/menu/followus.yml.j2 diff --git a/roles/web-app-portfolio/templates/menu/footer.yml.j2 b/roles/web-app-port-ui/templates/menu/footer.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/footer.yml.j2 rename to roles/web-app-port-ui/templates/menu/footer.yml.j2 diff --git a/roles/web-app-portfolio/templates/menu/header.yml.j2 b/roles/web-app-port-ui/templates/menu/header.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/header.yml.j2 rename to roles/web-app-port-ui/templates/menu/header.yml.j2 diff --git a/roles/web-app-portfolio/templates/menu/support.yml.j2 b/roles/web-app-port-ui/templates/menu/support.yml.j2 similarity index 100% rename from roles/web-app-portfolio/templates/menu/support.yml.j2 rename to roles/web-app-port-ui/templates/menu/support.yml.j2 diff --git a/roles/web-app-portfolio/vars/main.yml b/roles/web-app-port-ui/vars/main.yml similarity index 57% rename from roles/web-app-portfolio/vars/main.yml rename to roles/web-app-port-ui/vars/main.yml index 01b87752..8900aa6f 100644 --- a/roles/web-app-portfolio/vars/main.yml +++ b/roles/web-app-port-ui/vars/main.yml @@ -1,4 +1,4 @@ -application_id: "web-app-portfolio" -docker_repository_address: "https://github.com/kevinveenbirkenbach/portfolio" -config_inventory_path: "{{ inventory_dir }}/files/{{ inventory_hostname }}/docker/portfolio/config.yaml.j2" +application_id: "web-app-port-ui" +docker_repository_address: "https://github.com/kevinveenbirkenbach/port-web-ui" +config_inventory_path: "{{ inventory_dir }}/files/{{ inventory_hostname }}/docker/web-app-port-ui/config.yaml.j2" docker_repository: true \ No newline at end of file diff --git a/roles/web-app-portfolio/vars/menu_categories.yml b/roles/web-app-port-ui/vars/menu_categories.yml similarity index 100% rename from roles/web-app-portfolio/vars/menu_categories.yml rename to roles/web-app-port-ui/vars/menu_categories.yml diff --git a/roles/web-app-portfolio/README.md b/roles/web-app-portfolio/README.md deleted file mode 100644 index 6a82ff20..00000000 --- a/roles/web-app-portfolio/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Portfolio - -## Description - -This Ansible role deploys and manages a Flask-based [portfolio application](https://github.com/kevinveenbirkenbach/portfolio) in a Docker container. It provides a user-friendly and customizable way to showcase your projects, services, or creative work online. The role leverages Docker, Docker Compose, and integrated web server configurations to ensure a smooth deployment experience. - -## Overview - -Tailored for creative professionals and developers, this role streamlines the process of setting up a portfolio site. It automates tasks such as Docker container configuration, dynamic routing via Nginx, and repository integration, so you can concentrate on perfecting your content and design. Enjoy a responsive layout and easy-to-modify YAML files that let you rapidly update your online presence without deep technical intervention. - -## Purpose - -The purpose of the Docker-Portfolio role is to simplify the deployment and management of a personal or professional portfolio. By focusing on usability and a clean presentation, the role helps you: -- Quickly launch a professional-looking website. -- Customize and update your portfolio content effortlessly. -- Integrate seamlessly with complementary roles for Docker Compose and web server management. -- Reduce manual configuration and maintenance tasks. - -## Features - -- **Flask-Based Portfolio App:** Deploy a modern portfolio application designed to highlight your work. -- **Containerized Deployment:** Uses Docker and Docker Compose for easy, isolated, and reproducible deployment. -- **Customizable Configuration:** Adjust the content and appearance through simple YAML configuration files. -- **Responsive Design:** Optimized for devices of any size, ensuring your portfolio always looks great. -- **Integrated Routing:** Works alongside Nginx-domain and repository setup roles to provide reliable domain routing and version control. -- **Automated Updates:** Automatically re-deploys changes when configuration files are updated, keeping your portfolio up-to-date. - -## Credits 📝 - -Developed and maintained by **Kevin Veen-Birkenbach**. -Learn more at [www.veen.world](https://www.veen.world) - -Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais) -License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) diff --git a/tests/unit/README.md b/tests/unit/README.md index 8817331c..527c55e2 100644 --- a/tests/unit/README.md +++ b/tests/unit/README.md @@ -1,6 +1,6 @@ # Unit Tests -This directory contains unit tests for various custom components in the project, such as the custom lookup plugin `docker_cards` used in the `web-app-portfolio` role. +This directory contains unit tests for various custom components in the project, such as the custom lookup plugin `docker_cards` used in the `web-app-port-ui` role. ## Overview @@ -31,7 +31,7 @@ You can run the tests using one of the following methods: ## How It Works - **Setup:** - The test script creates a temporary directory to simulate your roles folder. It then creates a sample role (`web-app-portfolio`) with a `README.md` file (containing a header for the title) and a `meta/main.yml` file (with the required metadata). + The test script creates a temporary directory to simulate your roles folder. It then creates a sample role (`web-app-port-ui`) with a `README.md` file (containing a header for the title) and a `meta/main.yml` file (with the required metadata). - **Execution:** Dummy variable values for `domains` and `applications` are provided (these are the variables the lookup plugin expects). The lookup plugin is then run, which processes the sample role and returns the card information. diff --git a/tests/unit/filter_plugins/test_applications_filter_for_html.py b/tests/unit/filter_plugins/test_applications_filter_for_html.py index 4fe1d080..182f4a01 100644 --- a/tests/unit/filter_plugins/test_applications_filter_for_html.py +++ b/tests/unit/filter_plugins/test_applications_filter_for_html.py @@ -22,7 +22,7 @@ class TestApplicationsIfGroupAndDeps(unittest.TestCase): 'web-svc-legal': {}, 'web-svc-file': {}, 'web-svc-asset': {}, - 'web-app-portfolio': {}, + 'web-app-port-ui': {}, 'util-srv-corporate-identity': {}, } diff --git a/tests/unit/lookup_plugins/test_docker_cards.py b/tests/unit/lookup_plugins/test_docker_cards.py index a2a1d79d..8d1b0a77 100644 --- a/tests/unit/lookup_plugins/test_docker_cards.py +++ b/tests/unit/lookup_plugins/test_docker_cards.py @@ -4,8 +4,8 @@ import tempfile import shutil import unittest -# Adjust the PYTHONPATH to include the lookup_plugins folder from the web-app-portfolio role. -sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../../roles/web-app-portfolio/lookup_plugins')) +# Adjust the PYTHONPATH to include the lookup_plugins folder from the web-app-port-ui role. +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../../roles/web-app-port-ui/lookup_plugins')) from docker_cards import LookupModule @@ -13,8 +13,8 @@ class TestDockerCardsLookup(unittest.TestCase): def setUp(self): # Create a temporary directory to simulate the roles directory. self.test_roles_dir = tempfile.mkdtemp(prefix="test_roles_") - # Create a sample role "web-app-portfolio". - self.role_name = "web-app-portfolio" + # Create a sample role "web-app-port-ui". + self.role_name = "web-app-port-ui" self.role_dir = os.path.join(self.test_roles_dir, self.role_name) os.makedirs(os.path.join(self.role_dir, "meta"))