Compare commits

..

242 Commits

Author SHA1 Message Date
Zexi Li
ca7f5495fe Merge pull request #5393 from swordqiu/automated-cherry-pick-of-#5392-upstream-release-3.1
Automated cherry pick of #5392: fix: scoped resource should override FetchOwnerId
2020-03-07 15:51:52 +08:00
Qiu Jian
34b7d1e9c3 fix: scoped resource should override FetchOwnerId 2020-03-07 15:38:46 +08:00
Zexi Li
13a3e1c778 Merge pull request #5389 from swordqiu/automated-cherry-pick-of-#5388-upstream-release-3.1
Automated cherry pick of #5388: fix: keystone prefers internal endpoint type
2020-03-07 11:07:29 +08:00
Qiu Jian
603b3f8b8e fix: keystone prefers internal endpoint type 2020-03-06 21:45:21 +08:00
yunion-ci-robot
2c1e0a4fe2 Merge pull request #5383 from rainzm/automated-cherry-pick-of-#5378-upstream-release-3.1
Automated cherry pick of #5378: fix: Add 'scope=system' and 'system' for Caches when querying from Keystone.
2020-03-06 19:19:52 +08:00
Zexi Li
f9a9f92003 Merge pull request #5373 from swordqiu/automated-cherry-pick-of-#5372-upstream-release-3.1
Automated cherry pick of #5372: fix: no scope shcedtag should be visible to all
2020-03-06 18:32:28 +08:00
yunion-ci-robot
8d1c0ba9c9 Merge pull request #5382 from tb365/automated-cherry-pick-of-#5379-upstream-release-3.1
Automated cherry pick of #5379: huawei reset password bugfix
2020-03-06 18:10:50 +08:00
Rain
845ba285fc fix: Add 'scope=system' and 'system' for Caches when querying from Keystone.
1. Query 'scope=system' and 'system=true' is neccessary when fetching all users
   or groups from Keystone.
   Without these, users and groups in other domains (non-caller domains),
   as well as system-level users, cannot be detected.
2. Query 'scope=system' is neccessary when fetching all project from Keystone.
2020-03-06 17:15:23 +08:00
TangBin
72f1e58833 ctyun region name fix 2020-03-06 16:52:53 +08:00
TangBin
1cc1ff7213 huawei reset password bugfix 2020-03-06 16:52:53 +08:00
Qiu Jian
6c15c80abb fix: no scope shcedtag should be visible to all 2020-03-06 15:23:27 +08:00
Yousong Zhou
7869e3d134 Merge pull request #5371 from yousong/automated-cherry-pick-of-#5226-upstream-release-3.1
Automated cherry pick of #5226: lbbackend: fix nil ref when getting details
2020-03-06 13:38:43 +08:00
Yousong Zhou
2e0efc6c4a lbbackend: fix nil ref when getting details
Return arguments of lbbackend.getVpc() can be both nil

	[E 200224 10:13:18 httperrors.HTTPError(httperrors.go:53)] Send error {"fields":["runtime error: invalid memory address or nil pointer dereference"],"id":"Internal server error: {0}"}
	...
	panic(0x27da0c0, 0x57f4ff0)
		/usr/local/go/src/runtime/panic.go:522 +0x1b5
	yunion.io/x/onecloud/pkg/compute/models.(*SLoadbalancerBackend).GetExtraDetails(0xc0002af680, 0x33cde20, 0xc0010e61e0, 0x34246c0, 0xc008893de0, 0x341d940, 0xc012fe69d0, 0x1, 0x0, 0x0, ...)
		/data/git/yunion-build/work/go/src/yunion.io/x/onecloud/pkg/compute/models/loadbalancerbackends.go:314 +0x37c
	reflect.Value.call(0x2d87a00, 0xc0002af680, 0x8a13, 0x2db0aa8, 0x4, 0xc0044ad680, 0x4, 0x4, 0x2bd5d60, 0xc002a29cf0, ...)
		/usr/local/go/src/reflect/value.go:447 +0x461
	reflect.Value.Call(0x2d87a00, 0xc0002af680, 0x8a13, 0xc0044ad680, 0x4, 0x4, 0x2d87a00, 0xc0002af680, 0x16)
		/usr/local/go/src/reflect/value.go:308 +0xa4
	yunion.io/x/onecloud/pkg/cloudcommon/db.callFunc(0x2d87a00, 0xc0002af680, 0x8a13, 0xc000951688, 0x4, 0x4, 0xc0002af680, 0x8a13, 0x2dc0527, 0xb, ...)
		/data/git/yunion-build/work/go/src/yunion.io/x/onecloud/pkg/cloudcommon/db/caller.go:78 +0x397
	...
	[I 200224 10:13:18 appsrv.(*Application).ServeHTTP(appsrv.go:237)] MfQCvNyik-obRBzFjFZy5ARfXcE= 500 5c1d82 GET /loadbalancerbackends?backend_group=Yunion-Tools&details=true&limit=20&offset=0 (10.40.156.64:57606) 57.90ms

Fixes 76d974f6d ("feature: api -> response struct")
2020-03-06 13:36:06 +08:00
Zexi Li
1d440b57ce Merge pull request #5362 from swordqiu/automated-cherry-pick-of-#5361-upstream-release-3.1
Automated cherry pick of #5361: fix: allow project do user-list, group-list, returns current project user and group
2020-03-06 13:03:32 +08:00
Zexi Li
e3c564bd56 Merge pull request #5367 from rainzm/automated-cherry-pick-of-#5366-upstream-release-3.1
Automated cherry pick of #5366: fix/notify: Fix the resend mechanism
2020-03-06 12:46:02 +08:00
yunion-ci-robot
45e04c4d50 Merge pull request #5364 from wanyaoqi/automated-cherry-pick-of-#5363-upstream-release-3.1
Automated cherry pick of #5363: fix disk billing type on guest is postpaid
2020-03-06 12:29:50 +08:00
Rain
ee0f6de3b0 fix/notify: Fix the resend mechanism 2020-03-06 11:12:34 +08:00
wanyaoqi
608be69260 fix disk billing type on guest is postpaid 2020-03-05 20:33:19 +08:00
Qiu Jian
88fa459aac fix: allow project do user-list, group-list, returns current project user and group 2020-03-05 20:09:58 +08:00
yunion-ci-robot
b4bb5d902f Merge pull request #5360 from wanyaoqi/automated-cherry-pick-of-#5359-upstream-release-3.1
Automated cherry pick of #5359: enable network list filter by host show vpc networks
2020-03-05 20:00:49 +08:00
wanyaoqi
7f467ab3a7 enable network list filter by host show vpc networks 2020-03-05 19:33:17 +08:00
yunion-ci-robot
5c1714d11d Merge pull request #5357 from rainzm/automated-cherry-pick-of-#5353-upstream-release-3.1
Automated cherry pick of #5353: feature(notify): Add query and return value for contact UPDATE interface
2020-03-05 19:03:51 +08:00
Rain
5f36cbb31c feature(notify): Add query and return value for contact UPDATE interface
1. Add same return value with contact GET interface when updating
2. Add pull params for query to pull subcontact by mobile number.
   For example, pull user_id from dingtalk throught user's mobile
   number.
3. Add corresponding feature based on above for climc.
4. UserCache will try FetchByName if there is no id matched user when
   fetching users from KeyStone.
2020-03-05 17:10:04 +08:00
Zexi Li
850544ee4d Merge pull request #5352 from rainzm/automated-cherry-pick-of-#5330-upstream-release-3.1
Automated cherry pick of #5330: feat: Add useridByMobile and accessToken cache for feishu
2020-03-05 14:18:38 +08:00
Rain
7ff8935abc feat: Add useridByMobile and accessToken cache for feishu 2020-03-05 14:12:39 +08:00
Zexi Li
874cf21b00 Merge pull request #5346 from swordqiu/hotfix/qj-update-autogen-struct-json-fieldname-3.1
fix: update autogen struct json field name for release/3.1
2020-03-05 14:07:41 +08:00
yunion-ci-robot
231fefed1f Merge pull request #5350 from zexi/automated-cherry-pick-of-#5349-upstream-release-3.1
Automated cherry pick of #5349: monitor: fix alert update not work
2020-03-04 22:54:20 +08:00
Qiu Jian
5dd591f1bb update autogen struct with comment lines 2020-03-04 21:19:54 +08:00
Zexi Li
ab32057ab1 monitor: fix alert update not work 2020-03-04 21:17:27 +08:00
yunion-ci-robot
84fec885e8 Merge pull request #5334 from yousong/automated-cherry-pick-of-#5333-upstream-release-3.1
Automated cherry pick of #5333: hostman: default ovn options from environment
2020-03-04 20:57:11 +08:00
yunion-ci-robot
8057b95ac2 Merge pull request #5344 from ioito/automated-cherry-pick-of-#5343-upstream-release-3.1
Automated cherry pick of #5343: fix: 支持aws rds sync
2020-03-04 20:50:09 +08:00
Qiu Jian
9adac58590 fix: update autogen struct json field name for release/3.1 2020-03-04 20:43:26 +08:00
Qu Xuan
f409fca66b fix: 支持aws rds sync 2020-03-04 20:10:22 +08:00
yunion-ci-robot
edd7136d3e Merge pull request #5341 from zexi/automated-cherry-pick-of-#5340-upstream-release-3.1
Automated cherry pick of #5340: alert notification use joint model
2020-03-04 19:59:09 +08:00
Zexi Li
b1c80010cc Merge pull request #5332 from yousong/automated-cherry-pick-of-#5331-upstream-release-3.1
Automated cherry pick of #5331: build: docker-centos-build: run as root
2020-03-04 19:17:02 +08:00
Zexi Li
5ff255d622 alert notification use joint model 2020-03-04 19:17:00 +08:00
Zexi Li
fb531b4d68 Merge pull request #5338 from swordqiu/automated-cherry-pick-of-#5336-upstream-release-3.1
Automated cherry pick of #5336: fix: keystone user password history check should skip system account
2020-03-04 19:16:27 +08:00
Qiu Jian
03cd5dc63a fix: keystone user password history check should skip system account 2020-03-04 18:44:04 +08:00
Yousong Zhou
fa48381bd7 hostman: default ovn options from environment 2020-03-04 16:43:33 +08:00
Yousong Zhou
38a6decc25 build: docker-centos-build: run as root
so that output file ownership can be properly changed

The Dockerfile was moved to a separate repo for maintenance
2020-03-04 15:10:20 +08:00
Zexi Li
627495d200 Merge pull request #5329 from zexi/automated-cherry-pick-of-#5328-upstream-release-3.1
Automated cherry pick of #5328: fix: docker_push uncomment build bin
2020-03-03 16:18:09 +08:00
Zexi Li
37b823a43c fix: docker_push uncomment build bin 2020-03-03 16:19:29 +08:00
Zexi Li
112eb0d7ae Merge pull request #5325 from swordqiu/automated-cherry-pick-of-#5324-upstream-release-3.1
Automated cherry pick of #5324: fix: clean up pending usage no matter whether object upload is success
2020-03-03 13:14:18 +08:00
yunion-ci-robot
bee314a0e6 Merge pull request #5316 from ioito/automated-cherry-pick-of-#5315-upstream-release-3.1
Automated cherry pick of #5315: fix: 避免旧套餐下架zone信息未知,导致同步rds异常
2020-03-03 02:23:44 +08:00
Qiu Jian
60ef016f42 fix: clean up pending usage no matter whether object upload is success 2020-03-03 02:12:49 +08:00
yunion-ci-robot
da235de896 Merge pull request #5323 from zexi/automated-cherry-pick-of-#5322-upstream-release-3.1
Automated cherry pick of #5322: add monitor service
2020-03-02 20:51:43 +08:00
Zexi Li
68a425ebd5 add monitor service 2020-03-02 20:05:50 +08:00
yunion-ci-robot
15f6b94bec Merge pull request #5321 from yousong/automated-cherry-pick-of-#5320-upstream-release-3.1
Automated cherry pick of #5320: build: docker: chown _output dir to current user:group
2020-03-02 17:47:38 +08:00
Yousong Zhou
d8dd372cb0 build: docker: chown _output dir to current user:group 2020-03-02 17:36:26 +08:00
Qu Xuan
e14a596d9f fix: 避免旧套餐下架zone信息未知,导致同步rds异常 2020-03-02 17:09:13 +08:00
yunion-ci-robot
a0ab40dbb8 Merge pull request #5313 from wanyaoqi/automated-cherry-pick-of-#5312-upstream-release-3.1
Automated cherry pick of #5312: fix get remote address because of request is proxyed by k8s
2020-02-29 00:15:30 +08:00
wanyaoqi
75e49ac8c6 fix get remote address because of request is proxyed by k8s 2020-02-28 22:27:16 +08:00
yunion-ci-robot
590ec32860 Merge pull request #5273 from zhaoxiangchun/automated-cherry-pick-of-#5268-upstream-release-3.1
Automated cherry pick of #5268: 谷歌云multicloud监控
2020-02-28 22:24:29 +08:00
yunion-ci-robot
57fd313b43 Merge pull request #5308 from ioito/automated-cherry-pick-of-#5307-upstream-release-3.1
Automated cherry pick of #5307: 修复aliyun没有权限获取余额问题
2020-02-28 22:05:29 +08:00
yunion-ci-robot
86e4df54d9 Merge pull request #5287 from wanyaoqi/automated-cherry-pick-of-#5286-upstream-release-3.1
Automated cherry pick of #5286: host register use default vpc
2020-02-28 21:55:21 +08:00
yunion-ci-robot
a9f60a7b1a Merge pull request #5306 from yousong/automated-cherry-pick-of-#5305-upstream-release-3.1
Automated cherry pick of #5305: build: github: build vpcagent image
2020-02-28 21:51:28 +08:00
yunion-ci-robot
087de62171 Merge pull request #5278 from ioito/automated-cherry-pick-of-#5277-upstream-release-3.1
Automated cherry pick of #5277: fix: 新加gcp region 翻译
2020-02-28 20:51:21 +08:00
Qu Xuan
8577cb096e 修复aliyun没有权限获取余额问题 2020-02-28 19:55:33 +08:00
Yousong Zhou
2110057bac hostman: disable services on host system when running in container 2020-02-28 18:22:29 +08:00
Yousong Zhou
3c09ce17d0 build: github: build vpcagent image 2020-02-28 18:22:29 +08:00
Zexi Li
dc870afaed Merge pull request #5304 from yousong/automated-cherry-pick-of-#5303-upstream-release-3.1
Automated cherry pick of #5303: build: github: add back ceph devel deps for baremetal-agent
2020-02-28 16:13:30 +08:00
Yousong Zhou
fcb8bba00c build: github: add back ceph devel deps for baremetal-agent 2020-02-28 16:10:28 +08:00
yunion-ci-robot
7996a02a80 Merge pull request #5302 from yousong/automated-cherry-pick-of-#5301-upstream-release-3.1
Automated cherry pick of #5301: build: rename docker-build to docker-centos-build
2020-02-28 15:52:30 +08:00
Yousong Zhou
3349dc46c5 build: github: build host with docker-alpine-build 2020-02-28 15:28:04 +08:00
Yousong Zhou
a85fd307d3 build: add docker-alpine-build 2020-02-28 15:28:04 +08:00
Yousong Zhou
37f1906f72 build: rename docker-build to docker-centos-build 2020-02-28 15:28:04 +08:00
yunion-ci-robot
d5096ad4ee Merge pull request #5296 from tb365/automated-cherry-pick-of-#5295-upstream-release-3.1
Automated cherry pick of #5295: vpc list add param vpc_usable
2020-02-28 14:22:21 +08:00
yunion-ci-robot
24da237790 Merge pull request #5291 from ioito/automated-cherry-pick-of-#5290-upstream-release-3.1
Automated cherry pick of #5290: 添加azure region city信息
2020-02-28 13:17:19 +08:00
TangBin
d34b00ddc4 vpc list add param vpc_usable 2020-02-28 12:10:54 +08:00
Zexi Li
2f47d93215 Merge pull request #5267 from yousong/automated-cherry-pick-of-#5266-upstream-release-3.1
Automated cherry pick of #5266: vpcagent: resolve ovn db address at args validation time
2020-02-28 11:58:13 +08:00
Yousong Zhou
1bbf79528b build: host: adjust build method
- new host-base for native alpine utilities
 - build host with native alpine toolchain
2020-02-28 11:43:12 +08:00
Yousong Zhou
0c0c4fc94d build: build vpcagent container 2020-02-28 11:43:12 +08:00
Yousong Zhou
01de80ed09 hostman: use "uname -m" for for fetch processor type
"uname -p" command from native busybox, coreutils may return "unknown".
CentOS coreutils has a patch fallback to using uts.machine if sysinfo
syscall is not available

Use "uname -m" for maximum compatibility
2020-02-28 11:43:12 +08:00
Yousong Zhou
3861bb6bc1 hostman: work with ovn-controller already in container 2020-02-28 11:43:12 +08:00
Yousong Zhou
681fee1317 sysutils: use remote executor for hostnamectl as far as possible
So that hostnamectl can be omitted in host-base container image
2020-02-28 11:43:12 +08:00
Yousong Zhou
2496a12833 vpcagent: resolve ovn db address at args validation time
Until we find a reliable way to get k8s svc dns name
2020-02-28 11:43:12 +08:00
Yousong Zhou
c76062406d hostman: resolve ovn db address before setting it into ovsdb 2020-02-28 11:43:12 +08:00
Yousong Zhou
df94352e00 ovsutils: add NormalizeDbHost 2020-02-28 11:43:12 +08:00
Qu Xuan
5b9c7ba9f2 添加azure region city信息 2020-02-28 11:37:00 +08:00
yunion-ci-robot
e8dc05084a Merge pull request #5276 from ioito/automated-cherry-pick-of-#5275-upstream-release-3.1
Automated cherry pick of #5275: fix: 谷歌云建议关机下调整配置,部分linux开机也调整不了配置
2020-02-28 09:34:19 +08:00
wanyaoqi
0774a2ded0 host register use default vpc 2020-02-27 23:29:28 +08:00
yunion-ci-robot
50421b06b9 Merge pull request #5270 from tb365/automated-cherry-pick-of-#5269-upstream-release-3.1
Automated cherry pick of #5269: huawei secgroup default vpc id fix
2020-02-27 20:57:18 +08:00
TangBin
7e7825a681 huawei secgroup default vpc id fix 2020-02-27 19:32:10 +08:00
Qu Xuan
45b8a7afd9 fix: 新加gcp region 翻译 2020-02-27 18:54:47 +08:00
Qu Xuan
4ec1fc58d9 fix: 谷歌云建议关机下调整配置,部分linux开机也调整不了配置 2020-02-27 16:53:10 +08:00
zhaoxiangchun
69564365b9 谷歌云multicloud监控
monitor.go文件中GetMonitorData函数:
 1)首先组装参数信息
 2)通过external_id获取相关id信息,根据restAPI文档中的resource格式拼装完成monitoring相关的resource信息
 3)然后通过monitorList函数获取相关的监控信息

更新go.mod google.golang.org所依赖的google.golang.org/api版本
2020-02-27 15:48:52 +08:00
yunion-ci-robot
54caca2d04 Merge pull request #5262 from tb365/automated-cherry-pick-of-#5261-upstream-release-3.1
Automated cherry pick of #5261: ctyun get vm by id fix
2020-02-27 07:19:13 +08:00
yunion-ci-robot
ce3241d046 Merge pull request #5265 from rainzm/automated-cherry-pick-of-#5263-upstream-release-3.1
Automated cherry pick of #5263: fix(esxiagent): SSHKey was not unmarshalled correctly
2020-02-27 07:11:14 +08:00
yunion-ci-robot
40773180fa Merge pull request #5239 from wanyaoqi/automated-cherry-pick-of-#5238-upstream-release-3.1
Automated cherry pick of #5238: fix host init set reserve memory
2020-02-26 23:13:13 +08:00
yunion-ci-robot
32411bf2ec Merge pull request #5237 from tb365/automated-cherry-pick-of-#5236-upstream-release-3.1
Automated cherry pick of #5236: huawei & ctyun security group sync fix
2020-02-26 21:04:13 +08:00
wanyaoqi
c99265e743 makesure /etc/ceph created before connect 2020-02-26 20:44:31 +08:00
Rain
2d4cff4ef1 fix(esxiagent): SSHKey was not unmarshalled correctly 2020-02-26 20:12:47 +08:00
TangBin
bb90b5e8a1 ctyun vpc create fix 2020-02-26 17:40:56 +08:00
TangBin
b1c4bc276f ctyun eip charge type fix 2020-02-26 17:40:56 +08:00
TangBin
1923e36740 ctyun attach disk fix 2020-02-26 17:40:56 +08:00
TangBin
7bec5e6f7e ctyun get vm by id fix 2020-02-26 17:40:56 +08:00
yunion-ci-robot
b40be2608b Merge pull request #5232 from ioito/automated-cherry-pick-of-#5231-upstream-release-3.1
Automated cherry pick of #5231: fix: 添加磁盘回滚snapshot日志
2020-02-26 16:00:15 +08:00
Zexi Li
46d2f6efb7 Merge pull request #5254 from swordqiu/automated-cherry-pick-of-#5252-upstream-release-3.1
Automated cherry pick of #5252: fix: use globalEndpointType as default endpoint type
2020-02-26 10:37:37 +08:00
yunion-ci-robot
d55f1db7ff Merge pull request #5243 from ioito/automated-cherry-pick-of-#5242-upstream-release-3.1
Automated cherry pick of #5242: fix: 避免根磁盘小于镜像大小导致创建失败
2020-02-26 10:20:13 +08:00
yunion-ci-robot
0bcc19d7c1 Merge pull request #5248 from ioito/automated-cherry-pick-of-#5247-upstream-release-3.1
Automated cherry pick of #5247: fix: 返回azure api 错误信息
2020-02-25 21:07:14 +08:00
Qiu Jian
b395dc8cee fix: use globalEndpointType as default endpoint type 2020-02-25 20:47:15 +08:00
Qu Xuan
c908e0c19a fix: 返回azure api 错误信息 2020-02-25 19:31:07 +08:00
Qu Xuan
ce5a95607f fix: 避免根磁盘小于镜像大小导致创建失败 2020-02-25 15:38:19 +08:00
wanyaoqi
d4ba5ca52e fix host register get network filter: add server_type baremetal 2020-02-25 11:25:46 +08:00
wanyaoqi
92129824c0 fix guest network get desc 2020-02-25 11:25:46 +08:00
wanyaoqi
7326b1fb0d fix host init set reserve memory 2020-02-25 11:25:46 +08:00
yunion-ci-robot
1b5756fe1c Merge pull request #5227 from rainzm/automated-cherry-pick-of-#5186-upstream-release-3.1
Automated cherry pick of #5186: feature(notify): Validate config
2020-02-25 08:21:09 +08:00
TangBin
08f8ce1f7c huawei & ctyun security group sync fix 2020-02-24 20:15:48 +08:00
Qu Xuan
2c5234b97e fix: 添加磁盘回滚snapshot日志 2020-02-24 16:07:28 +08:00
Rain
37049bd5f3 feature(notify): Validate config 2020-02-24 14:10:41 +08:00
yunion-ci-robot
177ba6cf2c Merge pull request #5225 from tb365/automated-cherry-pick-of-#5224-upstream-release-3.1
Automated cherry pick of #5224: network query by ip fix
2020-02-23 18:52:06 +08:00
yunion-ci-robot
bf2bb9878f Merge pull request #5223 from wanyaoqi/automated-cherry-pick-of-#5222-upstream-release-3.1
Automated cherry pick of #5222: region misc fix:
2020-02-21 23:38:00 +08:00
TangBin
530b2a1422 network query by ip fix 2020-02-21 19:00:27 +08:00
wanyaoqi
1eba8b8a7e region misc fix:
- guest postpaid expire support set expire time
- list instance snapshot sub snapshot return size
2020-02-21 17:45:46 +08:00
Zexi Li
4829e0d285 Merge pull request #5212 from swordqiu/automated-cherry-pick-of-#5208-upstream-release-3.1
Automated cherry pick of #5208: fix: reset paging limit to 2048 from 20
2020-02-21 16:46:05 +08:00
Zexi Li
b29d6d4f4e Merge pull request #5218 from rainzm/automated-cherry-pick-of-#5217-upstream-release-3.1
Automated cherry pick of #5217: fix: Storage filter not work for Esxi
2020-02-21 16:44:38 +08:00
yunion-ci-robot
d41c3bfea7 Merge pull request #5207 from tb365/automated-cherry-pick-of-#5199-upstream-release-3.1
Automated cherry pick of #5199: cloud region city list add default limit 2048
2020-02-21 15:53:41 +08:00
yunion-ci-robot
907058464a Merge pull request #5197 from ioito/automated-cherry-pick-of-#5196-upstream-release-3.1
Automated cherry pick of #5196: fix: gcp win os not support change config when vm running
2020-02-21 15:44:33 +08:00
Rain
c727334bc4 fix: Storage filter not work for Esxi
1. SESXiGuestDriver.DoScheduleStorageFilter should return true.
2. ESXi's SHost.GetStorageSizeMB should return the capacity of all the
storage belonging to it.
2020-02-21 15:13:18 +08:00
yunion-ci-robot
b7e2c462cb Merge pull request #5214 from ioito/automated-cherry-pick-of-#5213-upstream-release-3.1
Automated cherry pick of #5213: fix: 添加gcp region中文翻译
2020-02-20 21:17:29 +08:00
yunion-ci-robot
1efc0fe07b Merge pull request #5200 from ioito/automated-cherry-pick-of-#5198-upstream-release-3.1
Automated cherry pick of #5198: fix: 修复azure坐标问题,添加新的azure region城市信息
2020-02-20 21:02:31 +08:00
yunion-ci-robot
9d1b407c40 Merge pull request #5192 from ioito/automated-cherry-pick-of-#5191-upstream-release-3.1
Automated cherry pick of #5191: fix: add aliyun new region info
2020-02-20 18:21:29 +08:00
Qu Xuan
67c2435f4f fix: 添加gcp region中文翻译 2020-02-20 17:38:25 +08:00
yunion-ci-robot
c11c79ef71 Merge pull request #5188 from ioito/automated-cherry-pick-of-#5187-upstream-release-3.1
Automated cherry pick of #5187: fix: 填充gcp disk_format字段
2020-02-20 15:30:30 +08:00
Qiu Jian
c245013e59 fix: reset paging limit to 2048 from 20 2020-02-20 15:22:07 +08:00
TangBin
83b4916646 huawei cloud create bugfix 2020-02-20 15:03:54 +08:00
TangBin
f6d1ea7b25 cloud region city list add default limit 2048 2020-02-20 15:03:54 +08:00
Qu Xuan
c988fd1b1f fix: 修复azure坐标问题,添加新的azure region城市信息 2020-02-20 14:55:16 +08:00
Qu Xuan
f6df6d34e0 fix: gcp win os not support change config when vm running 2020-02-20 12:00:06 +08:00
Qu Xuan
44183902f7 fix: add aliyun new region info 2020-02-20 11:07:17 +08:00
Qu Xuan
64fda24e76 fix: 填充gcp disk_format字段 2020-02-20 10:45:43 +08:00
yunion-ci-robot
0701512da9 Merge pull request #5185 from tb365/automated-cherry-pick-of-#5181-upstream-release-3.1
Automated cherry pick of #5181: aws listener sync fix
2020-02-19 19:18:28 +08:00
tangbin
71499e7e1b huawei http listener sync fix 2020-02-19 18:48:30 +08:00
tangbin
6f6cf7cd64 aws rebuild root fix 2020-02-19 18:48:30 +08:00
tangbin
8f175ec326 aws listener sync fix 2020-02-19 18:48:30 +08:00
yunion-ci-robot
c0c26c7c40 Merge pull request #5180 from rainzm/automated-cherry-pick-of-#5178-upstream-release-3.1
Automated cherry pick of #5178: fix(esxi): No distinction between ordinary scsi and pvscsi when creating disks
2020-02-19 17:51:29 +08:00
Rain
42cd5b1435 fix(esxi): No distinction between ordinary scsi and pvscsi when creating disks
parascsi 是 vmware 中一种高性能的 scsi 控制器。

在此之前,scsi 只包括 "lsilogic", "lsilogicsas", "buslogic"; 而别名为 pvscsi
的 parascsi 没有被包含进来;并且,一个 pci controller只能挂一个 scsi controller,
这会导致如果在一个拥有 pvscsi 的机器上添加普通scsi驱动类型的磁盘,就会替换驱动;
反之亦然。这会导致驱动的 key 不是我们指定的key,并且在添加磁盘的时候替换驱动的
类型有些随意。再者,我们的驱动类型的选择其实并没有暴露给前端。

所以,在寻找相应的controller时,将 parascsi 也纳入 scsi 类型。
尽量避免在创建磁盘的时候做硬件的改动,所以在创建磁盘的时候不区分 scsi
还是 pvscsi,如果两种 controller 均没有,就按照请求的类型创建一个。

此外,在 CloneVM 的时候,如果支持,优先使用 parascsi。
2020-02-19 16:59:57 +08:00
yunion-ci-robot
4fafb8ae75 Merge pull request #5150 from tb365/automated-cherry-pick-of-#5145-upstream-release-3.1
Automated cherry pick of #5145: qcloud elb sync
2020-02-19 16:08:28 +08:00
Yousong Zhou
8349dcbba3 Merge pull request #5177 from swordqiu/automated-cherry-pick-of-#5173-upstream-release-3.1
Automated cherry pick of #5173: fix: sync cloud provider should change its cloud account's sync_status
2020-02-19 16:02:46 +08:00
yunion-ci-robot
85a792d2b1 Merge pull request #5161 from rainzm/automated-cherry-pick-of-#5097-upstream-release-3.1
Automated cherry pick of #5097: feature: Specify cloud provider when creating vm
2020-02-19 14:50:28 +08:00
yunion-ci-robot
71fee70283 Merge pull request #5166 from tb365/automated-cherry-pick-of-#5162-upstream-release-3.1
Automated cherry pick of #5162: huawei elb backend vpc validate fix
2020-02-19 13:43:28 +08:00
yunion-ci-robot
456c5fb50e Merge pull request #5168 from ioito/automated-cherry-pick-of-#5167-upstream-release-3.1
Automated cherry pick of #5167: fix: 避免将虚拟机ip同步到弹性网卡
2020-02-19 12:37:28 +08:00
yunion-ci-robot
b706356ba9 Merge pull request #5160 from yousong/automated-cherry-pick-of-#5159-upstream-release-3.1
Automated cherry pick of #5159: region: lbagent: deploy: use 'public' endpoint type
2020-02-19 12:04:27 +08:00
Qiu Jian
ed2bba3dd5 fix: sync cloud provider should change its cloud account's sync_status 2020-02-19 12:02:42 +08:00
Zexi Li
b6e701a6b2 Merge pull request #5158 from swordqiu/automated-cherry-pick-of-#5156-upstream-release-3.1
Automated cherry pick of #5156: fix: add climc helper scripts into docker images
2020-02-19 02:32:58 +08:00
Zexi Li
c21636b521 Merge pull request #5155 from swordqiu/automated-cherry-pick-of-#5151-upstream-release-3.1
Automated cherry pick of #5151: fix: 1. adjust default response header timer to 30 seconds 2. set default paging limit to 20
2020-02-19 02:30:10 +08:00
Yousong Zhou
2e0f424c73 lbagent: fix config for sticky session cookie
- account for user specific cookie name for insert mode
 - dont tamper cache instructions from backend server for server mode
2020-02-18 20:55:10 +08:00
Yousong Zhou
a2f30806cf region: lbagent: deploy: use 'public' endpoint type 2020-02-18 20:55:10 +08:00
Qu Xuan
0c0b4b43aa fix: 避免将虚拟机ip同步到弹性网卡 2020-02-18 15:38:12 +08:00
yunion-ci-robot
209bee4181 Merge pull request #5139 from ioito/automated-cherry-pick-of-#5138-upstream-release-3.1
Automated cherry pick of #5138: fix: 避免未过滤掉同一个network底下的guest
2020-02-18 14:46:39 +08:00
tangbin
ba265a7b83 huawei elb backend vpc validate fix 2020-02-18 14:21:47 +08:00
yunion-ci-robot
1a8f8dcb93 Merge pull request #5135 from zhaoxiangchun/automated-cherry-pick-of-#5132-upstream-release-3.1
Automated cherry pick of #5132: zstack监控功能
2020-02-18 12:06:45 +08:00
Rain
2a01c86428 feature: Specify cloud provider when creating vm
Specifying the eip is equivalent to specifying the cloudprovider when
creating vm.
2020-02-18 11:44:27 +08:00
Qiu Jian
dc75d93414 fix: add climc helper scripts into docker images 2020-02-18 10:17:31 +08:00
yunion-ci-robot
fe44564bf7 Merge pull request #5137 from yousong/automated-cherry-pick-of-#5136-upstream-release-3.1
Automated cherry pick of #5136: regiondrivers: kvm: dummy impl for RequestDeleteVpc
2020-02-18 09:45:38 +08:00
yunion-ci-robot
8cd23304ae Merge pull request #5144 from wanyaoqi/automated-cherry-pick-of-#5143-upstream-release-3.1
Automated cherry pick of #5143: check scsi driver on add disk
2020-02-18 09:41:40 +08:00
Qiu Jian
4b8e13f171 fix: 1. adjust default response header timer to 30 seconds 2. set default paging limit to 20 2020-02-18 08:55:58 +08:00
yunion-ci-robot
b6739ba7e8 Merge pull request #5131 from tb365/automated-cherry-pick-of-#5130-upstream-release-3.1
Automated cherry pick of #5130: huawei sync fix
2020-02-18 08:15:41 +08:00
TangBin
3db7b0c962 qcloud elb sync 2020-02-17 22:33:23 +08:00
wanyaoqi
0d6480723d check scsi driver on add disk 2020-02-17 22:00:07 +08:00
yunion-ci-robot
9a91bf244c Merge pull request #5129 from tb365/automated-cherry-pick-of-#5128-upstream-release-3.1
Automated cherry pick of #5128: huawei userdata fix
2020-02-17 21:54:36 +08:00
Qu Xuan
b1a641ca4d fix: 避免未过滤掉同一个network底下的guest 2020-02-17 20:51:43 +08:00
Yousong Zhou
c65e1e0855 regiondrivers: kvm: dummy impl for RequestDeleteVpc
Regression since 4a6a4c594a ("feature:
google云操作支持")

	Feb 17 15:53:12 titan-10-168-222-196 region[20940]: [I 200217 15:53:12 appsrv.(*Application).ServeHTTP(appsrv.go:237)] Ao9tyX8XY4DXa3tBiUyXgPm_ipc= 200 f7a73c DELETE /vpcs/vpc1 (10.168.222.196:46354) 723.91ms
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [E 200217 15:53:13 tasks.(*VpcDeleteTask).taskFailed(vpc_delete_task.go:41)] vpc delete task fail: RequestDeleteVpc: Not implement RequestDeleteVpc
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [I 200217 15:53:13 taskman.(*STask).SetStageFailed(tasks.go:636)] XXX TASK VpcDeleteTask failed: RequestDeleteVpc: Not implement RequestDeleteVpc on stage OnDeleteVpcComplete
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [I 200217 15:53:13 taskman.(*STask).NotifyParentTaskComplete(tasks.go:648)] notify_parent_task_complete: VpcDeleteTask params {"__failed_reason":"RequestDeleteVpc: Not implement RequestDeleteVpc","__request_context":{"request_id":"f7a73c","service_name":"compute_v2","trace":{"debug":true,"duration":0,"id":"0","kind":"SERVER","local_endpoint":{"port":0,"service_name":"compute_v2"},"name":"delete","remote_endpoint":{"addr":"10.168.222.196","port":46354,"service_name":"(unknown_service)"},"shared":false,"tags":{"resource":"vpcs"},"timestamp":"2020-02-17T07:53:12.052219Z","trace_id":"5cf3e014"}},"__stages":[{"complete_at":"2020-02-17T15:53:12Z","name":"on_init"},{"complete_at":"2020-02-17T15:53:13Z","name":"OnDeleteVpcComplete"}]}
2020-02-17 16:22:17 +08:00
zhaoxiangchun
d8fc57b217 zstack监控功能
monitor.go中GetMonitorData函数通过传入的参数拼装请求参数,然后调用zstack.go中的getMonitor(),通过GET请求,获取相应的指标监控数据
2020-02-17 12:03:17 +08:00
tangbin
f9a47d94c7 ctyun custom image create bugfix 2020-02-15 17:33:55 +08:00
tangbin
ac2c3697bf ctyun sync fix 2020-02-15 17:33:55 +08:00
tangbin
b1048baef3 huawei sync fix 2020-02-15 17:33:55 +08:00
tangbin
bfc1f0125f huawei userdata fix 2020-02-15 12:56:43 +08:00
yunion-ci-robot
4b6d0107b0 Merge pull request #5127 from ioito/automated-cherry-pick-of-#5126-upstream-release-3.1
Automated cherry pick of #5126: fix: 添加host标签返回值
2020-02-15 07:58:06 +08:00
yunion-ci-robot
1948c12012 Merge pull request #5116 from tb365/automated-cherry-pick-of-#5115-upstream-release-3.1
Automated cherry pick of #5115: aws userdata bugfix
2020-02-15 00:05:06 +08:00
Qu Xuan
6345086c5b fix: 添加host标签返回值 2020-02-14 20:46:55 +08:00
tangbin
08d412669d aws userdata bugfix 2020-02-14 19:36:13 +08:00
yunion-ci-robot
c85a8d354e Merge pull request #5125 from ioito/automated-cherry-pick-of-#5124-upstream-release-3.1
Automated cherry pick of #5124: fix: disks_info typo
2020-02-14 18:22:05 +08:00
Qu Xuan
03be58f39a fix: disks_info typo 2020-02-14 17:51:58 +08:00
yunion-ci-robot
60cb619043 Merge pull request #5123 from rainzm/automated-cherry-pick-of-#5121-upstream-release-3.1
Automated cherry pick of #5121: fix(esxiagent): Delete image backup file after saving to glance instead of before
2020-02-14 17:42:05 +08:00
Rain
91c39cf8cd fix(esxiagent): Delete image backup file after saving to glance instead of before 2020-02-14 17:17:06 +08:00
yunion-ci-robot
f73ac4844f Merge pull request #5118 from ioito/automated-cherry-pick-of-#5117-upstream-release-3.1
Automated cherry pick of #5117: fix: 谷歌新加region翻译
2020-02-14 16:12:05 +08:00
Qu Xuan
e681f66aad fix: 谷歌新加region翻译 2020-02-14 14:44:22 +08:00
yunion-ci-robot
d7bf41e173 Merge pull request #5110 from rainzm/automated-cherry-pick-of-#5106-upstream-release-3.1
Automated cherry pick of #5106: fix(notify): Set some default template
2020-02-14 12:20:06 +08:00
yunion-ci-robot
ea3247eaba Merge pull request #5112 from zexi/automated-cherry-pick-of-#5111-upstream-release-3.1
Automated cherry pick of #5111: region: server list by host sn
2020-02-14 12:09:04 +08:00
Zexi Li
d91dbf5f47 region: server list by host sn 2020-02-13 21:09:06 +08:00
Rain
52129c544b fix(notify): Set some default template 2020-02-13 16:54:28 +08:00
yunion-ci-robot
a3b3e9c627 Merge pull request #5089 from rainzm/automated-cherry-pick-of-#5087-upstream-release-3.1
Automated cherry pick of #5087: fix(esxi): Create one if no suitable driver exists when creating disk
2020-02-13 14:38:04 +08:00
yunion-ci-robot
04c73b189d Merge pull request #5084 from tb365/automated-cherry-pick-of-#5083-upstream-release-3.1
Automated cherry pick of #5083: fix ctyun os version
2020-02-13 12:16:03 +08:00
tangbin
f75dbefbfd ctyun vm create fix 2020-02-13 11:44:21 +08:00
tangbin
a2e4490613 add more log 2020-02-13 11:44:21 +08:00
tangbin
2c32832946 eip dissociate bugfixC 2020-02-13 11:44:21 +08:00
tangbin
18239e30cc fix create sys disk snapshot 2020-02-13 11:44:20 +08:00
tangbin
77d6e24ae7 fix ctyun os version 2020-02-13 11:44:20 +08:00
yunion-ci-robot
d5f6473d57 Merge pull request #5096 from bistuzx/automated-cherry-pick-of-#5092-upstream-release-3.1
Automated cherry pick of #5092: update account bucket options
2020-02-13 03:48:04 +08:00
yunion-ci-robot
f7d927cbdd Merge pull request #5086 from zexi/automated-cherry-pick-of-#5085-upstream-release-3.1
Automated cherry pick of #5085: webconsole: use base64 encode connect_params
2020-02-12 22:14:02 +08:00
张旭
56a3d9c05d update account bucket options 2020-02-12 18:29:40 +08:00
Rain
a4b76036c5 fix(esxi): Create one if no suitable driver when creating disk 2020-02-12 16:05:26 +08:00
yunion-ci-robot
9e20cce793 Merge pull request #5064 from zhaoxiangchun/automated-cherry-pick-of-#5061-upstream-release-3.1
Automated cherry pick of #5061: multicloud的vmware监控功能
2020-02-12 15:22:01 +08:00
Zexi Li
f7b3b0c1a0 webconsole: use base64 encode connect_params 2020-02-12 11:44:41 +08:00
yunion-ci-robot
6404e3c2a0 Merge pull request #5082 from rainzm/automated-cherry-pick-of-#5081-upstream-release-3.1
Automated cherry pick of #5081: fix: Fix the bug introduced by pr #4921
2020-02-11 19:16:00 +08:00
yunion-ci-robot
9a1b040933 Merge pull request #5078 from ioito/automated-cherry-pick-of-#5077-upstream-release-3.1
Automated cherry pick of #5077: fix: 修复gcp出方向规则同步问题
2020-02-11 17:42:00 +08:00
yunion-ci-robot
b5468ca840 Merge pull request #5073 from ioito/automated-cherry-pick-of-#5072-upstream-release-3.1
Automated cherry pick of #5072: fix: 忽略无权限的资源标签
2020-02-11 17:22:58 +08:00
Rain
77bbb2bda8 fix: Fix the bug introduced by pr #4921
1. The display problem of contact and notification in notify.
2. The display problem of snat's network info.
2020-02-11 16:51:09 +08:00
zhaoxiangchun
562498da68 multicloud的vmware监控功能
monitor.go中GetMonitorData()函数获取监控数据
2020-02-11 00:44:48 +08:00
Qu Xuan
b91c19bcb5 fix: 修复gcp出方向规则同步问题 2020-02-10 18:47:54 +08:00
Qu Xuan
e48c4d0bb2 fix: 忽略无权限的资源标签 2020-02-10 16:44:06 +08:00
Zexi Li
8c3872000a Merge pull request #5051 from ioito/automated-cherry-pick-of-#5050-upstream-release-3.1
Automated cherry pick of #5050: 统一 details -> isList
2020-02-10 11:12:37 +08:00
yunion-ci-robot
7fde85b83f Merge pull request #5053 from swordqiu/automated-cherry-pick-of-#5052-upstream-release-3.1
Automated cherry pick of #5052: fix: progressively update image size while uploading
2020-02-10 10:34:00 +08:00
yunion-ci-robot
262096d99d Merge pull request #5071 from swordqiu/automated-cherry-pick-of-#5065-upstream-release-3.1
Automated cherry pick of #5065: fix: allow empty domain for windows deployment
2020-02-10 10:32:57 +08:00
Qiu Jian
60ba83b40f fix: progressively update image size while uploading 2020-02-10 09:29:37 +08:00
Qiu Jian
5834ec297e fix: allow empty domain for windows deployment 2020-02-10 09:25:16 +08:00
yunion-ci-robot
8701c6172e Merge pull request #5055 from swordqiu/automated-cherry-pick-of-#5054-upstream-release-3.1
Automated cherry pick of #5054: fix: createdAt should not be synced when update
2020-02-09 22:08:59 +08:00
Qiu Jian
d912e29772 fix: createdAt should not be synced when update 2020-02-08 21:29:06 +08:00
Qu Xuan
bf0adeb0e2 统一 details -> isList 2020-02-07 18:03:18 +08:00
yunion-ci-robot
8857a6281e Merge pull request #5049 from ioito/automated-cherry-pick-of-#5048-upstream-release-3.1
Automated cherry pick of #5048: fix: google e2不支持本地盘
2020-02-07 16:42:54 +08:00
Qu Xuan
5537648dc7 fix: google e2不支持本地盘 2020-02-07 16:08:28 +08:00
yunion-ci-robot
158750373b Merge pull request #5045 from ioito/automated-cherry-pick-of-#5044-upstream-release-3.1
Automated cherry pick of #5044: fix: guest创建兼容keypair参数
2020-02-07 16:05:50 +08:00
Qu Xuan
8a719ffe1f fix: guest创建兼容keypair参数 2020-02-07 15:09:48 +08:00
Zexi Li
c1278bf088 Merge pull request #5043 from wanyaoqi/automated-cherry-pick-of-#5042-upstream-release-3.1
Automated cherry pick of #5042: bm register support update baremetal
2020-02-07 13:04:21 +08:00
Zexi Li
86d6a224cd Merge pull request #5030 from swordqiu/automated-cherry-pick-of-#5026-upstream-release-3.1
Automated cherry pick of #5026: fix: api gateway rpc handler redudant response
2020-02-07 13:03:37 +08:00
wanyaoqi
6b6a15e6b8 bm register support update baremetal 2020-02-07 09:27:02 +08:00
yunion-ci-robot
4a2b10e842 Merge pull request #5039 from ioito/automated-cherry-pick-of-#5038-upstream-release-3.1
Automated cherry pick of #5038: fix: 避免因tenantcache未缓存tenant导致创建云账号失败
2020-02-07 04:54:51 +08:00
yunion-ci-robot
38557f8bcd Merge pull request #5037 from tb365/automated-cherry-pick-of-#5032-upstream-release-3.1
Automated cherry pick of #5032: aws create with eip fix
2020-02-07 04:49:50 +08:00
Qu Xuan
8739393e52 fix: 避免因tenantcache未缓存tenant导致创建云账号失败 2020-02-06 18:29:15 +08:00
tangbin
fdad1303bc aws create with eip fix 2020-02-06 17:58:18 +08:00
yunion-ci-robot
bd2d11f964 Merge pull request #5031 from ioito/automated-cherry-pick-of-#5029-upstream-release-3.1
Automated cherry pick of #5029: fix: 修复gcp安全组同步问题
2020-02-06 17:51:52 +08:00
Qu Xuan
01c962f1c6 fix: 修复gcp安全组同步问题 2020-02-06 17:03:36 +08:00
Qiu Jian
d5ec862e26 fix: api gateway rpc handler redudant response 2020-02-06 17:03:13 +08:00
yunion-ci-robot
1e04ddfe5e Merge pull request #5022 from ioito/automated-cherry-pick-of-#5021-upstream-release-3.1
Automated cherry pick of #5021: fix: 避免因大小写导致linux未注入默认用户
2020-02-06 13:50:52 +08:00
Qu Xuan
67a6f9687d fix: 避免因大小写导致linux未注入默认用户 2020-02-06 12:02:12 +08:00
yunion-ci-robot
9bfb6c0c8e Merge pull request #5020 from swordqiu/automated-cherry-pick-of-#5014-upstream-release-3.1
Automated cherry pick of #5014: fix: support empty dns domain
2020-02-06 09:41:48 +08:00
yunion-ci-robot
b4fff49236 Merge pull request #5013 from swordqiu/automated-cherry-pick-of-#5012-upstream-release-3.1
Automated cherry pick of #5012: fix: network update error caused by vpc feature
2020-02-06 09:34:48 +08:00
Qiu Jian
8536166426 fix: support empty dns domain 2020-02-06 03:28:26 +08:00
Qiu Jian
4bd9051ae4 fix: network update error caused by vpc feature 2020-02-06 03:11:26 +08:00
yunion-ci-robot
74c272cfae Merge pull request #5011 from yousong/automated-cherry-pick-of-#5010-upstream-release-3.1
Automated cherry pick of #5010: vpcagent: ignore external stub guestnetworks
2020-02-06 01:50:48 +08:00
Yousong Zhou
38aed0ca4a vpcagent: ignore external stub guestnetworks 2020-02-05 11:38:57 +08:00
yunion-ci-robot
06eea75674 Merge pull request #5009 from yousong/automated-cherry-pick-of-#5008-upstream-release-3.1
Automated cherry pick of #5008: hostman: fix hostinfo init interrupted by ovn chassis setup
2020-02-05 10:22:47 +08:00
Yousong Zhou
ad73aa590a hostman: fix hostinfo init interrupted by ovn chassis setup
Causing sysinfo.SSystemInfo not initialized

[E 200205 09:45:49 timeutils2.AddTimeout.func1.1(timeutils.go:31)] runtime error: invalid memory address or nil pointer dereference
goroutine 405 [running]:
runtime/debug.Stack(0x551210, 0xc0000de1c0, 0x0)
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/debug/stack.go:16 +0x22
yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout.func1.1()
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:32 +0x96
panic(0x1b208e0, 0x3bd1880)
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/panic.go:522 +0x1b5
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).updateHostRecord(0xc0009a8a80, 0xc000aff3b0, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:866 +0xbba
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).getHostInfo(0xc0009a8a80, 0xc00099a510, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:782 +0x37d
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).getZoneInfo(0xc0009a8a80, 0xc00099a4b0, 0x24, 0x0)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:760 +0x55c
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).onGetWireId(0xc0009a8a80, 0xc000aff2f0, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:734 +0x16a
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).fetchAccessNetworkInfo(0xc0009a8a80)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:719 +0x3ee
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).register(...)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:662
yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout.func1(0x77359400, 0xc000925520)
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:37 +0x6b
created by yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:28 +0x49
2020-02-05 10:08:32 +08:00
yunion-ci-robot
4322981be4 Merge pull request #5006 from yousong/automated-cherry-pick-of-#5005-upstream-release-3.1
Automated cherry pick of #5005: hostman: fix detection of ovn controller version
2020-02-05 02:17:48 +08:00
yunion-ci-robot
655d3632fa Merge pull request #5004 from zhaoxiangchun/automated-cherry-pick-of-#4996-upstream-release-3.1
Automated cherry pick of #4996: azure的主机监控信息的获取
2020-02-05 02:10:45 +08:00
Yousong Zhou
cd34e0db95 hostman: skip setting up ovn chassis when env support is not ready 2020-02-04 17:36:13 +08:00
Yousong Zhou
aae5d0dc33 hostman: fix detection of ovn controller version 2020-02-04 17:36:13 +08:00
Zexi Li
51b2f4d3af Merge pull request #5003 from ioito/automated-cherry-pick-of-#4921-upstream-release-3.1
Automated cherry pick of #4921: feature: api -> response struct
2020-02-04 15:55:51 +08:00
zhaoxiangchun
f7987dbf61 modify files by github comments 2020-02-04 10:26:10 +08:00
zhaoxiangchun
f1282345f1 azure的主机监控信息的获取
monitor.go中的GetMonitorData函数完成参数的组装,查询获取监控信息
2020-02-04 10:26:10 +08:00
Qu Xuan
9046117e00 feature: api -> response struct 2020-02-03 18:16:36 +08:00
23887 changed files with 1089259 additions and 7903071 deletions

View File

@@ -3,11 +3,22 @@
# Check https://circleci.com/docs/2.0/language-go/ for more details
version: 2
jobs:
test:
check:
docker:
- image: yunionio/centos-build:1.0-1
environment:
ONECLOUD_CI_BUILD: "1"
working_directory: /root/go/onecloud
steps:
- checkout
- run:
command: |
make check
build:
requires:
- check
docker:
- image: yunion/alpine-build:3.22.0-go-1.24.6-1
- image: yunionio/centos-build:1.0-1
environment:
ONECLOUD_CI_BUILD: "1"
@@ -15,22 +26,58 @@ jobs:
#### expecting it in the form of
#### /go/src/github.com/circleci/go-tool
#### /go/src/bitbucket.org/circleci/go-tool
working_directory: /root/go/src/yunion.io/x/onecloud
resource_class: large
parallelism: 1
working_directory: /root/go/onecloud
parallelism: 4
steps:
- checkout
- restore_cache:
key: onecloud-build-cache-{{ checksum "go.mod" }}-{{ checksum "Makefile" }}
paths:
- /root/.cache/go-build
- run:
command: |
make -j3 check
make test
targets="$(circleci tests glob "cmd/*" | grep -v cmd/host-image | circleci tests split)"
echo $targets | tr ' ' '\n'
make $targets
ls -lh _output/bin/
- save_cache:
key: onecloud-build-cache-{{ checksum "go.mod" }}-{{ checksum "Makefile" }}
paths:
- /root/.cache/go-build
- store_artifacts:
path: _output/
test:
requires:
- check
docker:
- image: yunionio/centos-build:1.0-1
environment:
GO111MODULE: "on"
working_directory: /root/go/onecloud
steps:
- checkout
- restore_cache:
key: onecloud-test-cache-{{ checksum "go.mod" }}-{{ checksum "Makefile" }}
paths:
- /root/.cache/go-build
- run:
name: unit_test
command: |
./scripts/coverage.sh --codecov
- save_cache:
key: onecloud-test-cache-{{ checksum "go.mod" }}-{{ checksum "Makefile" }}
paths:
- /root/.cache/go-build
workflows:
version: 2
build_and_test:
jobs:
- test
- check
- build:
requires:
- check
- test:
requires:
- check

View File

@@ -1,7 +1,4 @@
_output/alpine-build/_cache
pkg
vendor
cmd
locales
docs
scripts
/.git
/vendor
/cmd
/pkg

View File

@@ -1,3 +0,0 @@
[*.sh]
indent_style = space
indent_size = 4

View File

@@ -1,20 +1,21 @@
---
name: Bug report
about: 报告代码缺陷/Create a bug report to help us improve
title: '[BUG]'
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**问题描述/What happened**:
**What happened**:
**环境/Environment**:
**What you expected to happen**:
- OS (e.g. `cat /etc/os-release`):
**How to reproduce it**:
**Anything else we need to know?**:
**Environment**:
- OS (e.g: `cat /etc/os-release`):
- Kernel (e.g. `uname -a`):
- Host: (e.g. `dmidecode | egrep -i 'manufacturer|product' |sort -u`)
- Service Version (e.g. `kubectl exec -n onecloud $(kubectl get pods -n onecloud | grep climc | awk '{print $1}') -- climc version-list`):
<!--
- Version (e.g. `climc version-list`):
-->
- Others:

View File

@@ -1,12 +0,0 @@
---
name: 文档问题/Document Request
about: 文档相关缺陷改进/Document request to this project
title: '[文档/Docs]'
labels:
- area/docs
- enhancement
assignees: ''
---
**What part of the document needs to be added**:

View File

@@ -1,10 +1,14 @@
---
name: 新特性/Feature Request
about: 建议新功能特性/Suggest an idea for this project
title: '[Feature]'
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature
assignees: ''
---
<!-- Please only use this template for submitting feature requests -->
**What would you like to be added**:
**Why is this needed**:

View File

@@ -1,7 +1,7 @@
---
name: 求助/Support Request
about: 求助使用中遇到的问题/Support request relating to this project
title: '[求助/Help]'
name: Support Request
about: Support request or question relating to this project
title: ''
labels: question
assignees: ''

View File

@@ -1,19 +1,9 @@
**What this PR does / why we need it**:
**这个 PR 实现什么功能/修复什么问题**:
**是否需要 backport 到之前的 release 分支**:
<!--
- [ ] Smoke testing completed
- [ ] Unit test written
-->
**Does this PR need to be backport to the previous release branch?**:
<!--
If no, just write "NONE".
If don't know, write "UNKNOWN", and let the reviewer decide.
If yes, write the release branches name in the below format and submit the related cherry-pick PR:
- release/3.11
Take a look at "https://www.cloudpods.org/en/docs/contribute/contrib/" to learn how to submit a cherry-pick PR.
如果不需要,填写 "NONE".
如果需要,就以下面 item 的格式写 release 分支名,并提交对应的 cherry-pick PR:
- release/2.8.0
- release/2.6.0
-->

View File

@@ -1,38 +0,0 @@
name: Building and test for PR
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Install check tools
shell: bash
run: |
set -o xtrace
git clone --branch master --depth 4 https://github.com/yunionio/tools && cd tools
go build ./cmd/goimports && sudo cp goimports /usr/bin/ && cd .. && rm -rf tools
git clone --depth 4 https://github.com/yousong/y18n && cd y18n
go build . && sudo cp y18n /usr/bin && cd .. && rm -rf y18n
- name: Test and build
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
make -j3 check
make test
targets="$(find cmd -mindepth 1 -maxdepth 1 -type d | grep -v cmd/host-image | grep -v torrent)"
echo $targets | tr ' ' '\n'
make $targets
ls -lh _output/bin

222
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,222 @@
name: Docker image
on:
push:
branches:
- master
- releases/*
#paths:
#- 'cmd/*'
#- 'pkg/*'
#- 'vendor/*'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.12
uses: actions/setup-go@v1
with:
go-version: 1.12
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v1
- name: Build
run: |
sudo apt-get update
sudo apt-get install librados-dev librbd-dev # baremetal-agent needs this
make cmd/apigateway cmd/climc cmd/keystone
make cmd/logger cmd/region cmd/scheduler cmd/webconsole
make cmd/yunionconf cmd/glance cmd/torrent cmd/s3gateway
make cmd/ansibleserver cmd/cloudnet cmd/notify
make cmd/host-deployer && ./scripts/bundle_libraries.sh _output/bin/bundles/host-deployer _output/bin/host-deployer
make cmd/baremetal-agent && ./scripts/bundle_libraries.sh _output/bin/bundles/baremetal-agent _output/bin/baremetal-agent
make cmd/cloudevent cmd/devtool
make cmd/*cli
make cmd/esxi-agent
make docker-alpine-build F='-j4 cmd/host cmd/vpcagent'
- name: Image baremetal-agent
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/baremetal-agent
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.baremetal-agent
- name: Image esxi-agent
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/esxi-agent
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.esxi-agent
- name: Image vpcagent
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/vpcagent
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.vpcagent
- name: Image climc
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/climc
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.climc
- name: Image keystone
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/keystone
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.keystone
- name: Image logger
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/logger
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.logger
- name: Image region
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/region
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.region
- name: Image scheduler
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/scheduler
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.scheduler
- name: Image apigateway
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/apigateway
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.apigateway
- name: Image s3gateway
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/s3gateway
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.s3gateway
- name: Image ansibleserver
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.ansibleserver
- name: Image cloudnet
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/cloudnet
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.cloudnet
- name: Image glance
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/glance
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.glance
- name: Image notify
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/notify
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.notify
- name: Image host
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host
- name: Image host-deployer
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host-deployer
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host-deployer
- name: Image cloudevent
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/cloudevent
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.cloudevent
- name: Image devtool
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/devtool
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.devtool

View File

@@ -1,52 +0,0 @@
name: Apigateway Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/apigateway/**.go'
- 'pkg/apis/apigateway/**.go'
- 'pkg/mcclient/modules/**.go'
jobs:
build_apigateway:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image apigateway

View File

@@ -1,50 +0,0 @@
name: Climc Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'cmd/climc/**.go'
- 'pkg/mcclient/**.go'
- 'vendor/yunion.io/x/structarg/**.go'
jobs:
build_climc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image climc

View File

@@ -1,51 +0,0 @@
name: Cloudmon Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudmon/**.go'
- 'vendor/yunion.io/x/cloudmux/pkg/multicloud/loader/**.go'
jobs:
build_webconsole:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image cloudmon

View File

@@ -1,49 +0,0 @@
name: Esxi Agent Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/esxi/**.go'
jobs:
build_webconsole:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image esxi-agent

View File

@@ -1,53 +0,0 @@
name: Glance Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/image/**.go'
- 'pkg/apis/image/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_glance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image glance

View File

@@ -1,49 +0,0 @@
name: Host Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/hostman/**.go'
- 'pkg/apis/host/**.go'
jobs:
build_host:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image host

View File

@@ -1,53 +0,0 @@
name: Keystone Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/keystone/**.go'
- 'pkg/apis/identity/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_keystone:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image keystone

View File

@@ -1,53 +0,0 @@
name: Logger Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/logger/**.go'
- 'pkg/apis/logger/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_webconsole:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image logger

View File

@@ -1,53 +0,0 @@
name: Notify Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/notify/**.go'
- 'pkg/apis/notify/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_notify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image notify

View File

@@ -1,54 +0,0 @@
name: Region Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/compute/**.go'
- 'pkg/apis/compute/**.go'
- 'vendor/yunion.io/x/cloudmux/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_region:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image region

View File

@@ -1,50 +0,0 @@
name: Scheduler Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/scheduler/**.go'
- 'pkg/apis/scheduler/**.go'
jobs:
build_webconsole:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image scheduler

View File

@@ -1,53 +0,0 @@
name: Webconsole Docker Image
on:
push:
branches:
- 'releases/**'
- 'main'
- 'master'
paths:
- 'pkg/appsrv/**.go'
- 'pkg/cloudcommon/db/**.go'
- 'pkg/webconsole/**.go'
- 'pkg/apis/webconsole/**.go'
- 'vendor/yunion.io/x/sqlchemy/**.go'
- 'vendor/yunion.io/x/jsonutils/**.go'
jobs:
build_webconsole:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 8
- uses: actions/setup-go@v4
with:
go-version: '1.26.3'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Aliyun Container Registry (ACR)
uses: docker/login-action@v2
with:
registry: https://registry.us-west-1.aliyuncs.com
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build And Push Docker Image
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
branch="${GITHUB_REF#refs/heads/}"
timestamp=`TZ="Asia/Shanghai" date +"%Y%m%d%H%M%S"`
export VERSION="$branch-$timestamp-solo"
export GOOS=linux
export ARCH=all
export REGISTRY=registry.us-west-1.aliyuncs.com/yunion-dev
make image webconsole

View File

@@ -1,45 +0,0 @@
name: Issue Check Inactive
on:
schedule:
- cron: "0 0 * * *"
permissions:
issues: write
jobs:
issue-check-inactive:
runs-on: ubuntu-latest
steps:
- name: Label inactive issues as stale
env:
GH_TOKEN: ${{ github.token }}
INACTIVE_DAY: "30"
INACTIVE_LABEL: "stale"
EXCLUDE_LABEL: "announcement"
run: |
set -euo pipefail
cutoff="$(date -u -d "${INACTIVE_DAY} days ago" +%Y-%m-%dT%H:%M:%SZ)"
gh issue list \
--repo "${{ github.repository }}" \
--state open \
--limit 1000 \
--json number,labels,updatedAt \
| jq -c \
--arg cutoff "$cutoff" \
--arg inactive "$INACTIVE_LABEL" \
--arg exclude "$EXCLUDE_LABEL" \
'
.[]
| select(.updatedAt < $cutoff)
| select([.labels[].name] | index($exclude) | not)
| select([.labels[].name] | index($inactive) | not)
' \
| while IFS= read -r issue; do
number="$(echo "$issue" | jq -r .number)"
echo "Marking issue #${number} as ${INACTIVE_LABEL}"
gh issue edit "$number" \
--repo "${{ github.repository }}" \
--add-label "$INACTIVE_LABEL"
done

View File

@@ -1,44 +0,0 @@
name: Issue Close Require
on:
schedule:
- cron: "0 1 * * *"
permissions:
issues: write
jobs:
issue-close-require:
runs-on: ubuntu-latest
steps:
- name: Close inactive issues awaiting user feedback
env:
GH_TOKEN: ${{ github.token }}
INACTIVE_DAY: "7"
run: |
set -euo pipefail
cutoff="$(date -u -d "${INACTIVE_DAY} days ago" +%Y-%m-%dT%H:%M:%SZ)"
body="$(cat <<'EOF'
If you do not provide feedback for more than 37 days, we will close the issue and you can either reopen it or submit a new issue.
您超过 37 天未反馈信息,我们将关闭该 issue如有需求您可以重新打开或者提交新的 issue。
EOF
)"
# Trim leading indentation from heredoc lines for a cleaner comment.
body="$(printf '%s\n' "$body" | sed 's/^[[:space:]]*//')"
gh issue list \
--repo "${{ github.repository }}" \
--state open \
--label "stale" \
--label "state/awaiting user feedback" \
--limit 1000 \
--json number,updatedAt \
| jq -c --arg cutoff "$cutoff" '.[] | select(.updatedAt < $cutoff)' \
| while IFS= read -r issue; do
number="$(echo "$issue" | jq -r .number)"
echo "Closing issue #${number}"
gh issue close "$number" \
--repo "${{ github.repository }}" \
--comment "$body"
done

View File

@@ -1,22 +0,0 @@
name: Issue Close Check
on:
issues:
types: [closed]
permissions:
issues: write
jobs:
issue-closed-remove-labels:
runs-on: ubuntu-latest
if: "!contains(github.event.issue.labels.*.name, 'stale')"
steps:
- name: Remove state labels when issue that hasn't stale label is closed
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--remove-label "state/awaiting processing" \
--remove-label "state/awaiting user feedback" || true

View File

@@ -1,51 +0,0 @@
on:
issue_comment:
types: [created]
name: Add issues workflow labels
permissions:
issues: write
jobs:
add-label-if-is-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require handle label
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--add-label "state/awaiting processing"
- name: Remove require reply label
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--remove-label "state/awaiting user feedback" \
--remove-label "stale" || true
add-label-if-not-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id != github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open') && (!contains(github.event.comment.body, '/keep-state'))
steps:
- name: Add require reply label
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--add-label "state/awaiting user feedback"
- name: Remove require handle label
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--remove-label "state/awaiting processing" \
--remove-label "stale" || true

View File

@@ -1,17 +0,0 @@
on:
issue_comment:
types: [created]
jobs:
notify-author-comment:
runs-on: ubuntu-latest
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request
# find context from: https://docs.github.com/en/webhooks/webhook-events-and-payloads#issue_comment
steps:
- name: feishu notify
uses: zexi/action-issues-notify@v1
with:
url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}
issue_title: "${{ github.event.comment.user.login }} 回复了 issue: ${{ github.event.issue.title }}"
issue_body: "${{ tojson(github.event.comment.body) }}"
issue_link_url: "${{github.event.comment.html_url}}"

View File

@@ -1,41 +0,0 @@
name: Issue Open Check
on:
issues:
types: [opened, reopened]
permissions:
issues: write
jobs:
issue-open-add-labels:
runs-on: ubuntu-latest
if: ${{ !github.event.issue.pull_request }}
steps:
- name: Add labels
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--add-label "state/awaiting processing"
- name: Remove require reply label
env:
GH_TOKEN: ${{ github.token }}
run: |
gh issue edit "${{ github.event.issue.number }}" \
--repo "${{ github.repository }}" \
--remove-label "state/awaiting user feedback" \
--remove-label "stale" || true
notify-author-comment:
runs-on: ubuntu-latest
steps:
- name: feishu notify
uses: zexi/action-issues-notify@v1
with:
url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}
issue_title: "${{ github.event.issue.user.login }} 提交了 issue: ${{ github.event.issue.title }}"
issue_body: "${{ tojson(github.event.issue.body) }}"
issue_link_url: "${{github.event.issue.html_url}}"

9
.gitignore vendored
View File

@@ -30,16 +30,7 @@ _output
/relay
/structargtest
.idea
.vscode
intellij.yaml
GPATH
GRTAGS
GTAGS
pkg/generated
*.orig
# gotext extracted
out.gotext.json
pkg/notify/sender/email_test.go

View File

@@ -15,7 +15,7 @@ addons:
language: go
go:
- 1.14.x
- 1.12.x
go_import_path: yunion.io/x/onecloud
cache:
directories:

View File

@@ -1,128 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
abuse@cloudpods.org.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@@ -1,51 +1,3 @@
# Contribution Guide
[English](CONTRIBUTING.md) | [中文](CONTRIBUTING_zh.md)
You can help to make Cloudpods better! There are many things you can do:
## Help others know Cloudpods
First of all, the easiest way to contribute to Cloudpods is to let more people know Cloudpods. To share your experience of Cloudpods. Hopefully Cloudpods may help resolve the issues in their daily jobs.
## Report Bugs
Cloudpods is an infrastructure management tool. Even though it has been thourougly tested and codes have been peer reviwed before merge, due to its complexity, you may still encounter bugs when using Cloudpods. This is frustrating. However, please do not hesitate to submit a issue at Github. The issue may help developers to improve the codes and make Cloudpods more and more robust. Meanwhile, the answer to the issues may also help others who have the similar bugs.
## Answer issues
You may answer issues at Github and help those who encounter issues when using Cloudpods. Sometimes, the issues are not due to bugs in codes but simplely because of misconfigurations, environment or misunderstandings.
## Contribute codes
You are welcome to contribute codes to Cloudpods. Please refers to [CONTRIBUTING](https://www.cloudpods.org/en/docs/development/contrib/) for more details on how to contribute codes to Cloudpods.
### Fix Issues
You may help solve bugs by submiting patches.
### New Features
You may help improve the codes of Cloudpods, including:
* Develop new [features for Cloudpods](https://github.com/yunionio/cloudpods/issues?q=is%3Aopen+is%3Aissue+label%3Afeature).
* Recode some part of Cloudpods so as to make the code easier to be understood, or less error-prone, or more efficient.
## Documentation
You may help improve documentations of Cloudpds by directly make pull request to documentations. Once the Pull Request is accepted and merged, the documentations will be updated immediately.
## Translation
You may help translate the UI texts or documents of Cloudpds to other languages. Currently, we support Simplified Chinese and English.
## Write articles
You are also welcome to write articles about Cloudpods and sharing your experience with others. The content of the articles may include the following but not be limited to:
* Your user experiences with Cloudpods
* Your opinion about the direction and area of Cloudpods
* Comparison with other cloud platforms
* Benchmarks
# 开发贡献参考
详情见文档 [开发贡献](https://docs.yunion.io/docs/contribute/)

View File

@@ -1,48 +0,0 @@
# 贡献指南
[English](CONTRIBUTING.md) | [中文](CONTRIBUTING_zh.md)
如果您对Cloudpods感兴趣并且愿意为Cloudpods贡献可以通过以下任意方式贡献您的力量使得Cloudpods变得更完善。
## 让别人知道Cloudpods
最简单的方式就是让更多的人知道Cloudpods向他们分享您对Cloudpds的看法和使用经验向他们推荐Cloudpods。很有可能在您的推荐下他们开始使用Cloudpods并解决了他们在工作中遇到的基础设施管理问题。
## 报告BUG
Cloudpods是一款开源的基础设施管理工具软件运行场景复杂。尽管在开发阶段开发者很有可能已经进行了详尽的测试但难免在实际运行中还会遇到各种意想不到的bug。遇到这种情况请不要犹豫在Github上提交一个issue。这能帮助开发者更好地改进代码逻辑使得Cloudpods越来越鲁棒。同时issue的解答记录也能帮助到遇到类似问题的其他人。
## 回答问题
有时候人们在使用Cloudpods中遇到的问题并不是因为Cloudpods软件缺陷造成的而是因为配置错误环境因素或者误会导致的。这样的问题也许只需要简单地一两句就能解答不需要代码的修改。您可以在Github回答issue或者社区群中回答提问帮助那些在使用Cloudpods中遇到问题的人。
## 贡献代码
我们非常欢迎和感谢开发者向项目提交代码PR流程细节请查看 [CONTRIBUTING](https://www.cloudpods.org/docs/development/contrib/).
### 修复BUG
您可以通过提交代码补丁来修复Cloudpods存在的BUG。
### 开发新的功能特性
不仅仅是修复BUG您也可以通过提交代码以改进Cloudpods包括但不限于
* 开发新的功能特性,您可以在[feature issues](https://github.com/yunionio/cloudpods/issues?q=is%3Aopen+is%3Aissue+label%3Afeature)查找需要的功能。
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效。
## 文档
您也可以通过给文档提交PR来改进Cloudpods的文档。一旦您的PR被接收并合并Cloudpods的在线文档就能及时地自动更新。
## 翻译
您也可以帮助翻译Cloudpods要么翻译UI界面的i18n配置文件要么翻译文档使得Cloudpods支持更多的语言。目前Cloudpods支持简体中文和英文。
## 写文章
另外欢迎您写关于Cloudpods的文章通过文字分享您使用Cloudpods的经验和技巧。文章可以包括但不限于如下内容
* 使用Cloudpods的体验
* Cloudpods技术领域的观点
* 和其他竞品的比较
* 性能评测

View File

@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright [2018] [Yunion Technology]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

197
Makefile
View File

@@ -6,12 +6,11 @@ ROOT_DIR := $(CURDIR)
BUILD_DIR := $(ROOT_DIR)/_output
BIN_DIR := $(BUILD_DIR)/bin
BUILD_SCRIPT := $(ROOT_DIR)/build/build.sh
DEB_BUILD_SCRIPT := $(ROOT_DIR)/build/build_deb.sh
ifeq ($(ONECLOUD_CI_BUILD),)
GIT_COMMIT := $(shell git rev-parse --short HEAD)
GIT_BRANCH := $(shell git branch -r --contains | head -1 | sed -E -e "s%(HEAD ->|origin|upstream)/?%%g" | xargs)
GIT_VERSION := $(shell git describe --always --tags --abbrev=14 $(GIT_COMMIT)^{commit})
GIT_BRANCH := $(shell git name-rev --name-only HEAD)
GIT_VERSION := $(shell git describe --tags --abbrev=14 $(GIT_COMMIT)^{commit})
GIT_TREE_STATE := $(shell s=`git status --porcelain 2>/dev/null`; if [ -z "$$s" ]; then echo "clean"; else echo "dirty"; fi)
BUILD_DATE := $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
else
@@ -47,7 +46,11 @@ PKGS := go list ./...
CGO_CFLAGS_ENV = $(shell go env CGO_CFLAGS)
CGO_LDFLAGS_ENV = $(shell go env CGO_LDFLAGS)
export GOOS ?= linux
ifdef LIBQEMUIO_PATH
X_CGO_CFLAGS := ${CGO_CFLAGS_ENV} -I${LIBQEMUIO_PATH}/src -I${LIBQEMUIO_PATH}/src/include
X_CGO_LDFLAGS := ${CGO_LDFLAGS_ENV} -laio -lqemuio -lpthread -L ${LIBQEMUIO_PATH}/src
endif
export GO111MODULE:=on
export CGO_CFLAGS = ${X_CGO_CFLAGS}
export CGO_LDFLAGS = ${X_CGO_LDFLAGS}
@@ -58,9 +61,8 @@ ifeq ($(UNAME), Linux)
XARGS_FLAGS = --no-run-if-empty
endif
cmdTargets:=$(wildcard cmd/*)
cmdTargets:=$(filter-out cmd/host-image,$(wildcard cmd/*))
rpmTargets:=$(foreach b,$(patsubst cmd/%,%,$(cmdTargets)),$(if $(shell [ -f "$(CURDIR)/build/$(b)/vars" ] && echo 1),rpm/$(b)))
debTargets:=$(foreach b,$(patsubst cmd/%,%,$(cmdTargets)),$(if $(shell [ -f "$(CURDIR)/build/$(b)/vars" ] && echo 1),deb/$(b)))
all: build
@@ -73,26 +75,23 @@ install: prepare_dir
gencopyright:
@bash scripts/gencopyright.sh pkg cmd
@sh scripts/gencopyright.sh pkg cmd
test:
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage|torrent')
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage')
vet:
go vet ./...
# cmd/esxi-agent: prepare_dir
# CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/esxi-agent: prepare_dir
CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/%: prepare_dir
CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
$(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
rpm/%: cmd/%
$(BUILD_SCRIPT) $*
deb/%: cmd/%
$(DEB_BUILD_SCRIPT) $*
pkg/%: prepare_dir
$(GO_INSTALL) $(REPO_PREFIX)/$@
@@ -102,9 +101,6 @@ build:
rpm:
$(MAKE) $(rpmTargets)
deb:
$(MAKE) $(debTargets)
rpmclean:
rm -fr $(BUILD_DIR)/rpms
@@ -129,11 +125,6 @@ clean:
fmt:
@git ls-files --exclude '*' '*.go' \
| grep -v '^vendor/' \
| while read f; do \
if ! grep -m1 -q '^// Code generated .* DO NOT EDIT\.$$' "$$f"; then \
echo "$$f"; \
fi ; \
done \
| xargs $(XARGS_FLAGS) gofmt -w
fmt-check: fmt
@@ -166,80 +157,14 @@ goimports-check:
echo "$@: working tree modified (possibly by goimports)" >&2 ; \
echo "$@: " >&2 ; \
echo "$@: import spec should be grouped in order: std, 3rd-party, yunion.io/x, yunion.io/x/onecloud" >&2 ; \
echo "$@: goimports should be installed by: \
echo "$@: git clone --depth 4 https://github.com/yunionio/tools && cd tools && go install ./cmd/goimports ; \
echo "$@: see \"yun\" branch at https://github.com/yousong/tools" >&2 ; \
false ; \
fi
.PHONY: goimports-check
vet-check:
./scripts/vet.sh gen
./scripts/vet.sh chk
.PHONY: vet-check
comma:=,
space:=$(space) $(space)
# NOTE: keep y18n-packages in alphabetical order
y18n-src-lang := en-US
y18n-lang := en-US,zh-CN
y18n-packages := \
yunion.io/x/onecloud/cmd/apigateway \
yunion.io/x/onecloud/cmd/keystone \
yunion.io/x/onecloud/cmd/llm \
yunion.io/x/onecloud/cmd/monitor \
yunion.io/x/onecloud/cmd/region \
yunion.io/x/onecloud/cmd/yunionconf \
define y18n-gen
set -o errexit; \
set -o pipefail; \
export GO111MODULE=off; \
y18n \
-chdir $(CURDIR) \
-dir ./locales/ \
-out ./locales/locales.go \
-lang $(y18n-lang) \
$(y18n-packages) \
; \
$(foreach lang,$(filter-out $(y18n-src-lang),$(subst $(comma), ,$(y18n-lang))),cp ./locales/$(lang)/{out,messages}.gotext.json;) \
endef
y18n-gen:
$(y18n-gen)
$(y18n-gen)
.PHONY: y18n-gen
y18n-check:
$(y18n-gen)
if git status --short ./locales | sed 's/^/$@: /' | grep .; then \
echo "$@: Locales content needs care" >&2 ; \
false; \
fi
.PHONY: y18n-check
define hostdeployer-grpc-gen
set -o errexit; \
set -o pipefail; \
protoc -I pkg/hostman/hostdeployer/apis \
--go_out=pkg/hostman/hostdeployer/apis \
--go_opt=paths=source_relative \
--go-grpc_out=pkg/hostman/hostdeployer/apis \
--go-grpc_opt=paths=source_relative \
pkg/hostman/hostdeployer/apis/deploy.proto
endef
hostdeployer-grpc-gen:
$(hostdeployer-grpc-gen)
check: fmt-check
check: gendocgo-check
#check: goimports-check
#check: vet-check
#check: y18n-check
check: goimports-check
.PHONY: check
@@ -261,18 +186,78 @@ dep:
@echo "$$depDeprecated"
@$(MAKE) mod
RELEASE_BRANCH:=master
GOPROXY ?= direct
mod:
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go get yunion.io/x/cloudmux@$(RELEASE_BRANCH)
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go get $(patsubst %,%@master,$(shell GO111MODULE=on go mod edit -print | sed -n -e 's|.*\(yunion.io/x/[a-z].*\) v.*|\1|p' | grep -v '/cloudmux$$'))
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go mod tidy
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go mod vendor -v
go get $(patsubst %,%@master,$(shell GO111MODULE=on go mod edit -print | sed -n -e 's|.*\(yunion.io/x/[a-z].*\) v.*|\1|p'))
go mod tidy
go mod vendor -v
DOCKER_BUILD_IMAGE_VERSION?=1.0-1
define dockerCentOSBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
cd /root/onecloud
export GOFLAGS=-mod=vendor
make $(1)
chown -R $(shell id -u):$(shell id -g) _output
endef
docker-centos-build: export dockerCentOSBuildCmd:=$(call dockerCentOSBuildCmd,$(F))
docker-centos-build:
docker rm --force onecloud-ci-build &>/dev/null || true
docker run \
--name onecloud-ci-build \
--rm \
--volume $(CURDIR):/root/onecloud \
registry.cn-beijing.aliyuncs.com/yunionio/centos-build:$(DOCKER_BUILD_IMAGE_VERSION) \
/bin/bash -c "$$dockerCentOSBuildCmd"
chown -R $$(id -u):$$(id -g) _output
ls -lh _output/bin
# NOTE we need a way to stop and remove the container started by docker-build.
# No --tty, --stop-signal won't work
docker-centos-build-stop:
docker-centos stop --time 0 onecloud-ci-build || true
.PHONY: docker-centos-build
.PHONY: docker-centos-build-stop
define dockerAlpineBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
cd /root/go/src/yunion.io/x/onecloud
export GOFLAGS=-mod=vendor
make $(1)
chown -R $(shell id -u):$(shell id -g) _output
endef
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
docker-alpine-build:
docker rm --force onecloud-docker-alpine-build &>/dev/null || true
docker run --rm \
--name onecloud-docker-alpine-build \
-v $(CURDIR):/root/go/src/yunion.io/x/onecloud \
-v $(CURDIR)/_output/alpine-build:/root/go/src/yunion.io/x/onecloud/_output \
registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:1.0-1 \
/bin/sh -c "$$dockerAlpineBuildCmd"
ls -lh _output/alpine-build/bin
docker-alpine-build-stop:
docker stop --time 0 onecloud-docker-alpine-build || true
.PHONY: docker-alpine-build
.PHONY: docker-alpine-build-stop
define helpText
Build with docker
make docker-centos-build F='-j4'
make docker-centos-build F='-j4 cmd/region cmd/climc'
make docker-centos-build-stop
make docker-alpine-build F='-j4'
make docker-alpine-build F='-j4 cmd/host cmd/host-deployer'
make docker-alpine-build-stop
@@ -303,31 +288,19 @@ gen-swagger: gen-swagger-check
$(ROOT_DIR)/scripts/codegen.py swagger-code
$(ROOT_DIR)/scripts/codegen.py swagger-yaml
swagger-serve-only:
swagger-serve: gen-swagger
$(ROOT_DIR)/scripts/codegen.py swagger-serve
swagger-serve: gen-model-api gen-swagger swagger-serve-only
swagger-site: gen-model-api gen-swagger
$(ROOT_DIR)/scripts/codegen.py swagger-site
.PHONY: gen-model-api-check gen-model-api gen-swagger-check gen-swagger swagger-serve swagger-site
.PHONY: gen-model-api-check gen-model-api gen-swagger-check gen-swagger swagger-serve
REGISTRY ?= "registry.cn-beijing.aliyuncs.com/yunionio"
VERSION ?= $(shell git describe --exact-match 2> /dev/null || \
git describe --match=$(git rev-parse --short=8 HEAD) --always --dirty --abbrev=8)
image:
mkdir -p $(ROOT_DIR)/_output
DEBUG=$(DEBUG) ARCH=$(ARCH) TAG=$(VERSION) REGISTRY=$(REGISTRY) $(ROOT_DIR)/scripts/docker_push.sh $(filter-out $@,$(MAKECMDGOALS))
TAG=$(VERSION) REGISTRY=$(REGISTRY) $(ROOT_DIR)/scripts/docker_push.sh $(filter-out $@,$(MAKECMDGOALS))
.PHONY: image
image-telegraf-raid-plugin:
VERSION=v4.0-20260115.0 GOOS=linux ARCH=all make image telegraf-raid-plugin
%:
@:
ModName:=yunion.io/x/onecloud
include $(CURDIR)/Makefile.common.mk

View File

@@ -1,66 +0,0 @@
ifeq ($(__inc_Makefile_common_mk),)
__inc_Makefile_common_mk:=1
ifeq ($(ModName),)
$(error ModName must be set, e.g. yunion.io/x/onecloud)
endif
ModBaseName:=$(notdir $(ModName))
DockerImageRegistry?=registry.cn-beijing.aliyuncs.com
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:3.23-go-1.26.3-0
EnvIf=$(if $($(1)),$(1)=$($(1)))
define dockerCentOSBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
git config --global --add safe.directory /root/go/src/yunion.io/x/$(ModBaseName)
cd /root/go/src/yunion.io/x/$(ModBaseName)
env \
$(call EnvIf,GOARCH) \
$(call EnvIf,GOOS) \
$(call EnvIf,CGO_ENABLED) \
make $(1)
chown -R $(shell id -u):$(shell id -g) _output
endef
tmpName=$(ModBaseName)-$(shell date +"%Y%m%d.%H%M%S%3N")
define dockerAlpineBuildCmd
set -o xtrace
set -o errexit
set -o pipefail
git config --global --add safe.directory /root/go/src/yunion.io/x/$(ModBaseName)
cd /root/go/src/yunion.io/x/$(ModBaseName)
git config --global --add safe.directory /root/go/src/yunion.io/x/onecloud
env \
$(call EnvIf,GOARCH) \
$(call EnvIf,GOOS) \
$(call EnvIf,CGO_ENABLED) \
make $(1)
chown -R $(shell id -u):$(shell id -g) _output
endef
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
docker-alpine-build:
docker rm --force docker-alpine-build-$(tmpName) &>/dev/null || true
docker run \
--rm \
--name docker-alpine-build-$(tmpName) \
-v $(CURDIR):/root/go/src/yunion.io/x/$(ModBaseName) \
-v $(CURDIR)/_output/alpine-build:/root/go/src/yunion.io/x/$(ModBaseName)/_output \
-v $(CURDIR)/_output/alpine-build/_cache:/root/.cache \
$(DockerImageAlpineBuild) \
/bin/sh -c "$$dockerAlpineBuildCmd"
ls -lh _output/alpine-build/bin
docker-alpine-build-stop:
docker stop --time 0 docker-alpine-build-$(tmpName) || true
.PHONY: docker-alpine-build
.PHONY: docker-alpine-build-stop
endif # __inc_Makefile_common_mk

13
OWNERS
View File

@@ -1,6 +1,15 @@
# See the OWNERS docs at https://go.k8s.io/owners
approvers:
- swordqiu
reviewers:
- Zexi
- ioito
- swordqiu
- tb365
- wanyaoqi
- yousong
- zhaoxiangchun
- zhasm
approvers:
- swordqiu
- yousong
- wanyaoqi
- Zexi

View File

@@ -1,122 +1,54 @@
# Cloudpods
# Yunion OneCloud (云联融合云)
[![CircleCI](https://circleci.com/gh/yunionio/cloudpods.svg?style=svg)](https://circleci.com/gh/yunionio/cloudpods)
[![Go Report Card](https://goreportcard.com/badge/github.com/yunionio/cloudpods)](https://goreportcard.com/report/github.com/yunionio/cloudpods)
[![CircleCI](https://circleci.com/gh/yunionio/onecloud.svg?style=svg)](https://circleci.com/gh/yunionio/onecloud)
[![Build Status](https://travis-ci.com/yunionio/onecloud.svg?branch=master)](https://travis-ci.org/yunionio/onecloud)
[![Go Report Card](https://goreportcard.com/badge/github.com/yunionio/onecloud)](https://goreportcard.com/report/github.com/yunionio/onecloud)
[简体中文](./README-CN.md) | [English](./README.md)
## 什么是云联融合云?
## Cloudpods是什么?
云联融合云Yunion OneCloud是一个开源的多云平台。融合云构建在用户分布于多云基础设施之上通过技术手段将分布于多云的异构IT资源统一管理将多底层多云的差异向用户屏蔽并通过网络和调度实现资源的融合与打通在多云之上进行抽象向用户呈现统一的使用界面和API接口让用户就像使用一个云平台一样使用分布于多云的资源实现一个统一的“云上之云”的云平台。
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
鉴于企业IT基础设施的两个趋势1. 企业使用多云基础设施并且公有云是最主要的基础设施提供者2. 企业应用将逐步云原生化企业IT基础设施需要为Kubernetes优化。融合云为此架构而设计。一方面抽象管理底层的多云基础设施另一方面为多云Kubernetes提供运行环境。融合云为企业未来的的IT基础设施架构而设计。
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台也就是一个”云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异对外暴露了一套统一的API允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度提升了管理多云的效率。
云联融合云具备以下功能特性:
Cloudpods还提供了 **AI 云**一个面向大语言模型LLM推理与 AI 容器应用的统一管理平台,帮助企业在同一平台完成 AI 工作负载的部署、调度与运维,与 Cloudpods 私有云/多云资源体系无缝集成。
- 多云资源统一管理
## 谁需要Cloudpods?
统一API、镜像、调度、账号体系、监控和计费等操作能够全面管理 On premises、 私有云、公有云资源。
* 将几台物理服务器虚拟化成一个私有云平台
* 需要一个紧凑而且功能相对完整的物理机全生命周期管理工具
* 将VMware vSphere虚拟化集群转换为一个可以自服务的私有云平台
* 在混合云的场景,能够在一个界面访问私有云和公有云
* 通过一个集中的入口访问分布在多个公有云平台上的多个账号
* 当前只使用一个公有云账号但希望将来使用多云的用户
* 需要部署和管理 LLM 推理服务及 AI 容器应用,并需要 GPU 调度支持的用户
- 内置私有云
## 功能
OneCloud内置完备的私有云实现提供对用户本地IDC的虚拟机、物理机和负载均衡等资源管理。
请访问[产品介绍](https://www.cloudpods.org/docs/introduction/)页面了解详细信息。
- 为多云Kubernetes提供运行环境
### AI 云
OneCloud自身为运行在Kubernetes的云原生应用并且能在多云环境部署运行Kubernetes集群。
* **AI 推理服务**:部署和管理 LLM 推理实例(支持 Ollama、vLLM、SGLang 等),支持 GPU 调度、模型挂载与推理服务地址分配。
* **AI 应用管理**:一站式部署 LLM 应用编排、智能体助手、图像生成等 AI 容器应用。
* **模型库**:统一管理模型来源、版本与缓存,支持多实例复用、离线分发,避免重复下载。
* **模板与镜像**:通过模板定义 CPU/内存/GPU 等资源规格,通过镜像管理容器运行环境,实现标准化交付。
* **GPU 运维**GPU 设备自动探测与注册,支持 NVIDIA/CUDA 环境的统一配置与管理。
欢迎安装部署云联融合云,期待大家的反馈!
支持的 AI 工作负载:
* AI 推理Ollama、vLLM、SGLang
* AI 应用OpenClaw、Dify、ComfyUI、Hermes Agent
### 支持的云平台
## 部署
* 公有云:
* AWS
* Azure
* Google Cloud Platform
* 阿里云
* 华为云
* 腾讯云
* UCloud
* 天翼云
* 移动云
* 京东云
* 火山引擎
* 百度云
* 金山云
* 青云
* Oracle Cloud
* 联通云
* 私有云:
* OpenStack
* ZStack
* Alibaba Cloud Apsara (阿里飞天)
* Huawei HCSO (华为HCSO)
* Nutanix
* BingoCloud
* OceanBase
* 本地基础设施资源:
* 基于 KVM 实现的轻量级私有云
* VMware vSphere vCenter/ESXi
* Proxmox VE
* 裸金属 (IPMI, Redfish API)
* 对象存储 (Minio, Ceph, XSky)
* NAS (Ceph)
请参考文档 [安装部署](https://docs.yunion.io/docs/setup/) 搭建 OneCloud 集群。
### 支持的云资源
* 服务器实例、磁盘、网卡、网络、VPC、存储、宿主机、二层网络、快照、快照策略、安全组、弹性 IP、SSH 密钥对、镜像
* 负载均衡实例、监听、后端服务器组、后端服务器、TLS 证书、访问控制
* 对象存储:存储桶、对象
* NAS文件系统、权限组、挂载点
* RDS实例、账号、备份、数据库、参数、权限
* 弹性缓存:实例、账号、备份、参数
* DNSDNS 区域、DNS 记录
* VPCVPC、VPC 对等连接、跨 VPC 网络、NAT 网关、DNAT/SNAT 规则、路由表、路由条目
## 安装部署
请参考文档[安装部署](https://www.cloudpods.org/docs/getting-started/)选择合适的场景部署。
## 文档
* [Cloudpods文档](https://www.cloudpods.org/zh)
- [文档中心](https://docs.yunion.io/)
* [Swagger API文档](https://www.cloudpods.org/zh/docs/swagger/)
- [Swagger API文档](https://docs.yunion.cn/api/)
## 谁在使用Cloudpods
请在[这里](https://github.com/yunionio/cloudpods/issues/11427)查看Cloudpods用户列表。如果你正在使用Cloudpods欢迎回复留下你的信息。谢谢对Cloudpods的支持
## 架构
## 联系我们
![architecture](./docs/architecture.png)
* 请查看[联系我们](https://www.cloudpods.org/docs/contact/)。
* TG群: [cloudpods](https://t.me/cloudpods_org)
## 版本历史
请查看[发布日志](https://www.cloudpods.org/docs/release-notes/)和[Changelog](https://www.cloudpods.org/docs/development/changelog/)。
## 贡献
欢迎和感谢任何形式的贡献,不局限于贡献代码,流程细节请查看 [CONTRIBUTING](./CONTRIBUTING_zh.md)。
我们非常欢迎和感谢开发者向项目做贡献,流程细节请查看 [CONTRIBUTING.md](./CONTRIBUTING.md)
## License
Apache license 2.0详情请看 [LICENSE](./LICENSE)。
## AI生成文档
[DeepWiki](https://deepwiki.com/yunionio/cloudpods) 提供了对本项目代码详细和全面的AI解读可以参考。
OneCloud 使用 Apache license 2.0. 详情请看 [LICENSE](./LICENSE)

126
README.md
View File

@@ -1,123 +1,55 @@
# Cloudpods
# Yunion OneCloud
[![CircleCI](https://circleci.com/gh/yunionio/cloudpods.svg?style=svg)](https://circleci.com/gh/yunionio/cloudpods)
[![Go Report Card](https://goreportcard.com/badge/github.com/yunionio/cloudpods)](https://goreportcard.com/report/github.com/yunionio/cloudpods)
[![CircleCI](https://circleci.com/gh/yunionio/onecloud.svg?style=svg)](https://circleci.com/gh/yunionio/onecloud)
[![Build Status](https://travis-ci.com/yunionio/onecloud.svg?branch=master)](https://travis-ci.org/yunionio/onecloud)
[![Go Report Card](https://goreportcard.com/badge/github.com/yunionio/onecloud)](https://goreportcard.com/report/github.com/yunionio/onecloud)
[English](./README.md) | [简体中文](./README-CN.md)
### [README in Chinese](./README-CN.md)
## What is Cloudpods?
## What is Yunion OneCloud?
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
Yunion OneCloud is an open source unified-IaaS cloud platform.
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is *a cloud on clouds*. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.
As its name sugguests, 'Yun' means 'cloud' in Chinese and 'Yunion OneCloud' means to unify many distinct clouds into the one that behaves like an integral cloud platform.
Cloudpods also provides **AI Cloud**, a unified management platform for large language model (LLM) inference and AI container applications, helping enterprises deploy, schedule, and operate AI workloads on a single platform, seamlessly integrated with the Cloudpods private cloud / multi-cloud resource ecosystem.
As trends show, the enterprise IT infrastructure in the future would be unavoidably heterogeneous and the public clouds should be the major infrastructure providers for many enterprises. Further, the infrastructure would most likely be prepared for the cloud-native applications running on Kubernetes. Yunion OneCloud is built to provide the cloud architecture for this scenario such that it is the middle layer between the underlying cloud infrustructures and the overlay kubernetes clusters across many clouds.
## Who needs Cloudpods?
Many may consider Yunion OneCloud as a multi-cloud management platform (MCMP). Rather, we would view it as an IaaS platform as it does not only manage the resources and services from many clouds, but also hides the differences of underlying technologies and exposes one set of APIs that allow programatically interacting with the compute/storage/networking resources across many clouds.
* Those who need a simple solution to virtualize a few physical servers into a private cloud
* Those who need a compact and fully automatic baremetal lift-cycle management solution
* Those who want to turn a VMware vSphere virtualization cluster into a private cloud
* Those who need a cohesive view of both public and private cloud in a hybrid cloud setup
* Those who need a centric portal to access multiple accounts from multiple public clouds
* Those who is currently using a single cloud account, but will not lose the possibility to adopt multicloud strategy
* Those who need to deploy and manage LLM inference services and AI container applications with GPU support
Yunion OneCloud is working on abstracting APIs for the following resources:
## Features
* Compute, including virtual machines, images, etc.
* Storage, including disks, snapshots, object storages, etc.
* Networking, including load balancers, VPC, virtual networks, NAT gateways, security groups, etc.
* Accouting and billing, etc.
* ...
See [Introduction](https://www.cloudpods.org/docs/introduction/) for details.
over the following many cloud providers:
### AI Cloud
* On-premise IT resources, including kvm VM, baremetal, VMware vsphere/ESXi, etc.
* Private clouds, including OpenStack, etc.
* Public clouds, including Aliyun, AWS, Azure, Tencent Cloud, Huawei Cloud, etc.
* **AI Inference Services**: Deploy and manage LLM inference instances (Ollama, vLLM, SGLang, and more) with GPU scheduling, model mounting, and inference service address allocation.
* **AI Application Management**: One-stop deployment of LLM application orchestration, agent assistants, image generation, and other AI container applications.
* **Model Library**: Unified management of model sources, versions, and caches, supporting multi-instance reuse and offline distribution.
* **Templates and Images**: Define resource specifications (CPU/memory/GPU) through templates, manage container runtime environments through images.
* **GPU Operations**: Automatic GPU device detection and registration, unified NVIDIA/CUDA environment configuration and management.
You are welcome to install and try Yunion OneCloud. Looking forward to your feedback.
Supported AI workloads:
* AI Inference: Ollama, vLLM, SGLang
* AI Applications: OpenClaw, Dify, ComfyUI, Hermes Agent
## Installation
### Supported cloud providers
* Public Clouds:
* AWS
* Azure
* Google Cloud Platform
* Alibaba Cloud
* Huawei Cloud
* Tencent Cloud
* UCloud
* Ctyun (China Telecom)
* ECloud (China Mobile)
* JDCloud
* Volcengine
* Baidu Cloud
* Kingsoft Cloud
* QingCloud
* Oracle Cloud
* China Unicom Cloud
* Private Clouds:
* OpenStack
* ZStack
* Alibaba Cloud Apsara
* Huawei HCSO
* Nutanix
* BingoCloud
* OceanBase
* On-premise resources:
* Lightweight private cloud built on KVM
* VMware vSphere vCenter/ESXi
* Proxmox VE
* Baremetals (IPMI, Redfish API)
* Object storages (Minio, Ceph, XSky)
* NAS (Ceph)
### Supported resources
* Servers: instances, disks, network interfaces, networks, vpcs, storages, hosts, wires, snapshots, snapshot policies, security groups, elastic IPs, SSH keypairs, images
* Load Balancers: instances, listeners, backend groups, backends, TLS certificates, ACLs
* Object Storage: buckets, objects
* NAS: file_systems, access_groups, mount_targets
* RDS: instances, accounts, backups, databases, parameters, privileges
* Elastic Cache: instances, accounts, backups, parameters
* DNS: DNS zones, DNS records
* VPC: VPCs, VPC peering, inter-VPC network, NAT gateway, DNAT/SNAT rules, route tables, route entries
## Getting started
Please refer to the document [Getting Started](https://www.cloudpods.org/en/docs/getting-started/) to select the appropriate scenario for installation.
Please refers to [install & deployment](https://docs.yunion.io/docs/setup/) (currently in Chinese Only).
## Documentations
* [Cloudpods Documents](https://www.cloudpods.org/en)
- [Yunion OneCloud Documents](https://docs.yunion.io/)
* [Swagger API](https://www.cloudpods.org/en/docs/swagger/)
- [Swagger API](https://docs.yunion.cn/api/)
## Architecture
## Who is using Cloudpods?
Please check this [issue](https://github.com/yunionio/cloudpods/issues/11427) for the user list of Cloudpods. If you are using Cloudpods, you are welcome to leave your information by responding the issue. Thank you for your support.
## Contact
* See [Contact Us](https://www.cloudpods.org/en/docs/contact/) for details.
* Telegram: [cloudpods](https://t.me/cloudpods_org)
## Changelog
See [Release Notes](https://www.cloudpods.org/en/docs/release-notes/) and [Changelog](https://www.cloudpods.org/en/docs/development/changelog/) for details.
![architecture](./docs/architecture.png)
## Contribution
You are welcome to do any kind of contribution to the project. Please refer to [CONTRIBUTING](./CONTRIBUTING.md) for guidelines.
You are welcome to contribute to the project. Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
## License
Apache License 2.0. See [LICENSE](./LICENSE).
## AI-generated doc
[DeepWiki](https://deepwiki.com/yunionio/cloudpods) provides an amazing AI-generated doc of this project, you may refer to it for more detailed and comprehensive understanding of codes.
Apache License 2.0. See [LICENSE](./LICENSE)

View File

@@ -1 +0,0 @@
DESCRIPTION="Yunion Cloud AI Proxy Service"

View File

@@ -13,7 +13,6 @@ SRC_BUILD=$ROOT_DIR/build
OUTPUT_DIR=$ROOT_DIR/_output/rpms
PKG=$1
BIN_PATH=${2:-/opt/yunion/bin}
if [ -z "$PKG" ]; then
echo "Usage: $0 <package>"
@@ -36,12 +35,6 @@ fi
. $ROOT/vars
BUILDROOT=$(mktemp -d 2>/dev/null || mktemp -d -t 'yunion')
function cleanup {
rm -rf "$BUILDROOT"
echo "Deleted temp working directory $BUILDROOT"
}
# register the cleanup function to be called on the EXIT signal
trap cleanup EXIT
echo "Build root ${BUILDROOT}"
@@ -50,12 +43,7 @@ echo "Build root ${BUILDROOT}"
if [ -z "$VERSION" ]; then
TAG=$(git describe --abbrev=0 --tags || echo testing)
VERSION=${TAG/\//-}
if [[ "$VERSION" =~ ^v0. ]]; then
VERSION=${VERSION/v0./}
elif [[ "$VERSION" =~ ^v ]]; then
VERSION=${VERSION/v/}
fi
VERSION=${VERSION//-/.}
VERSION=${VERSION/v/}
fi
RELEASE=`date +"%y%m%d%H"`
@@ -79,8 +67,6 @@ echo "# Yunion RPM spec
%global pkgname yunion-$PKG
%global homedir /var/run/%{owner}
%global use_systemd $SERVICE
%global debug_package %{nil}
%global __strip /usr/bin/eu-strip
Name: %{pkgname}
Version: $VERSION
@@ -104,95 +90,49 @@ $DESCRIPTION
%build
%install
install -D -m 0755 $BIN \$RPM_BUILD_ROOT$BIN_PATH/$PKG
install -D -m 0755 $BIN \$RPM_BUILD_ROOT/opt/yunion/bin/$PKG
for bin in $EXTRA_BINS; do
install -D -m 0755 $SRC_BIN/\$bin \$RPM_BUILD_ROOT$BIN_PATH/\$bin
install -D -m 0755 $SRC_BIN/\$bin \$RPM_BUILD_ROOT/opt/yunion/bin/\$bin
done
if [ -d $ROOT/root ]; then
rsync -a $ROOT/root/ \$RPM_BUILD_ROOT
fi
%pre" > $SPEC_FILE
if [ -f $ROOT/preinst ]; then
cat $ROOT/preinst >> $SPEC_FILE
else
echo "
%pre
%if %{use_systemd}
getent group %{owner} >/dev/null || /usr/sbin/groupadd -r %{owner}
getent passwd %{owner} >/dev/null || /usr/sbin/useradd -r -s /sbin/nologin -d %{homedir} -M -g %{owner} %{owner}
%endif
" >> $SPEC_FILE
fi
echo "
%post" >> $SPEC_FILE
if [ -f $ROOT/postinst ]; then
cat $ROOT/postinst >> $SPEC_FILE
else
echo "
%post
%if %{use_systemd}
mkdir -p /var/run/%{owner}
chown -R %{owner}:%{owner} /var/run/%{owner}
/usr/bin/systemctl preset %{pkgname}.service >/dev/null 2>&1 ||:
%endif
" >> $SPEC_FILE
fi
echo "
%preun" >> $SPEC_FILE
if [ -f $ROOT/prerm ]; then
cat $ROOT/prerm >> $SPEC_FILE
else
echo "
%preun
%if %{use_systemd}
/usr/bin/systemctl --no-reload disable %{pkgname}.service >/dev/null 2>&1 || :
/usr/bin/systemctl stop %{pkgname}.service >/dev/null 2>&1 ||:
%endif
" >> $SPEC_FILE
fi
echo "
%postun" >> $SPEC_FILE
if [ -f $ROOT/postrm ]; then
cat $ROOT/postrm >> $SPEC_FILE
else
echo "
%postun
%if %{use_systemd}
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
%endif
" >> $SPEC_FILE
fi
echo -n "
%files
%doc
$BIN_PATH/$PKG
" >> $SPEC_FILE
for b in $EXTRA_BINS; do
echo $BIN_PATH/$b >> $SPEC_FILE
done
/opt/yunion/bin/$PKG
$(for b in $EXTRA_BINS; do echo /opt/yunion/bin/$b; done)
" > $SPEC_FILE
if [ -d $ROOT/root/ ]; then
find $ROOT/root/ -type f | sed -e "s:$ROOT/root::g" >> $SPEC_FILE
fi
TARGET=
case "$GOARCH" in
"arm64" | "aarch64" | "arm")
TARGET="--target aarch64-redhat-linux"
;;
"amd64" | "x86" | "i686" | "i386" | "x86_64")
TARGET="--target x86_64-redhat-linux"
;;
"riscv64")
TARGET="--target riscv64-linux"
;;
esac
rpmbuild --define "_topdir $BUILDROOT" -bb $SPEC_FILE $TARGET
rpmbuild --define "_topdir $BUILDROOT" -bb $SPEC_FILE
find $RPM_DIR -type f | while read f; do
d="$(dirname "$f")"
@@ -200,3 +140,5 @@ find $RPM_DIR -type f | while read f; do
mkdir -p "$d"
cp $f $d
done
rm -fr $BUILDROOT

View File

@@ -1,175 +0,0 @@
#!/bin/bash
set -e
if [ -z "$ROOT_DIR" ]; then
pushd $(dirname $(readlink -f "$BASH_SOURCE")) > /dev/null
ROOT_DIR=$(cd .. && pwd)
popd > /dev/null
fi
SRC_BIN=$ROOT_DIR/_output/bin
SRC_BUILD=$ROOT_DIR/build
OUTPUT_DIR=$ROOT_DIR/_output/debs
PKG=$1
BIN_PATH=${2:-/opt/yunion/bin}
if [ -z "$PKG" ]; then
echo "Usage: $0 <package>"
exit 1
fi
BIN="$SRC_BIN/$PKG"
ROOT="$SRC_BUILD/$PKG"
if [ ! -x "$BIN" ]; then
echo "$BIN not exists"
exit 1
fi
if [ ! -x "$ROOT" ]; then
echo "$ROOT not exists"
exit 1
fi
. $ROOT/vars
case $(uname -m) in
x86_64)
CURRENT_ARCH=amd64
;;
aarch64)
CURRENT_ARCH=arm64
;;
riscv64)
CURRENT_ARCH=riscv64
;;
esac
if [[ -n "$GOARCH" ]]; then
case "$GOARCH" in
"arm64" | "arm" | "aarch64")
CURRENT_ARCH="arm64"
;;
"x86" | "x86_64" | "i686" | "i386" | "amd64")
CURRENT_ARCH="amd64"
;;
"riscv64")
CURRENT_ARCH="riscv64"
;;
esac
fi
if [ -z "$VERSION" ]; then
TAG=$(git describe --abbrev=0 --tags || echo 000000)
VERSION=${TAG/\//-}
VERSION=${VERSION/v/}
VERSION=${VERSION/master-/}
fi
RELEASE=`date +"%y%m%d%H"`
FULL_VERSION=$VERSION-$RELEASE
BUILDROOT=$OUTPUT_DIR/yunion-${PKG}-${FULL_VERSION}_${CURRENT_ARCH}
function cleanup {
rm -rf "$BUILDROOT"
echo "Deleted temp working directory $BUILDROOT"
}
# register the cleanup function to be called on the EXIT signal
trap cleanup EXIT
rm -rf $BUILDROOT
mkdir -p $BUILDROOT/DEBIAN
mkdir -p $BUILDROOT/$BIN_PATH
cp -rf $BIN $BUILDROOT/$BIN_PATH
if [ -d $ROOT/root ]; then
cp -rf $ROOT/root/* $BUILDROOT/
fi
echo "Build root ${BUILDROOT}"
echo "Package: yunion-$PKG
Version: $FULL_VERSION
Section: base
Priority: optional
Architecture: $CURRENT_ARCH
Maintainer: wanyaoqi@yunionyun.com
Description: $DESCRIPTION" > $BUILDROOT/DEBIAN/control
if [ ${#REQUIRES[@]} -gt 0 ]; then
DEPS=$(IFS=, ; echo "${REQUIRES[*]}")
echo "Depends: $DEPS" >> $BUILDROOT/DEBIAN/control
fi
chmod 0755 $BUILDROOT/DEBIAN/control
cat $BUILDROOT/DEBIAN/control
echo "#!/bin/bash
" > $BUILDROOT/DEBIAN/preinst
if [ -f $ROOT/preinst ]; then
cat $ROOT/preinst >> $BUILDROOT/DEBIAN/preinst
else
if [ "$SERVICE" == "yes" ] && [ -n "$OWNER" ]; then
echo "
getent group ${OWNER} >/dev/null || /usr/sbin/groupadd -r ${OWNER}
getent passwd ${OWNER} >/dev/null || /usr/sbin/useradd -r -s /sbin/nologin -d /home/${OWNER} -M -g ${OWNER} ${OWNER}
" >> $BUILDROOT/DEBIAN/preinst
fi
fi
chmod 0755 $BUILDROOT/DEBIAN/preinst
echo "#!/bin/bash
" > $BUILDROOT/DEBIAN/postinst
if [ -f $ROOT/postinst ]; then
cat $ROOT/postinst >> $BUILDROOT/DEBIAN/postinst
else
if [ "$SERVICE" == "yes" ]; then
echo "
/usr/bin/systemctl preset yunion-${PKG}.service >/dev/null 2>&1 ||:
" >> $BUILDROOT/DEBIAN/postinst
fi
fi
chmod 0755 $BUILDROOT/DEBIAN/postinst
echo "#!/bin/bash
" > $BUILDROOT/DEBIAN/prerm
if [ -f $ROOT/prerm ]; then
cat $ROOT/prerm >> $BUILDROOT/DEBIAN/prerm
else
if [ "$SERVICE" == "yes" ]; then
echo "
/usr/bin/systemctl --no-reload disable yunion-${PKG}.service >/dev/null 2>&1 || :
/usr/bin/systemctl stop yunion-${PKG}.service >/dev/null 2>&1 ||:
" >> $BUILDROOT/DEBIAN/prerm
fi
fi
chmod 0755 $BUILDROOT/DEBIAN/prerm
echo "#!/bin/bash
" > $BUILDROOT/DEBIAN/postrm
if [ -f $ROOT/postrm ]; then
cat $ROOT/postrm >> $BUILDROOT/DEBIAN/postrm
else
if [ "$SERVICE" == "yes" ]; then
echo "
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
" >> $BUILDROOT/DEBIAN/postrm
fi
fi
chmod 0755 $BUILDROOT/DEBIAN/postrm
dpkg-deb --build $BUILDROOT
case "$CURRENT_ARCH" in
"amd64")
DSTARCH="x86_64"
;;
"arm64")
DSTARCH="aarch64"
;;
"riscv64")
DSTARCH="riscv64"
;;
esac
mkdir -p ${OUTPUT_DIR}/${DSTARCH}
mv ${BUILDROOT}.deb ${OUTPUT_DIR}/${DSTARCH}/

View File

@@ -1,19 +0,0 @@
#!/bin/bash
set -e
BASHRC=/etc/profile.d/climc.sh
grep -q rcadmin $BASHRC || echo 'source /etc/yunion/rcadmin' >> $BASHRC
source $BASHRC
climc sshkeypair-inject --admin --target-dir /root/
mkdir -p /etc/dropbear
mkdir -p /var/run/dropbear
test -f /etc/dropbear/dropbear_rsa_host_key || dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
dropbear -RFEjk -G root -p 22

View File

@@ -1,22 +0,0 @@
export PATH=/opt/yunion/bin:$PATH
if [ -f /etc/profile.d/bash_completion.sh ]; then
source /etc/profile.d/bash_completion.sh
fi
test -f /etc/yunion/rcadmin && source /etc/yunion/rcadmin
if [ -n "$OS_AUTH_TOKEN" ]; then
test -n "$OS_USERNAME" && unset OS_USERNAME
test -n "$OS_PASSWORD" && unset OS_PASSWORD
test -n "$OS_DOMAIN_NAME" && unset OS_DOMAIN_NAME
test -n "$OS_ACCESS_KEY" && unset OS_ACCESS_KEY
test -n "$OS_SECRET_KEY" && unset OS_SECRET_KEY
fi
source <(climc --completion bash)
source <(kubectl completion bash)
echo "Welcome to Cloud Shell :-) You may execute climc and other command tools in this shell."
echo "Please exec 'climc' to get started"
echo ""

View File

@@ -0,0 +1,6 @@
# rbac for project owner, not allow for delete
roles:
- domain_admin
scope: domain
policy:
'*': allow

View File

@@ -1,10 +0,0 @@
policy:
'*':
'*':
'*': allow
create: deny
delete: deny
perform:
purge: deny
clone: deny
'*': allow

View File

@@ -0,0 +1,9 @@
# rbac for normal user, not allow for delete
scope: project
policy:
'*':
'*':
'*': allow
create: deny
update: deny
delete: deny

View File

@@ -1,2 +0,0 @@
policy:
'*': allow

View File

@@ -0,0 +1,6 @@
# rbac for project owner, not allow for delete
roles:
- project_owner
scope: project
policy:
'*': allow

View File

@@ -0,0 +1,8 @@
# rbac for sysadmin
projects:
- system
roles:
- admin
scope: system
policy:
'*': allow

View File

@@ -1,6 +0,0 @@
policy:
'*':
'*':
get: allow
list: allow
'*': deny

View File

@@ -47,11 +47,6 @@ do
climc server-purge $i > /dev/null
done
for i in $(climc server-list --admin --limit 2048 --system --filter "backup_host_id.equals($HOSTID)" | egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' | awk '{print $2}')
do
climc server-delete-backup $i > /dev/null
done
echo "3. Clean disks on $HOSTNAME($HOSTID)"
for storageid in $(climc host-storage-list --host $HOSTID --show-emulated | egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' | awk '{print $4}')

View File

@@ -1,6 +0,0 @@
公有云子账号创建成功
主账号:{{ .account }}<br>
名称:{{ .name }}<br>
密码:{{ .password }}<br>
登录地址: {{ .iam_login_url }}<br>
资源ID: {{ .id }}<br>

View File

@@ -1,6 +0,0 @@
Clouduser has been created successfully
Root Account: {{ .account }}<br>
Name{{ .name }}<br>
Password{{ .password }}<br>
IAM Login URL: {{ .iam_login_url }}<br>
Resource ID: {{ .id }}<br>

View File

@@ -1 +0,0 @@
公有云子账号 {{ .name }} 创建成功

View File

@@ -1 +0,0 @@
The clouduser {{ .name }} created successfully

View File

@@ -1,47 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="urn:alibaba:cloudcomputing">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIDXjCCAkagAwIBAgIEXHToLjANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJDTjERMA8GA1UE
CBMISGFuZ3pob3UxKTAnBgNVBAsTIEFsaWJhYmEgQ2xvdWQgQ29tcHV0aW5nIENvLiBMdGQuMSMw
IQYDVQQDExp1cm46YWxpYmFiYTpjbG91ZGNvbXB1dGluZzAgFw0xOTAyMjYwNzE4MDZaGA8yMTE5
MDIwMjA3MTgwNlowcDELMAkGA1UEBhMCQ04xETAPBgNVBAgTCEhhbmd6aG91MSkwJwYDVQQLEyBB
bGliYWJhIENsb3VkIENvbXB1dGluZyBDby4gTHRkLjEjMCEGA1UEAxMadXJuOmFsaWJhYmE6Y2xv
dWRjb21wdXRpbmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDjD53ZENEHoYNXAOf
OIbVBJhj7SCWKmdjnbnxq8WAFWEeZtS6hZLPpWh1z7b0NjJkvCf5oFVqBJYbbW5kEKV+9CpV6VHZ
qOXmsIRlkvZB+Wnc3SduwiiiUR9JojSPxVQvSf4WLT+HDASlrBztuRV2vHj9utLbvy+6bgVBqF8g
emL9Pcif1robDH8HlqUcADXLAt18E4MbToldVoHjpFc6fAKUXujWH5feAL8g0CKlmf/JVlHLEtu4
vKPxBQ8sgkysk6EnrjXl6Q4a4t+vbPG5uczA1ouTkDupMCRlaWHIHaJL/AoDGabn8sVXdaVJUKC5
54FNkRznBhRQll+Nuc2rAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAE8k4S4HvOglthJwF3aMQXGi
LKW6Becs9SljA0/5VtZQDrDf2By/1BIMvWfZ/dFnO+MylDLVdS6XWvWat/DW0fOGxU4s1WNfshX7
DJDGR2G1XgtGoDZEYIDahUp5katAPypCkY57fGZlI0d3nq46/2qT/Zpne+pFE3DI/x8klZMniniw
YjNXbG96y/M4DYi1J7RR8mLIfVvz5o1SMGT4Ta2p/USE2M9F6O7/zc2j62dQgXiYa9OONo31RiXR
TmvGEUNuQoBZhVrFIvOnNjIfFT7Xd3CUowwJKP1floserrx4B5jScRAi9yK3x2a2lhfc+PksXfTs
aqIr5TQL4OorLEE=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://signin.aliyun.com/saml-role/sso"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en">Alibaba Cloud Console Single Sign-On</ServiceName>
<RequestedAttribute isRequired="true" Name="https://www.aliyun.com/SAML-Role/Attributes/Role" FriendlyName="RoleEntitlement"/>
<RequestedAttribute isRequired="true" Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName" FriendlyName="RoleSessionName"/>
<RequestedAttribute isRequired="false" Name="https://www.aliyun.com/SAML-Role/Attributes/SessionDuration" FriendlyName="SessionDuration"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Alibaba Cloud Computing Co. Ltd.</OrganizationName>
<OrganizationDisplayName xml:lang="en">AlibabaCloud</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://www.aliyun.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1,67 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="urn:amazon:webservices" validUntil="2021-06-02T00:00:00Z">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIDbTCCAlWgAwIBAgIEFWIThjANBgkqhkiG9w0BAQsFADBnMR8wHQYDVQQDExZ1
cm46YW1hem9uOndlYnNlcnZpY2VzMSIwIAYDVQQKExlBbWF6b24gV2ViIFNlcnZp
Y2VzLCBJbmMuMRMwEQYDVQQIEwpXYXNoaW5ndG9uMQswCQYDVQQGEwJVUzAeFw0y
MDA2MDIwMDAwMDBaFw0yMTA2MDIwMDAwMDBaMGcxHzAdBgNVBAMTFnVybjphbWF6
b246d2Vic2VydmljZXMxIjAgBgNVBAoTGUFtYXpvbiBXZWIgU2VydmljZXMsIElu
Yy4xEzARBgNVBAgTCldhc2hpbmd0b24xCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwKA4yDh4wAjlkhjJoXARGX9DQWsGTgp9GzoX
NebntY+DjB8H6hIkYRR3++yEDY90qldbZzOaOKRm2jyL7i+MgNt+ktx6wYGD7HBg
e8Z0Zh6eHRIwKbvu4/heMLdqqu+hlXkrC15T4N/LqiwT5JhPTrO4V1KG3ljR1ONG
7aLblVH2aRENV+X9la/AVAPesUpCnoUcTkuCJrcwHrv6hqWmadW8pJy/ISCCM4Fe
JuOAJD0whxg0qRFvE6xcdnKBTWjR03VHqJnyYQGVUKXOlgj8HiKO0JaJkoUAs5ox
WCRBZwSQW+qbP1VKSUfFeBtTMx/TSg4nBRYHinego/e8O1mu6wIDAQABoyEwHzAd
BgNVHQ4EFgQUz1SuekLVxYNvvLpUDRXc/gp2WdAwDQYJKoZIhvcNAQELBQADggEB
AIkUzM9MXr11vp9gBOOXyqyj7sBgoUQHW3mEfKD3DkEOZWUPW5UI7NM9ZHvhdOwd
C1noUK/QMjLkTHp0QB2bxCIpgThXSNFDYNRxf1/aUqTfxQ8a+i0q7l/utRiWyY3p
kLOFx0n81a2bSNz+B0nPS338xNaBtuNjHedXjxN6BjUCUfFHFsQmg/y6ZbBRN/9P
+i2yy3CjLduh0yeD0Of3vAoIh19MuNgnIy1pMsK/H59E8bAaCFvND9fnsqAfH29W
ppmt9c8QaiAya5R7akl/C0Rx8khQrba+wMcSultqLU+6YVIAAEKZ/S/ZfN74wn5X
RXwSXp4MSmOKYqRWshvRegQ=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://signin.aws.amazon.com/saml"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en">AWS Management Console Single Sign-On</ServiceName>
<RequestedAttribute isRequired="true" Name="https://aws.amazon.com/SAML/Attributes/Role" FriendlyName="RoleEntitlement"/>
<RequestedAttribute isRequired="true" Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName" FriendlyName="RoleSessionName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" FriendlyName="eduPersonAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.2" FriendlyName="eduPersonNickname"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.3" FriendlyName="eduPersonOrgDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.4" FriendlyName="eduPersonOrgUnitDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.5" FriendlyName="eduPersonPrimaryAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" FriendlyName="eduPersonPrincipalName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" FriendlyName="eduPersonEntitlement"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.8" FriendlyName="eduPersonPrimaryOrgUnitDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" FriendlyName="eduPersonScopedAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" FriendlyName="eduPersonTargetedID"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" FriendlyName="eduPersonAssurance"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.2" FriendlyName="eduOrgHomePageURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.3" FriendlyName="eduOrgIdentityAuthNPolicyURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.4" FriendlyName="eduOrgLegalName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.5" FriendlyName="eduOrgSuperiorURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.6" FriendlyName="eduOrgWhitePagesURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:2.5.4.3" FriendlyName="cn"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Amazon Web Services, Inc.</OrganizationName>
<OrganizationDisplayName xml:lang="en">AWS</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://aws.amazon.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1,67 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="urn:amazon:webservices:cn-north-1" validUntil="2021-05-13T00:00:00Z">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIDfzCCAmegAwIBAgIEY1tz5jANBgkqhkiG9w0BAQsFADBwMSgwJgYDVQQDEx91
cm46YW1hem9uOndlYnNlcnZpY2VzOmNuLW5vcnRoMSIwIAYDVQQKExlBbWF6b24g
V2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQIEwpXYXNoaW5ndG9uMQswCQYDVQQG
EwJVUzAeFw0yMDA1MTMwMDAwMDBaFw0yMTA1MTMwMDAwMDBaMHAxKDAmBgNVBAMT
H3VybjphbWF6b246d2Vic2VydmljZXM6Y24tbm9ydGgxIjAgBgNVBAoTGUFtYXpv
biBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAgTCldhc2hpbmd0b24xCzAJBgNV
BAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm2HLuzEnEGVT
C5W215HWuwFLM54v3oHoNy52GGN79VLn7sxm2Z0K+AVijV/rxCbPaNxO6tm/MmN6
XJkU8g8p7ghT6p+EN/61WG+KgoXIHcl/aZBbkoNTKKPXRvR9EEcyAPdLDBJVJHF5
lgCkSMHBL3VcCcrpVxFCtUhW+vT3pie2KHLEVb5Ocpq9pO8dNvY2iM7TSIvRu0kL
IZWUbRF0bP4cpDIVoMEsSJ3gFBCD3yf53UfU2dxjp2mnMjphPucHwml3AcsXN3XT
Y5j2qksO5xXgFrCZz76l3P7emj5eHIvkxuieU/7u+cYu0HppP+4xszzqvUcoHFRA
1fC/eFFRAwIDAQABoyEwHzAdBgNVHQ4EFgQUZkQfgy0NWq7kAO8mTQPeSDayJ3Ew
DQYJKoZIhvcNAQELBQADggEBACmLLD2qBA+KCxv7CiCfznT8XWOLAVf9xP3YMk0N
WCnugpd30d0YzxtI2PA29cNB2pyuGbaVg+zGqpsfAznaBHvnnEx1fJHNyfXxhAry
0MdabmbvhMfJPUYRFx/7r6Km8d52e+nv28pP/WrbWs4I0Swm+Rwaj3t32EgCBxQS
8WWEkG+L00slRgSPkfY8OgOM4QkBThHjGgw0TKFTEvQNVqXOJKQREq0MejyarUSC
4am+OJeRcWKtPcRo1jUlGWG6eun0ybuw232ZEZHUv33B247aRMuvTgcRTz3s6tUE
7RoeaMpl3/Y1MKtB2qURiu0Cib27Rl1mckhmfdA+awl3s4s=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://signin.amazonaws.cn/saml"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en">AWS Management Console Single Sign-On</ServiceName>
<RequestedAttribute isRequired="true" Name="https://aws.amazon.com/SAML/Attributes/Role" FriendlyName="RoleEntitlement"/>
<RequestedAttribute isRequired="true" Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName" FriendlyName="RoleSessionName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" FriendlyName="eduPersonAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.2" FriendlyName="eduPersonNickname"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.3" FriendlyName="eduPersonOrgDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.4" FriendlyName="eduPersonOrgUnitDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.5" FriendlyName="eduPersonPrimaryAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" FriendlyName="eduPersonPrincipalName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" FriendlyName="eduPersonEntitlement"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.8" FriendlyName="eduPersonPrimaryOrgUnitDN"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" FriendlyName="eduPersonScopedAffiliation"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" FriendlyName="eduPersonTargetedID"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" FriendlyName="eduPersonAssurance"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.2" FriendlyName="eduOrgHomePageURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.3" FriendlyName="eduOrgIdentityAuthNPolicyURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.4" FriendlyName="eduOrgLegalName"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.5" FriendlyName="eduOrgSuperiorURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:1.3.6.1.4.1.5923.1.2.1.6" FriendlyName="eduOrgWhitePagesURI"/>
<RequestedAttribute isRequired="false" Name="urn:oid:2.5.4.3" FriendlyName="cn"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Amazon Web Services, Inc.</OrganizationName>
<OrganizationDisplayName xml:lang="en">AWS</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://aws.amazon.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport" ID="_1e55eaf7-5cb9-4601-b557-e322fdfb2baf" entityID="urn:federation:MicrosoftOnline">
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#_1e55eaf7-5cb9-4601-b557-e322fdfb2baf">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>fA33hUaj24/8F8bArDIkH6CpX0k=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>p/rlVWxLRIYiHozzWUgsjmQ5ItMZ/ITeEOg/edeo50l7qU8wLM9JD55EHoLpVvxImBcCfY1CxKdq3s1o9Up1jvEcH9KjfYZea1q8hzTkQdt7F2XvxoqDFRLvVwyHHJjygaEvFRXXxml7IDgDx9ScSRhQeGUlTGhI9eAFSaGkChM/FPnmekZ3ngSwbVf4FsTLIArxMqEnV0lXNMTr5NHQ6VL5wZ/cHLNCkkBoY0qWyv2hnYiZiXa4TKjpAN+8QF5GDPv/0ExJwe+aoRAQhdBzhBUICQdQd+v3Rb5SuX++iVfmf4IPMqj8CK4uK7iYXNLCGEO8oFR2KlK/zBpHzw6yCQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIC/TCCAeWgAwIBAgIQF9xAVqfHt7dNSOnsMKYLDjANBgkqhkiG9w0BAQsFADApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTkwNjE4MDAwMDAwWhcNMjEwNjE4MDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDLwL+mOk+zhgjHPFiZuDaU7coCOMkYyJyWS2B2KWYx7BMmy+SBSlFvvDHIiMXeLnv9DiUnQXtjClZXNqEo2amM/KdXfnCUlwdnqGa89TbB8kM6aBQKCh5Up7vejD+KRpPcOK7DqxWnm037zNKH+6liwRMUD/+lkBODoG1/ThuBVM0Kr1Oowfnkb4JYeF5xZk+2+ThR2dcQzdsz8dBW1GpGopdoM5G1amVhoRPBeNlYUqf0JUPE36Dx0iCmeXX00HTR2gd+/DJFVe34l/VxL4cqufmRcqWHy7axonbpt8svjAervGgueF5W/BVGcO4eVwFzFfnAz7bSaH/zbsNnQkFtAgMBAAGjITAfMB0GA1UdDgQWBBQlxmu/Hj1qB2A306p0Sz9up711AjANBgkqhkiG9w0BAQsFAAOCAQEAEhb+i+J69DvzCTfmC0Mn+uSGzBaW0ksMZNjM8/p/RFueytNo8/DY6TUb9W8l/HSVON782iGG7hIsG68RUIZ5q+/WAB9iBvKkKv5aGZ0bK/eD5boHwBwMa3udTjU68Vkai0A7naISEh22h+lQPvKiftCEzK1x9j2FoAXEMhACnpTwRrrj3SsJXCsMaOKcVw7sCmM4/4wD5I1+dfMSe85rSEzzUCDcCMEg67sBKdO2CFK1GoH21ttrz1CV+xt8Pn9a488kgsp2ZyU+yixS59CrM7onEzt1R4miXWAJAtydNHAmmbgKrTxqf67fEXFcrlFAHexi6vvINZWZPD6+J+q6xg==</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
<SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIC/TCCAeWgAwIBAgIQF9xAVqfHt7dNSOnsMKYLDjANBgkqhkiG9w0BAQsFADApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTkwNjE4MDAwMDAwWhcNMjEwNjE4MDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDLwL+mOk+zhgjHPFiZuDaU7coCOMkYyJyWS2B2KWYx7BMmy+SBSlFvvDHIiMXeLnv9DiUnQXtjClZXNqEo2amM/KdXfnCUlwdnqGa89TbB8kM6aBQKCh5Up7vejD+KRpPcOK7DqxWnm037zNKH+6liwRMUD/+lkBODoG1/ThuBVM0Kr1Oowfnkb4JYeF5xZk+2+ThR2dcQzdsz8dBW1GpGopdoM5G1amVhoRPBeNlYUqf0JUPE36Dx0iCmeXX00HTR2gd+/DJFVe34l/VxL4cqufmRcqWHy7axonbpt8svjAervGgueF5W/BVGcO4eVwFzFfnAz7bSaH/zbsNnQkFtAgMBAAGjITAfMB0GA1UdDgQWBBQlxmu/Hj1qB2A306p0Sz9up711AjANBgkqhkiG9w0BAQsFAAOCAQEAEhb+i+J69DvzCTfmC0Mn+uSGzBaW0ksMZNjM8/p/RFueytNo8/DY6TUb9W8l/HSVON782iGG7hIsG68RUIZ5q+/WAB9iBvKkKv5aGZ0bK/eD5boHwBwMa3udTjU68Vkai0A7naISEh22h+lQPvKiftCEzK1x9j2FoAXEMhACnpTwRrrj3SsJXCsMaOKcVw7sCmM4/4wD5I1+dfMSe85rSEzzUCDcCMEg67sBKdO2CFK1GoH21ttrz1CV+xt8Pn9a488kgsp2ZyU+yixS59CrM7onEzt1R4miXWAJAtydNHAmmbgKrTxqf67fEXFcrlFAHexi6vvINZWZPD6+J+q6xg==</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIC/TCCAeWgAwIBAgIQbgDHfi3t1JNGVqwD5/7lmjANBgkqhkiG9w0BAQsFADApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMjAxMjIxMDAwMDAwWhcNMjUxMjIxMDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFT0/0/2qQurnYa0LbJHF9YYozhEH6r9mCxVDBYbewSG4tGgrWpsewQ/96pcczGMQctMvU+h2eX38Hx/f9JAIDbuRQzQlsPhQS7DDZ6WlTXU+t8d/g2C7fpSoLs4KVdJih4xyjLUWj+BK/ijsRjBt4Riw9VbJH/DdWKyoSMbECEiE+s1RtLP/eYoMmNfxyQGqWirCNqVNBTlqzYQp4dgF0foYy4ktoxwmQOVoTcIMFYp1I4pFPI7CxuMLkfK0X7aTbM7YGphvMfJxJkjrQdyI7G5d1t4DNi3zkEbBT7FGAr6qPt3Kn9ralpqJKHdpEBA9N0vNwQo5XTYIhUbPQ16IRAgMBAAGjITAfMB0GA1UdDgQWBBRs7tPmfkksSr67KtElHjYZbeaCTjANBgkqhkiG9w0BAQsFAAOCAQEAJqwMZSjQJ36x+1sty6EeLKQLQewQwPaEC47Zut+8bXed6Q8jMZ0bfa/MM7XquEcabaMZLQuKLft44YXwXXQOfQrI2qjQr3eToJFlDT9hR0rfp9wQqttDxd6Aa6RWwDTgo5oKUQCTKLHhEy8uWzScK0eGt2d7TWTaDXjRSwNq6tM7fRhZs07tKBV3xfi9EQy/mlavAMFRBVm86NSo7AsOG1IOMq03U3ooCWAXh9PdvvHNfHhH19futAnC/HeOjwRF1Qc527aBMphYFQLdiThfmfmiE/AhQqCwZ2oE7uCJhBtR+Kb1ZGhjI35pHfsSqGiFa7Kr+5ave822PDcke89Mvg==</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIC/TCCAeWgAwIBAgIQbgDHfi3t1JNGVqwD5/7lmjANBgkqhkiG9w0BAQsFADApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMjAxMjIxMDAwMDAwWhcNMjUxMjIxMDAwMDAwWjApMScwJQYDVQQDEx5MaXZlIElEIFNUUyBTaWduaW5nIFB1YmxpYyBLZXkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFT0/0/2qQurnYa0LbJHF9YYozhEH6r9mCxVDBYbewSG4tGgrWpsewQ/96pcczGMQctMvU+h2eX38Hx/f9JAIDbuRQzQlsPhQS7DDZ6WlTXU+t8d/g2C7fpSoLs4KVdJih4xyjLUWj+BK/ijsRjBt4Riw9VbJH/DdWKyoSMbECEiE+s1RtLP/eYoMmNfxyQGqWirCNqVNBTlqzYQp4dgF0foYy4ktoxwmQOVoTcIMFYp1I4pFPI7CxuMLkfK0X7aTbM7YGphvMfJxJkjrQdyI7G5d1t4DNi3zkEbBT7FGAr6qPt3Kn9ralpqJKHdpEBA9N0vNwQo5XTYIhUbPQ16IRAgMBAAGjITAfMB0GA1UdDgQWBBRs7tPmfkksSr67KtElHjYZbeaCTjANBgkqhkiG9w0BAQsFAAOCAQEAJqwMZSjQJ36x+1sty6EeLKQLQewQwPaEC47Zut+8bXed6Q8jMZ0bfa/MM7XquEcabaMZLQuKLft44YXwXXQOfQrI2qjQr3eToJFlDT9hR0rfp9wQqttDxd6Aa6RWwDTgo5oKUQCTKLHhEy8uWzScK0eGt2d7TWTaDXjRSwNq6tM7fRhZs07tKBV3xfi9EQy/mlavAMFRBVm86NSo7AsOG1IOMq03U3ooCWAXh9PdvvHNfHhH19futAnC/HeOjwRF1Qc527aBMphYFQLdiThfmfmiE/AhQqCwZ2oE7uCJhBtR+Kb1ZGhjI35pHfsSqGiFa7Kr+5ave822PDcke89Mvg==</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/login.srf"/>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/login.srf" index="0" isDefault="true"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://login.microsoftonline.com/login.srf" index="1"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://login.microsoftonline.com/login.srf" index="2"/>
</SPSSODescriptor>
<Extensions>
<alg:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<alg:SigningMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
</Extensions>
</EntityDescriptor>

View File

@@ -1,25 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="google.com" validUntil="2021-06-02T00:00:00Z">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.google.com/a/yunion-hk.com/acs"/>
<AttributeConsumingService index="1">
<RequestedAttribute isRequired="false" Name="user.email" FriendlyName="user.email"/>
</AttributeConsumingService>
</SPSSODescriptor>
</EntityDescriptor>

View File

@@ -1,25 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="google.com/a/yunion-hk.com" validUntil="2021-06-02T00:00:00Z">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.google.com/a/yunion-hk.com/acs"/>
<AttributeConsumingService index="1">
<RequestedAttribute isRequired="false" Name="user.email" FriendlyName="user.email"/>
</AttributeConsumingService>
</SPSSODescriptor>
</EntityDescriptor>

View File

@@ -1,79 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="M349b8f2417d474387360e922ef39baa" entityID="https://auth.huaweicloud.com/"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#M349b8f2417d474387360e922ef39baa"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>diBMwyuN633Q/kBf0M+SQZ4fNCI=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>k6+6QX8T5+S5wEIWlxwvd5a48xLWmp4Jd0bcs33vNaQVQ93YiztGcroUUqnLYK8uqAsmk2ZP4NtKFL/MyqoznrStglSi7uycwX6X3fswMwvkHJ9UVhH6Gp2Txl2JQ9/0vXy/tlXjQNFbfqzLhqxKC/K/PmKd684XkPYXlkiEJa6nGibu0gse9rvP2hE0G9bDMfdiyQnanfBvN+oNRte3xyI3DWh2P/jDTAPJMYzGM76JIneS8jLPa4gKDz5KcumG/8JV7GUWTDTZZ4ftujsjEuUFdPzKqwMYogMXOnTt8wbisSF8ZlLSMH/TIj6xAO9aSkEAo8HtlHJbekYlVA5Tz5IamLLzfaPpf7+NghLSuATIwY8/pvBZ8qhY8PVOjzRCeoEZJUrlFOcZ2CvO9zVKYdkEa1JC3mUW7CgeQc7G2/9niub7Vu00eyp9AAd9nkPfLoiWam8/yg2TBPRRJ9VKsv2UMFuITWrcFJayjezlTzY3dI3tI8lfoIMEVRaEP1v1D8XbxnxiaiKZXsGQHtpTSLc1ZL441jeZDLa661raUJDlGA6mBc1QukJklEocGg+Q+FeU33MJCaN/rIZCGvrjIZNng3yKFw1+R7/CqeJJlFWw0hPJQGiy6wfrDYSmhwuXJ2vQn3dTHjlT3kWsniiZtuOUi2TjHbq8gVHqlxmPxSs=</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIF6TCCA9GgAwIBAgIEPHSCijANBgkqhkiG9w0BAQsFADCBpDELMAkGA1UEBhMCQ04xEjAQBgNV
BAgTCUd1YW5nRG9uZzERMA8GA1UEBxMIU2hlblpoZW4xJTAjBgNVBAoTHEh1YXdlaSBUZWNobm9s
b2dpZXMgQ28uLCBMdGQxKDAmBgNVBAsTH1NlcnZpY2UgUHJvdmlkZXIgT3BlcmF0aW9uIERlcHQx
HTAbBgNVBAMTFGF1dGguaHVhd2VpY2xvdWQuY29tMB4XDTE4MDYyMTEzMjUwMFoXDTI4MDYxODEz
MjUwMFowgaQxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ0RvbmcxETAPBgNVBAcTCFNoZW5a
aGVuMSUwIwYDVQQKExxIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkMSgwJgYDVQQLEx9TZXJ2
aWNlIFByb3ZpZGVyIE9wZXJhdGlvbiBEZXB0MR0wGwYDVQQDExRhdXRoLmh1YXdlaWNsb3VkLmNv
bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJisHObeLOPs2mJ4eJBcruMZl9FjvRQe
DmofxgOcIcmybt6qlDqAv7275JMMQfQFcEoxH3GqcCTYqvSaSnHPaJB1xljPIKAWtd7p1ymevcSy
F2HdCZ8gPJKg3Q6+ZjwTipKS/nZr7xmpUQ0WvwRkgZ7zfslAW+y5PCgkDrgmEjG92rLArj8iPhmu
jajXaTPQKVHuZMxBzS735uo4yjVwYE3+0mE4HTZjK+6n6Ffu+JhLzhcKGulmrT/6qHisMbIXAZyE
egBDavomb+5zu/CUQwii5IAPrRTwwegYpG4+uYJ2cHfrUdHqw9lSCSbQzu1yW1AS4zB16sjoHZdV
rxYyktlswNmJ1/MyRH5bO90e2kvVwV4l34Hi5HEFvFFjL8TAsbN4mGvA9fgohXp30x97UdPVV8Ji
NNAKZjdZSEdG9xqrTRfe4+LQg/hzLNSwsko3nDnH8qhCgtb8qIipQ3s7niCa53AQWYR82lEViols
/dbWU9qYeldVvGNAgJSqHLB7qLwcQW78+2V1446KhQqzqPeLI4ANGaLFKw8fGzgh85RKOjrIetb4
wAOZmhrrUJrRg47DYQQjNv3glDg53ijLPFunzRqUoqLphrZ1XpEA4y21OtTP6OMYAM0lSOj1gjvb
ubTDo8XOQs5YGtTOyHn4CQ4GR8NNo7UrwVEmoZHA+AKbAgMBAAGjITAfMB0GA1UdDgQWBBTt05QW
9dyXi7eMekKOH0bn4xKrkDANBgkqhkiG9w0BAQsFAAOCAgEACv9zgzUgxxQ8t9ldOXmirxzSOrHx
MCL8SKsu+c+Y4hoHma5LFjylv6x76NWTAFSE6GgqfuNI/gPj/2AWqObAvsHd8lsPjJ96ZoSaTmS8
NrtU6HuT1Lc+CmVfeGd3/G+KspQECjg2JeBrfyEw9B8KUAQV20DQukGfAHtKKQPOZmKm0Qm3ExWC
eXz1TR2KP+Lrhny/yG43g4iVUKq65HFHs5cRzRk0iR0/NLpggl5+Op0rxMxBn+bCrnJBi0n9/PIM
fWNhkEBl+B++EifPUQxQaOEsnxTgFo1O4ksK9hDFcLbr+1qCDgVIMkyC1xMBBikCgLvIdzy3SXBN
ndIEUq+QgOORxLlq1WqrfLFO22TxZm8XaB5g36UMk5PGoVHGnjALReAHjC0C5sIiKMJSgQOPd71X
mQSsw3G9NsMKf/H3xJXkq/b672ls/l1JBslm52DAk2k5UlLkf/1p4I7WHOfm5ZNpDjj1rTP6SiAc
tWLtqXIU28fLa2sA+zHXA5acDGOm6eIrMme5HpsV/KoUOW1MXGugK59zofeueCFDGRfbyoS2lj0S
W+CbJVa72CLf3xPh2nWH0cK9de+wyCx8uI0KGPyV4I9/XBLHhvkb3XPaUfnkzYkcrG/39cOaxuPF
z+haXwI1lvI964zvmTgwdDjdf/0asA09S7EEK2KyzXUREM4=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature><md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><md:KeyDescriptor use="signing"><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data><ds:X509Certificate>MIIF6TCCA9GgAwIBAgIEPHSCijANBgkqhkiG9w0BAQsFADCBpDELMAkGA1UEBhMCQ04xEjAQBgNV
BAgTCUd1YW5nRG9uZzERMA8GA1UEBxMIU2hlblpoZW4xJTAjBgNVBAoTHEh1YXdlaSBUZWNobm9s
b2dpZXMgQ28uLCBMdGQxKDAmBgNVBAsTH1NlcnZpY2UgUHJvdmlkZXIgT3BlcmF0aW9uIERlcHQx
HTAbBgNVBAMTFGF1dGguaHVhd2VpY2xvdWQuY29tMB4XDTE4MDYyMTEzMjUwMFoXDTI4MDYxODEz
MjUwMFowgaQxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ0RvbmcxETAPBgNVBAcTCFNoZW5a
aGVuMSUwIwYDVQQKExxIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkMSgwJgYDVQQLEx9TZXJ2
aWNlIFByb3ZpZGVyIE9wZXJhdGlvbiBEZXB0MR0wGwYDVQQDExRhdXRoLmh1YXdlaWNsb3VkLmNv
bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJisHObeLOPs2mJ4eJBcruMZl9FjvRQe
DmofxgOcIcmybt6qlDqAv7275JMMQfQFcEoxH3GqcCTYqvSaSnHPaJB1xljPIKAWtd7p1ymevcSy
F2HdCZ8gPJKg3Q6+ZjwTipKS/nZr7xmpUQ0WvwRkgZ7zfslAW+y5PCgkDrgmEjG92rLArj8iPhmu
jajXaTPQKVHuZMxBzS735uo4yjVwYE3+0mE4HTZjK+6n6Ffu+JhLzhcKGulmrT/6qHisMbIXAZyE
egBDavomb+5zu/CUQwii5IAPrRTwwegYpG4+uYJ2cHfrUdHqw9lSCSbQzu1yW1AS4zB16sjoHZdV
rxYyktlswNmJ1/MyRH5bO90e2kvVwV4l34Hi5HEFvFFjL8TAsbN4mGvA9fgohXp30x97UdPVV8Ji
NNAKZjdZSEdG9xqrTRfe4+LQg/hzLNSwsko3nDnH8qhCgtb8qIipQ3s7niCa53AQWYR82lEViols
/dbWU9qYeldVvGNAgJSqHLB7qLwcQW78+2V1446KhQqzqPeLI4ANGaLFKw8fGzgh85RKOjrIetb4
wAOZmhrrUJrRg47DYQQjNv3glDg53ijLPFunzRqUoqLphrZ1XpEA4y21OtTP6OMYAM0lSOj1gjvb
ubTDo8XOQs5YGtTOyHn4CQ4GR8NNo7UrwVEmoZHA+AKbAgMBAAGjITAfMB0GA1UdDgQWBBTt05QW
9dyXi7eMekKOH0bn4xKrkDANBgkqhkiG9w0BAQsFAAOCAgEACv9zgzUgxxQ8t9ldOXmirxzSOrHx
MCL8SKsu+c+Y4hoHma5LFjylv6x76NWTAFSE6GgqfuNI/gPj/2AWqObAvsHd8lsPjJ96ZoSaTmS8
NrtU6HuT1Lc+CmVfeGd3/G+KspQECjg2JeBrfyEw9B8KUAQV20DQukGfAHtKKQPOZmKm0Qm3ExWC
eXz1TR2KP+Lrhny/yG43g4iVUKq65HFHs5cRzRk0iR0/NLpggl5+Op0rxMxBn+bCrnJBi0n9/PIM
fWNhkEBl+B++EifPUQxQaOEsnxTgFo1O4ksK9hDFcLbr+1qCDgVIMkyC1xMBBikCgLvIdzy3SXBN
ndIEUq+QgOORxLlq1WqrfLFO22TxZm8XaB5g36UMk5PGoVHGnjALReAHjC0C5sIiKMJSgQOPd71X
mQSsw3G9NsMKf/H3xJXkq/b672ls/l1JBslm52DAk2k5UlLkf/1p4I7WHOfm5ZNpDjj1rTP6SiAc
tWLtqXIU28fLa2sA+zHXA5acDGOm6eIrMme5HpsV/KoUOW1MXGugK59zofeueCFDGRfbyoS2lj0S
W+CbJVa72CLf3xPh2nWH0cK9de+wyCx8uI0KGPyV4I9/XBLHhvkb3XPaUfnkzYkcrG/39cOaxuPF
z+haXwI1lvI964zvmTgwdDjdf/0asA09S7EEK2KyzXUREM4=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:KeyDescriptor use="encryption"><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data><ds:X509Certificate>MIIF6TCCA9GgAwIBAgIEPHSCijANBgkqhkiG9w0BAQsFADCBpDELMAkGA1UEBhMCQ04xEjAQBgNV
BAgTCUd1YW5nRG9uZzERMA8GA1UEBxMIU2hlblpoZW4xJTAjBgNVBAoTHEh1YXdlaSBUZWNobm9s
b2dpZXMgQ28uLCBMdGQxKDAmBgNVBAsTH1NlcnZpY2UgUHJvdmlkZXIgT3BlcmF0aW9uIERlcHQx
HTAbBgNVBAMTFGF1dGguaHVhd2VpY2xvdWQuY29tMB4XDTE4MDYyMTEzMjUwMFoXDTI4MDYxODEz
MjUwMFowgaQxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ0RvbmcxETAPBgNVBAcTCFNoZW5a
aGVuMSUwIwYDVQQKExxIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkMSgwJgYDVQQLEx9TZXJ2
aWNlIFByb3ZpZGVyIE9wZXJhdGlvbiBEZXB0MR0wGwYDVQQDExRhdXRoLmh1YXdlaWNsb3VkLmNv
bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJisHObeLOPs2mJ4eJBcruMZl9FjvRQe
DmofxgOcIcmybt6qlDqAv7275JMMQfQFcEoxH3GqcCTYqvSaSnHPaJB1xljPIKAWtd7p1ymevcSy
F2HdCZ8gPJKg3Q6+ZjwTipKS/nZr7xmpUQ0WvwRkgZ7zfslAW+y5PCgkDrgmEjG92rLArj8iPhmu
jajXaTPQKVHuZMxBzS735uo4yjVwYE3+0mE4HTZjK+6n6Ffu+JhLzhcKGulmrT/6qHisMbIXAZyE
egBDavomb+5zu/CUQwii5IAPrRTwwegYpG4+uYJ2cHfrUdHqw9lSCSbQzu1yW1AS4zB16sjoHZdV
rxYyktlswNmJ1/MyRH5bO90e2kvVwV4l34Hi5HEFvFFjL8TAsbN4mGvA9fgohXp30x97UdPVV8Ji
NNAKZjdZSEdG9xqrTRfe4+LQg/hzLNSwsko3nDnH8qhCgtb8qIipQ3s7niCa53AQWYR82lEViols
/dbWU9qYeldVvGNAgJSqHLB7qLwcQW78+2V1446KhQqzqPeLI4ANGaLFKw8fGzgh85RKOjrIetb4
wAOZmhrrUJrRg47DYQQjNv3glDg53ijLPFunzRqUoqLphrZ1XpEA4y21OtTP6OMYAM0lSOj1gjvb
ubTDo8XOQs5YGtTOyHn4CQ4GR8NNo7UrwVEmoZHA+AKbAgMBAAGjITAfMB0GA1UdDgQWBBTt05QW
9dyXi7eMekKOH0bn4xKrkDANBgkqhkiG9w0BAQsFAAOCAgEACv9zgzUgxxQ8t9ldOXmirxzSOrHx
MCL8SKsu+c+Y4hoHma5LFjylv6x76NWTAFSE6GgqfuNI/gPj/2AWqObAvsHd8lsPjJ96ZoSaTmS8
NrtU6HuT1Lc+CmVfeGd3/G+KspQECjg2JeBrfyEw9B8KUAQV20DQukGfAHtKKQPOZmKm0Qm3ExWC
eXz1TR2KP+Lrhny/yG43g4iVUKq65HFHs5cRzRk0iR0/NLpggl5+Op0rxMxBn+bCrnJBi0n9/PIM
fWNhkEBl+B++EifPUQxQaOEsnxTgFo1O4ksK9hDFcLbr+1qCDgVIMkyC1xMBBikCgLvIdzy3SXBN
ndIEUq+QgOORxLlq1WqrfLFO22TxZm8XaB5g36UMk5PGoVHGnjALReAHjC0C5sIiKMJSgQOPd71X
mQSsw3G9NsMKf/H3xJXkq/b672ls/l1JBslm52DAk2k5UlLkf/1p4I7WHOfm5ZNpDjj1rTP6SiAc
tWLtqXIU28fLa2sA+zHXA5acDGOm6eIrMme5HpsV/KoUOW1MXGugK59zofeueCFDGRfbyoS2lj0S
W+CbJVa72CLf3xPh2nWH0cK9de+wyCx8uI0KGPyV4I9/XBLHhvkb3XPaUfnkzYkcrG/39cOaxuPF
z+haXwI1lvI964zvmTgwdDjdf/0asA09S7EEK2KyzXUREM4=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://auth.huaweicloud.com/authui/saml/SAMLAssertionConsumer" index="0" isDefault="true" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/><md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://auth.huaweicloud.com/authui/saml/LogoutServiceHTTPRedirect" ResponseLocation="https://auth.huaweicloud.com/authui/saml/LogoutServiceHTTPRedirectResponse" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/><md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://auth.huaweicloud.com/authui/saml/LogoutServiceHTTPPost" ResponseLocation="https://auth.huaweicloud.com/authui/saml/LogoutServiceHTTPPostResponse" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/><md:ManageNameIDService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://auth.huaweicloud.com/authui/saml/ManageNameIDServiceHTTPPost" ResponseLocation="https://auth.huaweicloud.com/authui/saml/ManageNameIDServiceHTTPPostResponse"/><md:ManageNameIDService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://auth.huaweicloud.com/authui/saml/ManageNameIDServiceHTTPRedirect" ResponseLocation="https://auth.huaweicloud.com/authui/saml/ManageNameIDServiceHTTPRedirectResponse"/><md:ManageNameIDService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://auth.huaweicloud.com/authui/saml/ManageNameIDServiceSOAP" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/><md:NameIDFormat xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat><md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://auth.huaweicloud.com/authui/saml/SAMLAssertionConsumer" index="0" isDefault="true" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/></md:SPSSODescriptor></md:EntityDescriptor>

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:2.0:AssertionConsumerService" entityID="cloud.tencent.com" validUntil="2059-08-15T06:24:31Z">
<SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIEWzCCA0OgAwIBAgIJAP2Wa/iz6Zn+MA0GCSqGSIb3DQEBBQUAMIHDMQswCQYDVQQGEwJDTjESMBAGA1UECAwJZ3Vhbmdkb25nMREwDwYDVQQHDAhzaGVuemhlbjE2MDQGA1UECgwtVGVuY2VudCBUZWNobm9sb2d5IChTaGVuemhlbikgQ29tcGFueSBMaW1pdGVkMRYwFAYDVQQLDA1UZW5jZW50IENsb3VkMRowGAYDVQQDDBFjbG91ZC50ZW5jZW50LmNvbTEhMB8GCSqGSIb3DQEJARYScWNsb3VkQHRlbmNlbnQuY29tMB4XDTE4MDgxNTA2MjQzMVoXDTE5MDgxNTA2MjQzMVowgcMxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlndWFuZ2RvbmcxETAPBgNVBAcMCHNoZW56aGVuMTYwNAYDVQQKDC1UZW5jZW50IFRlY2hub2xvZ3kgKFNoZW56aGVuKSBDb21wYW55IExpbWl0ZWQxFjAUBgNVBAsMDVRlbmNlbnQgQ2xvdWQxGjAYBgNVBAMMEWNsb3VkLnRlbmNlbnQuY29tMSEwHwYJKoZIhvcNAQkBFhJxY2xvdWRAdGVuY2VudC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7z2KMtR6GS4IzwfFYLSULCrKrr6iUVRlxUhn0y/CjpWXGg31nwvXYmJZaCwjUlorTd3pYDmStmd4xoL3xrGFnqX0xqKw7S+vbB9wo5tSHww15vkiYPanjsgeaiXihBBB6jvsV8+4iuVk8JA3x990/0wic/ZuKIhCI4mLCaQYLXbsYopUPQ5p+dwkCY9pYxP+zjOQathA0cjzKyzp9io2pcH2vtj7RzM+j4sLTsTC+OGfh7k9LQO5/fswQTQKr1B4tmtI8Cq7pUP0Fud1YLjMpod/NRVv1/xIF6cJFP8QARfmC45FPjHToORiXVUV8hii8l4EkXw2bAQO+wqodXJaZAgMBAAGjUDBOMB0GA1UdDgQWBBQ6e8nFUT7oKF+LbOYFH200WR5I0zAfBgNVHSMEGDAWgBQ6e8nFUT7oKF+LbOYFH200WR5I0zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQBAIaZDjgCLkWq6fFpp/ViwdEBtLbKNNx2K28z91kTZNE+lepYagqWQIPpTGo69GmO9Qdf/mkspY3Y80Q3MpUO09V3gsiqXQBHD5ZfyRHwmqDjDudLA1SGzMjMT+48XuMq4fdonO1o5fyDh/My9w1LuRZzWw5ZE0JEpKgXq1ynQYz0uEip7KrUVUNoAS2n9jT8APfs16M4p5VRpIYlugnBwR9P2bZba+9fR/SPTa7FX4S8sU649wGPR+49uvic2kwc8FP6AXGurJZhd7mZ44j58q0M/LXm/6wiyUslZ/I0uGhxmRav0cTQz4T1dXKdh2pJZBwz8yMv2P6fuxcFlUeR6</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://cloud.tencent.com/login/saml" index="1" isDefault="true"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en"/>
<RequestedAttribute FriendlyName="RoleEntitlement" Name="https://cloud.tencent.com/SAML/Attributes/Role" isRequired="true"/>
<RequestedAttribute FriendlyName="RoleSessionName" Name="https://cloud.tencent.com/SAML/Attributes/RoleSessionName" isRequired="true"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Tencent Cloud Services, Inc.</OrganizationName>
<OrganizationDisplayName xml:lang="en">Tencent Cloud</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://cloud.tencent.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://www.volcengine.com/">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIDJjCCAg6gAwIBAgIUF3lH8/cdlQeyPBqt066RFnt3cI4wDQYJKoZIhvcNAQELBQAwJTEjMCEGA1UEAxMadXJuOnZvbGNlbmdpbmU6d2Vic2VydmljZXMwHhcNMjMwODA4MDIzNzI4WhcNMzMwODIxMTYwMDAwWjAlMSMwIQYDVQQDExp1cm46dm9sY2VuZ2luZTp3ZWJzZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPZ+nhODpFTe+A8PbuZYA5XDQ04WckV1A5U90tKaaUX5uKLUYfDtFA1TwMO/qG87LU/0Pxs4FhgZJkUOeBHkyYzzXZQvtfsJ9frcKkcTjX/WF4XJyitXCULSjhcclMS3gOqeI/Mo3P90KutfhNli/mAHQJaRsuPFG4ZwBusbUo8i5sqBqt/Sg8JapH7DjEU2mN1165o59gavPGSByPeEuu28EkivVFcI7Jox5ztwgMrOYY+pYP9GeSurzpyLq3CfvvahTsAJjuHDHTTnYNcq/I3VOap/y4cOU6vgxcQvBmgb+CBvGldjn0em3BIn5meQwuB6jfQ7kqBaO1PRD1nhDTMCAwEAAaNOMEwwSgYIKwYBBQUHAQEEPjA8MDoGCCsGAQUFBzABhi5odHRwOi8vbmV4dXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UubmV0L3BjYS9vY3NwMA0GCSqGSIb3DQEBCwUAA4IBAQBxySDr9TPJxRN+otrFDaV8HSeFKUUSO3+r8bEVAXmS+xUsdUOZbaf2r/g+eKrW58dpn+iBWTAAKug9Jwe5KVGqB7G5r2r6k/eI5dvv5r/Fr5T7NppRCXKQTQiAhrrVlqttsagPztJ6LmVAcm4sh4Ckx99FgibQCbT/zui+c6IUyEQcVIwtmoPANl3K2Yn85t+G+Cu9xxXY0JPlZcUHntHg0R0PUWc3LuzLXnff7JWEzPyhMUBLpQk5BltxuD5cTGCA6WafJuBTAqkt48VN0MFTP5c5m3PJFz8Ro1GLY8hw1uhUEx28DKBkQSGpkZNx0oJXETIDpSBfD0dHWBvZQPd0</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://signin.volcengine.com/saml/sso"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en">Volcengine Single Sign-On</ServiceName>
<RequestedAttribute isRequired="true" Name="https://www.volcengine.com/SAML/Attributes/Identity" FriendlyName="Identity"/>
<RequestedAttribute isRequired="true" Name="https://www.volcengine.com/SAML/Attributes/SessionName" FriendlyName="SessionName"/>
<RequestedAttribute isRequired="false" Name="https://www.volcengine.com/SAML/Attributes/SessionDuration" FriendlyName="SessionDuration"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Volcengine, Inc.</OrganizationName>
<OrganizationDisplayName xml:lang="en">Volcengine</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://www.volcengine.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1 +0,0 @@
DESCRIPTION="Yunion CloudId"

View File

@@ -1,23 +0,0 @@
#!/bin/bash
set -e
if [ -z "$ROOT_DIR" ]; then
ROOT_DIR=$(dirname $(dirname $(readlink -f "$BASH_SOURCE")))
fi
RPMS_DIR=$ROOT_DIR/_output/rpms
DEBS_DIR=$ROOT_DIR/_output/debs
case $(uname -m) in
x86_64)
CURRENT_ARCH=amd64
;;
aarch64)
CURRENT_ARCH=arm64
;;
esac
mkdir -p $DEBS_DIR && cd $DEBS_DIR
find $RPMS_DIR -type f -name *.rpm -exec alien --target=$CURRENT_ARCH {} \;

View File

@@ -1,3 +0,0 @@
INTERFACE=""
INTERFACE_IP=""
RELAY=""

View File

@@ -1,22 +0,0 @@
[Unit]
Description=Yunion Cloud DHCP Relay Agent
Documentation=https://docs.yunion.cn
After=network-online.target
Wants=network-online.target
After=network.target
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/yunion_dhcprelay
User=root
Group=root
ExecStart=/opt/yunion/bin/dhcprelay --interface "$INTERFACE" --ip "$IP" --relay "$RELAY"
WorkingDirectory=/opt/yunion/bin
KillMode=process
Restart=always
RestartSec=30
LimitNOFILE=500000
LimitNPROC=500000
[Install]
WantedBy=multi-user.target

View File

@@ -1,2 +0,0 @@
DESCRIPTION="Yunion Tiny DHCP Relay Server"
SERVICE="yes"

View File

@@ -1,3 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ADD ./_output/alpine-build/bin/aiproxy /opt/yunion/bin/aiproxy

View File

@@ -1,8 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:latest
# https://github.com/yunionio/telegraf/blob/yn-release-1.36/Makefile.yn#L28
# install playbook and telegraf install pkg
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.5 /opt/yunion/playbook /opt/yunion/playbook
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.5 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver
ADD ./_output/bin/ansibleserver /opt/yunion/bin/ansibleserver

View File

@@ -1,31 +1,13 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM frolvlad/alpine-glibc:glibc-2.28
LABEL maintainer="Yousong Zhou <zhouyousong@yunionyun.com>"
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
ENV TZ="UTC"
ENV TZ Asia/Shanghai
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
RUN mkdir -p /opt/yunion/bin
# openssh-client, for ansible ssh connection
# git, ca-certificates, for fetching ansible roles
RUN set -x \
&& apk update \
&& apk add openssh-client \
&& apk add sshpass \
&& apk add py3-pip \
&& apk add py3-paramiko \
&& apk add tzdata git ca-certificates
RUN apk add --no-cache openssh openssl curl rsync pv mariadb-client
RUN apk add --no-cache --virtual .build-dependencies \
libffi-dev openssl-dev python3-dev build-base py-setuptools rust cargo mariadb-dev
# ansible should be installed
# after setuptools and wheel
RUN rm /usr/lib/python3.*/EXTERNALLY-MANAGED
RUN pip3 install -U pip setuptools wheel \
&& pip3 install mysqlclient pywinrm \
&& pip3 install 'ansible<=9.0.0' \
&& apk del --no-network .build-dependencies \
&& rm -rf /root/.cache /root/.cargo /var/cache/apk/*
RUN apk update && \
apk add --no-cache tzdata ansible ca-certificates && \
rm -rf /var/cache/apk/*
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/apigateway /opt/yunion/bin/apigateway
ADD ./_output/bin/apigateway /opt/yunion/bin/apigateway

View File

@@ -1,3 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ADD ./_output/alpine-build/bin/apimap /opt/yunion/bin/apimap

View File

@@ -1,8 +1,9 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20260724.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.0.1
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
RUN mkdir -p /opt/yunion/bin
ENV TZ="UTC"
ADD ./_output/alpine-build/bin/baremetal-agent /opt/yunion/bin/baremetal-agent
ADD ./_output/bin/baremetal-agent /opt/yunion/bin/baremetal-agent
ADD ./_output/bin/.baremetal-agent.bin /opt/yunion/bin/.baremetal-agent.bin
ADD ./_output/bin/bundles/baremetal-agent /opt/yunion/bin/bundles/baremetal-agent

View File

@@ -1,89 +1,39 @@
#RUN yum install -y https://iso.yunion.cn/vm-images/baremetal-pxerom-1.1.0-21092209.x86_64.rpm
#RUN yum install -y http://192.168.23.50:8083/baremetal-pxerom-1.1.0-21092209.x86_64.rpm
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunionos:v4.0.0-20251203.0 as yunionos
FROM frolvlad/alpine-glibc:glibc-2.28
FROM registry.cn-beijing.aliyuncs.com/cloudpods/centos:8 as grub-stage
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN dnf install -y grub2*
# make grub_booti386 firmware
RUN grub2-mkimage -d /usr/lib/grub/i386-pc/ -O i386-pc-pxe -o /root/grub_booti386 -p '/grub' pxe tftp boot linux ext2 xfs ntfs fat part_msdos part_gpt normal biosdisk
# make grub_bootx64 firmware
RUN grub2-mkimage -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi -o /root/grub_bootx64.efi -p '/grub' efinet tftp boot linux ext2 xfs ntfs fat part_msdos part_gpt normal efi_gop
# make grub_arm64 firmware
RUN grub2-mkimage -d /usr/lib/grub/arm64-efi/ -O arm64-efi -o /root/grub_arm64.efi -p '/grub' efinet tftp boot linux ext2 xfs ntfs fat part_msdos part_gpt normal efi_gop
RUN mkdir -p /tftp/grub
RUN cp /root/grub_booti386 /tftp
RUN cp -rf /usr/lib/grub/i386-pc /tftp/grub
RUN cp /root/grub_bootx64.efi /tftp
RUN cp -rf /usr/lib/grub/x86_64-efi /tftp/grub
RUN cp /root/grub_arm64.efi /tftp
RUN cp -rf /usr/lib/grub/arm64-efi /tftp/grub
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
LABEL maintainer="Zexi Li <zexi.li@icloud.com>"
MAINTAINER "Yaoqi Wan <wanyaoqi@yunionyun.com>"
RUN mkdir -p /opt/yunion/bin
RUN apk update && \
apk add --no-cache ipmitool ethtool tzdata ca-certificates cdrkit coreutils librados librbd && \
apk add --no-cache ipmitool ethtool tzdata ca-certificates && \
rm -rf /var/cache/apk/*
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /opt/cloud/yunion/baremetal
# udpate latest pci.ids
RUN wget -O /opt/cloud/yunion/baremetal/pci.ids http://pci-ids.ucw.cz/v2.2/pci.ids
# download baremetal-pxerom-*.x86_64.rpm and unpack rpm in current directory
#COPY --from=build /opt/cloud/yunion/baremetal/bootia32.efi /opt/cloud/yunion/baremetal
#COPY --from=build /opt/cloud/yunion/baremetal/bootx64.efi /opt/cloud/yunion/baremetal
#COPY --from=build /opt/cloud/yunion/baremetal/chain.c32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/initramfs /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/isolinux.bin /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/kernel /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/ldlinux.c32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/ldlinux.e32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/ldlinux.e64 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/libcom32.c32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/libutil.c32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/lpxelinux.0 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/menu.c32 /opt/cloud/yunion/baremetal
#COPY --from=build ./opt/cloud/yunion/baremetal/pxelinux.0 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/bootia32.efi /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/bootx64.efi /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/chain.c32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/initramfs /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/isolinux.bin /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/kernel /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/ldlinux.c32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/ldlinux.e32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/ldlinux.e64 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/libcom32.c32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/libutil.c32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/lpxelinux.0 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/menu.c32 /opt/cloud/yunion/baremetal
COPY ./opt/cloud/yunion/baremetal/pxelinux.0 /opt/cloud/yunion/baremetal
# copy grub file
COPY --from=grub-stage /tftp/grub_booti386 /opt/cloud/yunion/baremetal
COPY --from=grub-stage /tftp/grub_bootx64.efi /opt/cloud/yunion/baremetal
COPY --from=grub-stage /tftp/grub_arm64.efi /opt/cloud/yunion/baremetal
COPY --from=grub-stage /tftp/grub /opt/cloud/yunion/baremetal/grub
# copy boot files from yunionos
COPY --from=yunionos /yunionos/x86_64/kernel /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/initramfs /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/aarch64/kernel /opt/cloud/yunion/baremetal/kernel_aarch64
COPY --from=yunionos /yunionos/aarch64/initramfs /opt/cloud/yunion/baremetal/initramfs_aarch64
COPY --from=yunionos /yunionos/riscv64/kernel /opt/cloud/yunion/baremetal/kernel_riscv64
COPY --from=yunionos /yunionos/riscv64/initramfs /opt/cloud/yunion/baremetal/initramfs_riscv64
# TODO: syslinux firmwares should removed in future
COPY --from=yunionos /yunionos/x86_64/isolinux.bin /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/bootia32.efi /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/bootx64.efi /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/chain.c32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/initramfs /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/kernel /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/ldlinux.c32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/ldlinux.e32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/ldlinux.e64 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/libcom32.c32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/libutil.c32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/lpxelinux.0 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/menu.c32 /opt/cloud/yunion/baremetal
COPY --from=yunionos /yunionos/x86_64/pxelinux.0 /opt/cloud/yunion/baremetal
# add mkisofs with bundles libraries
ADD ./mkisofs /bin/mkisofs
ADD ./.mkisofs.bin /bin/.mkisofs.bin
ADD ./bundles/mkisofs /bin/bundles/mkisofs
# use GNU timeout command replace busybox timeout command
RUN rm /usr/bin/timeout
ADD ./timeout /bin/timeout
ADD ./.timeout.bin /bin/.timeout.bin
ADD ./bundles/timeout /bin/bundles/timeout

View File

@@ -1,7 +1,5 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/climc-base:3.22.2-2
FROM registry.cn-beijing.aliyuncs.com/yunionio/climc-base:latest
ADD ./build/climc/root/opt /opt
RUN cp /opt/yunion/scripts/motd/climc.sh /etc/profile.d/climc.sh && ln -sf /etc/profile.d/climc.sh /root/.bashrc
ADD ./_output/alpine-build/bin/climc ./_output/alpine-build/bin/*cli /opt/yunion/bin/
ADD ./_output/bin/climc ./_output/bin/*cli /opt/yunion/bin/

View File

@@ -1,24 +1,16 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
FROM frolvlad/alpine-glibc:glibc-2.28
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
ENV TZ="Asia/Shanghai"
ENV TZ Asia/Shanghai
RUN mkdir -p /opt/yunion/bin
RUN echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >>/etc/apk/repositories
RUN apk add --no-cache bash bash-completion tzdata ca-certificates vim ipmitool ceph-common dropbear shadow && \
RUN apk add --no-cache bash bash-completion tzdata ca-certificates && \
rm -rf /var/cache/apk/*
RUN usermod --shell /bin/bash root
RUN curl https://iso.yunion.cn/binaries/kubernetes-release/release/v1.22.9/bin/linux/${TARGETARCH}/kubectl -o /usr/bin/kubectl && chmod a+x /usr/bin/kubectl
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV PATH="/opt/yunion/bin:${PATH}"
RUN mkdir -p /opt/yunion/bin

View File

@@ -1,24 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
ENV TZ="Asia/Shanghai"
RUN mkdir -p /opt/yunion/bin
RUN echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >>/etc/apk/repositories
RUN apk add --no-cache bash bash-completion tzdata ca-certificates vim ipmitool ceph-common dropbear shadow && \
rm -rf /var/cache/apk/*
RUN usermod --shell /bin/bash root
RUN curl -L https://iso.yunion.cn/binaries/kubernetes-release/release/v1.22.9/bin/linux/${TARGETARCH}/kubectl -o /usr/bin/kubectl && chmod a+x /usr/bin/kubectl
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /opt/yunion/bin

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/cloudevent /opt/yunion/bin/cloudevent
ADD ./_output/bin/cloudevent /opt/yunion/bin/cloudevent

View File

@@ -1,4 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
COPY ./build/cloudid/root/opt/ /opt/
ADD ./_output/alpine-build/bin/cloudid /opt/yunion/bin/cloudid

View File

@@ -1,8 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
RUN mkdir -p /etc/yunion/data/
ADD ./_output/alpine-build/bin/cloudmon \
/opt/yunion/bin/

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/cloudnet /opt/yunion/bin/cloudnet
ADD ./_output/bin/cloudnet /opt/yunion/bin/cloudnet

View File

@@ -1,3 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ADD ./_output/alpine-build/bin/cloudproxy /opt/yunion/bin/cloudproxy

View File

@@ -1,9 +0,0 @@
# registry.cn-beijing.aliyuncs.com/yunionio/debian10-base:1.0
FROM debian:trixie
RUN apt update && apt install -y alien
RUN apt-get clean autoclean && \
apt-get autoremove --yes && \
rm -rf /var/lib/{apt,dpkg,cache,log}/

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/devtool /opt/yunion/bin/devtool
ADD ./_output/bin/devtool /opt/yunion/bin/devtool

View File

@@ -1,6 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ADD ./_output/alpine-build/bin/dhcprelay /opt/yunion/bin/dhcprelay
ENV PATH $PATH:/opt/yunion/bin
WORKDIR /opt/yunion/bin

View File

@@ -1,3 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/esxi-agent /opt/yunion/bin/esxi-agent
COPY ./build/esxi-agent/root/opt/ /opt/
ADD ./_output/bin/esxi-agent /opt/yunion/bin/esxi-agent

View File

@@ -1,5 +1,6 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/glance-base:3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/glance-base:latest
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
ENV TZ="UTC"
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/glance /opt/yunion/bin/glance
ADD ./_output/bin/glance /opt/yunion/bin/glance

View File

@@ -1,7 +1,18 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/torrent:3.22.2-0
FROM frolvlad/alpine-glibc:glibc-2.28
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
MAINTAINER "Yaoqi Wan <wanyaoqi@yunionyun.com>"
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
RUN apk update && \
apk add --no-cache tzdata ca-certificates qemu-img && \
rm -rf /var/cache/apk/*
RUN apk add --no-cache s3fs-fuse
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV TZ Asia/Shanghai
# add executable file torrent
# make cmd/torrent && ./scripts/bundle-libraries.sh _output/bin/bundles/torrent _output/bin/torrent
RUN mkdir -p /opt/yunion/bin
ADD ./_output/bin/torrent /opt/yunion/bin/torrent
ADD ./_output/bin/.torrent.bin /opt/yunion/bin/.torrent.bin
ADD ./_output/bin/bundles/torrent /opt/yunion/bin/bundles/torrent

View File

@@ -1,360 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# Dockerfile for guacamole-server
#
# The Alpine Linux image that should be used as the basis for the guacd image
ARG ALPINE_BASE_IMAGE=3.22.2
# The target architecture of the build. Valid values are "ARM" and "X86". By
# default, this is detected automatically.
ARG BUILD_ARCHITECTURE
# The number of processes that may run simultaneously during the build. By
# default, this is detected automatically.
ARG BUILD_JOBS
# The directory that will house the guacamole-server source during the build
ARG BUILD_DIR=/tmp/guacamole-server
# FreeRDP version (default to version 2)
ARG FREERDP_VERSION=2
# The final install location for guacamole-server and all dependencies. NOTE:
# This value is hard-coded in the entrypoint. Any change to this value must be
# propagated there.
ARG PREFIX_DIR=/opt/guacamole
#
# Automatically select the latest versions of each core protocol support
# library (these can be overridden at build time if a specific version is
# needed)
#
ARG WITH_FREERDP="${FREERDP_VERSION}(\.\d+)+"
ARG WITH_LIBSSH2='libssh2-\d+(\.\d+)+'
ARG WITH_LIBTELNET='\d+(\.\d+)+'
ARG WITH_LIBVNCCLIENT='LibVNCServer-\d+(\.\d+)+'
ARG WITH_LIBWEBSOCKETS='v\d+(\.\d+)+'
ARG WITH_GUACAMOLE_SERVER='\d+(\.\d+)+'
#
# Default build options for each core protocol support library, as well as
# guacamole-server itself (these can be overridden at build time if different
# options are needed)
#
ARG FREERDP_ARM_OPTS=""
ARG FREERDP_OPTS="\
-DBUILTIN_CHANNELS=OFF \
-DCHANNEL_URBDRC=OFF \
-DWITH_ALSA=OFF \
-DWITH_CAIRO=ON \
-DWITH_CHANNELS=ON \
-DWITH_CLIENT=ON \
-DWITH_CUPS=OFF \
-DWITH_DIRECTFB=OFF \
-DWITH_FFMPEG=OFF \
-DWITH_FUSE=OFF \
-DWITH_GSM=OFF \
-DWITH_GSSAPI=OFF \
-DWITH_IPP=OFF \
-DWITH_JPEG=ON \
-DWITH_KRB5=ON \
-DWITH_LIBSYSTEMD=OFF \
-DWITH_MANPAGES=OFF \
-DWITH_OPENH264=OFF \
-DWITH_OPENSSL=ON \
-DWITH_OSS=OFF \
-DWITH_PCSC=OFF \
-DWITH_PKCS11=OFF \
-DWITH_PULSE=OFF \
-DWITH_SERVER=OFF \
-DWITH_SERVER_INTERFACE=OFF \
-DWITH_SHADOW_MAC=OFF \
-DWITH_SHADOW_X11=OFF \
-DWITH_SWSCALE=OFF \
-DWITH_WAYLAND=OFF \
-DWITH_X11=OFF \
-DWITH_X264=OFF \
-DWITH_XCURSOR=ON \
-DWITH_XEXT=ON \
-DWITH_XI=OFF \
-DWITH_XINERAMA=OFF \
-DWITH_XKBFILE=ON \
-DWITH_XRENDER=OFF \
-DWITH_XTEST=OFF \
-DWITH_XV=OFF \
-DCMAKE_CXX_FLAGS=-Wno-incompatible-pointer-types \
-DCMAKE_C_FLAGS=-Wno-incompatible-pointer-types \
-DWITH_ZLIB=ON"
ARG FREERDP_X86_OPTS=""
ARG GUACAMOLE_SERVER_ARM_OPTS=""
ARG GUACAMOLE_SERVER_OPTS="\
--disable-guaclog \
CPPFLAGS=-Wno-error=deprecated-declarations"
ARG GUACAMOLE_SERVER_X86_OPTS=""
ARG GUACAMOLE_SERVER_UNKNOWN_OPTS=""
ARG LIBSSH2_ARM_OPTS=""
ARG LIBSSH2_OPTS="\
-DBUILD_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=ON"
ARG LIBSSH2_X86_OPTS=""
ARG LIBTELNET_ARM_OPTS=""
ARG LIBTELNET_OPTS="\
--disable-static \
--disable-util"
ARG LIBTELNET_X86_OPTS=""
ARG LIBVNCCLIENT_ARM_OPTS=""
ARG LIBVNCCLIENT_OPTS=""
ARG LIBVNCCLIENT_X86_OPTS=""
ARG LIBWEBSOCKETS_ARM_OPTS=""
ARG LIBWEBSOCKETS_OPTS="\
-DDISABLE_WERROR=ON \
-DLWS_WITHOUT_SERVER=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
-DLWS_WITHOUT_TEST_CLIENT=ON \
-DLWS_WITHOUT_TEST_PING=ON \
-DLWS_WITHOUT_TEST_SERVER=ON \
-DLWS_WITHOUT_TEST_SERVER_EXTPOLL=ON \
-DLWS_WITH_STATIC=OFF"
ARG LIBWEBSOCKETS_X86_OPTS=""
#
# Base builder image that will be used by subsequent build stages, including
# for building dependencies of guacamole-server.
#
FROM alpine:${ALPINE_BASE_IMAGE} AS builder
ARG BUILD_DIR
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
# Install build dependencies
RUN apk add \
autoconf \
automake \
build-base \
cairo-dev \
cjson-dev \
cmake \
cunit-dev \
git \
grep \
krb5-dev \
libjpeg-turbo-dev \
libpng-dev \
libtool \
libwebp-dev \
make \
openssl-dev \
pango-dev \
pulseaudio-dev \
sdl2-dev \
sdl2_ttf-dev \
util-linux-dev
ARG GUAC_VER=1.6.0
RUN git clone --branch=${GUAC_VER} https://github.com/apache/guacamole-server.git ${BUILD_DIR}
#
# Build dependency: libssh2
#
FROM builder AS libssh2
ARG BUILD_DIR
ARG LIBSSH2_ARM_OPTS
ARG LIBSSH2_OPTS
ARG LIBSSH2_X86_OPTS
ARG PREFIX_DIR
ARG WITH_LIBSSH2
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "LIBSSH2" \
"https://github.com/libssh2/libssh2"
#
# Build dependency: libtelnet
#
FROM builder AS libtelnet
ARG BUILD_DIR
ARG LIBTELNET_ARM_OPTS
ARG LIBTELNET_OPTS
ARG LIBTELNET_X86_OPTS
ARG PREFIX_DIR
ARG WITH_LIBTELNET
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "LIBTELNET" \
"https://github.com/seanmiddleditch/libtelnet"
#
# Build dependency: libvncclient
#
FROM builder AS libvncclient
ARG BUILD_DIR
ARG LIBVNCCLIENT_ARM_OPTS
ARG LIBVNCCLIENT_OPTS
ARG LIBVNCCLIENT_X86_OPTS
ARG PREFIX_DIR
ARG WITH_LIBVNCCLIENT
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "LIBVNCCLIENT" \
"https://github.com/LibVNC/libvncserver"
#
# Build dependency: libwebsockets
#
FROM builder AS libwebsockets
ARG BUILD_DIR
ARG LIBWEBSOCKETS_ARM_OPTS
ARG LIBWEBSOCKETS_OPTS
ARG LIBWEBSOCKETS_X86_OPTS
ARG PREFIX_DIR
ARG WITH_LIBWEBSOCKETS
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "LIBWEBSOCKETS" \
"https://github.com/warmcat/libwebsockets"
#
# Build dependency: FreeRDP
#
FROM builder AS freerdp
ARG BUILD_DIR
ARG FREERDP_ARM_OPTS
ARG FREERDP_OPTS
ARG FREERDP_X86_OPTS
ARG PREFIX_DIR
ARG WITH_FREERDP
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "FREERDP" \
"https://github.com/FreeRDP/FreeRDP"
#
# STAGE 7: Collect dependencies built by previous stages and build
# guacamole-server.
#
FROM builder AS guacamole-server
ARG BUILD_DIR
ARG FREERDP_VERSION
ARG GUACAMOLE_SERVER_ARM_OPTS
ARG GUACAMOLE_SERVER_UNKNOWN_OPTS
ARG GUACAMOLE_SERVER_OPTS
ARG GUACAMOLE_SERVER_X86_OPTS
ARG PREFIX_DIR
ARG WITH_GUACAMOLE_SERVER
# Copy dependencies built in previous stages
COPY --from=freerdp ${PREFIX_DIR} ${PREFIX_DIR}
COPY --from=libssh2 ${PREFIX_DIR} ${PREFIX_DIR}
COPY --from=libtelnet ${PREFIX_DIR} ${PREFIX_DIR}
COPY --from=libvncclient ${PREFIX_DIR} ${PREFIX_DIR}
COPY --from=libwebsockets ${PREFIX_DIR} ${PREFIX_DIR}
# Use guacamole-server source from build context
COPY --from=builder ${BUILD_DIR} ${BUILD_DIR}
RUN ${BUILD_DIR}/src/guacd-docker/bin/autobuild.sh "GUACAMOLE_SERVER" "${BUILD_DIR}"
# Determine location of the FREERDP library based on the version.
ARG FREERDP_LIB_PATH=${PREFIX_DIR}/lib/freerdp${FREERDP_VERSION}
# Record the packages of all runtime library dependencies
RUN ${BUILD_DIR}/src/guacd-docker/bin/list-dependencies.sh \
${PREFIX_DIR}/sbin/guacd \
${PREFIX_DIR}/lib/libguac-client-*.so \
${FREERDP_LIB_PATH}/*guac*.so \
> ${PREFIX_DIR}/DEPENDENCIES
#
# STAGE 8: Final, runtime image.
#
# Use same Alpine version as the base for the runtime image
FROM alpine:${ALPINE_BASE_IMAGE} AS runtime
ARG PREFIX_DIR
ARG BUILD_DIR
# Copy build artifacts into this stage
COPY --from=guacamole-server ${PREFIX_DIR} ${PREFIX_DIR}
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
RUN cat ${PREFIX_DIR}/DEPENDENCIES
# Bring runtime environment up to date and install runtime dependencies
RUN apk add --no-cache \
ca-certificates \
font-noto-cjk \
ghostscript \
netcat-openbsd \
shadow \
terminus-font \
ttf-dejavu \
ttf-liberation \
util-linux-login && \
xargs apk add --no-cache < ${PREFIX_DIR}/DEPENDENCIES
# Runtime environment
ENV LC_ALL=C.UTF-8
ENV LD_LIBRARY_PATH=${PREFIX_DIR}/lib
# Checks the operating status every 5 minutes with a timeout of 5 seconds
HEALTHCHECK --interval=5m --timeout=5s CMD nc -z 127.0.0.1 4822 || exit 1
# Create a new user guacd
ARG UID=1000
ARG GID=1000
RUN groupadd --gid $GID guacd
RUN useradd --system --create-home --shell /sbin/nologin --uid $UID --gid $GID guacd
# Run with user guacd
USER guacd
# Expose the default listener port
EXPOSE 4822
COPY --from=guacamole-server ${BUILD_DIR}/src/guacd-docker/bin/entrypoint.sh /opt/guacamole/
#COPY
ENTRYPOINT [ "/opt/guacamole/entrypoint.sh" ]

View File

@@ -1,8 +1,9 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.9.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.1.0
LABEL maintainer="Yaoqi Wan wanyaoqi@yunionyun.com"
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"
ENV TZ="UTC"
ENV TZ Asia/Shanghai
RUN apk add librados librbd
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/host /opt/yunion/bin/host

View File

@@ -1,9 +1,11 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:1.5.11
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:v0.0.2
LABEL maintainer="Yaoqi Wan wanyaoqi@yunionyun.com"
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"
ENV TZ="UTC"
ENV TZ Asia/Shanghai
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/host-deployer /opt/yunion/bin/host-deployer
ADD ./_output/bin/host-deployer /opt/yunion/bin/host-deployer
ADD ./_output/bin/.host-deployer.bin /opt/yunion/bin/.host-deployer.bin
ADD ./_output/bin/bundles/host-deployer /opt/yunion/bin/bundles/host-deployer

View File

@@ -1,3 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ADD ./_output/alpine-build/bin/host-health /opt/yunion/bin/host-health

View File

@@ -1,6 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
ENV TZ="UTC"
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/host-image /opt/yunion/bin/host-image

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:latest
ADD ./_output/alpine-build/bin/keystone /opt/yunion/bin/keystone
ADD ./_output/bin/keystone /opt/yunion/bin/keystone

View File

@@ -1,9 +0,0 @@
FROM alpine:3.22.2
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
RUN echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >>/etc/apk/repositories
RUN apk update && apk add curl android-tools && rm -rf /var/cache/apk/*
RUN curl -L https://iso.yunion.cn/binaries/kubernetes-release/release/v1.22.9/bin/linux/${TARGETARCH}/kubectl -o /usr/bin/kubectl && chmod a+x /usr/bin/kubectl

View File

@@ -1,8 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/lbagent-base:v0.0.5
LABEL maintainer="Yousong Zhou <zhouyousong@yunion.cn>"
ENV TZ="UTC"
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/lbagent /opt/yunion/bin/lbagent

View File

@@ -1,35 +0,0 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/openvswitch:2.12.4-5
LABEL maintainer="Jian QIU <qiujian@yunion.cn>"
ENV TZ="UTC"
ENV GOPATH=/root/go
RUN sed -i 's!v3.20/!v3.22/!g' /etc/apk/repositories
RUN set -x \
&& apk update \
&& apk upgrade \
&& apk add --no-cache bash haproxy keepalived iptables \
&& apk add --no-cache --virtual .build-deps \
build-base \
make \
go \
git \
gcc \
libc-dev \
libgcc \
linux-headers
RUN set -x \
&& mkdir -p $GOPATH/src/github.com/yyyar $GOPATH/bin \
&& cd $GOPATH/src/github.com/yyyar \
&& git clone --depth 1 https://github.com/yyyar/gobetween.git \
&& cd gobetween \
&& make deps \
&& make build \
&& cp bin/gobetween /bin/gobetween \
&& rm -fr $GOPATH \
&& apk del .build-deps \
&& rm -rf /var/cache/apk/*

Some files were not shown because too many files have changed in this diff Show More