feat(it-tools): add browser-toolbox app to the catalog
Client-side utility collection (password/UUID/QR generators, hashes, Base64/JWT, JSON/YAML formatter, regex tester, cron parser, etc.) from corentinth/it-tools. No state, no volumes, no settings — runs fully in the browser and serves on port 8080. Good smoke-test target for the catalog-sync path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
436ce11f52
commit
b2b47938e6
4 changed files with 44 additions and 0 deletions
|
|
@ -6,6 +6,14 @@ Versioning: CalVer (`YY.N`) — same scheme as the core Furtka repo.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **IT-Tools** (v1.0.0, image `corentinth/it-tools:latest`). A browser
|
||||||
|
toolbox: password/UUID/QR generators, hash and HMAC, Base64 / URL /
|
||||||
|
JWT decoders, JSON/YAML/SQL formatters, regex tester, cron parser,
|
||||||
|
subnet calculator, and the usual long tail. Runs fully client-side —
|
||||||
|
no state, no volumes, no settings. Serves on port 8080.
|
||||||
|
|
||||||
## [26.8-alpha] - 2026-04-21
|
## [26.8-alpha] - 2026-04-21
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
||||||
20
apps/it-tools/docker-compose.yaml
Normal file
20
apps/it-tools/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Furtka IT-Tools — browser-side utility toolbox.
|
||||||
|
#
|
||||||
|
# IT-Tools is a purely static single-page app: the container serves
|
||||||
|
# prebuilt HTML/JS and does all work client-side. No state, no volumes,
|
||||||
|
# no env knobs — that's why this app has no manifest.settings and no
|
||||||
|
# .env.example.
|
||||||
|
#
|
||||||
|
# TODO(image-pin): `:latest` is shaky for production — pin to a digest
|
||||||
|
# (`corentinth/it-tools@sha256:...`) or a stable tag once we've verified
|
||||||
|
# one against the upstream registry. For the MVP run we accept the drift
|
||||||
|
# risk to keep the install reproducible against whatever the upstream
|
||||||
|
# image happens to be on test day; revisit before any non-developer
|
||||||
|
# touches this.
|
||||||
|
|
||||||
|
services:
|
||||||
|
it-tools:
|
||||||
|
image: corentinth/it-tools:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
5
apps/it-tools/icon.svg
Normal file
5
apps/it-tools/icon.svg
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<circle cx="32" cy="32" r="26" opacity="0.28"/>
|
||||||
|
<path d="M42 14 L50 22 L44 28 L38 22 Z M40 26 L22 44 L18 48 L14 44 L18 40 L36 22"/>
|
||||||
|
<path d="M16 50 L20 46"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 349 B |
11
apps/it-tools/manifest.json
Normal file
11
apps/it-tools/manifest.json
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"name": "it-tools",
|
||||||
|
"display_name": "IT-Tools",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Collection of small developer and admin utilities in one web UI.",
|
||||||
|
"description_long": "Werkzeugkasten für den Browser: Passwörter generieren, Hashes berechnen, JSON/YAML formatieren, Base64 en- und dekodieren, JWTs lesen, Regex testen, UUIDs oder QR-Codes erzeugen und vieles mehr. Läuft komplett im Browser — es werden keine Daten an externe Dienste gesendet.",
|
||||||
|
"volumes": [],
|
||||||
|
"ports": [8080],
|
||||||
|
"icon": "icon.svg",
|
||||||
|
"open_url": "http://{host}:8080/"
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue