Funkce buildu
Feature je pojmenovaný build modul. Záznam v registru může deklarovat balíčky pro jednu nebo více rodin distribucí a může také obsahovat build hooks, aliasy, metadata capability a guest assertions.
Přidání feature vyjadřuje záměr. Samo o sobě neprokazuje, že byl k dispozici každý balíček, že proběhl každý hook, nebo že výsledné chování na cílovém obrazu funguje. Validace receptu, dokončení buildu a ověření guest jsou oddělené brány.
Najděte aktuální sadu feature
Použijte feature selector nebo feature-catalog API v nasazené verzi OpenFactory. Tento výstup je závazný pro běžící verzi. Statické seznamy rychle zastarají a některé záznamy registru jsou skryté, protože podporují interní fixtures nebo neúplné integrace.
Před výběrem feature zkontrolujte:
- zda je viditelná a povolená pro váš účet;
- zda deklaruje balíčky pro rodinu distribuce receptu;
- zda jsou externí zdroje připnuté a dostupné;
- zda má assertions, které prokazují chování, které potřebujete; a
- zda koliduje s jiným požadovaným modulem.
Reprezentativní kategorie
Registr aktuálně obsahuje moduly v kategoriích jako:
| Kategorie | Příklady | Požadovaný důkaz |
|---|---|---|
| Desktop | desktop-kde, desktop-gnome-minimal, krita, kdenlive | typ relace, nainstalované balíčky, chování launcheru a skutečný desktop smoke test |
| Příkazová řádka a vývoj | git, curl, python, nodejs, rust | inventář balíčků/verzí a smoke testy executable |
| Infrastruktura | nginx, postgresql, redis, docker, ansible | konfigurace služby, stav enabled/running, porty a health na úrovni aplikace |
| Security | firewall, audit-logging, security-hardening, apparmor | vygenerovaná policy, aktivní runtime stav, negativní testy a zdokumentované výjimky |
| Zaměřené na compliance | cis-benchmarks, gxp, disa-stig, nist-800-53 | přesný zdroj benchmark/control, použitelnost, výsledky po control a lidské posouzení |
| Nástroje AI | ollama, alpaca, aider, codex-cli | připnutá provenance source/package, hranice stahování modelu, test spuštění a požadavky na zdroje |
Příklady netvoří matici kompatibility. Název feature může existovat, zatímco implementace pro konkrétní distribuci zůstává částečná.
Feature, balíček a služba jsou různé věci
os.featuresvybírá registrované build moduly.os.packagesžádá nativní package manager o konkrétní balíčky.os.servicesdodává pojmenovaný záměr zapnutí a konfigurace.
Například:
{
"os": {
"features": ["ssh", "firewall"],
"packages": ["curl", "jq"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 22,
"disable_password_auth": true
}
}
]
}
}Platná konfigurace služby může stále obsahovat klíč, který generátor nezpracovává. Prohlédněte normalizovaný recept a otestujte vygenerovaného guest.
Štítky security a compliance
security-hardening instaluje a konfiguruje obecnou hardening baseline. Není synonymem CIS profilu. hardening_level v receptu je konfigurační štítek, který interpretují generátory pro konkrétní cíl; není certifikací ani univerzálním mapováním na CIS Level 1 nebo Level 2.
Feature cis-benchmarks má specifičtější remediation cestu pro Ubuntu 24.04 Level 1. Jiné base image ji ve stejné roli nedostávají. Přesnou hranici popisuje CIS benchmark evidence.
Stejně tak zapnutí feature pojmenovaného pro GxP, HIPAA, SOC 2, PCI DSS, NIST nebo DISA nezakládá organizační compliance. Může přidat balíčky, konfiguraci a testy, které přispívají důkazům pro samostatně řízené hodnocení.
Bezpečné kombinování feature
- Začněte nejmenší sadou, která vyjadřuje požadované chování.
- Validujte recept a prohlédněte normalizovaný výstup kvůli zahozeným nebo odvozeným polím.
- Zkontrolujte rozšířený plán balíčků a hooků.
- Build spusťte jednou a sledujte jeho trvalé build ID.
- Spusťte assertions specifické pro feature v nabootovaném guest.
- Selhání a záměrné výjimky zaznamenejte explicitně.
- Další feature přidávejte až po pochopení aktuální baseline.
Kanonický tvar JSON popisuje Recipe Schema.