
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Cfhighlander是一款面向CloudFormation模板开发者的功能丰富的DSL工具,旨在通过组件化方式简化AWS基础设施的编码工作。它允许开发者将AWS资源或资源集抽象为组件,通过Cfhighlander DSL和https://github.com/cfndsl/cfndsl%E8%BF%9B%E8%A1%8C%E6%8F%8F%E8%BF%B0%EF%BC%8C%E6%94%AF%E6%8C%81%E7%BB%84%E4%BB%B6%E7%9A%84%E7%BB%A7%E6%89%BF%E4%B8%8E%E7%BB%84%E5%90%88%EF%BC%8C%E5%AE%9E%E7%8E%B0%E6%A8%A1%E6%9D%BF%E7%9A%84%E9%AB%98%E6%95%88%E7%94%9F%E6%88%90%E3%80%81%E9%AA%8C%E8%AF%81%E5%92%8C%E5%8F%91%E5%B8%83%E3%80%82
适用于需要管理复杂AWS基础设施的开发者,尤其适合:
通过RubyGems安装:
shellgem install cfhighlander
创建application.cfhighlander.rb文件:
rubyCfhighlanderTemplate do # 显式配置VPC组件 vpc_config = { 'maximum_availability_zones' => 2 } # 声明VPC组件并传递参数 Component name: 'vpc', template: 'vpc@master.snapshot', config: vpc_config do parameter name: 'Az0', value: FnSelect(0, FnGetAZs()) parameter name: 'Az1', value: FnSelect(1, FnGetAZs()) parameter name: 'DnsDomain', value: 'example.com' parameter name: 'StackMask', value: '16' end # 编译后的CloudFormation模板会自动将VPC的计算子网传递给ECS集群 Component name: 'ecs', template:'ecs@master.snapshot' do parameter name: 'DnsDomain', value: 'example.com' end # 添加环境类型映射 addMapping('EnvironmentType',{ 'development' => { 'MaxNatGateways'=>'1', 'EcsAsgMin' => 1, 'EcsAsgMax' => 1, 'KeyName' => 'default', 'InstanceType' => 't2.large', 'SingleNatGateway' => true } }) end
编译模板:
shellcfcompile application
查看生成的模板中自动处理的子网参数传递:
shellcat out/yaml/application.compiled.yaml | grep -A3 SubnetCompute0
theonestack组织提供了多个公开可用的组件:
Cfhighlander DSL通过四个阶段生成CloudFormation模板:
安装后可通过cfhighlander命令使用,主要命令包括:
bashcfhighlander commands: cfhighlander cfcompile component[@version] -f, --format=FORMAT # 编译Highlander组件为CloudFormation模板 cfhighlander cfpublish component[@version] -f, --format=FORMAT # 发布CloudFormation模板及其引用的子组件 cfhighlander configcompile component[@version] # 编译Highlander组件配置 cfhighlander dslcompile component[@version] -f, --format=FORMAT # 编译组件配置并创建cfndsl模板 cfhighlander help [COMMAND] # 显示命令帮助 cfhighlander publish component[@version] [-v published_version] # 发布组件源代码
关键命令说明
cfcompile:生成指定格式(默认yaml)的CloudFormation模板,可通过--validate选项验证模板
shellcfcompile application --format yaml --validate
cfpublish:生成并发布模板到S3,自动创建启动CloudFormation栈的URL
shellcfpublish vpc@1.2.0 --dstbucket my-templates-bucket --dstprefix published-templates
组件配置有四个层级(优先级从低到高):
component.config.yamlcomponents键或单独的component.config.yaml文件Component语句的config参数config_export导出的全局或组件特定配置声明组件
rubyCfhighlanderTemplate do # 基本用法 Component 'vpc' # 指定版本和名称 Component name: 'ecs_cluster', template: 'ecs@master.snapshot' # 条件组件(功能开关) Component name: 'optional_bastion', template: 'bastion', conditional: true, enabled: false end
参数定义
rubyCfhighlanderTemplate do Parameters do # 组件参数(可从外部组件传入或自动连接) ComponentParam 'BucketName', 'default-value', isGlobal: true # 映射参数(从外部组件映射中获取值) MappingParam 'InstanceType' do map 'EnvironmentType' key 'Environment' attribute 'InstanceType' end end end
ruby# Inline模式示例 Component name: 'vpc', template: 'vpc@latest', render: 'Inline'
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务