diff --git a/LOGAR-LICENSING b/LOGAR-LICENSING index e6d7fa5..ac2ec07 160000 --- a/LOGAR-LICENSING +++ b/LOGAR-LICENSING @@ -1 +1 @@ -Subproject commit e6d7fa5b541f9a1e4b52ddbb89a59fcc9f50271d +Subproject commit ac2ec07c1220f5c1ab0b8d75d334b36b6ae8226b diff --git a/README.md b/README.md index 29bea9b..dbcc9f3 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,18 @@ +

+ LOGAR Banner +

+ # LOGAR: Fleet Log Aggregation & Centralized Provisioning System ### *Secure Log Aggregation, PKI Fleet Licensing & Centralized Delivery for Autonomous AI Analysis* -[![Version](https://img.shields.io/badge/version-0.3.2-blue.svg)](RELEASE_NOTES.md) -[![Tests](https://img.shields.io/badge/tests-35%20passed-success.svg)](tests/) +[![Version](https://img.shields.io/badge/version-0.3.3-blue.svg)](RELEASE_NOTES.md) +[![Tests](https://img.shields.io/badge/tests-42%20passed-success.svg)](tests/) [![Security](https://img.shields.io/badge/mTLS-TLS%201.3-green.svg)](https://gitea.eibl.tech/me0nline/LOGAR/wiki/PKI-and-Licensing) +[![Branding](https://img.shields.io/badge/branding-guide-cyan.svg)](wiki/Branding-Guide.md) **LOGAR** is an enterprise-grade log aggregation, normalization, and centralized provisioning system built for heterogeneous server fleets (Windows & Linux). It pairs ultra-lightweight, zero-state edge forwarders with a secure centralized server hub that enforces mutual TLS 1.3 (**mTLS**) authentication, dynamic PKI fleet licensing with cryptographic seat leasing, 12-hour temporal persistence tracking, and direct anomaly pass-throughβ€”delivering clean, structured, verified log telemetry directly to **Hermes AI** for autonomous deep reasoning, contextual root-cause analysis, and operational decision-making. -> πŸ“š **Comprehensive Technical Documentation**: Full architectural specifications, state machines, PKI X.509 OID definitions, and complete REST API references are maintained on the **[LOGAR Gitea Wiki](https://gitea.eibl.tech/me0nline/LOGAR/wiki)**. +> πŸ“š **Comprehensive Technical Documentation**: Full architectural specifications, state machines, PKI X.509 OID definitions, branding assets, and complete REST API references are maintained on the **[LOGAR Gitea Wiki](https://gitea.eibl.tech/me0nline/LOGAR/wiki)**. --- @@ -107,8 +112,17 @@ Once installed or executed, access the web console: ``` LOGAR/ +β”œβ”€β”€ assets/ # Official vector SVGs, PNGs, ICOs, and branding bitmaps +β”‚ β”œβ”€β”€ logo.svg # Master vector emblem +β”‚ β”œβ”€β”€ logo_transparent.svg # Transparent WebUI emblem +β”‚ β”œβ”€β”€ logo_banner.svg # Full brand banner +β”‚ β”œβ”€β”€ logo.ico / favicon.ico # Application & web icons +β”‚ └── wizard_*.bmp # Installer dialog bitmaps +β”œβ”€β”€ wiki/ # Comprehensive documentation & guides +β”‚ └── Branding-Guide.md # Official visual identity and design system β”œβ”€β”€ .gitea/workflows/ # CI/CD pipelines (ci.yml, release.yml) β”œβ”€β”€ compilation/ # Build scripts, Linux installers & Inno Setup scripts +β”‚ β”œβ”€β”€ generate_branding_assets.py # Asset & bitmap generator β”‚ β”œβ”€β”€ install_linux_client.sh # Linux client systemd auto-installer β”‚ β”œβ”€β”€ install_linux_server.sh # Linux server systemd auto-installer β”‚ β”œβ”€β”€ package_dist.py # Standalone binary cross-compiler @@ -118,7 +132,7 @@ LOGAR/ β”‚ β”œβ”€β”€ server_enrollment.py # Sub-CA PKI and certificate generator β”‚ β”œβ”€β”€ Win_Client.py # Windows edge forwarder β”‚ └── Linux_Client.py # Linux edge forwarder -β”œβ”€β”€ tests/ # Automated test suites (35 unit tests + pipeline test) +β”œβ”€β”€ tests/ # Automated test suites (42 unit & integration tests) β”œβ”€β”€ LOGAR-LICENSING/ # Standalone Master License Authority (Git submodule) β”œβ”€β”€ RELEASE_NOTES.md # Version history and security changelog └── README.md # Repository overview @@ -146,7 +160,7 @@ LOGAR/ ## Testing & Cross-Compilation ```bash -# Run full unit test suite (35 tests) +# Run full unit test suite (42 tests) python -m unittest discover -s tests -v # Run end-to-end mTLS pipeline integration test @@ -162,6 +176,7 @@ python compilation/package_dist.py --target all For in-depth operational guides, lifecycle state machines, and PKI specifications, consult the **[LOGAR Gitea Wiki](https://gitea.eibl.tech/me0nline/LOGAR/wiki)**: +* [Branding & Design System Guide](https://gitea.eibl.tech/me0nline/LOGAR/wiki/Branding-Guide) * [Architecture & Design Details](https://gitea.eibl.tech/me0nline/LOGAR/wiki/Architecture-and-Design) * [System State Machines & Subsystem Lifecycles](https://gitea.eibl.tech/me0nline/LOGAR/wiki/State-Machines-and-Lifecycles) * [PKI Architecture & Custom X.509 Seat OIDs](https://gitea.eibl.tech/me0nline/LOGAR/wiki/PKI-and-Licensing) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d54c177..108f8a7 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,20 @@ -# LOGAR Release v0.3.2 +# LOGAR Release Notes -### πŸͺŸ Windows Installer Fixes +## [v0.3.3] - 2026-09-27 + +### 🎨 Brand Identity, Centralized Asset Library & Design System +- **Centralized `/assets` Repository**: Added official vector graphics (`logo.svg`, `logo_transparent.svg`, `logo_dark.svg`, `logo_banner.svg`), high-resolution master PNGs (16px to 512px), multi-resolution Windows ICOs (`logo.ico`, `favicon.ico`), and installer dialog bitmaps (`wizard_header.bmp`, `wizard_small.bmp`, `wizard_sidebar.bmp`). +- **Official Wiki Branding Guide**: Published comprehensive visual identity standards at `wiki/Branding-Guide.md` detailing logo anatomy, color palettes (Cyber Cyan `#00E5FF`, Emerald `#00FFA3`, Dark Navy `#0E1A2E`), typography, clear-space rules, dos and don'ts, and strict non-SIEM positioning. +- **Unified Interface & Tab Branding**: Implemented transparent vector logos on all web navigation bars and browser tabs across both the LOGAR Server Hub (`:8443`) and Master Licensing Authority (`logar.eibl.tech`). +- **Clean Installer Bitmaps**: Regenerated 24-bit RGB header bitmaps with seamless white backgrounds (`#FFFFFF`) matching native Windows Inno Setup wizard dialogs. +- **Automated Asset Pipeline**: Enhanced `compilation/generate_branding_assets.py` to deterministically compile and distribute assets across main repo, compilation subdirectories, and the licensing submodule without third-party graphics dependencies. + +--- + +## [v0.3.2] - 2026-09-27 + +### πŸͺŸ Windows Installer & Web Portal Enhancements +- **Project Showcase Landing Page**: Deployed high-impact public homepage at `GET /` on the licensing authority with architecture diagrams, quickstart commands, and direct navigation to Gitea, Wiki, and the Licensing Portal (`/licensing`). - **Standalone Windows Binaries & Python Runtime**: Resolved issues with standalone Windows executable execution and bundled runtime paths. - **Data Directory Selection & Permissions**: Added custom data directory selection during setup and fixed permissions for background Windows services. - **Service Lifecycle & Clean Uninstallation**: Resolved service startup issues and ensured complete cleanup of state files upon uninstallation. diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000..d8cfc0a Binary files /dev/null and b/assets/favicon.ico differ diff --git a/assets/logo.ico b/assets/logo.ico new file mode 100644 index 0000000..d8cfc0a Binary files /dev/null and b/assets/logo.ico differ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..15feeb8 Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..49eafb9 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/logo_128x128.png b/assets/logo_128x128.png new file mode 100644 index 0000000..83bd9d0 Binary files /dev/null and b/assets/logo_128x128.png differ diff --git a/assets/logo_16x16.png b/assets/logo_16x16.png new file mode 100644 index 0000000..f245889 Binary files /dev/null and b/assets/logo_16x16.png differ diff --git a/assets/logo_256x256.png b/assets/logo_256x256.png new file mode 100644 index 0000000..4dc515a Binary files /dev/null and b/assets/logo_256x256.png differ diff --git a/assets/logo_32x32.png b/assets/logo_32x32.png new file mode 100644 index 0000000..d2292c7 Binary files /dev/null and b/assets/logo_32x32.png differ diff --git a/assets/logo_48x48.png b/assets/logo_48x48.png new file mode 100644 index 0000000..7820f15 Binary files /dev/null and b/assets/logo_48x48.png differ diff --git a/assets/logo_512x512.png b/assets/logo_512x512.png new file mode 100644 index 0000000..15feeb8 Binary files /dev/null and b/assets/logo_512x512.png differ diff --git a/assets/logo_64x64.png b/assets/logo_64x64.png new file mode 100644 index 0000000..69a438b Binary files /dev/null and b/assets/logo_64x64.png differ diff --git a/assets/logo_banner.svg b/assets/logo_banner.svg new file mode 100644 index 0000000..211be86 --- /dev/null +++ b/assets/logo_banner.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LOGAR + Fleet Log Aggregation & Telemetry Hub + ZERO-STATE FORWARDERS • MUTUAL TLS 1.3 • TEMPORAL PERSISTENCE + \ No newline at end of file diff --git a/assets/logo_dark.svg b/assets/logo_dark.svg new file mode 100644 index 0000000..49eafb9 --- /dev/null +++ b/assets/logo_dark.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/logo_transparent.svg b/assets/logo_transparent.svg new file mode 100644 index 0000000..121c66a --- /dev/null +++ b/assets/logo_transparent.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/wizard_header.bmp b/assets/wizard_header.bmp new file mode 100644 index 0000000..680947d Binary files /dev/null and b/assets/wizard_header.bmp differ diff --git a/assets/wizard_sidebar.bmp b/assets/wizard_sidebar.bmp new file mode 100644 index 0000000..13082af Binary files /dev/null and b/assets/wizard_sidebar.bmp differ diff --git a/assets/wizard_small.bmp b/assets/wizard_small.bmp new file mode 100644 index 0000000..d9c7e1c Binary files /dev/null and b/assets/wizard_small.bmp differ diff --git a/compilation/assets/favicon.ico b/compilation/assets/favicon.ico new file mode 100644 index 0000000..d8cfc0a Binary files /dev/null and b/compilation/assets/favicon.ico differ diff --git a/compilation/assets/logo_128x128.png b/compilation/assets/logo_128x128.png new file mode 100644 index 0000000..83bd9d0 Binary files /dev/null and b/compilation/assets/logo_128x128.png differ diff --git a/compilation/assets/logo_16x16.png b/compilation/assets/logo_16x16.png new file mode 100644 index 0000000..f245889 Binary files /dev/null and b/compilation/assets/logo_16x16.png differ diff --git a/compilation/assets/logo_32x32.png b/compilation/assets/logo_32x32.png new file mode 100644 index 0000000..d2292c7 Binary files /dev/null and b/compilation/assets/logo_32x32.png differ diff --git a/compilation/assets/logo_48x48.png b/compilation/assets/logo_48x48.png new file mode 100644 index 0000000..7820f15 Binary files /dev/null and b/compilation/assets/logo_48x48.png differ diff --git a/compilation/assets/logo_512x512.png b/compilation/assets/logo_512x512.png new file mode 100644 index 0000000..15feeb8 Binary files /dev/null and b/compilation/assets/logo_512x512.png differ diff --git a/compilation/assets/logo_64x64.png b/compilation/assets/logo_64x64.png new file mode 100644 index 0000000..69a438b Binary files /dev/null and b/compilation/assets/logo_64x64.png differ diff --git a/compilation/assets/logo_banner.svg b/compilation/assets/logo_banner.svg new file mode 100644 index 0000000..211be86 --- /dev/null +++ b/compilation/assets/logo_banner.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LOGAR + Fleet Log Aggregation & Telemetry Hub + ZERO-STATE FORWARDERS • MUTUAL TLS 1.3 • TEMPORAL PERSISTENCE + \ No newline at end of file diff --git a/compilation/assets/logo_dark.svg b/compilation/assets/logo_dark.svg new file mode 100644 index 0000000..49eafb9 --- /dev/null +++ b/compilation/assets/logo_dark.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/compilation/assets/logo_transparent.svg b/compilation/assets/logo_transparent.svg new file mode 100644 index 0000000..121c66a --- /dev/null +++ b/compilation/assets/logo_transparent.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/compilation/generate_branding_assets.py b/compilation/generate_branding_assets.py index 894021f..9981c81 100644 --- a/compilation/generate_branding_assets.py +++ b/compilation/generate_branding_assets.py @@ -1,7 +1,7 @@ """ LOGAR Branding & Installer Graphics Generator Generates clean, professional SVG, PNG, ICO, and BMP visual assets for -LOGAR installers (Inno Setup & NSIS), application icons, and WebUI branding. +LOGAR installers (Inno Setup & NSIS), application icons, root /assets library, and WebUI branding. Zero external dependencies required (uses standard library zlib and struct). """ @@ -9,9 +9,15 @@ import os import math import zlib import struct +import shutil -ASSETS_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "assets") -os.makedirs(ASSETS_DIR, exist_ok=True) +ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +ROOT_ASSETS_DIR = os.path.join(ROOT_DIR, "assets") +COMPILATION_ASSETS_DIR = os.path.join(ROOT_DIR, "compilation", "assets") +LICENSING_ASSETS_DIR = os.path.join(ROOT_DIR, "LOGAR-LICENSING", "assets") + +for d in (ROOT_ASSETS_DIR, COMPILATION_ASSETS_DIR, LICENSING_ASSETS_DIR): + os.makedirs(d, exist_ok=True) def create_bmp_24bit(width: int, height: int, pixel_func) -> bytes: @@ -80,7 +86,7 @@ def create_png_rgba(width: int, height: int, pixel_func) -> bytes: def draw_logo_rgba(x: int, y: int, w: int, h: int) -> tuple: - """Renders a sleek modern cyberpunk hexagon shield and pulse log streams.""" + """Renders a sleek modern hexagon shield and pulse log streams.""" nx = (x - w / 2) / (w / 2) ny = (y - h / 2) / (h / 2) dist = math.sqrt(nx * nx + ny * ny) @@ -148,7 +154,7 @@ def draw_wizard_header_white_bgr(x: int, y: int, w: int, h: int) -> tuple: """ bg_r, bg_g, bg_b = 255, 255, 255 - # Position emblem cleanly on the left (center x = 30, center y = h / 2) + # Position emblem cleanly on the left (center x = 28, center y = h / 2) icon_center_x = 28 icon_center_y = h / 2 icon_radius = 22 @@ -192,7 +198,7 @@ def draw_wizard_sidebar_bgr(x: int, y: int, w: int, h: int) -> tuple: """Renders 164x314 BMP sidebar graphic for NSIS / Inno Setup.""" t_y = y / h - # Deep cyber navy to midnight blue vertical gradient + # Deep navy to midnight blue vertical gradient r = int(10 * (1 - t_y) + 4 * t_y) g = int(22 * (1 - t_y) + 12 * t_y) b = int(48 * (1 - t_y) + 26 * t_y) @@ -262,9 +268,13 @@ def generate_ico_file(png_images: list) -> bytes: return header + bytes(entries) + b"".join(image_data_blocks) -def generate_svg_logo() -> str: +def generate_svg_logo(transparent_bg: bool = False) -> str: """Generates a high-quality SVG vector graphic for LOGAR.""" - return """ + bg_polygon = "" if transparent_bg else """ + """ + + return f""" @@ -288,9 +298,7 @@ def generate_svg_logo() -> str: - - +{bg_polygon} str: """ +def generate_svg_banner() -> str: + """Generates a wide SVG banner with emblem and modern typography.""" + return """ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LOGAR + Fleet Log Aggregation & Telemetry Hub + ZERO-STATE FORWARDERS • MUTUAL TLS 1.3 • TEMPORAL PERSISTENCE +""" + + def main(): - print("[*] Generating high-resolution branding assets for LOGAR...") + print("[*] Generating comprehensive branding assets for LOGAR...") - # 1. Generate SVG Logo - svg_path = os.path.join(ASSETS_DIR, "logo.svg") - with open(svg_path, "w", encoding="utf-8") as f: - f.write(generate_svg_logo()) - print(f"[+] Saved SVG logo: {svg_path}") + # 1. Generate SVG Logos + svg_logo_dark = generate_svg_logo(transparent_bg=False) + svg_logo_trans = generate_svg_logo(transparent_bg=True) + svg_banner = generate_svg_banner() - # 2. Generate PNG images of various sizes + # 2. Generate PNG images across multiple dimensions png_sizes = [16, 32, 48, 64, 128, 256, 512] png_buffers = [] + png_dict = {} for s in png_sizes: png_data = create_png_rgba(s, s, draw_logo_rgba) png_buffers.append((s, s, png_data)) - if s in [256, 512]: - out_p = os.path.join(ASSETS_DIR, f"logo_{s}x{s}.png" if s != 512 else "logo.png") - with open(out_p, "wb") as f: - f.write(png_data) - print(f"[+] Saved PNG logo: {out_p}") + png_dict[s] = png_data - # 3. Generate Windows ICO File - ico_path = os.path.join(ASSETS_DIR, "logo.ico") - ico_data = generate_ico_file(png_buffers[:-1]) # Up to 256x256 - with open(ico_path, "wb") as f: - f.write(ico_data) - print(f"[+] Saved Windows Icon (.ico): {ico_path}") + # 3. Generate Windows ICO File (multi-res 16..256) + ico_data = generate_ico_file(png_buffers[:-1]) - # 4. Generate NSIS / Inno Setup Wizard Header Bitmap (150x57) with seamless white background - header_bmp_path = os.path.join(ASSETS_DIR, "wizard_header.bmp") + # 4. Generate BMP files for installers header_bmp_data = create_bmp_24bit(150, 57, draw_wizard_header_white_bgr) - with open(header_bmp_path, "wb") as f: - f.write(header_bmp_data) - print(f"[+] Saved Wizard Header Bitmap (White Background): {header_bmp_path}") - - # 5. Generate Inno Setup Small Wizard Bitmap (55x55) with seamless white background - small_bmp_path = os.path.join(ASSETS_DIR, "wizard_small.bmp") small_bmp_data = create_bmp_24bit(55, 55, draw_wizard_small_bgr) - with open(small_bmp_path, "wb") as f: - f.write(small_bmp_data) - print(f"[+] Saved Small Wizard Bitmap (55x55): {small_bmp_path}") - - # 6. Generate NSIS / Inno Setup Wizard Sidebar Bitmap (164x314) - sidebar_bmp_path = os.path.join(ASSETS_DIR, "wizard_sidebar.bmp") sidebar_bmp_data = create_bmp_24bit(164, 314, draw_wizard_sidebar_bgr) - with open(sidebar_bmp_path, "wb") as f: - f.write(sidebar_bmp_data) - print(f"[+] Saved Wizard Sidebar Bitmap: {sidebar_bmp_path}") - print("[+] All LOGAR branding and installer graphics generated successfully.") + # 5. Write to target directories + for target_dir in (ROOT_ASSETS_DIR, COMPILATION_ASSETS_DIR, LICENSING_ASSETS_DIR): + # SVGs + with open(os.path.join(target_dir, "logo.svg"), "w", encoding="utf-8") as f: + f.write(svg_logo_dark) + with open(os.path.join(target_dir, "logo_dark.svg"), "w", encoding="utf-8") as f: + f.write(svg_logo_dark) + with open(os.path.join(target_dir, "logo_transparent.svg"), "w", encoding="utf-8") as f: + f.write(svg_logo_trans) + with open(os.path.join(target_dir, "logo_banner.svg"), "w", encoding="utf-8") as f: + f.write(svg_banner) + + # PNGs + with open(os.path.join(target_dir, "logo.png"), "wb") as f: + f.write(png_dict[512]) + for s in png_sizes: + with open(os.path.join(target_dir, f"logo_{s}x{s}.png"), "wb") as f: + f.write(png_dict[s]) + + # ICOs + with open(os.path.join(target_dir, "logo.ico"), "wb") as f: + f.write(ico_data) + with open(os.path.join(target_dir, "favicon.ico"), "wb") as f: + f.write(ico_data) + + # BMPs + with open(os.path.join(target_dir, "wizard_header.bmp"), "wb") as f: + f.write(header_bmp_data) + with open(os.path.join(target_dir, "wizard_small.bmp"), "wb") as f: + f.write(small_bmp_data) + with open(os.path.join(target_dir, "wizard_sidebar.bmp"), "wb") as f: + f.write(sidebar_bmp_data) + + print(f"[+] Populated asset repository: {target_dir}") + + print("[+] All LOGAR branding assets, icons, and banners generated successfully!") if __name__ == "__main__": diff --git a/compilation/installer_client.iss b/compilation/installer_client.iss index e407587..f5213de 100644 --- a/compilation/installer_client.iss +++ b/compilation/installer_client.iss @@ -1,7 +1,7 @@ [Setup] AppName=LOGAR Client -AppVersion=0.3.2 -AppPublisher=LOGAR Security Systems +AppVersion=0.3.3 +AppPublisher=LOGAR AppPublisherURL=https://logar.eibl.tech AppSupportURL=https://logar.eibl.tech AppUpdatesURL=https://logar.eibl.tech @@ -15,11 +15,11 @@ WizardStyle=modern SetupIconFile=assets\logo.ico WizardImageFile=assets\wizard_sidebar.bmp WizardSmallImageFile=assets\wizard_small.bmp -VersionInfoCompany=LOGAR Security Systems +VersionInfoCompany=LOGAR VersionInfoDescription=LOGAR Windows Edge Log Forwarder Setup -VersionInfoVersion=0.3.2.0 +VersionInfoVersion=0.3.3.0 VersionInfoProductName=LOGAR Client -VersionInfoProductVersion=0.3.2 +VersionInfoProductVersion=0.3.3 [Files] Source: "..\dist\Win_Client.exe"; DestDir: "{app}"; Flags: ignoreversion diff --git a/compilation/installer_client.nsi b/compilation/installer_client.nsi index bc7e768..7ca8de9 100644 --- a/compilation/installer_client.nsi +++ b/compilation/installer_client.nsi @@ -9,13 +9,13 @@ RequestExecutionLevel admin BrandingText "LOGAR Centralized Log Aggregator & Forwarder" -VIProductVersion "0.3.2.0" +VIProductVersion "0.3.3.0" VIAddVersionKey "ProductName" "LOGAR Client" -VIAddVersionKey "CompanyName" "LOGAR Security Systems" -VIAddVersionKey "LegalCopyright" "Β© 2026 LOGAR Security Systems" +VIAddVersionKey "CompanyName" "LOGAR" +VIAddVersionKey "LegalCopyright" "Β© 2026 LOGAR" VIAddVersionKey "FileDescription" "LOGAR Windows Edge Log Forwarder Setup" -VIAddVersionKey "FileVersion" "0.3.2.0" -VIAddVersionKey "ProductVersion" "0.3.2.0" +VIAddVersionKey "FileVersion" "0.3.3.0" +VIAddVersionKey "ProductVersion" "0.3.3.0" # --- Visual Graphics & Branding --- !define MUI_ICON "assets/logo.ico" diff --git a/compilation/installer_server.iss b/compilation/installer_server.iss index dfbd209..d3a5ab5 100644 --- a/compilation/installer_server.iss +++ b/compilation/installer_server.iss @@ -1,7 +1,7 @@ [Setup] AppName=LOGAR Server -AppVersion=0.3.2 -AppPublisher=LOGAR Security Systems +AppVersion=0.3.3 +AppPublisher=LOGAR AppPublisherURL=https://logar.eibl.tech AppSupportURL=https://logar.eibl.tech AppUpdatesURL=https://logar.eibl.tech @@ -15,11 +15,11 @@ WizardStyle=modern SetupIconFile=assets\logo.ico WizardImageFile=assets\wizard_sidebar.bmp WizardSmallImageFile=assets\wizard_small.bmp -VersionInfoCompany=LOGAR Security Systems +VersionInfoCompany=LOGAR VersionInfoDescription=LOGAR Cloud Hub & TCP Ingestion Server Setup -VersionInfoVersion=0.3.2.0 +VersionInfoVersion=0.3.3.0 VersionInfoProductName=LOGAR Server -VersionInfoProductVersion=0.3.2 +VersionInfoProductVersion=0.3.3 [Files] Source: "..\dist\Server.exe"; DestDir: "{app}"; Flags: ignoreversion diff --git a/compilation/installer_server.nsi b/compilation/installer_server.nsi index 025afd7..9469184 100644 --- a/compilation/installer_server.nsi +++ b/compilation/installer_server.nsi @@ -8,13 +8,13 @@ RequestExecutionLevel admin BrandingText "LOGAR Centralized Log Aggregator & Ingestion Hub" -VIProductVersion "0.3.2.0" +VIProductVersion "0.3.3.0" VIAddVersionKey "ProductName" "LOGAR Server" -VIAddVersionKey "CompanyName" "LOGAR Security Systems" -VIAddVersionKey "LegalCopyright" "Β© 2026 LOGAR Security Systems" +VIAddVersionKey "CompanyName" "LOGAR" +VIAddVersionKey "LegalCopyright" "Β© 2026 LOGAR" VIAddVersionKey "FileDescription" "LOGAR Cloud Hub & TCP Ingestion Server Setup" -VIAddVersionKey "FileVersion" "0.3.2.0" -VIAddVersionKey "ProductVersion" "0.3.2.0" +VIAddVersionKey "FileVersion" "0.3.3.0" +VIAddVersionKey "ProductVersion" "0.3.3.0" # --- Visual Graphics & Branding --- !define MUI_ICON "assets/logo.ico" diff --git a/docs/Branding-Guide.md b/docs/Branding-Guide.md new file mode 100644 index 0000000..55b51cf --- /dev/null +++ b/docs/Branding-Guide.md @@ -0,0 +1,163 @@ +# LOGAR Brand Identity & Design Guide + +> **Official Design System & Visual Identity Standards for LOGAR** +> *Fleet Log Aggregation, PKI Fleet Licensing & Centralized Telemetry Provisioning Hub* + +--- + +## 1. Brand Identity & Positioning + +**LOGAR** is an enterprise log aggregation, normalization, and centralized provisioning system built for heterogeneous server fleets (Windows & Linux). It connects lightweight, zero-state edge forwarders to a centralized hub that enforces mutual TLS 1.3 (**mTLS**), cryptographic seat leasing, rolling 12-hour temporal persistence tracking, and direct anomaly streaming to **Hermes AI**. + +```mermaid +flowchart LR + A["Edge Forwarders
(Win & Linux)"] -->|mTLS 1.3 Stream| B["LOGAR Server Hub
(Central Aggregator)"] + B -->|Verified Telemetry| C["Hermes AI
(Deep Reasoning Engine)"] + D["License Authority
(Master PKI)"] <==>|WebSocket Quota| B +``` + +### Brand Positioning Rules: +* **Log Aggregator & Telemetry Hub**: LOGAR is a high-throughput, zero-state log aggregation, filtering, and telemetry provisioning hub. +* **Strict Naming Constraint**: **LOGAR is NOT a SIEM** (Security Information and Event Management) system. It does not provide intrusion detection, security rule engines, or threat intelligence feeds. Never describe LOGAR as a SIEM in documentation, user interfaces, installer scripts, or promotional material. + +--- + +## 2. Logo Anatomy & Symbolism + +The LOGAR emblem combines cybersecurity aesthetics with real-time log streaming geometry: + +

+ LOGAR Banner +

+ +``` + /\ [ Hexagon Shield: PKI Cryptographic Integrity ] + / \ + / \ [ Left 'L' Pillar: Zero-State Forwarder Pipeline ] + | || | + | ||. | [ Stepped Telemetry Bars: Structured Log Stream ] + | |___| + \ / [ Spark Points: Dynamic Seat Sync & Handshake ] + \ / + \/ +``` + +### Key Components: +1. **Hexagonal Shield**: Represents mutual TLS 1.3 cryptographic verification and authoritative PKI trust boundaries. +2. **The Stylized 'L' Glyph**: Represents the high-performance forwarder pipeline and log ingestion stream. +3. **Stepped Telemetry Bars**: Depicts normalized structured log records propagating from edge forwarders to the central temporal engine. +4. **Spark & Sync Points**: Visualizes live WebSocket connection nodes and mTLS handshake synchronization. + +--- + +## 3. Official Color Palette + +LOGAR uses a cyber-slate and neon telemetry palette designed for high contrast in dark mode environments, with seamless light-mode compatibility for native operating system dialogs and installer wizards. + +### Primary Colors + +| Swatch | Color Name | Hex Code | RGB | HSL | Usage | +| :--- | :--- | :--- | :--- | :--- | :--- | +| ![#00E5FF](https://via.placeholder.com/15/00E5FF/000000?text=+) | **Cyber Cyan** | `#00E5FF` | `0, 229, 255` | `186Β°, 100%, 50%` | Primary brand accent, glowing telemetry lines, active links, primary CTA buttons | +| ![#00FFA3](https://via.placeholder.com/15/00FFA3/000000?text=+) | **Emerald Pulse** | `#00FFA3` | `0, 255, 163` | `158Β°, 100%, 50%` | Healthy node indicators, approved client seats, online PKI status, success badges | +| ![#0072FF](https://via.placeholder.com/15/0072FF/000000?text=+) | **Electric Blue** | `#0072FF` | `0, 114, 255` | `213Β°, 100%, 50%` | Gradient stop with Cyber Cyan, secondary action highlights | +| ![#0E1A2E](https://via.placeholder.com/15/0E1A2E/000000?text=+) | **Dark Navy** | `#0E1A2E` | `14, 26, 46` | `218Β°, 53%, 12%` | Emblem background, card surfaces, modal dialogs | +| ![#070C18](https://via.placeholder.com/15/070C18/000000?text=+) | **Midnight Slate**| `#070C18` | `7, 12, 24` | `222Β°, 55%, 6%` | Application canvas background, dark-mode body | + +### Semantic & Status Colors + +| Swatch | Color Name | Hex Code | RGB | Usage | +| :--- | :--- | :--- | :--- | :--- | +| ![#EF4444](https://via.placeholder.com/15/EF4444/000000?text=+) | **Crimson Alert** | `#EF4444` | `239, 68, 68` | Critical anomalies, revoked seats, connection errors | +| ![#F59E0B](https://via.placeholder.com/15/F59E0B/000000?text=+) | **Amber Warning** | `#F59E0B` | `245, 158, 11` | Pending enrollment approvals, seat quota thresholds (>85%) | +| ![#94A3B8](https://via.placeholder.com/15/94A3B8/000000?text=+) | **Text Muted** | `#94A3B8` | `148, 163, 184` | Table headers, secondary descriptions, timestamps | +| ![#FFFFFF](https://via.placeholder.com/15/FFFFFF/000000?text=+) | **Pure White** | `#FFFFFF` | `255, 255, 255` | Installer header background, text on dark cards | + +--- + +## 4. Typography System + +LOGAR uses clean, modern sans-serif typography for user interfaces and clear monospace fonts for log telemetry and cryptographic fingerprints. + +### Monospace (Telemetry, Fingerprints & Code) +* **Primary**: `'JetBrains Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace` +* **Usage**: Raw log frames, JSON schemas, X.509 serials, SHA-256 fingerprints, port mappings, command-line snippets. + +### Interface Sans-Serif (WebUI & Marketing) +* **Primary**: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif` +* **Usage**: Headings, navigation bars, modal forms, buttons, dashboard metrics. + +### Type Scale +* **Hero Title**: `48px` - `56px` / Bold (900) / Tracking: `-0.02em` +* **Page Header (H1)**: `24px` - `32px` / Extra Bold (800) +* **Section Title (H2)**: `20px` - `24px` / Bold (700) +* **Card Header (H3)**: `16px` - `18px` / Semi-Bold (600) +* **Body Text**: `14px` - `15px` / Regular (400) / Line Height: `1.6` +* **Code / Badges / Monospace**: `12px` - `13px` / Medium (500) + +--- + +## 5. Asset Library Inventory + +All brand visual assets are maintained in the central [`assets/`](../assets/) directory: + +| Filename | Format | Dimensions | Purpose | +| :--- | :--- | :--- | :--- | +| [`logo.svg`](../assets/logo.svg) | SVG | Vector | Full emblem with dark shield background | +| [`logo_transparent.svg`](../assets/logo_transparent.svg) | SVG | Vector | **Primary WebUI Emblem**: Transparent background for headers, tabs, and light/dark themes | +| [`logo_dark.svg`](../assets/logo_dark.svg) | SVG | Vector | Shield emblem optimized for dark mode backgrounds | +| [`logo_banner.svg`](../assets/logo_banner.svg) | SVG | 960x240 | Wide brand banner with emblem, typography, and tagline | +| [`logo.png`](../assets/logo.png) | PNG (RGBA) | 512x512 | High-resolution master raster asset | +| [`logo_256x256.png`](../assets/logo_256x256.png) | PNG (RGBA) | 256x256 | App icon and README graphics | +| [`logo_128x128.png`](../assets/logo_128x128.png) | PNG (RGBA) | 128x128 | Medium display icon | +| [`logo_64x64.png`](../assets/logo_64x64.png) | PNG (RGBA) | 64x64 | Small UI asset | +| [`logo_32x32.png`](../assets/logo_32x32.png) | PNG (RGBA) | 32x32 | Standard favicon raster | +| [`logo_16x16.png`](../assets/logo_16x16.png) | PNG (RGBA) | 16x16 | Small favicon raster | +| [`logo.ico`](../assets/logo.ico) | ICO | Multi (16-256) | Windows executable icon & installer icon | +| [`favicon.ico`](../assets/favicon.ico) | ICO | Multi (16-256) | WebUI dashboard favicon | +| [`wizard_header.bmp`](../assets/wizard_header.bmp) | BMP (24-bit) | 150x57 | Inno Setup & NSIS top header bitmap (white background) | +| [`wizard_small.bmp`](../assets/wizard_small.bmp) | BMP (24-bit) | 55x55 | Inno Setup small wizard bitmap | +| [`wizard_sidebar.bmp`](../assets/wizard_sidebar.bmp) | BMP (24-bit) | 164x314 | Inno Setup & NSIS welcome wizard sidebar graphic | + +--- + +## 6. Logo Usage Guidelines + +### 1. WebUI Navigation & Tabs +* **Rule**: Always use the **transparent background vector emblem** (`logo_transparent.svg`) aligned to the **far left** of headers and tab bars. +* **Style**: `.logo-icon { background: transparent; box-shadow: none; display: flex; align-items: center; justify-content: center; }` +* **Clear Space**: Maintain a minimum margin of `12px` between the logo and adjacent title text. + +### 2. Windows Installers & Native Wizards +* **Rule**: The top header banner (`wizard_header.bmp`) uses a pure white background (`#FFFFFF`) with the emblem positioned on the left, blending seamlessly with native Windows wizard backgrounds. +* **Sidebar**: The welcome screen uses `wizard_sidebar.bmp` with cyber-navy gradients and pulse log lines. + +### 3. CLI & Linux Setup Scripts +* **Rule**: CLI installers output branded cyan/emerald ANSI banners and formatted step indicators: + ``` + ============================================================ + LOGAR Fleet Log Aggregation & Centralized Provisioning + ============================================================ + ``` + +--- + +## 7. Dos and Don'ts + +| Do | Don't | +| :--- | :--- | +| βœ… **DO** use `assets/logo_transparent.svg` for web tabs and navigation bars. | ❌ **DON'T** put a solid dark box behind the logo in web tabs or navbar headers. | +| βœ… **DO** refer to LOGAR as a **Log Aggregator** or **Telemetry Hub**. | ❌ **DON'T** refer to LOGAR as a **SIEM** or security monitor. | +| βœ… **DO** maintain the SVG aspect ratio (`1:1` for emblem, `4:1` for banner). | ❌ **DON'T** stretch or skew the logo geometry. | +| βœ… **DO** use the official Cyber Cyan (`#00E5FF`) and Emerald (`#00FFA3`) accent colors. | ❌ **DON'T** substitute arbitrary neon colors (such as hot pink or bright orange). | +| βœ… **DO** link to documentation using standard Gitea Wiki URLs. | ❌ **DON'T** hardcode stale wiki links in installer dialogs. | + +--- + +## 8. Regenerating Branding Assets + +To programmatically regenerate all vector, raster, icon, and installer bitmap assets across the codebase: + +```bash +python compilation/generate_branding_assets.py +``` diff --git a/src/Server.py b/src/Server.py index d20235c..3950531 100644 --- a/src/Server.py +++ b/src/Server.py @@ -1306,6 +1306,7 @@ def login_page(request: Request): LOGAR Hub - Login +