feat(it-tools): add browser-toolbox app to the catalog
All checks were successful
CI / validate (push) Successful in 7s
CI / shellcheck (push) Successful in 32s

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:
Daniel Maksymilian Syrnicki 2026-04-21 11:16:59 +02:00
parent 436ce11f52
commit b2b47938e6
4 changed files with 44 additions and 0 deletions

View file

@ -6,6 +6,14 @@ Versioning: CalVer (`YY.N`) — same scheme as the core Furtka repo.
## [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
### Changed

View 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
View 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

View 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/"
}