Funkcije gradnje
Feature je poimenovan modul gradnje. Vnos v registru lahko deklarira pakete za eno ali več družin distribucij in lahko vsebuje tudi build hooks, vzdevke, metapodatke capability in guest assertions.
Dodajanje feature izraža namen. Samo po sebi ne dokazuje, da je bil na voljo vsak paket, da se je izvedel vsak hook ali da končno obnašanje deluje na ciljnem image. Validacija recepta, zaključek gradnje in preverjanje guest so ločena vrata.
Najdite trenutni nabor feature
Uporabite feature selector ali feature-catalog API v nameščeni izdaji OpenFactory. Ta izhod je zavezujoč za tekočo različico. Statični seznami hitro zastarajo, nekateri vnosi registra pa so skriti, ker podpirajo notranje fixtures ali nepopolne integracije.
Pred izbiro feature preverite:
- ali je vidna in omogočena za vaš račun;
- ali deklarira pakete za družino distribucije recepta;
- ali so zunanji viri pripeti in dostopni;
- ali ima assertions, ki dokazujejo obnašanje, ki ga potrebujete; in
- ali je v sporu z drugim zahtevanim modulom.
Reprezentativne kategorije
Register trenutno vključuje module v kategorijah, kot so:
| Kategorija | Primeri | Zahtevan dokaz |
|---|---|---|
| Desktop | desktop-kde, desktop-gnome-minimal, krita, kdenlive | tip seje, nameščeni paketi, obnašanje launcherja in resničen desktop smoke test |
| Ukazna vrstica in razvoj | git, curl, python, nodejs, rust | inventar paketov/različic in smoke testi executable |
| Infrastruktura | nginx, postgresql, redis, docker, ansible | konfiguracija storitve, stanje enabled/running, vrata in health na ravni aplikacije |
| Security | firewall, audit-logging, security-hardening, apparmor | ustvarjena policy, aktivno runtime stanje, negativni testi in dokumentirane izjeme |
| Usmerjeno v compliance | cis-benchmarks, gxp, disa-stig, nist-800-53 | natančen vir benchmark/control, uporabnost, rezultati po control in človeška presoja |
| Orodja AI | ollama, alpaca, aider, codex-cli | pripeta provenance source/package, meja prenosa modela, test zagona in zahteve po virih |
Primeri niso matrika združljivosti. Ime feature lahko obstaja, medtem ko implementacija za določeno distribucijo ostaja delna.
Feature, paket in storitev niso isto
os.featuresizbere registrirane build module.os.packagespri native package managerju zahteva določene pakete.os.servicespoda poimenovan namen omogočanja in konfiguracije.
Na primer:
{
"os": {
"features": ["ssh", "firewall"],
"packages": ["curl", "jq"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 22,
"disable_password_auth": true
}
}
]
}
}Veljavna konfiguracija storitve lahko še vedno vsebuje ključ, ki ga generator ne porabi. Preglejte normaliziran recept in preizkusite ustvarjenega guest.
Oznake security in compliance
security-hardening namesti in konfigurira splošno hardening baseline. Ni sopomenka CIS profila. hardening_level v receptu je konfiguracijska oznaka, ki jo interpretirajo generatorji za cilj; ni certifikacije niti univerzalnega preslikavanja na CIS Level 1 ali Level 2.
Feature cis-benchmarks ima bolj specifično remediation pot za Ubuntu 24.04 Level 1. Druge base image ne prejmejo iste vloge. Natančno mejo opisuje CIS benchmark evidence.
Prav tako omogočanje feature, poimenovanega za GxP, HIPAA, SOC 2, PCI DSS, NIST ali DISA, ne vzpostavi organizacijske compliance. Lahko doda pakete, konfiguracijo in teste, ki prispevajo dokaze k ločeno vodeni oceni.
Varno kombiniranje feature
- Začnite z najmanjšim naborom, ki izraža zahtevano obnašanje.
- Validirajte recept in preglejte normaliziran izhod za opuščena ali sklepana polja.
- Preglejte razširjen načrt paketov in hookov.
- Gradnjo zaženite enkrat in sledite njenemu trajnemu build ID.
- V nabootanem guest zaženite assertions, specifične za feature.
- Napake in namerne izjeme zapišite eksplicitno.
- Dodajte še en feature šele, ko razumete trenutno baseline.
Kanonično obliko JSON opisuje Recipe Schema.