End-to-end VM test today (2026-04-15) validated the resource manager golden path but exposed four things blocking "dein-Vater-tauglich": no way to configure an app without SSH+editor, no openssh, no nano, keyboard stuck on US, and a samba healthcheck that cried wolf. Resource-manager side: - Manifest schema gains optional `settings` list (name/label/ description/type/required/default) and `description_long`. - Bundled-app install opens a form rendered from the manifest; submit carries values to `POST /api/apps/install` which writes them into the new app's `.env` before the placeholder check runs. - Installed apps grow an "Einstellungen" button that merges a partial settings dict into the existing `.env` (unsubmitted password fields = keep current), then reconciles to restart. - New endpoints: `GET/POST /api/apps/<name>/settings`. Passwords are never returned to the client. - Fileshare manifest declares its SMB_USER/SMB_PASSWORD settings in German with help text. ISO side (so the next build is actually usable on the TTY): - Add `openssh` to the package list + `sshd` to enabled services. `archinstall: true` in 4.x did not install openssh-server. - Add `nano` — `vim` was the only editor pitched at users, which is brutal for first-timers (and was missing anyway). - Keyboard layout follows the installer language (`de→de`, `pl→pl`, `en→us`) instead of hardcoded `us`. A German user couldn't type `/` or `-` at the console, making even `sudo nano` painful. - Disable the dperson/samba healthcheck in the compose override — it timed out on every probe while the share itself worked fine. 19 new tests (manifest parsing + settings-merge + two new API endpoints over live HTTP); 94 total, format + lint clean. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
58 lines
784 B
JSON
58 lines
784 B
JSON
{
|
|
"archinstall-language": "English",
|
|
"timezone": "Europe/Berlin",
|
|
"ntp": true,
|
|
|
|
"bootloader": "Systemd-boot",
|
|
|
|
"disk_config": {
|
|
"config_type": "use_entire_disk",
|
|
"device": "/dev/sda",
|
|
"filesystem": "ext4"
|
|
},
|
|
|
|
"hostname": "arch-server",
|
|
|
|
"kernels": ["linux"],
|
|
|
|
"packages": [
|
|
"docker",
|
|
"docker-compose",
|
|
"nano",
|
|
"vim",
|
|
"git",
|
|
"htop",
|
|
"curl",
|
|
"openssh"
|
|
],
|
|
|
|
"profile": {
|
|
"type": "server"
|
|
},
|
|
|
|
"services": [
|
|
"docker",
|
|
"sshd"
|
|
],
|
|
|
|
"network_config": {
|
|
"type": "iso"
|
|
},
|
|
|
|
"users": [
|
|
{
|
|
"username": "server",
|
|
"sudo": true,
|
|
"groups": ["docker"]
|
|
}
|
|
],
|
|
|
|
"ssh": true,
|
|
|
|
"audio_config": null,
|
|
|
|
"locale_config": {
|
|
"locale": "en_US.UTF-8",
|
|
"keyboard_layout": "us"
|
|
}
|
|
}
|