Skip to Content
Building OsZnačajke builda

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:

KategorijaPrimjeriPotreban dokaz
Desktopdesktop-kde, desktop-gnome-minimal, krita, kdenlivetip sesije, instalirani paketi, ponašanje launcher-a i stvarni desktop smoke test
Naredbeni redak i razvojgit, curl, python, nodejs, rustinventar paketa/verzija i smoke testovi executable
Infrastrukturanginx, postgresql, redis, docker, ansiblekonfiguracija usluge, stanje enabled/running, portovi i health na razini aplikacije
Securityfirewall, audit-logging, security-hardening, apparmorgenerirana policy, aktivno runtime stanje, negativni testovi i dokumentirane iznimke
Usmjereno na compliancecis-benchmarks, gxp, disa-stig, nist-800-53točan izvor benchmark/control, primjenjivost, rezultati po control i ljudska procjena
AI alatiollama, alpaca, aider, codex-clifiksirana 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.features bira registrirane build module.
  • os.packages traži od native package managera određene pakete.
  • os.services daje 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

  1. Počnite s najmanjim skupom koji izražava traženo ponašanje.
  2. Validirajte recept i pregledajte normalizirani izlaz za odbačena ili izvedena polja.
  3. Pregledajte prošireni plan paketa i hookova.
  4. Pokrenite build jednom i pratite njegov trajni build ID.
  5. Pokrenite assertions specifične za feature u bootanom guestu.
  6. Neuspjehe i namjerne iznimke zapišite eksplicitno.
  7. Dodajte još jedan feature tek kad razumijete trenutnu baseline.

Kanonski JSON oblik opisuje Recipe Schema.