Pochopenie receptov
BuildRecipe je normalizovaná špecifikácia, ktorú OpenFactory posiela do pipeline pre image. Chat môže pomôcť s autorstvom, ale build definujú recept, snapshoty zdrojov, vygenerované súbory a dôkazy z testov.
Mentálny model
Kanonický recept má štyri hlavné vrstvy:
- Identita a cieľ: názov, popis, base image a hardvérový zámer.
- Operačný systém: funkcie, balíčky, služby, používatelia, zabezpečenie, desktop, installer, prílohy a startup skripty pod
os. - Overenie: jeden alebo viac scenárov so vstavanými testami a vlastnými assertion.
- Zámer doručenia: požadované miesta publikácie a voliteľné nastavenia doručenia.
{
"name": "debian-web-check",
"display_name": "Debian Web Check",
"description": "Small Debian image with explicit smoke tests.",
"base_image": "debian-trixie",
"hardware": {
"platform": "pc",
"architecture": "x86_64",
"min_cpu_cores": 2,
"min_memory_gb": 4,
"min_storage_gb": 16,
"nic_count": 1
},
"os": {
"features": ["ssh"],
"packages": ["curl"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {"port": 22, "disable_password_auth": true}
}
],
"security": {
"hardening_level": "standard",
"audit_logging": true
}
},
"scenarios": [
{
"id": "primary-smoke",
"name": "Primary image smoke test",
"enabled": true,
"tests": ["boot", "login", "packages"]
}
],
"publish_to": ["local"]
}Používajte snake_case. Nové integrácie by nemali posielať legacy tvary ako baseImage, top-level features alebo startupScripts.
Tri kontroly, tri rôzne odpovede
Validácia schémy
Validácia odpovedá na otázku: „Majú rozpoznané dáta prijateľný tvar?” Nedokazuje, že balíčky existujú alebo že správanie funguje. Niektoré neznáme polia sa kvôli kompatibilite ignorujú, takže úspešná validácia môže stále vynechať dôležitú požiadavku.
Vždy porovnajte vrátený normalizovaný recept s pôvodným chatom a požiadavkami. Chýbajúci desktop, aplikácia, installer, príloha alebo test je chyba receptu, aj keď validácia vráti valid.
Dôkaz z buildu
Úspešný build odpovedá: „Vyprodukoval pipeline artefakt?” Nedokazuje, že každá zamýšľaná funkcia sa dostala do image. Prezrite inventár balíčkov, provenienciu zdrojov, varovania a dôkazy z fázy buildu.
Overenie hosta
Testy hosta odpovedajú na úzke runtime otázky: či VM nabootovala, služba beží, port počúva, súbor má očakávaný obsah alebo aplikácia sa spustila. Prešlá assertion podporuje len správanie, ktoré skutočne pozorovala.
Nastavenia zabezpečenia sú zámer
Prijímané hodnoty hardening_level sú minimal, standard a strict, ale tieto popisky nie sú prenositeľné compliance profily. Generátory cieľa ich môžu interpretovať inak. Ak potrebujete benchmark, vyberte presne použiteľný benchmark a uchovajte výsledky po jednotlivých kontrolách; nevyvodzujte súlad s CIS z strict.
Rovnako disk_encryption, audit_logging, SELinux, fail2ban, Secure Boot, dm-verity a nastavenia installera vyžadujú zodpovedajúce testy artefaktu a runtime.
Chat a vlastníctvo receptu
Keď validujete alebo upravujete recept z chatu, existujúca konverzácia zostáva súčasťou kontextu autorstva. Validácia má vyladiť aktuálny recept, nie ho potichu nahradiť generickým predvoleným. Normalizovaný recept je napriek tomu posledný kontrolný bod pred buildom.
Pri každej podstatnej požiadavke:
- nájdite zodpovedajúce normalizované pole;
- potvrďte jeho hodnotu a cieľový rozsah;
- pridajte assertion, kde je možný runtime dôkaz; a
- prácu len pri nasadení uchovajte ako výslovné varovanie namiesto toho, aby ste predstierali, že prebehla počas buildu image.
Kontrolný zoznam revízie
- Je base image a architektúra správna?
- Sú prítomné všetky požadované funkcie desktopu a aplikácie?
- Sú externé zdroje pripnuté a licencované na zamýšľané použitie?
- Nie sú tajomstvá v uložených poliach receptu a skriptoch?
- Je installer nakonfigurovaný a otestovaný na jednorazovom disku, ak o to bolo požiadané?
- Testujú scenáre skutočné akceptačné kritériá?
- Sú nepodporované alebo deployment-time požiadavky výslovne uvedené?
Pozrite Schéma receptu pre referenciu polí a Váš prvý build pre workflow buildu a sťahovania.