Skip to Content
Building OsBuild funkciók

Build funkciók

A feature egy elnevezett build modul. A registry bejegyzése deklarálhat csomagokat egy vagy több disztribúciós családhoz, és tartalmazhat build hookokat, aliasokat, capability metadatokat és guest assertionöket is.

Feature hozzáadása szándékot fejez ki. Önmagában nem bizonyítja, hogy minden csomag elérhető volt, minden hook lefutott, vagy hogy a kapott viselkedés működik a cél image-en. A recept validálása, a build befejezése és a guest ellenőrzése külön kapuk.

Az aktuális feature készlet megtalálása

Használja a feature selectort vagy a feature-catalog API-t a telepített OpenFactory kiadásban. Ez a kimenet a futó verzió szempontjából mérvadó. A statikus listák gyorsan elavulnak, és néhány registry bejegyzés rejtett, mert belső fixture-öket vagy hiányos integrációkat támogat.

Feature választása előtt ellenőrizze:

  • látható-e és engedélyezett-e a fiókjához;
  • deklarál-e csomagokat a recept disztribúciós családjához;
  • rögzítettek és lekérhetők-e a külső források;
  • vannak-e assertionök, amelyek bizonyítják a szükséges viselkedést; és
  • ütközik-e egy másik kért modullal.

Reprezentatív kategóriák

A registry jelenleg olyan kategóriák moduljait tartalmazza, mint:

KategóriaPéldákElvárt bizonyíték
Desktopdesktop-kde, desktop-gnome-minimal, krita, kdenlivesession típus, telepített csomagok, launcher viselkedés és valódi desktop smoke test
Parancssor és fejlesztésgit, curl, python, nodejs, rustcsomag/verzió leltár és executable smoke testek
Infrastruktúranginx, postgresql, redis, docker, ansibleszolgáltatás konfiguráció, enabled/running állapot, portok és alkalmazásszintű health
Securityfirewall, audit-logging, security-hardening, apparmorgenerált policy, aktív runtime állapot, negatív tesztek és dokumentált kivételek
Compliance-orientáltcis-benchmarks, gxp, disa-stig, nist-800-53pontos benchmark/control forrás, alkalmazhatóság, controlonkénti eredmények és emberi döntés
AI eszközökollama, alpaca, aider, codex-clirögzített source/package provenance, modellletöltési határ, indítási teszt és erőforrásigény

A példák nem kompatibilitási mátrix. Egy feature név létezhet, miközben egy adott disztribúciós implementáció részleges marad.

A feature, a csomag és a szolgáltatás különböző

  • Az os.features a regisztrált build modulokat választja.
  • Az os.packages a natív package managertől konkrét csomagokat kér.
  • Az os.services elnevezett engedélyezési és konfigurációs szándékot ad meg.

Példa:

{ "os": { "features": ["ssh", "firewall"], "packages": ["curl", "jq"], "services": [ { "name": "ssh", "enabled": true, "config": { "port": 22, "disable_password_auth": true } } ] } }

Egy érvényes szolgáltatás konfiguráció tartalmazhat olyan kulcsot is, amelyet a generátor nem dolgoz fel. Vizsgálja meg a normalizált receptet, és tesztelje a generált guestet.

Security és compliance címkék

A security-hardening telepít és konfigurál egy általános hardening baseline-t. Nem szinonimája egy CIS profilnak. A recept hardening_level mezője konfigurációs címke, amelyet cél-specifikus generátorok értelmeznek; nem minősítés és nem univerzális leképezés CIS Level 1-re vagy Level 2-re.

A cis-benchmarks feature-nek specifikusabb Ubuntu 24.04 Level 1 remediation útja van. Más base image nem kapja ugyanazt a szerepet. A pontos határt a CIS benchmark evidence írja le.

Hasonlóképpen a GxP, HIPAA, SOC 2, PCI DSS, NIST vagy DISA nevű feature engedélyezése nem hoz létre szervezeti compliance-t. Csomagokat, konfigurációt és teszteket adhat, amelyek bizonyítékot szolgáltatnak egy külön kezelt értékeléshez.

Featureök biztonságos kombinálása

  1. Kezdje a legkisebb halmazzal, amely kifejezi a kért viselkedést.
  2. Validálja a receptet, és nézze át a normalizált kimenetet az eldobott vagy következtetett mezők miatt.
  3. Tekintse át a kibontott csomag- és hook tervet.
  4. Indítson buildet egyszer, és kövesse a tartós build ID-t.
  5. Futtasson feature-specifikus assertionöket bootolt guesten.
  6. A hibákat és szándékos kivételeket rögzítse explicit módon.
  7. Újabb featuret csak az aktuális baseline megértése után adjon hozzá.

A kanonikus JSON alakot a Recipe Schema írja le.