Build funkcijos
Feature yra pavadintas build modulis. Jo registro įrašas gali deklaruoti paketus vienai ar kelioms distribucijos šeimoms ir taip pat gali apimti build hooks, aliasus, capability metadata ir guest assertions.
Feature pridėjimas išreiškia ketinimą. Pats savaime jis neįrodo, kad kiekvienas paketas buvo prieinamas, kiekvienas hook paleistas arba rezultato elgsena veikia tiksliniame atvaizde. Recepto validavimas, build užbaigimas ir guest patikra yra atskiri vartai.
Rasti dabartinį feature rinkinį
Naudokite feature selector arba feature-catalog API diegtoje OpenFactory versijoje. Ši išvestis yra autoritetinga veikiančiai versijai. Statiniai sąrašai greitai pasensta, o kai kurie registro įrašai paslėpti, nes jie palaiko vidinius fixtures arba nebaigtas integracijas.
Prieš renkantis feature, patikrinkite:
- ar jis matomas ir įjungtas jūsų paskyrai;
- ar deklaruoja paketus recepto distribucijos šeimai;
- ar išoriniai šaltiniai prisegti ir gaunami;
- ar turi assertions, kurie įrodo jums reikalingą elgesį; ir
- ar nesikerta su kitu pageidaujamu moduliu.
Reprezentatyvios kategorijos
Registras šiuo metu apima modulius kategorijose, pavyzdžiui:
| Kategorija | Pavyzdžiai | Reikalaujami įrodymai |
|---|---|---|
| Desktop | desktop-kde, desktop-gnome-minimal, krita, kdenlive | sesijos tipas, įdiegti paketai, paleidiklio elgsena ir tikras darbalaukio smoke test |
| Komandinė eilutė ir kūrimas | git, curl, python, nodejs, rust | paketų ir versijų inventorius bei vykdomųjų smoke testai |
| Infrastruktūra | nginx, postgresql, redis, docker, ansible | tarnybos konfigūracija, enabled/running būsena, prievadai ir application-level sveikata |
| Saugumas | firewall, audit-logging, security-hardening, apparmor | sugeneruota policy, aktyvi runtime būsena, neigiami testai ir dokumentuotos išimtys |
| Atitikties orientuoti | cis-benchmarks, gxp, disa-stig, nist-800-53 | tikslus benchmark ar control šaltinis, taikomumas, rezultatai pagal control ir žmogiškas sprendimas |
| AI įrankiai | ollama, alpaca, aider, codex-cli | prisekta source ar package kilmė, modelių atsisiuntimo riba, paleidimo testas ir resursų reikalavimai |
Pavyzdžiai nėra suderinamumo matrica. Feature pavadinimas gali egzistuoti, kol konkretaus distribucijos įgyvendinimas lieka dalinis.
Feature, paketas ir tarnyba skiriasi
os.featuresrenka registruotus build modulius.os.packagesprašo vietinio package manager konkrečių paketų.os.servicesnurodo pavadintą enablement ir konfigūracijos ketinimą.
Pavyzdžiui:
{
"os": {
"features": ["ssh", "firewall"],
"packages": ["curl", "jq"],
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 22,
"disable_password_auth": true
}
}
]
}
}Galiojanti service config vis tiek gali turėti raktą, kurio generatorius nenaudoja. Peržiūrėkite normalizuotą receptą ir išbandykite sugeneruotą guest.
Saugumo ir atitikties etiketės
security-hardening įdiegia ir sukonfigūruoja bendrą hardening baseline. Tai nėra tas pats, kas CIS profilis. Recepto hardening_level yra konfigūracijos etiketė, kurią interpretuoja tikslui specifiniai generatoriai; tai nėra sertifikavimas ar universalus atitikimas CIS Level 1 ar Level 2.
Feature cis-benchmarks turi tikslesnį Ubuntu 24.04 Level 1 remediation kelią. Kitos bazės negauna tos pačios rolės. Tiksliai ribą žr. CIS benchmark įrodymai.
Taip pat GxP, HIPAA, SOC 2, PCI DSS, NIST ar DISA pavadintos feature įjungimas nenustato organizacinės atitikties. Jis gali pridėti paketus, konfigūraciją ir testus, kurie prisideda prie atskirai valdomo vertinimo įrodymų.
Feature derinimas saugiai
- Pradėkite nuo mažiausio rinkinio, kuris išreiškia pageidaujamą elgesį.
- Validuokite receptą ir peržiūrėkite normalizuotą išvestį dėl atmestų ar išvestinių laukų.
- Peržiūrėkite išplėstą paketų ir hook planą.
- Vieną kartą paleiskite build ir sekite jo ilgalaikį build ID.
- Paleiskite feature specifinius assertions paleistame guest.
- Aiškiai užfiksuokite klaidas ir tyčias išimtis.
- Kitą feature pridėkite tik supratę dabartinę baseline.
Kanoninei JSON formai žr. Recepto schema.