Skip to Content
Getting StartedRetseptide mõistmine

Retseptide mõistmine

BuildRecipe on normaliseeritud spetsifikatsioon, mille OpenFactory saadab image pipeline’i. Vestlus saab aidata seda koostada, kuid buildi defineerivad retsept, lähtekoodi momentpildid, genereeritud failid ja testitõendid.

Mõttemudel

Kanonilisel retseptil on neli peamist kihti:

  1. Identiteet ja siht: nimi, kirjeldus, base image ja riistvara kavatsus.
  2. Operatsioonisüsteem: features, packages, services, users, security, desktop, installer, attachments ja startup scripts all os.
  3. Kontroll: üks või mitu stsenaariumi sisseehitatud testide ja kohandatud assertionitega.
  4. Tarne kavatsus: soovitud avaldamise sihtkohad ja valikulised tarne seaded.
{ "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"] }

Kasutage snake_case. Uued integratsioonid ei tohiks saata pärandvorme, näiteks baseImage, top-level features või startupScripts.

Kolm kontrolli, kolm erinevat vastust

Skeemi valideerimine

Valideerimine vastab: „Kas tuvastatud andmetel on aktsepteeritav kuju?“ See ei tõesta, et paketid eksisteerivad või käitumine töötab. Mõned tundmatud väljad ignoreeritakse ühilduvuse huvides, seega võib valideerimise edu siiski olulise taotluse vahele jätta.

Võrrelge alati tagastatud normaliseeritud retsepti algse vestluse ja nõuetega. Puuduv desktop, application, installer, attachment või test on retsepti defekt isegi siis, kui valideerimine näitab valid.

Build tõendid

Edukas build vastab: „Kas pipeline lõi artifact’i?“ See ei tõesta, et iga kavandatud funktsioon jõudis image’i. Vaadake pakettide inventuuri, allika päritolu, hoiatusi ja build etapi tõendeid.

Guest kontroll

Guest testid vastavad kitsastele runtime küsimustele: kas VM käivitus, kas teenus on aktiivne, kas port kuulab, kas failil on oodatud sisu, kas application käivitus. Läbitud assertion toetab ainult käitumist, mida tegelikult jälgiti.

Turvaseaded on kavatsus

Aktsepteeritud hardening_level väärtused on minimal, standard ja strict, kuid need sildid ei ole ülekantavad compliance profiilid. Target generaatorid võivad neid erinevalt tõlgendada. Kui vajate benchmark’i, valige täpne kohaldatav benchmark ja säilitage tulemused control’i kaupa; ära järeldu CIS vastavust strict-ist.

Samuti nõuavad disk_encryption, audit_logging, SELinux, fail2ban, Secure Boot, dm-verity ja installer seaded vastavaid artifact ja runtime teste.

Vestlus ja retsepti omandiõigus

Kui valideerite või muudate vestluses loodud retsepti, jääb olemasolev vestlus authoring konteksti osaks. Valideerimine peaks täpsustama praegust retsepti, mitte vaikselt asendama seda üldise vaikimisi väärtusega. Siiski on normaliseeritud retsept viimane checkpoint enne build’i.

Iga olulise nõude jaoks:

  • leidke vastav normaliseeritud väli;
  • kinnitage selle väärtus ja siht scope;
  • lisage assertion, kus runtime tõend on võimalik; ja
  • säilitage deployment-only töö selge hoiatusena, mitte teeseldes, et see toimus image build ajal.

Ülevaate kontrollnimekiri

  • Kas base image ja arhitektuur on õiged?
  • Kas kõik soovitud desktop ja application funktsioonid on olemas?
  • Kas välised allikad on kinnitatud ja litsentseeritud kavandatud kasutuseks?
  • Kas saladused puuduvad salvestatud recipe väljadest ja scriptidest?
  • Kas installer on seadistatud ja testitud ühekordse kettal, kui seda küsiti?
  • Kas stsenaariumid testivad tegelikke acceptance kriteeriume?
  • Kas toetamata või deployment ajal kehtivad nõuded on välja toodud?

Vaata Retsepti skeem väljade viite jaoks ja Your First Build build ja allalaadimise workflow jaoks.