Skip to Content
Building Os构建功能

构建功能

功能是一个命名的构建模块。它的注册表项可以声明一个或多个发行版系列的包,还可能包括构建挂钩、别名、功能元数据和来宾断言。

添加功能表达了意图。它本身并不能证明每个包都是可用的,每个钩子都运行过,或者结果行为在目标图像上有效。配方验证、构建完成和访客验证是单独的门。

查找当前的功能集

在已部署的 OpenFactory 版本中使用功能选择器或功能目录 API。该输出对于正在运行的版本具有权威性。静态列表很快就会过时,并且某些注册表项会被隐藏,因为它们支持内部固定装置或不完整的集成。

在选择功能之前,请检查:

  • 它是否对您的帐户可见并启用;
  • 是否声明配方发行系列的包;
  • 其外部来源是否固定且可检索;
  • 是否有断言来证明您需要的行为;和
  • 是否与另一个请求的模块冲突。

代表类别

该注册表当前包含以下类别的模块:

类别示例需要的证据
桌面desktop-kdedesktop-gnome-minimalkritakdenlive会话类型、已安装的软件包、启动器行为和真实的桌面冒烟测试
命令行和开发gitcurlpythonnodejsrust包/版本清单和可执行冒烟测试
基础设施nginxpostgresqlredisdockeransible服务配置、启用/运行状态、端口和应用程序级运行状况
安全firewallaudit-loggingsecurity-hardeningapparmor生成的策略、活动运行时状态、负面测试和记录的异常
合规为本cis-benchmarksgxpdisa-stignist-800-53准确的基准/控制来源、适用性、每个控制结果和人性化
人工智能工具ollamaalpacaaidercodex-cli固定源/包来源、模型下载边界、启动测试和资源需求

这些示例不是兼容性矩阵。功能名称可以存在,而特定的分发实现仍然是部分的。

功能、套餐和服务不同

  • os.features 选择已注册的构建模块。
  • os.packages 向本机包管理器询问特定包。
  • os.services 提供命名的启用和配置意图。

例如:

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

有效的服务配置仍然可以包含生成器不使用的密钥。检查标准化配方并测试生成的来宾。

安全和合规标签

security-hardening 安装并配置通用强化基线。它不是 CIS 配置文件的同义词。配方的hardening_level是由特定于目标的生成器解释的配置标签;它不是 CIS 1 级或 2 级的认证或通用映射。

cis-benchmarks 功能具有更具体的 Ubuntu 24.04 1 级修复路径。其他基地不承担​​同样的角色。请参阅CIS 基准证据 了解确切的边界。

同样,启用以 GxP、HIPAA、SOC 2、PCI DSS、NIST 或 DISA 命名的功能并不能建立组织合规性。它可以添加包、配置和测试,为单独管理的评估提供证据。

安全地组合功能

  1. 从表达所请求行为的最小集合开始。
  2. 验证配方并检查规范化输出中是否存在丢弃或推断的字段。 3.审查扩展包和挂钩计划。
  3. 构建一次并遵循其持久构建 ID。
  4. 在引导的客户机中运行特定于功能的断言。
  5. 明确记录故障和故意的异常情况。
  6. 仅在了解当前基线后添加另一个功能。

有关规范的 JSON 形状,请参阅食谱架构