Skip to Content
Building OsBuild-ominaisuudet

Build-ominaisuudet

Feature on nimetty build-moduuli. Rekisterimerkintä voi deklaroida paketteja yhdelle tai useammalle jakeluperheelle ja voi sisältää myös build hookeja, aliaksia, capability-metatietoa ja guest assertioneja.

Featuren lisääminen ilmaisee tarkoituksen. Se ei itsessään todista, että jokainen paketti oli saatavilla, jokainen hook ajettiin tai että lopputuloksen käyttäytyminen toimii kohdekuvassa. Reseptin validointi, buildin valmistuminen ja guest-varmennus ovat erillisiä portteja.

Löydä nykyinen feature-joukko

Käytä feature selector -valitsinta tai feature-catalog API -rajapintaa käyttöönotetussa OpenFactory-versiossa. Tuota tulosta pidetään voimassa olevana juuri käynnissä olevalle versiolle. Staattiset listat vanhentuvat nopeasti, ja osa rekisterimerkinnöistä on piilotettu, koska ne tukevat sisäisiä fixtureja tai keskeneräisiä integraatioita.

Ennen featuren valintaa tarkista:

  • onko se näkyvissä ja käytössä tililläsi;
  • deklaroiko se paketteja reseptin jakeluperheelle;
  • onko ulkoiset lähteet kiinnitetty ja haettavissa;
  • onko sillä assertioneja, jotka todistavat tarvitsemasi käyttäytymisen; ja
  • onko se ristiriidassa toisen pyydetyn moduulin kanssa.

Edustavia kategorioita

Rekisterissä on tällä hetkellä moduuleja kategorioissa kuten:

KategoriaEsimerkkejäVaadittava todiste
Desktopdesktop-kde, desktop-gnome-minimal, krita, kdenliveistuntotyyppi, asennetut paketit, launcher-käyttäytyminen ja oikea desktop-smoketest
Komentorivi ja kehitysgit, curl, python, nodejs, rustpaketti-/versioinventaario ja executable-smoketestit
Infrastruktuuringinx, postgresql, redis, docker, ansiblepalvelun konfiguraatio, enabled/running-tila, portit ja sovellustason health
Securityfirewall, audit-logging, security-hardening, apparmorgeneroitu policy, aktiivinen runtime-tila, negatiiviset testit ja dokumentoidut poikkeukset
Compliance-painotteinencis-benchmarks, gxp, disa-stig, nist-800-53tarkka benchmark-/control-lähde, soveltuvuus, tulokset per control ja ihmisen disposition
AI-työkalutollama, alpaca, aider, codex-clikiinnitetty source-/package-provenance, mallilatauksen raja, launchtest ja resurssivaatimukset

Esimerkit eivät ole yhteensopivuusmatriisi. Feature-nimi voi olla olemassa, vaikka tietyn jakelun toteutus on vielä osittainen.

Feature, paketti ja palvelu ovat eri asioita

  • os.features valitsee rekisteröidyt build-moduulit.
  • os.packages pyytää natiivia package manageria asentamaan tietyt paketit.
  • os.services antaa nimetyn enablement- ja konfiguraatiotarkoituksen.

Esimerkki:

{ "os": { "features": ["ssh", "firewall"], "packages": ["curl", "jq"], "services": [ { "name": "ssh", "enabled": true, "config": { "port": 22, "disable_password_auth": true } } ] } }

Kelvollinen palvelun config voi silti sisältää avaimia, joita generaattori ei käytä. Tarkista normalisoitu resepti ja testaa generoitu guest.

Security- ja compliance-tunnisteet

security-hardening asentaa ja konfiguroi yleisen hardening-perustason. Se ei tarkoita samaa kuin CIS-profiili. Reseptin hardening_level on konfiguraatiotunniste, jonka kohdekohtaiset generaattorit tulkitsevat; se ei ole sertifiointi eikä yleinen vastine CIS Level 1:lle tai Level 2:lle.

Feature cis-benchmarks tarjoaa tarkemman Ubuntu 24.04 Level 1 -remediaatiopolun. Muut baset eivät saa samaa roolia. Katso CIS benchmark evidence tarkasta rajasta.

Vastaavasti GxP-, HIPAA-, SOC 2-, PCI DSS-, NIST- tai DISA-nimisen featuren käyttöönotto ei luo organisaation compliancea. Se voi lisätä paketteja, konfiguraatiota ja testejä, jotka tuottavat todisteita erikseen hallittuun arviointiin.

Yhdistä featuret turvallisesti

  1. Aloita pienimmästä joukosta, joka ilmaisee pyydetyn käyttäytymisen.
  2. Validoi resepti ja tarkista normalisoitu tuloste hylätyistä tai päätellyistä kentistä.
  3. Käy läpi laajennettu paketti- ja hook-suunnitelma.
  4. Rakenna kerran ja seuraa pysyvää build ID:tä.
  5. Aja feature-kohtaiset assertionit käynnistetyssä guestissa.
  6. Kirjaa virheet ja tarkoitukselliset poikkeukset selvästi.
  7. Lisää uusi feature vasta kun nykyinen perustaso on ymmärretty.

Kanonicesta JSON-muodosta, katso Recipe Schema.