Buildi funktsioonid
Feature on nimetatud build moodul. Selle registrikirje saab deklareerida pakette ühele või mitmele distributsiooni perekonnale ja võib lisaks hõlmata build hooks, aliase, capability metadata ja guest assertions.
Feature lisamine väljendab kavatsust. See ei tõesta iseenesest, et iga pakett oli saadaval, iga hook jooksis või et tulemus käitub sihtimilis. Retsepti valideerimine, buildi lõpetamine ja guest kontroll on eraldi väravad.
Leia praegune feature komplekt
Kasuta feature selectorit või feature-catalog API-d juurutatud OpenFactory versioonis. See väljund on autoriteetne töötava versiooni jaoks. Staatilised nimekirjad vananevad kiiresti ja mõned registrikirjed on peidetud, sest need toetavad sisemisi fixtures’e või pooleliolevaid integratsioone.
Enne feature valimist kontrolli:
- kas see on sinu kontol nähtav ja lubatud;
- kas see deklareerib pakette retsepti distributsiooni perekonnale;
- kas välised allikad on kinnitatud ja kättesaadavad;
- kas sellel on assertions, mis tõestavad vajalikku käitumist; ja
- kas see on vastuolus mõne teise soovitud mooduliga.
Esinduslikud kategooriad
Register sisaldab praegu mooduleid kategooriates nagu:
| Kategooria | Näited | Nõutavad tõendid |
|---|---|---|
| Desktop | desktop-kde, desktop-gnome-minimal, krita, kdenlive | sessiooni tüüp, installitud paketid, käivitaja käitumine ja päris lauaarvuti smoke test |
| Käsurida ja arendus | git, curl, python, nodejs, rust | pakettide ja versioonide inventuur ning käivitatavate smoke testid |
| Infrastruktuur | nginx, postgresql, redis, docker, ansible | teenuse konfiguratsioon, enabled/running olek, pordid ja application-level tervis |
| Turvalisus | firewall, audit-logging, security-hardening, apparmor | genereeritud policy, aktiivne runtime olek, negatiivsed testid ja dokumenteeritud erandid |
| Vastavusele suunatud | cis-benchmarks, gxp, disa-stig, nist-800-53 | täpne benchmark või control allikas, rakendatavus, tulemused controli kohta ja inimlik otsus |
| AI tööriistad | ollama, alpaca, aider, codex-cli | kinnitatud source või package päritolu, mudeli allalaadimise piir, käivitustest ja ressursinõuded |
Näited ei ole ühilduvusmaatriks. Feature nimi võib eksisteerida, samal ajal kui konkreetne distributsiooni implementatsioon jääb osaliseks.
Feature, pakett ja teenus erinevad
os.featuresvalib registreeritud build moodulid.os.packagesküsib kohalikult package managerilt konkreetseid pakette.os.servicesannab nimetatud enablement ja konfiguratsiooni kavatsuse.
Näiteks:
{
"os": {
"features": ["ssh", "firewall"],
"packages": ["curl", "jq"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 22,
"disable_password_auth": true
}
}
]
}
}Kehtiv service config võib siiski sisaldada võtit, mida generaator ei kasuta. Vaata normaliseeritud retsepti ja testi genereeritud guesti.
Turvalisuse ja vastavuse sildid
security-hardening installib ja seadistab üldise hardening baseline’i. See ei ole sünonüüm CIS profiiliga. Retsepti hardening_level on konfiguratsioonisilt, mida tõlgendavad sihtspetsiifilised generaatorid; see ei ole sertifitseerimine ega universaalne vastavus CIS Level 1 või Level 2.
Feature’l cis-benchmarks on spetsiifilisem Ubuntu 24.04 Level 1 remediation tee. Teised baasid ei saa sama rolli. Täpset piiri vaata CIS benchmark tõendid.
Samuti GxP, HIPAA, SOC 2, PCI DSS, NIST või DISA nimega feature lubamine ei loo organisatsioonilist vastavust. See võib lisada pakette, konfiguratsiooni ja teste, mis annavad tõendeid eraldi hallatavale hinnangule.
Feature’ide turvaline kombineerimine
- Alusta väikseimast komplektist, mis väljendab soovitud käitumist.
- Valideeri retsept ja vaata normaliseeritud väljundit ära visatud või tuletatud väljade suhtes.
- Vaata üle laiendatud pakettide ja hook plaan.
- Ehita üks kord ja jälgi selle püsivat build ID-d.
- Käivita feature-spetsiifilised assertions käivitatud guestis.
- Salvesta vead ja tahtlikud erandid selgelt.
- Lisa järgmine feature alles pärast praeguse baseline’i mõistmist.
Kanonilise JSON kuju jaoks vaata Retsepti skeem.