Skip to Content
Getting StartedReceptek megértése

Receptek megértése

A BuildRecipe a normalizált specifikáció, amelyet az OpenFactory az image pipeline felé küld. A chat segíthet az elkészítésben, de a buildet a recept, a forrás-pillanatképek, a generált fájlok és a tesztbizonyítékok határozzák meg.

Mentális modell

A kanonikus recept négy fő rétegből áll:

  1. Identitás és cél: név, leírás, base image és hardver szándék.
  2. Operációs rendszer: funkciók, csomagok, szolgáltatások, felhasználók, biztonság, desktop, installer, mellékletek és startup szkriptek az os alatt.
  3. Ellenőrzés: egy vagy több forgatókönyv beépített tesztekkel és egyéni assertion.
  4. Kézbesítési szándék: kért publikációs célok és opcionális kézbesítési beállítások.
{ "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"] }

Használjon snake_case-t. Az új integrációk ne küldjenek legacy alakokat, mint a baseImage, top-level features vagy startupScripts.

Három ellenőrzés, három különböző válasz

Séma validálás

A validálás erre válaszol: „A felismert adatok elfogadható alakúak?” Nem bizonyítja, hogy a csomagok léteznek vagy a viselkedés működik. Egyes ismeretlen mezőket kompatibilitás miatt figyelmen kívül hagynak, ezért a sikeres validálás is kihagyhat egy fontos kérést.

Mindig hasonlítsa össze a visszaadott normalizált receptet az eredeti chat-tel és követelményekkel. Hiányzó desktop, alkalmazás, installer, melléklet vagy teszt recepthiba, még ha a validálás valid-et ad is.

Build bizonyíték

A sikeres build erre válaszol: „A pipeline létrehozott artefaktumot?” Nem bizonyítja, hogy minden tervezett funkció bekerült az image-be. Nézze át a csomagkészletet, a forrás származását, a figyelmeztetéseket és a build fázis bizonyítékait.

Vendég ellenőrzés

A vendégtesztek szűk runtime kérdésekre válaszolnak: bootolt-e a VM, aktív-e a szolgáltatás, figyel-e a port, a fájl a várt tartalmat tartalmazza-e, elindult-e az alkalmazás. A sikeres assertion csak azt a viselkedést támasztja alá, amit ténylegesen megfigyelt.

A biztonsági beállítások szándékot fejeznek ki

Az elfogadott hardening_level értékek: minimal, standard és strict, de ezek a címkék nem hordozható compliance profilok. A célgenerátorok másképp értelmezhetik őket. Ha benchmark kell, válassza ki a pontosan alkalmazható benchmarkot, és őrizze meg az egyes kontrollok eredményeit; ne következtessen CIS megfelelőségre a strict-ből.

Hasonlóan a disk_encryption, audit_logging, SELinux, fail2ban, Secure Boot, dm-verity és installer beállítások megfelelő artefaktum- és runtime teszteket igényelnek.

Chat és recept tulajdonjog

Ha chat-ből készült receptet validál vagy szerkeszt, a meglévő beszélgetés továbbra is az authoring kontextus része. A validálásnak finomítania kell az aktuális receptet, nem pedig csendben lecserélni egy generikus alapértelmezettre. A normalizált recept ennek ellenére az utolsó ellenőrzőpont a build előtt.

Minden lényeges követelménynél:

  • keresse meg a megfelelő normalizált mezőt;
  • erősítse meg az értékét és a cél hatókörét;
  • adjon hozzá assertion-t, ahol runtime bizonyíték lehetséges; és
  • a csak deploy idején végzett munkát tartsa meg explicit figyelmeztetésként, ne úgy, mintha az image build során történt volna.

Áttekintési ellenőrzőlista

  • Helyes-e a base image és az architektúra?
  • Megvannak-e az összes kért desktop és alkalmazás funkció?
  • Rögzítettek és licencelték-e a külső forrásokat a tervezett használatra?
  • Nincsenek-e titkok a mentett recept mezőkben és szkriptekben?
  • Be van-e állítva és tesztelve az installer eldobható lemezen, ha kérték?
  • A forgatókönyvek a tényleges elfogadási kritériumokat tesztelik?
  • Fel vannak-e tüntetve a nem támogatott vagy deployment-time követelmények?

Lásd a Recept séma mezőreferenciát és az első build build- és letöltési folyamatot.