Značajke builda
Feature je imenovani build modul. Unos u registru može deklarirati pakete za jednu ili više obitelji distribucija i može uključivati build hooks, aliasa, metapodatke capability i guest assertions.
Dodavanje feature izražava namjeru. Samo po sebi ne dokazuje da je svaki paket bio dostupan, da je svaki hook odradio ili da rezultirajuće ponašanje radi na ciljnom imageu. Validacija recepta, završetak builda i provjera guesta odvojene su kapije.
Pronađite trenutni skup featurea
Koristite feature selector ili feature-catalog API u implementiranom izdanju OpenFactorya. Taj je izlaz mjerodavan za verziju u produkciji. Statični popisi brzo zastarijevaju, a neki su unosi registra skriveni jer podržavaju interne fixtures ili nepotpune integracije.
Prije odabira featurea provjerite:
- je li vidljiv i omogućen za vaš račun;
- deklarira li pakete za obitelj distribucije recepta;
- jesu li vanjski izvori fiksirani i dostupni;
- ima li assertions koji dokazuju ponašanje koje vam treba; i
- je li u sukobu s drugim traženim modulom.
Reprezentativne kategorije
Registar trenutačno uključuje module u kategorijama poput:
| Kategorija | Primjeri | Potreban dokaz |
|---|---|---|
| Desktop | desktop-kde, desktop-gnome-minimal, krita, kdenlive | tip sesije, instalirani paketi, ponašanje launcher-a i stvarni desktop smoke test |
| Naredbeni redak i razvoj | git, curl, python, nodejs, rust | inventar paketa/verzija i smoke testovi executable |
| Infrastruktura | nginx, postgresql, redis, docker, ansible | konfiguracija usluge, stanje enabled/running, portovi i health na razini aplikacije |
| Security | firewall, audit-logging, security-hardening, apparmor | generirana policy, aktivno runtime stanje, negativni testovi i dokumentirane iznimke |
| Usmjereno na compliance | cis-benchmarks, gxp, disa-stig, nist-800-53 | točan izvor benchmark/control, primjenjivost, rezultati po control i ljudska procjena |
| AI alati | ollama, alpaca, aider, codex-cli | fiksirana provenance source/package, granica preuzimanja modela, test pokretanja i zahtjevi resursa |
Primjeri nisu matrica kompatibilnosti. Naziv featurea može postojati dok implementacija za određenu distribuciju ostaje djelomična.
Feature, paket i usluga nisu isto
os.featuresbira registrirane build module.os.packagestraži od native package managera određene pakete.os.servicesdaje imenovanu namjeru uključivanja i konfiguracije.
Na primjer:
{
"os": {
"features": ["ssh", "firewall"],
"packages": ["curl", "jq"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 22,
"disable_password_auth": true
}
}
]
}
}Valjana konfiguracija usluge i dalje može sadržavati ključ koji generator ne koristi. Pregledajte normalizirani recept i testirajte generirani guest.
Oznake security i compliance
security-hardening instalira i konfigurira opću hardening baseline. Nije sinonim CIS profila. hardening_level u receptu konfiguracijska je oznaka koju interpretiraju generatori za cilj; nije certifikacija niti univerzalno mapiranje na CIS Level 1 ili Level 2.
Feature cis-benchmarks ima specifičniju remediation putanju za Ubuntu 24.04 Level 1. Druge base image ne dobivaju istu ulogu. Točnu granicu opisuje CIS benchmark evidence.
Isto tako, uključivanje featurea imenovanog za GxP, HIPAA, SOC 2, PCI DSS, NIST ili DISA ne uspostavlja organizacijsku compliance. Može dodati pakete, konfiguraciju i testove koji doprinose dokazima za zasebno vođenu procjenu.
Sigurno kombiniranje featurea
- Počnite s najmanjim skupom koji izražava traženo ponašanje.
- Validirajte recept i pregledajte normalizirani izlaz za odbačena ili izvedena polja.
- Pregledajte prošireni plan paketa i hookova.
- Pokrenite build jednom i pratite njegov trajni build ID.
- Pokrenite assertions specifične za feature u bootanom guestu.
- Neuspjehe i namjerne iznimke zapišite eksplicitno.
- Dodajte još jedan feature tek kad razumijete trenutnu baseline.
Kanonski JSON oblik opisuje Recipe Schema.