release: 0.2.3

This commit is contained in:
2026-01-15 17:52:21 +01:00
parent 5850ef8358
commit 9ad9501722
128 changed files with 171 additions and 126 deletions

View File

@ -1,4 +1,4 @@
ID: DOC_000001 | Version: 0.2.2 | Status: Final ID: DOC_000001 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# Projekt-Logbuch (Changelog) # Projekt-Logbuch (Changelog)
@ -83,6 +83,8 @@ By: Codex (GPT-5)
| 15.01.2026 | 📝 Req | ID: EPIC_000009 Update Webservice als erledigt markiert. By: Codex (GPT-5) | | 15.01.2026 | 📝 Req | ID: EPIC_000009 Update Webservice als erledigt markiert. By: Codex (GPT-5) |
| 15.01.2026 | 🚀 Release | ID: VERSION auf 0.2.2 erhoeht. By: Codex (GPT-5) | | 15.01.2026 | 🚀 Release | ID: VERSION auf 0.2.2 erhoeht. By: Codex (GPT-5) |
| 15.01.2026 | 🐞 Fix | ID: BUG_000001 Update-Apply scheitert nicht mehr an WorkingDirectory. By: Codex (GPT-5) | | 15.01.2026 | 🐞 Fix | ID: BUG_000001 Update-Apply scheitert nicht mehr an WorkingDirectory. By: Codex (GPT-5) |
| 15.01.2026 | 🎨 UI | ID: System Information Kacheln mit Progressbars verbessert. By: Codex (GPT-5) |
| 15.01.2026 | 🚀 Release | ID: VERSION auf 0.2.3 erhoeht. By: Codex (GPT-5) |
| 15.01.2026 | ⚙️ Code | ID: Makefile restart-Target hinzugefuegt. By: Codex (GPT-5) | | 15.01.2026 | ⚙️ Code | ID: Makefile restart-Target hinzugefuegt. By: Codex (GPT-5) |
--- ---

View File

@ -1,4 +1,4 @@
ID: README_000001 | Version: 0.2.2 | Status: Draft ID: README_000001 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Safe Kiddo Daemon # Safe Kiddo Daemon

View File

@ -1 +1 @@
0.2.2 0.2.3

View File

@ -887,6 +887,33 @@ textarea:focus {
z-index: 1; z-index: 1;
} }
.metric-bar {
height: 6px;
background: var(--border-main);
border-radius: 999px;
overflow: hidden;
margin-top: 10px;
}
.metric-bar-fill {
height: 100%;
width: 0%;
background: var(--primary);
transition: width 0.4s ease;
}
.metric-bar-fill.info {
background: var(--info);
}
.metric-bar-fill.success {
background: var(--success);
}
.metric-bar-fill.warning {
background: var(--warning);
}
.panel-section { .panel-section {
background: var(--bg-panel); background: var(--bg-panel);
border-radius: 12px; border-radius: 12px;

View File

@ -102,18 +102,23 @@
<div class="metric-card" id="metricCpu"> <div class="metric-card" id="metricCpu">
<div class="label"><i data-lucide="cpu"></i> CPU</div> <div class="label"><i data-lucide="cpu"></i> CPU</div>
<div class="value">-</div> <div class="value">-</div>
<div class="metric-bar"><div class="metric-bar-fill primary" id="metricCpuBar"></div></div>
</div> </div>
<div class="metric-card" id="metricRam"> <div class="metric-card" id="metricRam">
<div class="label"><i data-lucide="memory-stick"></i> RAM</div> <div class="label"><i data-lucide="memory-stick"></i> RAM</div>
<div class="value">-</div> <div class="value">-</div>
<div class="metric-bar"><div class="metric-bar-fill info" id="metricRamBar"></div></div>
</div> </div>
<div class="metric-card" id="metricGpu"> <div class="metric-card" id="metricGpu">
<div class="label"><i data-lucide="monitor"></i> GPU</div> <div class="label"><i data-lucide="monitor"></i> GPU</div>
<div class="value">-</div> <div class="value">-</div>
<div class="metric-bar"><div class="metric-bar-fill warning" id="metricGpuBar"></div></div>
</div> </div>
<div class="metric-card" id="metricNet"> <div class="metric-card" id="metricNet">
<div class="label"><i data-lucide="network"></i> Netzwerk</div> <div class="label"><i data-lucide="network"></i> Netzwerk</div>
<div class="value">-</div> <div class="value">-</div>
<div class="metric-bar"><div class="metric-bar-fill success" id="metricNetBar"></div></div>
<div class="text-muted" style="font-size: 0.75rem; margin-top: 6px;">Skala: 100 Mbps</div>
</div> </div>
</div> </div>
<div class="text-muted" style="font-size: 0.75rem; margin-top: 0.5rem;">Aktualisierung alle 5 Sekunden.</div> <div class="text-muted" style="font-size: 0.75rem; margin-top: 0.5rem;">Aktualisierung alle 5 Sekunden.</div>
@ -551,22 +556,33 @@
try { try {
const data = await api('/system/metrics'); const data = await api('/system/metrics');
document.querySelector('#metricCpu .value').textContent = `${data.cpu_percent.toFixed(1)}%`; document.querySelector('#metricCpu .value').textContent = `${data.cpu_percent.toFixed(1)}%`;
document.getElementById('metricCpuBar').style.width = `${Math.min(100, data.cpu_percent).toFixed(1)}%`;
const ramGb = data.ram_total_mb / 1024.0; const ramGb = data.ram_total_mb / 1024.0;
document.querySelector('#metricRam .value').textContent = `${data.ram_used_percent.toFixed(1)}% (${ramGb.toFixed(1)} GB)`; document.querySelector('#metricRam .value').textContent = `${data.ram_used_percent.toFixed(1)}% (${ramGb.toFixed(1)} GB)`;
document.getElementById('metricRamBar').style.width = `${Math.min(100, data.ram_used_percent).toFixed(1)}%`;
if (data.gpu_present && data.gpu_vram_total_mb) { if (data.gpu_present && data.gpu_vram_total_mb) {
const gpuGb = data.gpu_vram_total_mb / 1024.0; const gpuGb = data.gpu_vram_total_mb / 1024.0;
const gpuPct = data.gpu_vram_used_percent ?? 0; const gpuPct = data.gpu_vram_used_percent ?? 0;
document.querySelector('#metricGpu .value').textContent = `${gpuPct.toFixed(1)}% (${gpuGb.toFixed(1)} GB)`; document.querySelector('#metricGpu .value').textContent = `${gpuPct.toFixed(1)}% (${gpuGb.toFixed(1)} GB)`;
document.getElementById('metricGpuBar').style.width = `${Math.min(100, gpuPct).toFixed(1)}%`;
} else { } else {
document.querySelector('#metricGpu .value').textContent = 'Nicht verfuegbar'; document.querySelector('#metricGpu .value').textContent = 'Nicht verfuegbar';
document.getElementById('metricGpuBar').style.width = '0%';
} }
document.querySelector('#metricNet .value').textContent = `${data.net_rx_mbps.toFixed(1)} / ${data.net_tx_mbps.toFixed(1)} Mbps`; document.querySelector('#metricNet .value').textContent = `${data.net_rx_mbps.toFixed(1)} / ${data.net_tx_mbps.toFixed(1)} Mbps`;
const netPeak = Math.max(data.net_rx_mbps, data.net_tx_mbps);
const netPercent = Math.min(100, (netPeak / 100.0) * 100.0);
document.getElementById('metricNetBar').style.width = `${netPercent.toFixed(1)}%`;
lucide.createIcons(); lucide.createIcons();
} catch (err) { } catch (err) {
document.querySelector('#metricCpu .value').textContent = 'Fehler'; document.querySelector('#metricCpu .value').textContent = 'Fehler';
document.querySelector('#metricRam .value').textContent = 'Fehler'; document.querySelector('#metricRam .value').textContent = 'Fehler';
document.querySelector('#metricGpu .value').textContent = 'Fehler'; document.querySelector('#metricGpu .value').textContent = 'Fehler';
document.querySelector('#metricNet .value').textContent = 'Fehler'; document.querySelector('#metricNet .value').textContent = 'Fehler';
document.getElementById('metricCpuBar').style.width = '0%';
document.getElementById('metricRamBar').style.width = '0%';
document.getElementById('metricGpuBar').style.width = '0%';
document.getElementById('metricNetBar').style.width = '0%';
} }
} }

View File

@ -1,4 +1,4 @@
ID: DOC_000012 | Version: 0.2.2 | Status: Draft ID: DOC_000012 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Architektur # Architektur

View File

@ -1,4 +1,4 @@
ID: DOC_000011 | Version: 0.2.2 | Status: Draft ID: DOC_000011 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Konfiguration # Konfiguration

View File

@ -1,4 +1,4 @@
ID: DOC_000014 | Version: 0.2.2 | Status: Draft ID: DOC_000014 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Deployment # Deployment

View File

@ -1,4 +1,4 @@
ID: DOC_000013 | Version: 0.2.2 | Status: Draft ID: DOC_000013 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Development # Development

View File

@ -1,4 +1,4 @@
ID: DOC_000015 | Version: 0.2.2 | Status: Draft ID: DOC_000015 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# FAQ # FAQ

View File

@ -1,4 +1,4 @@
ID: DOC_000017 | Version: 0.2.2 | Status: Draft ID: DOC_000017 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Fuer Nutzerinnen und Nutzer # Fuer Nutzerinnen und Nutzer

View File

@ -1,4 +1,4 @@
ID: DOC_000009 | Version: 0.2.2 | Status: Draft ID: DOC_000009 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Getting Started # Getting Started

View File

@ -1,4 +1,4 @@
ID: DOC_000016 | Version: 0.2.2 | Status: Draft ID: DOC_000016 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Troubleshooting # Troubleshooting

View File

@ -1,4 +1,4 @@
ID: DOC_000010 | Version: 0.2.2 | Status: Draft ID: DOC_000010 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Usage # Usage

View File

@ -1,4 +1,4 @@
ID: DOC_000006 | Version: 0.2.2 | Status: Draft ID: DOC_000006 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: DOC_000008 | Version: 0.2.2 | Status: Draft ID: DOC_000008 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
# Client Quickstart # Client Quickstart

View File

@ -1,4 +1,4 @@
ID: DOC_000003 | Version: 0.2.2 | Status: Draft ID: DOC_000003 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: DOC_000005 | Version: 0.2.2 | Status: Draft ID: DOC_000005 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: DOC_000006 | Version: 0.2.2 | Status: Draft ID: DOC_000006 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: DOC_000004 | Version: 0.2.2 | Status: Draft ID: DOC_000004 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: DOC_000005 | Version: 0.2.2 | Status: Draft ID: DOC_000005 | Version: 0.2.3 | Status: Draft
Archived – superseded by new documentation. Archived – superseded by new documentation.
By: Codex (GPT-5) By: Codex (GPT-5)

View File

@ -1,4 +1,4 @@
ID: AGENTS_000001 | Version: 0.2.2 | Status: Draft ID: AGENTS_000001 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Repository Guidelines # Repository Guidelines

View File

@ -1,4 +1,4 @@
ID: STATUS_000001 | Version: 0.2.2 | Status: Final ID: STATUS_000001 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# Projekt-Status # Projekt-Status

View File

@ -1,4 +1,4 @@
ID: PROJECT_STATUS_TEMPLATE | Version: 0.2.2 | Status: Draft ID: PROJECT_STATUS_TEMPLATE | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# 📊 Projekt-Status (Template) # 📊 Projekt-Status (Template)

View File

@ -1,4 +1,4 @@
ID: SOP_000001 | Version: 0.2.2 | Status: Draft ID: SOP_000001 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Onboarding: Arbeitsweise im Sound Architect Projekt # Onboarding: Arbeitsweise im Sound Architect Projekt

View File

@ -1,4 +1,4 @@
ID: SETUP_000005 | Version: 0.2.2 | Status: Draft ID: SETUP_000005 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# 🧬 SETUP_GUIDE: Phase 0 - Project Genesis # 🧬 SETUP_GUIDE: Phase 0 - Project Genesis

View File

@ -1,4 +1,4 @@
ID: PROMPT_000008 | Version: 0.2.2 | Status: Draft ID: PROMPT_000008 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# Requirements Engineer Prompt # Requirements Engineer Prompt

View File

@ -1,4 +1,4 @@
ID: BUG_000001 | Version: 0.2.2 | Status: Draft ID: BUG_000001 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# BUG_000001: Update scheitert wegen WorkingDirectory /opt/sk # BUG_000001: Update scheitert wegen WorkingDirectory /opt/sk

View File

@ -1,4 +1,4 @@
ID: EPIC_000001 | Version: 0.2.2 | Status: Final ID: EPIC_000001 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000001: Legacy CLI Account Control (sk.sh) # EPIC_000001: Legacy CLI Account Control (sk.sh)

View File

@ -1,4 +1,4 @@
ID: EPIC_000002 | Version: 0.2.2 | Status: Final ID: EPIC_000002 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000002: Backend API Service # EPIC_000002: Backend API Service

View File

@ -1,4 +1,4 @@
ID: EPIC_000003 | Version: 0.2.2 | Status: Final ID: EPIC_000003 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000003: Authentication & Sessions # EPIC_000003: Authentication & Sessions

View File

@ -1,4 +1,4 @@
ID: EPIC_000004 | Version: 0.2.2 | Status: Final ID: EPIC_000004 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000004: Web UI # EPIC_000004: Web UI

View File

@ -1,4 +1,4 @@
ID: EPIC_000005 | Version: 0.2.2 | Status: Final ID: EPIC_000005 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000005: Automation Scripts # EPIC_000005: Automation Scripts

View File

@ -1,4 +1,4 @@
ID: EPIC_000006 | Version: 0.2.2 | Status: Final ID: EPIC_000006 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000006: Systemd & Deployment Artifacts # EPIC_000006: Systemd & Deployment Artifacts

View File

@ -1,4 +1,4 @@
ID: EPIC_000007 | Version: 0.2.2 | Status: Final ID: EPIC_000007 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000007: Documentation & Runbook # EPIC_000007: Documentation & Runbook

View File

@ -1,4 +1,4 @@
ID: EPIC_000008 | Version: 0.2.2 | Status: Draft ID: EPIC_000008 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000008: Client-Side Update Mechanism # EPIC_000008: Client-Side Update Mechanism

View File

@ -1,4 +1,4 @@
ID: EPIC_000009 | Version: 0.2.2 | Status: Done ID: EPIC_000009 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000009: Update Webservice (External Team) # EPIC_000009: Update Webservice (External Team)

View File

@ -1,4 +1,4 @@
ID: EPIC_000010 | Version: 0.2.2 | Status: Done ID: EPIC_000010 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000010: Update-Service v1 Migration (Major Release) # EPIC_000010: Update-Service v1 Migration (Major Release)

View File

@ -1,4 +1,4 @@
ID: EPIC_000011 | Version: 0.2.2 | Status: Done ID: EPIC_000011 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000011: Documentation and Configuration Alignment # EPIC_000011: Documentation and Configuration Alignment

View File

@ -1,4 +1,4 @@
ID: EPIC_000012 | Version: 0.2.2 | Status: Done ID: EPIC_000012 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000012: Dokumentations-Overhaul # EPIC_000012: Dokumentations-Overhaul

View File

@ -1,4 +1,4 @@
ID: EPIC_000013 | Version: 0.2.2 | Status: Done ID: EPIC_000013 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000013: System Telemetry im Dashboard # EPIC_000013: System Telemetry im Dashboard

View File

@ -1,4 +1,4 @@
ID: EPIC_000014 | Version: 0.2.2 | Status: Draft ID: EPIC_000014 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# EPIC_000014: Login-Zeitfenster und Parent-Control Regeln # EPIC_000014: Login-Zeitfenster und Parent-Control Regeln

View File

@ -1,4 +1,4 @@
ID: US_000001 | Version: 0.2.2 | Status: Final ID: US_000001 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000001: Nutzerkonto per CLI deaktivieren # US_000001: Nutzerkonto per CLI deaktivieren

View File

@ -1,4 +1,4 @@
ID: US_000002 | Version: 0.2.2 | Status: Final ID: US_000002 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000002: Nutzerkonto per CLI aktivieren # US_000002: Nutzerkonto per CLI aktivieren

View File

@ -1,4 +1,4 @@
ID: US_000003 | Version: 0.2.2 | Status: Final ID: US_000003 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000003: Health-Status abfragen # US_000003: Health-Status abfragen

View File

@ -1,4 +1,4 @@
ID: US_000004 | Version: 0.2.2 | Status: Final ID: US_000004 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000004: Verfuegbare Nutzer auflisten # US_000004: Verfuegbare Nutzer auflisten

View File

@ -1,4 +1,4 @@
ID: US_000005 | Version: 0.2.2 | Status: Final ID: US_000005 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000005: Nutzer per API deaktivieren # US_000005: Nutzer per API deaktivieren

View File

@ -1,4 +1,4 @@
ID: US_000006 | Version: 0.2.2 | Status: Final ID: US_000006 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000006: Nutzer per API aktivieren # US_000006: Nutzer per API aktivieren

View File

@ -1,4 +1,4 @@
ID: US_000007 | Version: 0.2.2 | Status: Final ID: US_000007 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000007: PAM-Login mit Token # US_000007: PAM-Login mit Token

View File

@ -1,4 +1,4 @@
ID: US_000008 | Version: 0.2.2 | Status: Final ID: US_000008 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000008: OIDC-Login Flow # US_000008: OIDC-Login Flow

View File

@ -1,4 +1,4 @@
ID: US_000009 | Version: 0.2.2 | Status: Final ID: US_000009 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000009: Autorisierung und /me-Identitaet # US_000009: Autorisierung und /me-Identitaet

View File

@ -1,4 +1,4 @@
ID: US_000010 | Version: 0.2.2 | Status: Final ID: US_000010 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000010: Index-Seite ausliefern # US_000010: Index-Seite ausliefern

View File

@ -1,4 +1,4 @@
ID: US_000011 | Version: 0.2.2 | Status: Final ID: US_000011 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000011: Virtualenv und Abhaengigkeiten erstellen # US_000011: Virtualenv und Abhaengigkeiten erstellen

View File

@ -1,4 +1,4 @@
ID: US_000012 | Version: 0.2.2 | Status: Final ID: US_000012 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000012: Service lokal starten # US_000012: Service lokal starten

View File

@ -1,4 +1,4 @@
ID: US_000013 | Version: 0.2.2 | Status: Final ID: US_000013 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000013: Service installieren # US_000013: Service installieren

View File

@ -1,4 +1,4 @@
ID: US_000014 | Version: 0.2.2 | Status: Final ID: US_000014 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000014: Service aktualisieren # US_000014: Service aktualisieren

View File

@ -1,4 +1,4 @@
ID: US_000015 | Version: 0.2.2 | Status: Final ID: US_000015 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000015: Remote-Deployment durchfuehren # US_000015: Remote-Deployment durchfuehren

View File

@ -1,4 +1,4 @@
ID: US_000016 | Version: 0.2.2 | Status: Final ID: US_000016 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000016: OIDC-Client registrieren # US_000016: OIDC-Client registrieren

View File

@ -1,4 +1,4 @@
ID: US_000017 | Version: 0.2.2 | Status: Final ID: US_000017 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000017: Systemd-Unit im Repo # US_000017: Systemd-Unit im Repo

View File

@ -1,4 +1,4 @@
ID: US_000018 | Version: 0.2.2 | Status: Final ID: US_000018 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000018: Konfigurations-Templates verfuegbar # US_000018: Konfigurations-Templates verfuegbar

View File

@ -1,4 +1,4 @@
ID: US_000019 | Version: 0.2.2 | Status: Final ID: US_000019 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000019: Deployment-Archiv vorhanden # US_000019: Deployment-Archiv vorhanden

View File

@ -1,4 +1,4 @@
ID: US_000020 | Version: 0.2.2 | Status: Final ID: US_000020 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000020: Makefile-Automation bereitstellen # US_000020: Makefile-Automation bereitstellen

View File

@ -1,4 +1,4 @@
ID: US_000021 | Version: 0.2.2 | Status: Final ID: US_000021 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000021: Konfiguration per ENV steuern # US_000021: Konfiguration per ENV steuern

View File

@ -1,4 +1,4 @@
ID: US_000022 | Version: 0.2.2 | Status: Final ID: US_000022 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000022: Web-UI Aktionen ausfuehren # US_000022: Web-UI Aktionen ausfuehren

View File

@ -1,4 +1,4 @@
ID: US_000023 | Version: 0.2.2 | Status: Final ID: US_000023 | Version: 0.2.3 | Status: Final
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000023: Runbook und Security-Hinweise dokumentieren # US_000023: Runbook und Security-Hinweise dokumentieren

View File

@ -1,4 +1,4 @@
ID: US_000024 | Version: 0.2.2 | Status: Done ID: US_000024 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000024: Watchtower Theme fuer Web-UI # US_000024: Watchtower Theme fuer Web-UI

View File

@ -1,4 +1,4 @@
ID: US_000025 | Version: 0.2.2 | Status: Draft ID: US_000025 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000025: OIDC End-to-End Validierung und Runbook # US_000025: OIDC End-to-End Validierung und Runbook

View File

@ -1,4 +1,4 @@
ID: US_000026 | Version: 0.2.2 | Status: Done ID: US_000026 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000026: Client bezieht Updates (Pull) # US_000026: Client bezieht Updates (Pull)

View File

@ -1,4 +1,4 @@
ID: US_000027 | Version: 0.2.2 | Status: Done ID: US_000027 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000027: Client verifiziert und wendet Updates an # US_000027: Client verifiziert und wendet Updates an

View File

@ -1,4 +1,4 @@
ID: US_000028 | Version: 0.2.2 | Status: Done ID: US_000028 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000028: Client meldet Update-Status # US_000028: Client meldet Update-Status

View File

@ -1,4 +1,4 @@
ID: US_000029 | Version: 0.2.2 | Status: Done ID: US_000029 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000029: Update-Status im Web-UI anzeigen # US_000029: Update-Status im Web-UI anzeigen

View File

@ -1,4 +1,4 @@
ID: US_000030 | Version: 0.2.2 | Status: Done ID: US_000030 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000030: Update-Check im Web-UI ausloesen # US_000030: Update-Check im Web-UI ausloesen

View File

@ -1,4 +1,4 @@
ID: US_000031 | Version: 0.2.2 | Status: Done ID: US_000031 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000031: Update im Web-UI anstossen # US_000031: Update im Web-UI anstossen

View File

@ -1,4 +1,4 @@
ID: US_000032 | Version: 0.2.2 | Status: Done ID: US_000032 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000032: Update-Logs im Web-UI anzeigen # US_000032: Update-Logs im Web-UI anzeigen

View File

@ -1,4 +1,4 @@
ID: US_000033 | Version: 0.2.2 | Status: Done ID: US_000033 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000033: Rollback im Web-UI anstossen # US_000033: Rollback im Web-UI anstossen

View File

@ -1,4 +1,4 @@
ID: US_000034 | Version: 0.2.2 | Status: Done ID: US_000034 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000034: Enrollment fuer Langzeit-Token # US_000034: Enrollment fuer Langzeit-Token

View File

@ -1,4 +1,4 @@
ID: US_000035 | Version: 0.2.2 | Status: Done ID: US_000035 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000035: v1 Update-Endpoints und Status-Schema # US_000035: v1 Update-Endpoints und Status-Schema

View File

@ -1,4 +1,4 @@
ID: US_000036 | Version: 0.2.2 | Status: Done ID: US_000036 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000036: Doku-Versionen auf VERSION synchronisieren # US_000036: Doku-Versionen auf VERSION synchronisieren

View File

@ -1,4 +1,4 @@
ID: US_000037 | Version: 0.2.2 | Status: Done ID: US_000037 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000037: Update-API-Doku mit /update/enroll abgleichen # US_000037: Update-API-Doku mit /update/enroll abgleichen

View File

@ -1,4 +1,4 @@
ID: US_000038 | Version: 0.2.2 | Status: Done ID: US_000038 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000038: ENV-Beispiele und Healthcheck-Auth angleichen # US_000038: ENV-Beispiele und Healthcheck-Auth angleichen

View File

@ -1,4 +1,4 @@
ID: US_000039 | Version: 0.2.2 | Status: Done ID: US_000039 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000039: Doku-Audit fuer verbleibende Abweichungen # US_000039: Doku-Audit fuer verbleibende Abweichungen

View File

@ -1,4 +1,4 @@
ID: US_000040 | Version: 0.2.2 | Status: Done ID: US_000040 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000040: Doku-Struktur und Inhalte erstellen # US_000040: Doku-Struktur und Inhalte erstellen

View File

@ -1,4 +1,4 @@
ID: US_000041 | Version: 0.2.2 | Status: Done ID: US_000041 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000041: Einbindung externer Services dokumentieren # US_000041: Einbindung externer Services dokumentieren

View File

@ -1,4 +1,4 @@
ID: US_000042 | Version: 0.2.2 | Status: Done ID: US_000042 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000042: Consumer-Perspektive und Audience-Split ergaenzen # US_000042: Consumer-Perspektive und Audience-Split ergaenzen

View File

@ -1,4 +1,4 @@
ID: US_000043 | Version: 0.2.2 | Status: Done ID: US_000043 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000043: Enrollment-Token per Script abrufen # US_000043: Enrollment-Token per Script abrufen

View File

@ -1,4 +1,4 @@
ID: US_000044 | Version: 0.2.2 | Status: Done ID: US_000044 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000044: Systemmetriken im Dashboard anzeigen # US_000044: Systemmetriken im Dashboard anzeigen

View File

@ -1,4 +1,4 @@
ID: US_000045 | Version: 0.2.2 | Status: Draft ID: US_000045 | Version: 0.2.3 | Status: Draft
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000045: Regeln fuer Login-Zeitfenster definieren und durchsetzen # US_000045: Regeln fuer Login-Zeitfenster definieren und durchsetzen

View File

@ -1,4 +1,4 @@
ID: US_000046 | Version: 0.2.2 | Status: Done ID: US_000046 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000046: Update-Service Erreichbarkeit anzeigen # US_000046: Update-Service Erreichbarkeit anzeigen

View File

@ -1,4 +1,4 @@
ID: US_000047 | Version: 0.2.2 | Status: Done ID: US_000047 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000047: Update-Config auslagern # US_000047: Update-Config auslagern

View File

@ -1,4 +1,4 @@
ID: US_000048 | Version: 0.2.2 | Status: Done ID: US_000048 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000048: Release-Upload automatisieren # US_000048: Release-Upload automatisieren

View File

@ -1,4 +1,4 @@
ID: US_000049 | Version: 0.2.2 | Status: Done ID: US_000049 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# US_000049: Lokale deployment.env fuer Update-Uploads # US_000049: Lokale deployment.env fuer Update-Uploads

View File

@ -1,4 +1,4 @@
ID: TASK_000025 | Version: 0.2.2 | Status: Blocked ID: TASK_000025 | Version: 0.2.3 | Status: Blocked
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000025: OIDC E2E validation # TASK_000025: OIDC E2E validation

View File

@ -1,4 +1,4 @@
ID: TASK_000026 | Version: 0.2.2 | Status: Blocked ID: TASK_000026 | Version: 0.2.3 | Status: Blocked
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000026: OIDC runbook update # TASK_000026: OIDC runbook update

View File

@ -1,4 +1,4 @@
ID: TASK_000027 | Version: 0.2.2 | Status: Done ID: TASK_000027 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000027: Update endpoint config # TASK_000027: Update endpoint config

View File

@ -1,4 +1,4 @@
ID: TASK_000028 | Version: 0.2.2 | Status: Done ID: TASK_000028 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000028: Verify and apply update # TASK_000028: Verify and apply update

View File

@ -1,4 +1,4 @@
ID: TASK_000029 | Version: 0.2.2 | Status: Done ID: TASK_000029 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000029: Report update status # TASK_000029: Report update status

View File

@ -1,4 +1,4 @@
ID: TASK_000030 | Version: 0.2.2 | Status: Done ID: TASK_000030 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000030: UI update status view # TASK_000030: UI update status view

View File

@ -1,4 +1,4 @@
ID: TASK_000031 | Version: 0.2.2 | Status: Done ID: TASK_000031 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000031: UI update check trigger # TASK_000031: UI update check trigger

View File

@ -1,4 +1,4 @@
ID: TASK_000032 | Version: 0.2.2 | Status: Done ID: TASK_000032 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000032: UI update apply action # TASK_000032: UI update apply action

View File

@ -1,4 +1,4 @@
ID: TASK_000033 | Version: 0.2.2 | Status: Done ID: TASK_000033 | Version: 0.2.3 | Status: Done
By: Codex (GPT-5) By: Codex (GPT-5)
# TASK_000033: UI update logs view # TASK_000033: UI update logs view

Some files were not shown because too many files have changed in this diff Show More