ARO-HCP
描述
本仓库包含使用托管控制平面(HCP)架构的 Red Hat OpenShift on Azure (ARO) 的代码、配置和部署流水线。它包括 ARM 资源提供程序(前端/后端)、集群服务集成、管理集群控制器以及所有 Azure 基础设施即代码。
每个组件都封装在一个顶级目录中,并拥有自己的 Makefile。根 Makefile 提供了用于构建所有组件和管理部署的目标。
[!TIP] Make 选项 Make 选项描述了如何自定义 make 构建,例如定义要使用的容器引擎或限制并行作业数。
开发环境设置
有关构建用于测试的开发环境的说明 -- 请查阅开发基础设施指南
有关构建和测试前端的说明 -- 请查看前端的README
远程容器开发环境设置
该设置基于 VSCode 远程容器。更多信息请参见此处。
VSCode 应从官方下载页面安装(而非其他来源,如 flatpak)。这是为了避免与下文提到的必需扩展可能出现的 docker 兼容性问题。
预定义的容器位于 .devcontainer,并带有自定义的 postCreate.sh。
要使用它,请在 VSCode 中安装Remote - Containers扩展。
VSCode 将安装以下扩展:
- golang.go
- editorconfig.editorconfig
- ms-azuretools.vscode-bicep
- ms-vscode.azurecli
- arjun.swagger-viewer
在容器设置过程中,它还会安装 golangci-lint,这是 go 语言 linting 的事实标准。
除此之外,它还配置了 Bicep CLI 和带有 Bicep 扩展的 Azure CLI, 以简化基础设施代码的开发。
最后,容器还包含 nodejs 并配置了 typespec,这是 ARM 契约开发所必需的,因为现在 ARM 模板中必须包含 typespec。
最重要的是,容器被配置为使用与主机相同的用户,因此你可以使用相同的 git config 和 ssh keys。
它在 .devcontainer/devcontainer.json 文件中实现为主机挂载。
"mounts": [
"source=${localEnv:HOME}/.gitconfig,target=/home/vscode/.gitconfig,type=bind,consistency=cached"
],
Mac 用户须知
如果你在 MacOS 上进行开发,你需要同时安装 docker cli(而非 docker desktop)和 colima。使用 podman desktop 时,devcontainer 在 vscode 中运行曾出现问题。
brew install docker
brew install colima
在运行你的 devcontainer 之前,请确保 colima 已启动。
colima start --cpu 4 --memory 8 --vz-rosetta --vm-type=vz
然后,重新构建并连接到开发容器:cmd + shift + P => dev containers: rebuild container