System 文件组织
系统围绕下面几类文件组织。其中 _gal/、mod_list.yml、workflows/、setting/list.yml 只属于 GXL 类型(见 目录结构)。
根目录文件
sys-prj.yml:系统根配置version.txt:版本标记.gitignore
_gal/(仅 GXL 系统)
adm.gxl:管理流程入口work.gxl:执行流程入口project.toml:GXL 工程配置
sys/
sys_model.yml:系统模型定义(name/model/kind/vender)docker-compose.yaml:系统级 compose 定义(sys new默认生成,用${VAR}占位;放在系统根(旧布局)仍受支持)mod_list.yml:模块列表定义(GXL;可选)merged_vars.yml:聚合变量(sys update生成,需入库)setting/list.yml:设置列表(可选)setting/vars.yml:设置变量定义(源)workflows/operators.gxl:系统操作工作流(GXL;可选)
values/(本地化输入)
sys_value.yml:值文件。sys update首次生成的是注释模板(可用变量全部以注释列出),取消注释需要覆盖的项即可;保持注释的项取系统默认值。value.yml:额外覆盖层,优先级最高(适合入库的客户覆盖)。setting/mod_value.yml、<mod>/mod_value.yml:本地化辅助值文件。
.env
gops sys localize 生成的非密钥配置(KEY=VALUE),供 docker compose 消费。密钥不写入 .env。compose 项目目录锚定系统根,因此 .env 位于系统根(而非默认的 sys/)。
文件职责与本地化
.env = sys/merged_vars.yml 默认值 ⊕ values/sys_value.yml ⊕ values/value.yml
后两者都是可选、可部分覆盖:只写需要修改的项,其余取系统默认值。
sys_model.yml:描述系统本身(含kind),属于系统对象定义层mod_list.yml:描述系统包含哪些模块,属于系统组合层setting/vars.yml/setting/list.yml:系统设置层merged_vars.yml:已解析的聚合变量(系统默认值的来源)operators.gxl:工作流层
当前 CLI 与文件关系
gops sys new:初始化文件骨架(按kind决定是否生成 GXL 骨架)gops sys update:解析变量 →sys/merged_vars.yml,并初始化values/gops sys package:先update再打包为<name>-<version>.tar.gzgops sys localize:按上述规则生成.envgops sys setting --init:初始化系统设置相关文件
不再使用的旧说法
SYS_BIN = "gsys"/MOD_BIN = "gmod"(GXL 模板中已改为"gops sys"/"gops mod")- “系统级 vars.yml 必然位于 sys/ 根目录”
- “sys/mods/ 是固定初始结构”(模块现在按目标模型分组到
sys/<model>/mods/<mod>/,由gops sys update生成) - “系统变量文件叫
sys/sys_vars.yml”(已重命名为merged_vars.yml,旧名仅作读取兼容)