Ontwikkelwerkstation
Deze gids bouwt een Ubuntu 24.04 GNOME-werkstation met een conservatieve set tools en expliciete smoke tests. Taal- en editorversies volgen de gekozen pakketbronnen, tenzij je een andere bron vastzet en beoordeelt.
Prompt
Create an Ubuntu 24.04 GNOME development workstation with a dark color
scheme, SSH, Docker, Git, Python, Node.js, curl, jq, tmux, htop, and Neovim.
Create a locked-password user named dev with sudo and Docker group intent.
Do not add third-party repositories unless their HTTPS URL, signing key,
release support, and license are explicit. Add tests for the desktop session,
tool versions, Docker service, group membership, and one container smoke test.Controleer het recept
{
"name": "ubuntu24-development-workstation",
"base_image": "ubuntu-24.04",
"os": {
"features": ["desktop", "ssh", "docker", "git", "python", "nodejs"],
"packages": ["curl", "jq", "tmux", "htop", "neovim"],
"users": [
{
"username": "dev",
"groups": ["sudo", "docker"],
"shell": "/bin/bash"
}
],
"desktop_settings": {
"color_scheme": "prefer-dark",
"fonts": {
"monospace_font": "Ubuntu Mono 13"
},
"power": {
"idle_delay": 600,
"sleep_inactive_ac_timeout": 0,
"sleep_inactive_ac_type": "nothing"
}
}
}
}Bevestig dat elke feature zich op Ubuntu 24.04 uitbreidt zoals verwacht. Lidmaatschap van de groep docker is vaak gelijkwaardig aan root omdat het de Docker-daemon kan sturen; verwijder het als de gebruiker die bevoegdheid niet moet hebben.
Versies en bronnen
Vraag niet om «latest» op een gecontroleerd werkstation. Noteer de versies die daadwerkelijk uit de gekozen snapshot beschikbaar zijn en test die versies. Een vendor-repository of bootstrap-installer voegt een apart trust root en updatelevenscyclus toe; gebruik het pas na beoordeling van sleutel, repository-metadata, voorwaarden en rollback-gedrag.
Tools zoals Rustup, taalversiebeheerders, editor-extensies en containerimages kunnen bewegende code downloaden nadat de image is gebouwd. Als ze ertoe doen voor de werkstationbaseline, zet ze vast en neem hun herkomst op in het evidence packet.
Verificatiescenario
{
"id": "development-smoke",
"name": "Development workstation smoke test",
"enabled": true,
"tests": ["boot", "login", "packages", "services"],
"custom_tests": [
{
"description": "Confirm core tools and Docker are usable.",
"assertions": [
{
"type": "command_succeeds",
"description": "Python reports a version.",
"params": {"command": "python3 --version"}
},
{
"type": "command_succeeds",
"description": "Node.js reports a version.",
"params": {"command": "node --version"}
},
{
"type": "service_running",
"description": "The Docker daemon is running.",
"params": {"service": "docker"}
},
{
"type": "user_in_group",
"description": "The dev account has the reviewed Docker authority.",
"params": {"username": "dev", "group": "docker"}
}
]
}
]
}Voeg een GUI-assertie toe voor elke grafische editor die je echt installeert. Een pakketcontrole detecteert geen kapotte eerste start, licentiedialoog, ontbrekende displayintegratie of verkeerde standaarddesktop.
Test tot slot inloggen via het goedgekeurde enrollment- of SSH-keys-pad; het recept bevat opzettelijk geen wachtwoord.