项目简介
本项目是基于Go语言开发的运行时资源管理系统,主要用于同步部署运行时和流水线运行时的各类资源,管理命名空间、资源同步、权限授予等操作。
项目的主要特性和功能
同步部署运行时
- 在管理命名空间同步CodeRepo资源。
- 同步产品命名空间,并在其中同步RoleBinding资源。
- 同步运行时命名空间,并在其中同步运行时SA。
- 建立产品命名空间和运行时命名空间的父子关系。
- 在ArgoCD中同步AppProject和Application。
- 在ArgoCD中同步Group,并授予相应权限。
同步流水线运行时
- 创建产品和流水线运行时的命名空间。
- 创建事件监听器,接收外部事件并转为内部事件。
- 创建流水线触发器,根据内部事件触发指定流水线。
- 创建流水线模板同步程序,同步流水线模板。
- 授权该运行时所属产品下的用户管理流水线实例的权限。
安装使用步骤
准备
构建
在项目根目录下执行以下命令:
shell
go mod tidy
go build -o manager main.go
运行
shell
./manager
单元测试
- 安装Vault:
shell wget https://releases.hashicorp.com/vault/1.10.4/vault_1.10.4_linux_amd64.zip unzip vault_1.10.4_linux_amd64.zip sudo mv vault /usr/local/bin/
- 安装Ginkgo(此处原文未提供安装命令,请补充完整后使用)。
- 执行单元测试:
shell make test
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】