chore(release): point public-facing URLs at github.com/clusev/clusev — 0.9.58

Default update source, README (badge/clone/home), the console + source-view
branding, and the CHANGELOG compare links now reference the public repo. Private
URLs remain only in the gitignored .env (install.sh derives CLUSEV_REPOSITORY
from the clone origin). Bump 0.9.58.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat/v1-foundation
boban 2026-06-22 21:41:52 +02:00
parent a92eb8182b
commit ccabc1cfa6
5 changed files with 37 additions and 15 deletions

View File

@ -13,6 +13,27 @@ getaggte Releases (Kanal `stable`, optional `beta`) — niemals Entwicklungs-Bui
_Keine offenen Änderungen — der nächste Stand wird hier gesammelt und als `vX.Y.Z` getaggt._
## [0.9.58] - 2026-06-22
### Hinzugefügt
- **Update-Check unterstützt jetzt GitHub.** Bisher kannte der Versions-Check nur die Gitea-API. Damit
Public-Nutzer Updates aus dem öffentlichen GitHub-Repo sehen, spricht der Check je nach Host die
passende API: GitHub über `api.github.com` (Tags) und `raw.githubusercontent.com` (Changelog),
Gitea wie gehabt. Die Host-Logik liegt an genau einer Stelle (`ReleaseChecker`).
### Geändert
- **Öffentliche Projekt-Adresse ist jetzt `github.com/clusev/clusev`.** README, Quelltext-/Konsolen-Branding
und die Standard-Update-Quelle zeigen aufs öffentliche Repo. Dev/Staging überschreiben das weiterhin
per `CLUSEV_REPOSITORY` in der (gitignorierten) `.env` — es steht keine private URL in versionierten Dateien.
### Behoben
- **Interne Dev-Dokumente landen nicht im Public-Repo.** Die Release-Promotion kopiert nur lauffähigen
App-Code: `CLAUDE.md`, `rules.md`, `handoff.md` und `docs/` sind als `export-ignore` markiert und werden
von `git archive` (und damit `promote.sh`) ausgelassen — `CHANGELOG.md` bleibt bewusst öffentlich, weil
die Versions-Seite ihn vom Public-Repo abruft.
- **Update-Check-Tests sind jetzt hermetisch.** Sie setzen die Repository-URL selbst (neutraler Host) statt
sich auf die `.env` zu verlassen — so laufen sie auch in CI mit leerer `.env.example` grün.
## [0.9.57] - 2026-06-22
### Hinzugefügt
@ -1241,8 +1262,8 @@ Erste geschnittene Version — die komplette v1-Basis inklusive Server- und Pane
- Release-/Versionierungsmodell: echte semantische Versionen + Git-Tags, Changelog
pro Version, Kanäle `stable`/`beta` (kein nutzer-seitiges `dev`).
[Unreleased]: https://git.bave.dev/boban/clusev/compare/v0.2.1...HEAD
[0.2.1]: https://git.bave.dev/boban/clusev/compare/v0.2.0...v0.2.1
[0.2.0]: https://git.bave.dev/boban/clusev/compare/v0.1.1...v0.2.0
[0.1.1]: https://git.bave.dev/boban/clusev/compare/v0.1.0...v0.1.1
[0.1.0]: https://git.bave.dev/boban/clusev/releases/tag/v0.1.0
[Unreleased]: https://github.com/clusev/clusev/compare/v0.2.1...HEAD
[0.2.1]: https://github.com/clusev/clusev/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/clusev/clusev/compare/v0.1.1...v0.2.0
[0.1.1]: https://github.com/clusev/clusev/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/clusev/clusev/releases/tag/v0.1.0

View File

@ -7,7 +7,7 @@
**One dashboard for your whole fleet. Agentless over SSH. Self-hosted, security-first, open core.**
[![License](https://img.shields.io/badge/license-AGPL--3.0-FF6B2C?style=flat-square&labelColor=0F1318)](#license)
[![Version](https://img.shields.io/badge/release-v0.9.40-FF6B2C?style=flat-square&labelColor=0F1318)](https://git.bave.dev/boban/clusev)
[![Version](https://img.shields.io/badge/release-v0.9.58-FF6B2C?style=flat-square&labelColor=0F1318)](https://github.com/clusev/clusev)
[![Laravel](https://img.shields.io/badge/Laravel-13-9DAAB6?style=flat-square&labelColor=0F1318)](https://laravel.com)
[![Livewire](https://img.shields.io/badge/Livewire-3-9DAAB6?style=flat-square&labelColor=0F1318)](https://livewire.laravel.com)
[![Docker](https://img.shields.io/badge/Docker-ready-43C1D8?style=flat-square&labelColor=0F1318)](#quick-start)
@ -88,7 +88,7 @@ one Docker stack — `app` (php-fpm + nginx + Vite), `reverb`, `queue`, `schedul
```bash
sudo apt-get update && sudo apt-get install -y git # minimal images often lack git
git clone https://git.bave.dev/boban/clusev.git
git clone https://github.com/clusev/clusev.git
cd clusev
sudo ./install.sh
```
@ -225,6 +225,6 @@ RBAC, audit export, alerting) are separate.
<div align="center">
**Project home — [git.bave.dev/boban/clusev](https://git.bave.dev/boban/clusev)**
**Project home — [github.com/clusev/clusev](https://github.com/clusev/clusev)**
</div>

View File

@ -2,7 +2,7 @@
return [
// First tagged release is v0.1.0 (semantic, not -dev).
'version' => '0.9.57',
'version' => '0.9.58',
// Deployed commit + branch. install.sh bakes these into .env from the host's .git (the prod
// image ships no .git); the Versions page prefers them and falls back to a live .git read in
@ -19,10 +19,11 @@ return [
// is the fallback so a domain set during install still gets automatic TLS.
'domain' => env('APP_DOMAIN'),
// Update source. Empty by default: the PUBLIC repo URL is injected via CLUSEV_REPOSITORY (env),
// which install.sh derives from the clone origin. Private (Gitea/GitHub-private) URLs live ONLY in
// the gitignored .env — never in tracked files, so the public repo exposes no private URL.
'repository' => env('CLUSEV_REPOSITORY', ''),
// Update source. Defaults to the PUBLIC repo (safe to ship — it is public). install.sh overrides
// it via CLUSEV_REPOSITORY, derived from the clone origin: dev points at Gitea, staging at the
// GitHub-private mirror, public users at the public repo. Private (Gitea/GitHub-private) URLs live
// ONLY in the gitignored .env — never in tracked files, so the public repo exposes no private URL.
'repository' => env('CLUSEV_REPOSITORY', 'https://github.com/clusev/clusev'),
'license' => 'AGPL-3.0',
];

View File

@ -403,7 +403,7 @@ document.addEventListener('alpine:init', () => {
console.log('%cSelf-hosted control plane für deine Linux-Flotte.', sub);
console.log('%c⚠ Stopp — diese Konsole ist für Entwickler.', warnH);
console.log('%cFüg hier NICHTS ein, das dir jemand geschickt hat. Solche „Tricks" sind fast\nimmer Betrug (Self-XSS) und können deine Sitzung und deine Server übernehmen.', warnB);
console.log('%cNeugierig? Fragen? Mitbauen? → https://git.bave.dev/boban/clusev · AGPL-3.0', link);
console.log('%cNeugierig? Fragen? Mitbauen? → https://github.com/clusev/clusev · AGPL-3.0', link);
} catch (_) {
// console styling unsupported — ignore
}

View File

@ -13,7 +13,7 @@
Du liest den Quelltext schön! Neugierig, wie das gebaut ist?
Fragen, Feedback oder mitbauen? Wir freuen uns:
https://git.bave.dev/boban/clusev
https://github.com/clusev/clusev
PS: Konsole & Quelltext sind für Entwickler. Füg hier NICHTS ein, das dir
jemand geschickt hat solche „Tricks" sind fast immer Betrug (Self-XSS).