mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-21 00:24:07 +08:00
Compare commits
437 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73246a90b7 | ||
|
|
5cf2937871 | ||
|
|
a7064c792e | ||
|
|
d797eb3144 | ||
|
|
a3fa8463dd | ||
|
|
ddc7c4ffb6 | ||
|
|
9a94f03e11 | ||
|
|
194998499b | ||
|
|
d435034e6d | ||
|
|
d51ea4d961 | ||
|
|
8381a3f1f2 | ||
|
|
df141ff513 | ||
|
|
09854f51c3 | ||
|
|
f0fd038faa | ||
|
|
c9c2c8e478 | ||
|
|
25a9086f98 | ||
|
|
b736a6d483 | ||
|
|
d3c8315b81 | ||
|
|
bad21c8698 | ||
|
|
f42bce4184 | ||
|
|
a0e31df7be | ||
|
|
e4e1469114 | ||
|
|
982430a025 | ||
|
|
e1fd572f0e | ||
|
|
4938bd8b4f | ||
|
|
5f5f02ac07 | ||
|
|
101502895e | ||
|
|
8ecd6b5967 | ||
|
|
e0aaf54316 | ||
|
|
07ea3fa160 | ||
|
|
d36f8103dd | ||
|
|
15af5feed5 | ||
|
|
d9165e540e | ||
|
|
3d15d0ffde | ||
|
|
5bc85cc8a9 | ||
|
|
5b55749dbd | ||
|
|
0d0c52ddb1 | ||
|
|
d766d5a979 | ||
|
|
2798b9e592 | ||
|
|
b67dd5200a | ||
|
|
3c7c40e71a | ||
|
|
77ed62fbf0 | ||
|
|
8e982788fe | ||
|
|
35cba00416 | ||
|
|
58e8f9dd03 | ||
|
|
a663c5ce87 | ||
|
|
6a661d3eae | ||
|
|
928bb282ac | ||
|
|
928e2902a1 | ||
|
|
eeec217220 | ||
|
|
8ab7b49f05 | ||
|
|
4c00be06a2 | ||
|
|
06dcc0b6d9 | ||
|
|
881f4085ea | ||
|
|
37223ce58a | ||
|
|
aa80106b84 | ||
|
|
d8f0cc6b4a | ||
|
|
57244dcbd0 | ||
|
|
6e7d07f47e | ||
|
|
e90f89efa8 | ||
|
|
7756028da0 | ||
|
|
fe66a6e907 | ||
|
|
7e68d87c60 | ||
|
|
7f1f9e21d8 | ||
|
|
b773be0f73 | ||
|
|
777920cd29 | ||
|
|
00cb7fb015 | ||
|
|
8b1aa2e675 | ||
|
|
3940d23b21 | ||
|
|
c874e90985 | ||
|
|
5a71c664d1 | ||
|
|
17aeab6b4e | ||
|
|
b73d206365 | ||
|
|
722855f8f1 | ||
|
|
5f0c1cfd49 | ||
|
|
6b115aa28b | ||
|
|
fee8a08fb9 | ||
|
|
0a6daca02d | ||
|
|
eafd63ed99 | ||
|
|
0c6d7f1534 | ||
|
|
55db52bc3a | ||
|
|
4365c22e31 | ||
|
|
904f00cc55 | ||
|
|
5350c65fdd | ||
|
|
5be6a18f2b | ||
|
|
798f5e638e | ||
|
|
29cdd2154c | ||
|
|
98a31154e5 | ||
|
|
14431ff1dc | ||
|
|
00c4490ec8 | ||
|
|
c3f37211a2 | ||
|
|
1b741f18fc | ||
|
|
de876d1736 | ||
|
|
65786781e1 | ||
|
|
8cc318ac34 | ||
|
|
22a7f0a748 | ||
|
|
23bde8e519 | ||
|
|
8345f0ab8f | ||
|
|
3b5c84f5e0 | ||
|
|
505303c708 | ||
|
|
34c96d68ac | ||
|
|
68b341561c | ||
|
|
bd1cb2fc1d | ||
|
|
69d66eef67 | ||
|
|
0a140753be | ||
|
|
fe54f42735 | ||
|
|
1e53b7a995 | ||
|
|
40a9c4723f | ||
|
|
b880951a01 | ||
|
|
a0c176936e | ||
|
|
09c02afdac | ||
|
|
3acb2469a7 | ||
|
|
6ab9b68ab5 | ||
|
|
9ba603e29b | ||
|
|
0a4f530d4b | ||
|
|
ed3bd14773 | ||
|
|
bd40d802ec | ||
|
|
ea8f261ed6 | ||
|
|
86817febe1 | ||
|
|
8f1d9998f1 | ||
|
|
3026b2d73c | ||
|
|
5ea09eea51 | ||
|
|
bbb91f39d9 | ||
|
|
a7bf1fc8c6 | ||
|
|
63b97fbad0 | ||
|
|
a0bd95fabb | ||
|
|
f87e5c4004 | ||
|
|
155f9620c6 | ||
|
|
48d45592e4 | ||
|
|
5ebb30ed83 | ||
|
|
a09dccf981 | ||
|
|
7d49c48eff | ||
|
|
9407ff7397 | ||
|
|
7cc3a98825 | ||
|
|
cea2968b04 | ||
|
|
b2b21f8095 | ||
|
|
e4280eaa48 | ||
|
|
c6e291b425 | ||
|
|
140898a2f8 | ||
|
|
32b3d831b6 | ||
|
|
b974842932 | ||
|
|
30875951e1 | ||
|
|
c6fd3d5dbd | ||
|
|
5414541ce5 | ||
|
|
8b889fc561 | ||
|
|
3ce447c35e | ||
|
|
9a2e197c43 | ||
|
|
dc27b93775 | ||
|
|
2a49b7903b | ||
|
|
272e4173c2 | ||
|
|
ac674553ee | ||
|
|
d7078cd1d6 | ||
|
|
2c34090015 | ||
|
|
b5d55c7ebc | ||
|
|
62189913f1 | ||
|
|
05e19381d8 | ||
|
|
ae98388b8a | ||
|
|
da1fc9e8f3 | ||
|
|
ee3df76aa3 | ||
|
|
7ce28e78fd | ||
|
|
436b809249 | ||
|
|
d894992e29 | ||
|
|
c0db3ead14 | ||
|
|
91dbb1b64e | ||
|
|
7f52cc5ec0 | ||
|
|
213637679e | ||
|
|
02dc737ccd | ||
|
|
627e97b73a | ||
|
|
3d8a727eb8 | ||
|
|
49366c5174 | ||
|
|
a50782ab52 | ||
|
|
974dd220e8 | ||
|
|
bf99c1d824 | ||
|
|
678626ff3a | ||
|
|
8b6791b908 | ||
|
|
78b5b0a94c | ||
|
|
cb264e7d1a | ||
|
|
6fb58e8c63 | ||
|
|
4c12de8eea | ||
|
|
e55aa144fa | ||
|
|
a55732b782 | ||
|
|
128ea60569 | ||
|
|
0988bf1578 | ||
|
|
42612205fd | ||
|
|
de48910c63 | ||
|
|
c80945338e | ||
|
|
96973b15bd | ||
|
|
04521a1548 | ||
|
|
9025a56617 | ||
|
|
973ebbf9f3 | ||
|
|
c53164e430 | ||
|
|
0ac263dee1 | ||
|
|
95aaa66c76 | ||
|
|
1e2773bd18 | ||
|
|
e6ba4a1dc7 | ||
|
|
e5afb63551 | ||
|
|
ced94cfb66 | ||
|
|
628244f7b9 | ||
|
|
7033974ab4 | ||
|
|
cb733ded80 | ||
|
|
658d734ec4 | ||
|
|
2f3e6f80a7 | ||
|
|
c4b5f59e11 | ||
|
|
5a5cca4110 | ||
|
|
5f8c36b407 | ||
|
|
a62ac5fb30 | ||
|
|
9694075bee | ||
|
|
4e84ace30a | ||
|
|
e96dbaba60 | ||
|
|
05d7a87c1b | ||
|
|
d94ddc43a4 | ||
|
|
57d3e37c08 | ||
|
|
ce7dd991d2 | ||
|
|
6364389877 | ||
|
|
3c2f99313b | ||
|
|
e91bc4e8fb | ||
|
|
946a0395ad | ||
|
|
dea562a733 | ||
|
|
a552c3ff85 | ||
|
|
cc5d7713e4 | ||
|
|
a94b00604d | ||
|
|
3d5361bee1 | ||
|
|
8c44e4e3e9 | ||
|
|
d46f44ccc1 | ||
|
|
3f06837b92 | ||
|
|
2c6aa4fb09 | ||
|
|
7835d0521b | ||
|
|
a43a3dc4bc | ||
|
|
99fb78de35 | ||
|
|
e7d67a41f5 | ||
|
|
5f1d1f748f | ||
|
|
8189fdb496 | ||
|
|
609db4298d | ||
|
|
09f31ce467 | ||
|
|
7cad0e5ee6 | ||
|
|
d5355f21bb | ||
|
|
e9f6a90bc5 | ||
|
|
b281ab8543 | ||
|
|
60b333bd1f | ||
|
|
b3093fbfd6 | ||
|
|
f8822c745a | ||
|
|
4c3adeb328 | ||
|
|
25c473a435 | ||
|
|
d65471ec41 | ||
|
|
8961bf4968 | ||
|
|
157921f5c4 | ||
|
|
cd65b9498b | ||
|
|
f850e179f2 | ||
|
|
cf7c8fb03f | ||
|
|
ace44f9490 | ||
|
|
72f6412f6c | ||
|
|
1eeb11be87 | ||
|
|
acab975d94 | ||
|
|
b2c52fd1fe | ||
|
|
e6975a6474 | ||
|
|
7c1d16cc63 | ||
|
|
17c6698073 | ||
|
|
ea4f290f8c | ||
|
|
c5e8ff9b39 | ||
|
|
10ad4c32dc | ||
|
|
625d7ef304 | ||
|
|
f68567e28c | ||
|
|
a368985923 | ||
|
|
a12e235fe3 | ||
|
|
27ec4567cc | ||
|
|
020092cc4d | ||
|
|
d64f80ddc8 | ||
|
|
cee3246346 | ||
|
|
7da7ffcb7a | ||
|
|
22e2896afc | ||
|
|
c63ed9093b | ||
|
|
9f4fc77bd2 | ||
|
|
8702653395 | ||
|
|
44d738a0b8 | ||
|
|
032353b0cc | ||
|
|
a6a2e4c288 | ||
|
|
0f67656287 | ||
|
|
5ad7bbf61c | ||
|
|
22dbb38ff5 | ||
|
|
420c1968dc | ||
|
|
07f482da0f | ||
|
|
dbee3ec258 | ||
|
|
aab33d1355 | ||
|
|
8e495f1589 | ||
|
|
67513c50c8 | ||
|
|
95abcef299 | ||
|
|
1c2472ae87 | ||
|
|
ce3e4ac385 | ||
|
|
5e787456b7 | ||
|
|
5a55a17967 | ||
|
|
c1a03c16b3 | ||
|
|
1fc6c8b42e | ||
|
|
a51b977953 | ||
|
|
b6fc27d64f | ||
|
|
aa2445d1c4 | ||
|
|
80670214be | ||
|
|
76c9d8a5ae | ||
|
|
5fd3aebbb1 | ||
|
|
04d533138f | ||
|
|
7547142600 | ||
|
|
7166a100ec | ||
|
|
3ff4d65300 | ||
|
|
b61399f12e | ||
|
|
1d4565807f | ||
|
|
5b232c2ff2 | ||
|
|
281698906d | ||
|
|
c25535d21b | ||
|
|
cb0d0b68b2 | ||
|
|
f6c9aa09ea | ||
|
|
2eec54723e | ||
|
|
f78047601b | ||
|
|
63cd9bec46 | ||
|
|
57bc6f1445 | ||
|
|
d5e6532711 | ||
|
|
4d511c98e9 | ||
|
|
f96c1f9fd2 | ||
|
|
315054703c | ||
|
|
f9064a0018 | ||
|
|
6641eb15f0 | ||
|
|
59f837c0e3 | ||
|
|
e5891349cd | ||
|
|
fe9f5fa4cc | ||
|
|
76b110445e | ||
|
|
d274e3078c | ||
|
|
e1269cf9fe | ||
|
|
5a972e6ddf | ||
|
|
a905f67fb2 | ||
|
|
9bca310026 | ||
|
|
edcbf3b2d3 | ||
|
|
e09c21d452 | ||
|
|
f270daa6ae | ||
|
|
49d1f6ee1e | ||
|
|
bdf015668f | ||
|
|
334ae46514 | ||
|
|
cbbf5c28e1 | ||
|
|
f517795c85 | ||
|
|
82b05b2cd1 | ||
|
|
429d38f06d | ||
|
|
b50d54d8cc | ||
|
|
d4104bb98d | ||
|
|
c8b1cfc397 | ||
|
|
df3d24b40a | ||
|
|
3483446885 | ||
|
|
b84b5786ed | ||
|
|
ad4f0da021 | ||
|
|
31aa3e36ee | ||
|
|
c4c095e0f8 | ||
|
|
a9a1c64ef0 | ||
|
|
dda5a309ac | ||
|
|
328dcf8ebb | ||
|
|
7628bd2a81 | ||
|
|
237a54a79f | ||
|
|
1927f32109 | ||
|
|
9dcabdb247 | ||
|
|
6785b43bad | ||
|
|
a51f8b6c2c | ||
|
|
40127b24e6 | ||
|
|
d2f608696f | ||
|
|
a38f03516e | ||
|
|
e7935d6412 | ||
|
|
4a72e87323 | ||
|
|
a6295d340a | ||
|
|
e8338f2832 | ||
|
|
f87d0e905a | ||
|
|
9274649334 | ||
|
|
13b05bf0c6 | ||
|
|
2069057967 | ||
|
|
197ff6f805 | ||
|
|
c52ee7d073 | ||
|
|
3eafa21456 | ||
|
|
749d063a61 | ||
|
|
7ee8b8abe5 | ||
|
|
3353aa0062 | ||
|
|
8e493053ee | ||
|
|
eb307bbffd | ||
|
|
904f6b3358 | ||
|
|
161cec3a08 | ||
|
|
8c6d9ad876 | ||
|
|
bdeed9e7a8 | ||
|
|
b9f3f55e62 | ||
|
|
aa60326bc3 | ||
|
|
43deb292fb | ||
|
|
99eaebe34a | ||
|
|
5afb0c82a8 | ||
|
|
8fbd42e535 | ||
|
|
c57c4cc5b2 | ||
|
|
c7ad1243be | ||
|
|
18b008d838 | ||
|
|
36b91f5afe | ||
|
|
fe0f3b01b9 | ||
|
|
45219f3cf4 | ||
|
|
eebdd2b591 | ||
|
|
18e806ba7d | ||
|
|
45dd2ece7c | ||
|
|
bb62477f80 | ||
|
|
a6340afcbe | ||
|
|
fc9e1719b7 | ||
|
|
73a8a01b63 | ||
|
|
1455c52270 | ||
|
|
c810ea46c6 | ||
|
|
9b9bcc881e | ||
|
|
0a4ad0a305 | ||
|
|
4573622ba5 | ||
|
|
11cd699c9c | ||
|
|
ef873d9f77 | ||
|
|
7ca332aa79 | ||
|
|
eca062143b | ||
|
|
9b6fe19ea4 | ||
|
|
f0e61cd918 | ||
|
|
a0170df031 | ||
|
|
c78f7a2f04 | ||
|
|
cb9b344bd4 | ||
|
|
b9c4336dff | ||
|
|
e5f352fa37 | ||
|
|
f0862574db | ||
|
|
d7978069a9 | ||
|
|
1df2e03b73 | ||
|
|
9c2502db8d | ||
|
|
22f188f8c0 | ||
|
|
d4656072de | ||
|
|
db34e8ad3b | ||
|
|
dd390aa6dd | ||
|
|
e9b0203da4 | ||
|
|
08c5f3c816 | ||
|
|
5317e842f3 | ||
|
|
afe7f5d828 | ||
|
|
c8966f7e87 | ||
|
|
f89c9b933a | ||
|
|
66c6a7570c | ||
|
|
297d905d4f | ||
|
|
c24c923a8f | ||
|
|
40909986f6 | ||
|
|
48d6492715 | ||
|
|
fcc635a90e | ||
|
|
38582f5f93 | ||
|
|
8deacfcf59 | ||
|
|
f1d422e85f |
@@ -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.1-4
|
||||
environment:
|
||||
ONECLOUD_CI_BUILD: "1"
|
||||
working_directory: /root/go/src/yunion.io/x/onecloud
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
command: |
|
||||
make -j3 check
|
||||
build:
|
||||
requires:
|
||||
- check
|
||||
docker:
|
||||
- image: yunion/alpine-build:3.22.0-go-1.24.6-1
|
||||
- image: yunionio/centos-build:1.1-4
|
||||
environment:
|
||||
ONECLOUD_CI_BUILD: "1"
|
||||
|
||||
@@ -16,21 +27,58 @@ jobs:
|
||||
#### /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
|
||||
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
|
||||
make -j2 $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.1-4
|
||||
environment:
|
||||
ONECLOUD_CI_BUILD: "1"
|
||||
working_directory: /root/go/src/yunion.io/x/onecloud
|
||||
parallelism: 4
|
||||
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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,20 +1,18 @@
|
||||
---
|
||||
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**:
|
||||
**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`):
|
||||
-->
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/document_request.md
vendored
6
.github/ISSUE_TEMPLATE/document_request.md
vendored
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: 文档问题/Document Request
|
||||
about: 文档相关缺陷改进/Document request to this project
|
||||
title: '[文档/Docs]'
|
||||
name: Document Request
|
||||
about: Document request to this project
|
||||
title: ''
|
||||
labels:
|
||||
- area/docs
|
||||
- enhancement
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,7 +1,7 @@
|
||||
---
|
||||
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: ''
|
||||
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/support-request.md
vendored
6
.github/ISSUE_TEMPLATE/support-request.md
vendored
@@ -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: ''
|
||||
|
||||
|
||||
3
.github/pull_request_template.md
vendored
3
.github/pull_request_template.md
vendored
@@ -13,7 +13,8 @@ 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
|
||||
- release/3.7
|
||||
- release/3.6
|
||||
|
||||
Take a look at "https://www.cloudpods.org/en/docs/contribute/contrib/" to learn how to submit a cherry-pick PR.
|
||||
-->
|
||||
|
||||
38
.github/workflows/ci-pr-build-test.yml
vendored
38
.github/workflows/ci-pr-build-test.yml
vendored
@@ -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
|
||||
233
.github/workflows/docker.yml
vendored
Normal file
233
.github/workflows/docker.yml
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
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.14
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.14
|
||||
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/baremetal-agent && ./scripts/bundle_libraries.sh _output/bin/bundles/baremetal-agent _output/bin/baremetal-agent
|
||||
make docker-alpine-build F='-j4 cmd/host cmd/vpcagent cmd/region-dns 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 make cmd/cloudevent cmd/devtool cmd/cloudid make cmd/*cli make cmd/esxi-agent'
|
||||
- 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 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 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 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 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 cloudid
|
||||
uses: elgohr/Publish-Docker-Github-Action@master
|
||||
with:
|
||||
name: registry.cn-beijing.aliyuncs.com/yunionio/cloudid
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
registry: registry.cn-beijing.aliyuncs.com
|
||||
snapshot: true
|
||||
dockerfile: build/docker/Dockerfile.cloudid
|
||||
|
||||
- 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
|
||||
|
||||
- name: Image region DNS
|
||||
uses: elgohr/Publish-Docker-Github-Action@master
|
||||
with:
|
||||
name: registry.cn-beijing.aliyuncs.com/yunionio/region-dns
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
registry: registry.cn-beijing.aliyuncs.com
|
||||
snapshot: true
|
||||
dockerfile: build/docker/Dockerfile.region-dns
|
||||
52
.github/workflows/docker_apigateway.yml
vendored
52
.github/workflows/docker_apigateway.yml
vendored
@@ -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
|
||||
50
.github/workflows/docker_climc.yml
vendored
50
.github/workflows/docker_climc.yml
vendored
@@ -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
|
||||
51
.github/workflows/docker_cloudmon.yml
vendored
51
.github/workflows/docker_cloudmon.yml
vendored
@@ -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
|
||||
49
.github/workflows/docker_esxi_agent.yml
vendored
49
.github/workflows/docker_esxi_agent.yml
vendored
@@ -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
|
||||
53
.github/workflows/docker_glance.yml
vendored
53
.github/workflows/docker_glance.yml
vendored
@@ -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
|
||||
49
.github/workflows/docker_host.yml
vendored
49
.github/workflows/docker_host.yml
vendored
@@ -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
|
||||
53
.github/workflows/docker_keystone.yml
vendored
53
.github/workflows/docker_keystone.yml
vendored
@@ -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
|
||||
53
.github/workflows/docker_logger.yml
vendored
53
.github/workflows/docker_logger.yml
vendored
@@ -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
|
||||
53
.github/workflows/docker_notify.yml
vendored
53
.github/workflows/docker_notify.yml
vendored
@@ -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
|
||||
54
.github/workflows/docker_region.yml
vendored
54
.github/workflows/docker_region.yml
vendored
@@ -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
|
||||
50
.github/workflows/docker_scheduler.yml
vendored
50
.github/workflows/docker_scheduler.yml
vendored
@@ -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
|
||||
53
.github/workflows/docker_webconsole.yml
vendored
53
.github/workflows/docker_webconsole.yml
vendored
@@ -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
|
||||
45
.github/workflows/issue-check-inactive.yml
vendored
45
.github/workflows/issue-check-inactive.yml
vendored
@@ -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
|
||||
44
.github/workflows/issue-close-require.yml
vendored
44
.github/workflows/issue-close-require.yml
vendored
@@ -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
|
||||
22
.github/workflows/issue-close.yml
vendored
22
.github/workflows/issue-close.yml
vendored
@@ -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
|
||||
51
.github/workflows/issue-comment.yml
vendored
51
.github/workflows/issue-comment.yml
vendored
@@ -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
|
||||
17
.github/workflows/issue-notify.yml
vendored
17
.github/workflows/issue-notify.yml
vendored
@@ -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}}"
|
||||
41
.github/workflows/issue-open.yml
vendored
41
.github/workflows/issue-open.yml
vendored
@@ -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}}"
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -41,5 +41,3 @@ pkg/generated
|
||||
|
||||
# gotext extracted
|
||||
out.gotext.json
|
||||
|
||||
pkg/notify/sender/email_test.go
|
||||
|
||||
@@ -18,7 +18,7 @@ You may answer issues at Github and help those who encounter issues when using C
|
||||
|
||||
## 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.
|
||||
You are welcome to contribute codes to Cloudpods. Please refers to [CONTRIBUTING](https://www.cloudpods.org/en/docs/contribute/contrib/) for more details on how to contribute codes to Cloudpods.
|
||||
|
||||
### Fix Issues
|
||||
|
||||
@@ -29,8 +29,8 @@ You may help solve bugs by submiting patches.
|
||||
|
||||
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.
|
||||
* Develop new features for Cloudpods
|
||||
* Recode some part of Cloudpods so as to make the code easier to be understood, or less error-prone, or more efficient
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Cloudpods是一款开源的基础设施管理工具软件,运行场景复杂
|
||||
|
||||
## 贡献代码
|
||||
|
||||
我们非常欢迎和感谢开发者向项目提交代码PR,流程细节请查看 [CONTRIBUTING](https://www.cloudpods.org/docs/development/contrib/).
|
||||
我们非常欢迎和感谢开发者向项目提交代码PR,流程细节请查看 [CONTRIBUTING](https://www.cloudpods.org/zh/docs/contribute/contrib/).
|
||||
|
||||
### 修复BUG
|
||||
|
||||
@@ -27,8 +27,8 @@ Cloudpods是一款开源的基础设施管理工具软件,运行场景复杂
|
||||
### 开发新的功能特性
|
||||
|
||||
不仅仅是修复BUG,您也可以通过提交代码以改进Cloudpods,包括但不限于:
|
||||
* 开发新的功能特性,您可以在[feature issues](https://github.com/yunionio/cloudpods/issues?q=is%3Aopen+is%3Aissue+label%3Afeature)查找需要的功能。
|
||||
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效。
|
||||
* 开发新的功能特性,您可以在[Cloudpods Roadmap](https://www.cloudpods.org/zh/docs/roadmap/)找到Cloudpods的功能规划
|
||||
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效
|
||||
|
||||
## 文档
|
||||
|
||||
|
||||
72
Makefile
72
Makefile
@@ -47,6 +47,11 @@ PKGS := go list ./...
|
||||
CGO_CFLAGS_ENV = $(shell go env CGO_CFLAGS)
|
||||
CGO_LDFLAGS_ENV = $(shell go env CGO_LDFLAGS)
|
||||
|
||||
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 GOOS ?= linux
|
||||
export GO111MODULE:=on
|
||||
export CGO_CFLAGS = ${X_CGO_CFLAGS}
|
||||
@@ -58,7 +63,7 @@ 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)))
|
||||
|
||||
@@ -76,16 +81,19 @@ gencopyright:
|
||||
@bash 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/fetcherfs: 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) $*
|
||||
@@ -96,6 +104,21 @@ deb/%: cmd/%
|
||||
pkg/%: prepare_dir
|
||||
$(GO_INSTALL) $(REPO_PREFIX)/$@
|
||||
|
||||
rpm/fetcherfs: cmd/fetcherfs
|
||||
docker run --rm \
|
||||
--name docker-centos-build-fetcherfs \
|
||||
-v $(CURDIR):/data \
|
||||
registry.cn-beijing.aliyuncs.com/yunionio/centos-build:1.1-4 \
|
||||
/bin/bash -c "VERSION=3.6 /data/build/build.sh fetcherfs /opt/yunion/fetchclient/bin"
|
||||
|
||||
deb/fetcherfs: rpm/fetcherfs
|
||||
#VERSION=3.6 $(DEB_BUILD_SCRIPT) fetcherfs /opt/yunion/fetchclient/bin
|
||||
docker run --rm \
|
||||
--name docker-debian-build-fetcherfs \
|
||||
-v $(CURDIR):/data \
|
||||
registry.cn-beijing.aliyuncs.com/yunionio/debian10-base:1.0 \
|
||||
/data/build/convert_rpm2deb.sh
|
||||
|
||||
build:
|
||||
$(MAKE) $(cmdTargets)
|
||||
|
||||
@@ -166,8 +189,7 @@ 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
|
||||
@@ -185,7 +207,6 @@ 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 \
|
||||
@@ -220,25 +241,10 @@ y18n-check:
|
||||
|
||||
.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: goimports-check
|
||||
check: vet-check
|
||||
#check: y18n-check
|
||||
.PHONY: check
|
||||
|
||||
@@ -261,18 +267,18 @@ 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 -d $(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
|
||||
|
||||
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
|
||||
@@ -324,7 +330,7 @@ image:
|
||||
.PHONY: image
|
||||
|
||||
image-telegraf-raid-plugin:
|
||||
VERSION=v4.0-20260115.0 GOOS=linux ARCH=all make image telegraf-raid-plugin
|
||||
VERSION=release-1.6.1 ARCH=all make image telegraf-raid-plugin
|
||||
|
||||
%:
|
||||
@:
|
||||
|
||||
@@ -4,11 +4,12 @@ __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
|
||||
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:1.1-5
|
||||
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:1.1-5
|
||||
|
||||
|
||||
EnvIf=$(if $($(1)),$(1)=$($(1)))
|
||||
|
||||
@@ -16,7 +17,6 @@ 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) \
|
||||
@@ -26,16 +26,33 @@ env \
|
||||
chown -R $(shell id -u):$(shell id -g) _output
|
||||
endef
|
||||
|
||||
tmpName=$(ModBaseName)-$(shell date +"%Y%m%d.%H%M%S%3N")
|
||||
docker-centos-build: export dockerCentOSBuildCmd:=$(call dockerCentOSBuildCmd,$(F))
|
||||
docker-centos-build:
|
||||
docker rm --force docker-centos-build-$(ModBaseName) &>/dev/null || true
|
||||
docker run \
|
||||
--rm \
|
||||
--name docker-centos-build-$(ModBaseName) \
|
||||
-v $(CURDIR):/root/go/src/yunion.io/x/$(ModBaseName) \
|
||||
-v $(CURDIR)/_output/centos-build:/root/go/src/yunion.io/x/$(ModBaseName)/_output \
|
||||
-v $(CURDIR)/_output/centos-build/_cache:/root/.cache \
|
||||
$(DockerImageCentOSBuild) \
|
||||
/bin/bash -c "$$dockerCentOSBuildCmd"
|
||||
ls -lh _output/centos-build/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 stop --time 0 docker-centos-build-$(ModBaseName) || true
|
||||
|
||||
.PHONY: docker-centos-build
|
||||
.PHONY: docker-centos-build-stop
|
||||
|
||||
|
||||
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) \
|
||||
@@ -46,10 +63,10 @@ endef
|
||||
|
||||
docker-alpine-build: export dockerAlpineBuildCmd:=$(call dockerAlpineBuildCmd,$(F))
|
||||
docker-alpine-build:
|
||||
docker rm --force docker-alpine-build-$(tmpName) &>/dev/null || true
|
||||
docker rm --force docker-alpine-build-$(ModBaseName) &>/dev/null || true
|
||||
docker run \
|
||||
--rm \
|
||||
--name docker-alpine-build-$(tmpName) \
|
||||
--name docker-alpine-build-$(ModBaseName) \
|
||||
-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 \
|
||||
@@ -58,7 +75,7 @@ docker-alpine-build:
|
||||
ls -lh _output/alpine-build/bin
|
||||
|
||||
docker-alpine-build-stop:
|
||||
docker stop --time 0 docker-alpine-build-$(tmpName) || true
|
||||
docker stop --time 0 docker-alpine-build-$(ModBaseName) || true
|
||||
|
||||
.PHONY: docker-alpine-build
|
||||
.PHONY: docker-alpine-build-stop
|
||||
|
||||
7
OWNERS
7
OWNERS
@@ -1,6 +1,9 @@
|
||||
# See the OWNERS docs at https://go.k8s.io/owners
|
||||
reviewers:
|
||||
- Zexi
|
||||
- ioito
|
||||
- swordqiu
|
||||
- tb365
|
||||
approvers:
|
||||
- swordqiu
|
||||
- Zexi
|
||||
- ioito
|
||||
- wanyaoqi
|
||||
|
||||
139
README-CN.md
139
README-CN.md
@@ -1,17 +1,14 @@
|
||||
# Cloudpods
|
||||
|
||||
[](https://circleci.com/gh/yunionio/cloudpods)
|
||||
[](https://travis-ci.org/yunionio/cloudpods)
|
||||
[](https://goreportcard.com/report/github.com/yunionio/cloudpods)
|
||||
|
||||
[简体中文](./README-CN.md) | [English](./README.md)
|
||||
|
||||
## Cloudpods是什么?
|
||||
|
||||
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
|
||||
<img src="https://www.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
|
||||
|
||||
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台,也就是一个”云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源,还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异,对外暴露了一套统一的API,允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度,提升了管理多云的效率。
|
||||
|
||||
Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与 AI 容器应用的统一管理平台,帮助企业在同一平台完成 AI 工作负载的部署、调度与运维,与 Cloudpods 私有云/多云资源体系无缝集成。
|
||||
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台,也就是一个“云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源,还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异,对外暴露了一套统一的API,允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度,提升了管理多云的效率。
|
||||
|
||||
## 谁需要Cloudpods?
|
||||
|
||||
@@ -20,24 +17,20 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 将VMware vSphere虚拟化集群转换为一个可以自服务的私有云平台
|
||||
* 在混合云的场景,能够在一个界面访问私有云和公有云
|
||||
* 通过一个集中的入口访问分布在多个公有云平台上的多个账号
|
||||
* 当前只使用一个公有云账号但希望将来使用多云的用户
|
||||
* 需要部署和管理 LLM 推理服务及 AI 容器应用,并需要 GPU 调度支持的用户
|
||||
* 当前只使用一个云公有云账号但希望将来使用多云的用户
|
||||
|
||||
## 功能
|
||||
|
||||
请访问[产品介绍](https://www.cloudpods.org/docs/introduction/)页面了解详细信息。
|
||||
Cloudpods提供了如下的功能:
|
||||
|
||||
### AI 云
|
||||
|
||||
* **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
|
||||
* 管理多云资源的功能,可以管理大多数的主流云,包括私有云,例如OpenStack,以及公有云,例如AWS,Azure,GCP,阿里云,华为云和腾讯云等
|
||||
* 允许以统一的联邦身份访问各个云平台的原生控制台的SSO
|
||||
* 一个可以管理海量KVM虚拟机的轻量级私有云
|
||||
* 一个能进行物理机全生命周期管理的裸机云
|
||||
* 实现了VMware vSphere虚拟化集群的自助服务和自动化
|
||||
* 一套功能丰富、统一一致的RESTAPI和模型访问以上的云资源和功能
|
||||
* 一套完整的多租户认证和访问控制体系
|
||||
* 自动将镜像转换为不同云平台需要的格式的多云镜像服务
|
||||
|
||||
### 支持的云平台
|
||||
|
||||
@@ -49,45 +42,75 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 华为云
|
||||
* 腾讯云
|
||||
* UCloud
|
||||
* 天翼云
|
||||
* 移动云
|
||||
* 中国电信云
|
||||
* 中国移动云
|
||||
* 京东云
|
||||
* 火山引擎
|
||||
* 百度云
|
||||
* 金山云
|
||||
* 青云
|
||||
* Oracle Cloud
|
||||
* 联通云
|
||||
* 私有云:
|
||||
* OpenStack
|
||||
* ZStack
|
||||
* Alibaba Cloud Apsara (阿里飞天)
|
||||
* Huawei HCSO (华为HCSO)
|
||||
* Nutanix
|
||||
* BingoCloud
|
||||
* OceanBase
|
||||
* AlibabaCloud Aspara (阿里飞天)
|
||||
* 本地基础设施资源:
|
||||
* 基于 KVM 实现的轻量级私有云
|
||||
* VMware vSphere vCenter/ESXi
|
||||
* Proxmox VE
|
||||
* 裸金属 (IPMI, Redfish API)
|
||||
* 对象存储 (Minio, Ceph, XSky)
|
||||
* KVM
|
||||
* VMWare vSphere vCenter/ESXi
|
||||
* Baremetals (IPMI, Redfish API)
|
||||
* Object storages (Minio, Ceph, XSky)
|
||||
* NAS (Ceph)
|
||||
|
||||
### 支持的云资源
|
||||
|
||||
* 服务器:实例、磁盘、网卡、网络、VPC、存储、宿主机、二层网络、快照、快照策略、安全组、弹性 IP、SSH 密钥对、镜像
|
||||
* 负载均衡:实例、监听、后端服务器组、后端服务器、TLS 证书、访问控制
|
||||
* 对象存储:存储桶、对象
|
||||
* NAS:文件系统、权限组、挂载点
|
||||
* RDS:实例、账号、备份、数据库、参数、权限
|
||||
* 弹性缓存:实例、账号、备份、参数
|
||||
* DNS:DNS 区域、DNS 记录
|
||||
* VPC:VPC、VPC 对等连接、跨 VPC 网络、NAT 网关、DNAT/SNAT 规则、路由表、路由条目
|
||||
* 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, TSL 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
|
||||
|
||||
## 安装部署
|
||||
## 快速开始
|
||||
|
||||
请参考文档[安装部署](https://www.cloudpods.org/docs/getting-started/)选择合适的场景部署。
|
||||
我们可以通过以下简单三步将Cloudpods安装在一台至少8GiB内存和100GB硬盘的Linux主机上(目前CentOS 7和Debian 10经过充分测试)
|
||||
|
||||
(下面假设该主机的IP为 *10.168.26.216*)
|
||||
|
||||
### 1. 准备SSH免密登录
|
||||
|
||||
```bash
|
||||
# Generate the local ssh keypair
|
||||
# (SKIP this stekp if you already have ~/.ssh/id_rsa.pub locally)
|
||||
$ ssh-keygen
|
||||
# Copy the generated ~/.ssh/id_rsa.pub public key to the machine to be deployed
|
||||
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.26.216
|
||||
# Try to login to the machine to be deployed without password,
|
||||
# should be able to get the hostname of the deployed machine
|
||||
# without entering the login password
|
||||
$ ssh root@10.168.26.216 "hostname"
|
||||
```
|
||||
|
||||
### 2. 安装git和相关工具
|
||||
|
||||
#### CentOS 7安装git和epel源
|
||||
```bash
|
||||
yum install -y git epel-release
|
||||
```
|
||||
|
||||
#### Debian 10安装git
|
||||
```bash
|
||||
apt install -y git
|
||||
```
|
||||
|
||||
### 3. 安装Cloudpods
|
||||
|
||||
通过以下命令开始安装Cloudpods:
|
||||
|
||||
```bash
|
||||
# Git clone the ocboot installation tool locally
|
||||
$ git clone https://github.com/yunionio/ocboot && cd ./ocboot && ./run.py 10.168.26.216
|
||||
```
|
||||
|
||||
大概10-30分钟后,安装完成。访问 https://10.168.26.216 登入Cloudpods的Web控制台。初始的账号为 *admin* ,密码为 *admin@123*
|
||||
|
||||
请参考文档 [快速开始](https://www.cloudpods.org/zh/docs/quickstart/) 获得更详细的安装指导。
|
||||
|
||||
## 文档
|
||||
|
||||
@@ -101,13 +124,23 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
|
||||
## 联系我们
|
||||
|
||||
* 请查看[联系我们](https://www.cloudpods.org/docs/contact/)。
|
||||
您可以通过如下方式联系我们:
|
||||
|
||||
* TG群: [cloudpods](https://t.me/cloudpods_org)
|
||||
* Reddit: [r/Cloudpods](https://www.reddit.com/r/Cloudpods/)
|
||||
|
||||
* 哔哩哔哩: [Cloudpods](https://space.bilibili.com/623431553/)
|
||||
|
||||
* 微信: 请扫描如下二维码联系我们
|
||||
|
||||
<img src="https://www.cloudpods.org/images/contact_me_qr_20210701.png" alt="WeChat QRCode">
|
||||
|
||||
## 版本历史
|
||||
|
||||
请查看[发布日志](https://www.cloudpods.org/docs/release-notes/)和[Changelog](https://www.cloudpods.org/docs/development/changelog/)。
|
||||
请访问[Cloudpods Changelog](https://www.cloudpods.org/zh/docs/changelog/).
|
||||
|
||||
## 开发规划
|
||||
|
||||
请访问[Cloudpods Roadmap](https://www.cloudpods.org/zh/docs/roadmap/).
|
||||
|
||||
## 贡献
|
||||
|
||||
@@ -116,7 +149,3 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
## License
|
||||
|
||||
Apache license 2.0,详情请看 [LICENSE](./LICENSE)。
|
||||
|
||||
## AI生成文档
|
||||
|
||||
[DeepWiki](https://deepwiki.com/yunionio/cloudpods) 提供了对本项目代码详细和全面的AI解读,可以参考。
|
||||
|
||||
117
README.md
117
README.md
@@ -1,43 +1,36 @@
|
||||
# Cloudpods
|
||||
|
||||
[](https://circleci.com/gh/yunionio/cloudpods)
|
||||
[](https://travis-ci.com/yunionio/cloudpods/branches)
|
||||
[](https://goreportcard.com/report/github.com/yunionio/cloudpods)
|
||||
|
||||
[English](./README.md) | [简体中文](./README-CN.md)
|
||||
|
||||
## What is Cloudpods?
|
||||
|
||||
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
|
||||
<img src="https://www.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
## Who needs Cloudpods?
|
||||
|
||||
* 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 need a centric portal to access multiple acccounts 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
|
||||
|
||||
## Features
|
||||
|
||||
See [Introduction](https://www.cloudpods.org/docs/introduction/) for details.
|
||||
|
||||
### AI Cloud
|
||||
|
||||
* **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.
|
||||
|
||||
Supported AI workloads:
|
||||
* AI Inference: Ollama, vLLM, SGLang
|
||||
* AI Applications: OpenClaw, Dify, ComfyUI, Hermes Agent
|
||||
* Multi-cloud management that is able to manage a wide range of cloud providers, including private cloud, such as OpenStack, and public clouds, such as AWS, Azure, Google Cloud, Alibaba Cloud, Tencent Cloud, Huawei Cloud, etc.
|
||||
* Cloud SSO that allows accessing native webconsole of cloud providers with unified federated identities
|
||||
* A light-weight private cloud that manages KVM hypervisor in scale
|
||||
* A BareMetal cloud that automates the full life-cycle management of baremetal physical machines
|
||||
* VMware vSphere management that enables self-service and automation
|
||||
* One set of feature-rich APIs to access a wide range of resources from cloud providers above with consistent models and APIs
|
||||
* A complete multi-tenancy RBAC-enabled IAM (identity and access management) system
|
||||
* Multi-cloud image management system that automates image conversion between different cloud providers
|
||||
|
||||
### Supported cloud providers
|
||||
|
||||
@@ -52,24 +45,13 @@ Supported AI workloads:
|
||||
* 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
|
||||
* AlibabaCloud Aspara
|
||||
* On-premise resources:
|
||||
* Lightweight private cloud built on KVM
|
||||
* VMware vSphere vCenter/ESXi
|
||||
* Proxmox VE
|
||||
* KVM
|
||||
* VMWare vSphere vCenter/ESXi
|
||||
* Baremetals (IPMI, Redfish API)
|
||||
* Object storages (Minio, Ceph, XSky)
|
||||
* NAS (Ceph)
|
||||
@@ -77,7 +59,7 @@ Supported AI workloads:
|
||||
### 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
|
||||
* Load Balancers: instances, listeners, backend groups, backends, TSL certificates, ACLs
|
||||
* Object Storage: buckets, objects
|
||||
* NAS: file_systems, access_groups, mount_targets
|
||||
* RDS: instances, accounts, backups, databases, parameters, privileges
|
||||
@@ -85,9 +67,54 @@ Supported AI workloads:
|
||||
* DNS: DNS zones, DNS records
|
||||
* VPC: VPCs, VPC peering, inter-VPC network, NAT gateway, DNAT/SNAT rules, route tables, route entries
|
||||
|
||||
## Getting started
|
||||
## Quick start
|
||||
|
||||
You may install Cloudpods in a Linux box (currently CentOS 7 and Debian 10 are fully tested) with at least 8GiB RAM and 100GB storage by following three steps.
|
||||
|
||||
(Assuming that you install Cloudpods on a Linux box with IP *10.168.26.216*):
|
||||
|
||||
|
||||
### 1. Prepare passwordless SSH login
|
||||
|
||||
```bash
|
||||
# Generate a local ssh keypair
|
||||
# (SKIP this step if you already have ~/.ssh/id_rsa.pub locally)
|
||||
$ ssh-keygen
|
||||
|
||||
# Copy the generated ~/.ssh/id_rsa.pub public key to the machine to be deployed
|
||||
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.26.216
|
||||
|
||||
# Try to login to the machine to be deployed without password,
|
||||
# should be able to get the hostname of the deployed machine
|
||||
# without entering the login password
|
||||
$ ssh root@10.168.26.216 "hostname"
|
||||
```
|
||||
|
||||
### 2. Install git and relevant tools
|
||||
|
||||
#### For CentOS 7
|
||||
```bash
|
||||
yum install -y git epel-release
|
||||
```
|
||||
|
||||
#### For Debian 10
|
||||
```bash
|
||||
apt install -y git
|
||||
```
|
||||
|
||||
### 3. Install Cloudpods
|
||||
|
||||
Run the following commands to start installing Cloudpods.
|
||||
|
||||
```bash
|
||||
# Git clone the ocboot installation tool locally
|
||||
$ git clone https://github.com/yunionio/ocboot && cd ./ocboot && ./run.py 10.168.26.216
|
||||
```
|
||||
|
||||
It takes 10-30 minutes to finish the installation. You may visit the webconsole of Cloudpods at https://10.168.26.216. The initial login account is *admin* and password is *admin@123*.
|
||||
|
||||
For more detailed instructions, please refers to [quick start](https://www.cloudpods.org/en/docs/quickstart/).
|
||||
|
||||
Please refer to the document [Getting Started](https://www.cloudpods.org/en/docs/getting-started/) to select the appropriate scenario for installation.
|
||||
|
||||
## Documentations
|
||||
|
||||
@@ -102,13 +129,23 @@ Please check this [issue](https://github.com/yunionio/cloudpods/issues/11427) fo
|
||||
|
||||
## Contact
|
||||
|
||||
* See [Contact Us](https://www.cloudpods.org/en/docs/contact/) for details.
|
||||
You may contact us by:
|
||||
|
||||
* Telegram: [cloudpods](https://t.me/cloudpods_org)
|
||||
* Reddit: [r/Cloudpods](https://www.reddit.com/r/Cloudpods/)
|
||||
|
||||
* Bilibili: [Cloudpods](https://space.bilibili.com/623431553/)
|
||||
|
||||
* WeChat: please scan the following QRCode to contact us
|
||||
|
||||
<img src="https://www.cloudpods.org/images/contact_me_qr_20210701.png" alt="WeChat QRCode">
|
||||
|
||||
## Changelog
|
||||
|
||||
See [Release Notes](https://www.cloudpods.org/en/docs/release-notes/) and [Changelog](https://www.cloudpods.org/en/docs/development/changelog/) for details.
|
||||
See [Cloudpods Changelog](https://www.cloudpods.org/en/docs/changelog/) for details.
|
||||
|
||||
## Roadmap
|
||||
|
||||
See [Cloudpods Roadmap](https://www.cloudpods.org/en/docs/roadmap/) for details.
|
||||
|
||||
## Contribution
|
||||
|
||||
@@ -117,7 +154,3 @@ You are welcome to do any kind of contribution to the project. Please refer to [
|
||||
## 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.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
DESCRIPTION="Yunion Cloud AI Proxy Service"
|
||||
@@ -36,12 +36,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 +44,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 +68,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
|
||||
@@ -112,87 +99,41 @@ 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
|
||||
$(for b in $EXTRA_BINS; do echo $BIN_PATH/$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 +141,5 @@ find $RPM_DIR -type f | while read f; do
|
||||
mkdir -p "$d"
|
||||
cp $f $d
|
||||
done
|
||||
|
||||
rm -fr $BUILDROOT
|
||||
|
||||
@@ -35,6 +35,24 @@ fi
|
||||
|
||||
. $ROOT/vars
|
||||
|
||||
if [ -z "$VERSION" ]; then
|
||||
TAG=$(git describe --abbrev=0 --tags || echo 000000)
|
||||
VERSION=${TAG/\//-}
|
||||
VERSION=${VERSION/v/}
|
||||
fi
|
||||
RELEASE=`date +"%y%m%d%H"`
|
||||
FULL_VERSION=$VERSION-$RELEASE
|
||||
BUILDROOT=$OUTPUT_DIR/yunion-$1-$FULL_VERSION
|
||||
rm -rf $BUILDROOT
|
||||
mkdir -p $BUILDROOT/DEBIAN
|
||||
mkdir -p $BUILDROOT/$BIN_PATH
|
||||
|
||||
cp -rf $BIN $BUILDROOT/$BIN_PATH
|
||||
cp -rf $ROOT/root/* $BUILDROOT/
|
||||
|
||||
|
||||
echo "Build root ${BUILDROOT}"
|
||||
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
CURRENT_ARCH=amd64
|
||||
@@ -42,134 +60,17 @@ case $(uname -m) in
|
||||
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
|
||||
echo "Package: yunion-$1
|
||||
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
|
||||
Description: Yunion $1
|
||||
" > $BUILDROOT/DEBIAN/control
|
||||
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}/
|
||||
dpkg-deb --build $BUILDROOT
|
||||
@@ -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
|
||||
@@ -1,22 +1,3 @@
|
||||
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 ""
|
||||
|
||||
@@ -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}')
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -1,8 +1,7 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:v1.0.5
|
||||
|
||||
# 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
|
||||
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.3.3 /opt/yunion/playbook /opt/yunion/playbook
|
||||
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.3.3 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
|
||||
|
||||
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver
|
||||
|
||||
@@ -1,31 +1,13 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
LABEL maintainer="Yousong Zhou <zhouyousong@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
|
||||
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
|
||||
MAINTAINER "Yousong Zhou <zhouyousong@yunionyun.com>"
|
||||
|
||||
# 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/*
|
||||
|
||||
&& apk update \
|
||||
&& apk add openssh-client \
|
||||
&& apk add sshpass \
|
||||
&& apk add ansible \
|
||||
&& apk add tzdata git ca-certificates \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/apigateway /opt/yunion/bin/apigateway
|
||||
|
||||
@@ -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
|
||||
@@ -1,8 +1,11 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20260724.0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.3
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
ENV TZ="UTC"
|
||||
#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
|
||||
RUN apk add librados librbd
|
||||
ADD ./_output/alpine-build/bin/baremetal-agent /opt/yunion/bin/baremetal-agent
|
||||
|
||||
@@ -1,89 +1,36 @@
|
||||
#RUN yum install -y https://iso.yunion.cn/vm-images/baremetal-pxerom-1.1.0-21092209.x86_64.rpm
|
||||
FROM --platform=linux/amd64 registry.cn-beijing.aliyuncs.com/yunionio/centos-build:1.1-4 as build
|
||||
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 registry.cn-beijing.aliyuncs.com/cloudpods/centos:8 as grub-stage
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
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 cdrkit coreutils && \
|
||||
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 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
|
||||
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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/climc-base:3.22.2-2
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/climc-base:20210901
|
||||
|
||||
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
|
||||
RUN cat /opt/yunion/scripts/motd/climc.sh >> /root/.bashrc
|
||||
|
||||
ADD ./_output/alpine-build/bin/climc ./_output/alpine-build/bin/*cli /opt/yunion/bin/
|
||||
|
||||
@@ -1,24 +1,18 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
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 vim ipmitool kubectl ceph-common && \
|
||||
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
|
||||
|
||||
@@ -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
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/cloudevent /opt/yunion/bin/cloudevent
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
COPY ./build/cloudid/root/opt/ /opt/
|
||||
ADD ./_output/alpine-build/bin/cloudid /opt/yunion/bin/cloudid
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
RUN mkdir -p /etc/yunion/data/
|
||||
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/cloudnet /opt/yunion/bin/cloudnet
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/cloudproxy /opt/yunion/bin/cloudproxy
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# registry.cn-beijing.aliyuncs.com/yunionio/debian10-base:1.0
|
||||
|
||||
FROM debian:trixie
|
||||
FROM debian:10
|
||||
|
||||
RUN apt update && apt install -y alien
|
||||
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/devtool /opt/yunion/bin/devtool
|
||||
|
||||
@@ -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
|
||||
@@ -1,3 +1,5 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
COPY ./build/esxi-agent/root/opt/ /opt/
|
||||
|
||||
ADD ./_output/alpine-build/bin/esxi-agent /opt/yunion/bin/esxi-agent
|
||||
|
||||
21
build/docker/Dockerfile.file-repo
Normal file
21
build/docker/Dockerfile.file-repo
Normal file
@@ -0,0 +1,21 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.2
|
||||
|
||||
MAINTAINER "Rain Zheng <zhengyu@yunion.com>"
|
||||
|
||||
# openssh-client, for ansible ssh connection
|
||||
# git, ca-certificates, for fetching ansible roles
|
||||
RUN set -x \
|
||||
&& apk update \
|
||||
&& apk add git \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
# install default playbook and install pkg
|
||||
Run mkdir -p /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~fe11a96b-0.aarch64.rpm -P /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~fe11a96b-0.x86_64.rpm -P /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf_1.19.2-yn~fe11a96b-0_amd64.deb -P /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf_1.19.2-yn~fe11a96b-0_arm64.deb -P /opt/yunion/ansible-install-pkg
|
||||
|
||||
Run mkdir -p /opt/yunion/playbook
|
||||
Run mkdir /opt/yunion/playbook/monitor-agent
|
||||
Run git clone https://github.com/yunionio/monitor-agent.git /opt/yunion/playbook/monitor-agent --recurse-submodules
|
||||
@@ -1,5 +1,7 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/glance-base:3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/torrent:20210815.0
|
||||
|
||||
ENV TZ="UTC"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
RUN apk add --no-cache s3fs-fuse --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/glance /opt/yunion/bin/glance
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/torrent:3.22.2-0
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
|
||||
|
||||
RUN apk add --no-cache s3fs-fuse
|
||||
@@ -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" ]
|
||||
@@ -1,8 +1,8 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.9.0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.4.0
|
||||
|
||||
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 /opt/yunion/bin/host
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:1.5.11
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:1.1
|
||||
|
||||
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/centos-build/bin/host-deployer /opt/yunion/bin/host-deployer
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/keystone /opt/yunion/bin/keystone
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
FROM alpine:3.22.2
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
ARG TARGETARCH
|
||||
FROM alpine:3.11
|
||||
|
||||
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
|
||||
RUN apk update && apk add kubectl && rm -rf /var/cache/apk/*
|
||||
|
||||
@@ -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
|
||||
@@ -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/*
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
|
||||
ADD ./_output/alpine-build/bin/llm /opt/yunion/bin/llm
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/logger /opt/yunion/bin/logger
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
|
||||
ADD ./_output/alpine-build/bin/mcp-server /opt/yunion/bin/mcp-server
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
COPY ./build/monitor/root/opt/ /opt/
|
||||
ADD ./_output/alpine-build/bin/monitor /opt/yunion/bin/monitor
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
COPY ./build/notify/root/opt/ /opt/
|
||||
ADD ./_output/alpine-build/bin/notify /opt/yunion/bin/notify
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# TODO: use 3.14 will lead 'apk add qemu-img fail on arm64'
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.13.5
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ Asia/Shanghai
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
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 curl busybox-extras tcpdump strace ca-certificates && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
FROM alpine:3.15.4
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
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 curl busybox-extras tcpdump strace ca-certificates && \
|
||||
rm -rf /var/cache/apk/*
|
||||
@@ -1,13 +0,0 @@
|
||||
FROM alpine:3.22.2
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
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 curl busybox-extras tcpdump strace ca-certificates && \
|
||||
rm -rf /var/cache/apk/*
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
COPY ./build/region/root/opt/ /opt/
|
||||
ADD ./_output/alpine-build/bin/region /opt/yunion/bin/region
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/region-dns /opt/yunion/bin/region-dns
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/s3gateway /opt/yunion/bin/s3gateway
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
|
||||
ADD ./_output/alpine-build/bin/scheduledtask /opt/yunion/bin/scheduledtask
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/scheduler /opt/yunion/bin/scheduler
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunion-rootfs:v4.0.0-20251112.0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunion-rootfs:v1.0
|
||||
|
||||
ADD ./_output/alpine-build/bin/telegraf-raid-plugin /opt/yunion/bin/telegraf-raid-plugin
|
||||
ADD ./_output/centos-build/bin/telegraf-raid-plugin /opt/yunion/bin/telegraf-raid-plugin
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
LABEL maintainer="Zexi Li <zexi.li@icloud.com>"
|
||||
MAINTAINER "Zexi Li <zexi.li@icloud.com>"
|
||||
|
||||
# HACK: use v3.14 alpine mirror to upgrade qemu-img
|
||||
RUN echo http://dl-cdn.alpinelinux.org/alpine/v3.14/main > /etc/apk/repositories
|
||||
RUN echo http://dl-cdn.alpinelinux.org/alpine/v3.14/community >> /etc/apk/repositories
|
||||
|
||||
RUN apk update && \
|
||||
apk add --no-cache qemu-img && \
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/openvswitch:2.12.4-5
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/openvswitch:2.10.5-1
|
||||
|
||||
LABEL maintainer="Yousong Zhou <zhouyousong@yunion.cn>"
|
||||
MAINTAINER "Yousong Zhou <zhouyousong@yunion.cn>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/vpcagent /opt/yunion/bin/vpcagent
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/webconsole-base:3.22.2-1
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/webconsole-base:v0.2
|
||||
|
||||
ADD ./_output/alpine-build/bin/webconsole /opt/yunion/bin/webconsole
|
||||
ADD ./_output/alpine-build/bin/webconsole /opt/yunion/bin/webconsole
|
||||
@@ -1,10 +1,12 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/kubectl:3.22.2-1
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/kubectl:1.18.6
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ Asia/Shanghai
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
RUN apk add --no-cache sshpass ipmitool openssh-client tzdata ca-certificates bash && \
|
||||
RUN apk add --no-cache sshpass ipmitool openssh-client tzdata ca-certificates && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
@@ -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:v0.3.5
|
||||
|
||||
ADD ./_output/alpine-build/bin/yunionconf /opt/yunion/bin/yunionconf
|
||||
|
||||
@@ -1,83 +1,35 @@
|
||||
REGISTRY ?= "registry.cn-beijing.aliyuncs.com/yunionio"
|
||||
DOCKER_BUILD = docker build -t $(REGISTRY)
|
||||
DOCKER_BUILDX = docker buildx build --platform linux/arm64,linux/amd64,linux/riscv64 --push -t $(REGISTRY)
|
||||
DOCKER_BUILDX_BM = docker buildx build --platform linux/arm64,linux/amd64 --push -t $(REGISTRY)
|
||||
DOCKER_BUILDX = docker buildx build --platform linux/arm64,linux/amd64 --push -t $(REGISTRY)
|
||||
|
||||
|
||||
debian10-base:
|
||||
docker buildx build --platform linux/arm64,linux/amd64 --push \
|
||||
-t registry.cn-beijing.aliyuncs.com/yunionio/debian10-base:1.0 -f ./Dockerfile.debian-base .
|
||||
|
||||
ONECLOUD_BASE_VERSION = v0.3-3.13.5
|
||||
ONECLOUD_BASE_VERSION_3-15-4 = v3.15.4-0
|
||||
ONECLOUD_BASE_VERSION_3-22-2 = 3.22.2-0
|
||||
ONECLOUD_BASE_VERSION = v0.3.5
|
||||
|
||||
onecloud-base:
|
||||
$(DOCKER_BUILDX)/onecloud-base:$(ONECLOUD_BASE_VERSION) -f ./Dockerfile.onecloud-base .
|
||||
onecloud-base-3-15-4:
|
||||
$(DOCKER_BUILDX)/onecloud-base:$(ONECLOUD_BASE_VERSION_3-15-4) -f ./Dockerfile.onecloud-base-3-15-4 .
|
||||
onecloud-base-3-22-2:
|
||||
$(DOCKER_BUILDX)/onecloud-base:$(ONECLOUD_BASE_VERSION_3-22-2) -f ./Dockerfile.onecloud-base-3-22-2 .
|
||||
|
||||
ANSIBLESERVER_BASE = 3.22.2-0
|
||||
ANSIBLESERVER_BASE = v1.0.5
|
||||
|
||||
ansibleserver-base:
|
||||
$(DOCKER_BUILDX)/ansibleserver-base:$(ANSIBLESERVER_BASE) -f ./Dockerfile.ansibleserver-base .
|
||||
|
||||
CLIMC_BASE_VERSION = 20230731.5
|
||||
CLIMC_BASE_VERSION_3-22-2 = 3.22.2-2
|
||||
CLIMC_BASE_VERSION = 20210901
|
||||
|
||||
climc-base:
|
||||
$(DOCKER_BUILDX)/climc-base:$(CLIMC_BASE_VERSION) -f ./Dockerfile.climc-base .
|
||||
docker buildx build --platform linux/arm64,linux/amd64 --push \
|
||||
-t registry.cn-beijing.aliyuncs.com/yunionio/climc-base:$(CLIMC_BASE_VERSION) -f ./Dockerfile.climc-base .
|
||||
|
||||
climc-base-3-22-2:
|
||||
$(DOCKER_BUILDX)/climc-base:$(CLIMC_BASE_VERSION_3-22-2) -f ./Dockerfile.climc-base-3-22-2 .
|
||||
BAREMETAL_BASE_VERSION = v0.3.3
|
||||
|
||||
KUBECTL_VERSION_3-22-2 = 3.22.2-1
|
||||
kubectl:
|
||||
$(DOCKER_BUILDX)/kubectl:$(KUBECTL_VERSION_3-22-2) -f ./Dockerfile.kubectl .
|
||||
|
||||
WEBCONSOLE_BASE_VERSION_3-22-2 = 3.22.2-1
|
||||
webconsole-base:
|
||||
$(DOCKER_BUILDX)/webconsole-base:$(WEBCONSOLE_BASE_VERSION_3-22-2) -f ./Dockerfile.webconsole-base .
|
||||
|
||||
BAREMETAL_BASE_VERSION = v0.3.9-20260724.0
|
||||
|
||||
FEDORA_RISCV64_VERSION = 42
|
||||
fedora-riscv64-base:
|
||||
wget -q https://dl.fedoraproject.org/pub/alt/risc-v/release/$(FEDORA_RISCV64_VERSION)/Container/riscv64/images/Fedora-Container-Base-Generic-$(FEDORA_RISCV64_VERSION).20250414-8635a3a5bfcd.riscv64.oci.tar.xz && \
|
||||
xz -d Fedora-Container-Base-Generic-$(FEDORA_RISCV64_VERSION).20250414-8635a3a5bfcd.riscv64.oci.tar.xz && \
|
||||
skopeo copy oci-archive:Fedora-Container-Base-Generic-$(FEDORA_RISCV64_VERSION).20250414-8635a3a5bfcd.riscv64.oci.tar docker-daemon:fedora-riscv64:$(FEDORA_RISCV64_VERSION) && \
|
||||
rm -f Fedora-Container-Base-Generic-$(FEDORA_RISCV64_VERSION).20250414-8635a3a5bfcd.riscv64.oci.tar
|
||||
|
||||
baremetal-base-riscv: fedora-riscv64-base
|
||||
$(DOCKER_BUILDX)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base-riscv .
|
||||
#docker push $(REGISTRY)/baremetal-base:$(BAREMETAL_BASE_VERSION)
|
||||
|
||||
# TODO: support riscv64 for baremetal-base
|
||||
baremetal-base:
|
||||
$(DOCKER_BUILDX_BM)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base .
|
||||
$(DOCKER_BUILDX)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base .
|
||||
#docker push $(REGISTRY)/baremetal-base:$(BAREMETAL_BASE_VERSION)
|
||||
|
||||
TORRENT_VERSION = 20210815.0
|
||||
TORRENT_VERSION_3-22-2 = 3.22.2-0
|
||||
torrent:
|
||||
$(DOCKER_BUILDX)/torrent:$(TORRENT_VERSION) -f ./Dockerfile.torrent .
|
||||
|
||||
GLANCE_BASE_VERSION = v0.0.1
|
||||
GLANCE_BASE_VERSION_3-22-2 = 3.22.2-0
|
||||
glance-base:
|
||||
$(DOCKER_BUILDX)/glance-base:$(GLANCE_BASE_VERSION) -f ./Dockerfile.glance-base .
|
||||
|
||||
glance-base-3-22-2:
|
||||
$(DOCKER_BUILDX)/glance-base:$(GLANCE_BASE_VERSION_3-22-2) -f ./Dockerfile.glance-base .
|
||||
|
||||
|
||||
LBAGENT_BASE_VERSION = v0.0.5
|
||||
lbagent-base:
|
||||
$(DOCKER_BUILDX)/lbagent-base:$(LBAGENT_BASE_VERSION) -f ./Dockerfile.lbagent-base .
|
||||
|
||||
GUACD_VERSION=1.6.0
|
||||
guacd:
|
||||
$(DOCKER_BUILDX)/guacd:$(GUACD_VERSION) -f ./Dockerfile.guacd .
|
||||
FILE_REPO_VERSION = v0.3.3
|
||||
|
||||
file-repo:
|
||||
$(DOCKER_BUILDX)/file-repo:$(FILE_REPO_VERSION) -f ./Dockerfile.file-repo .
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
BASHRC=/root/.bashrc
|
||||
|
||||
source $BASHRC
|
||||
|
||||
climc sshkeypair-inject --admin
|
||||
|
||||
mkdir -p /etc/dropbear
|
||||
|
||||
mkdir -p /var/run/dropbear
|
||||
|
||||
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
|
||||
|
||||
dropbear -RFEjk -G root -p 22
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.22.2-go-1.24.9-0 AS build
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:1.0-5 as build
|
||||
ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
RUN mkdir -p /root/go/src/yunion.io/x/onecloud
|
||||
@@ -7,11 +7,11 @@ COPY . /root/go/src/yunion.io/x/onecloud
|
||||
WORKDIR /root/go/src/yunion.io/x/onecloud
|
||||
RUN make cmd/host
|
||||
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.9.0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.4.0
|
||||
|
||||
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
|
||||
COPY --from=build /root/go/src/yunion.io/x/onecloud/_output/bin/host /opt/yunion/bin/host
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.22.2-go-1.24.9-0 AS build
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:1.0-5 as build
|
||||
ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
|
||||
@@ -6,11 +6,13 @@ RUN mkdir -p /root/go/src/yunion.io/x/onecloud
|
||||
COPY . /root/go/src/yunion.io/x/onecloud
|
||||
RUN cd /root/go/src/yunion.io/x/onecloud && make cmd/torrent
|
||||
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
|
||||
|
||||
LABEL maintainer="Zexi Li <zexi.li@icloud.com>"
|
||||
MAINTAINER "Zexi Li <zexi.li@icloud.com>"
|
||||
|
||||
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
|
||||
# HACK: use v3.14 alpine mirror to upgrade qemu-img
|
||||
RUN echo http://dl-cdn.alpinelinux.org/alpine/v3.14/main > /etc/apk/repositories
|
||||
RUN echo http://dl-cdn.alpinelinux.org/alpine/v3.14/community >> /etc/apk/repositories
|
||||
|
||||
RUN apk update && \
|
||||
apk add --no-cache qemu-img && \
|
||||
|
||||
65
build/esxi-agent/root/opt/yunion/share/vmware/ovf.xml
Normal file
65
build/esxi-agent/root/opt/yunion/share/vmware/ovf.xml
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Envelope xmlns="http://schemas.dmtf.org/ovf/envelope/1"
|
||||
xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
|
||||
xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common"
|
||||
xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
|
||||
xmlns:vmw="http://www.vmware.com/schema/ovf"
|
||||
xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<References>
|
||||
<File ovf:href="{{ .Name }}" ovf:id="file1" ovf:size="{{ .Size }}"/>
|
||||
</References>
|
||||
<DiskSection>
|
||||
<Info>Virtual disk information</Info>
|
||||
<Disk ovf:capacity="{{ .Capacity }}" ovf:capacityAllocationUnits="byte" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>
|
||||
</DiskSection>
|
||||
<VirtualSystem ovf:id="{{ .ImportName }}">
|
||||
<Info>A virtual machine</Info>
|
||||
<Name>{{ .ImportName }}</Name>
|
||||
<OperatingSystemSection ovf:id="100" vmw:osType="other26xLinux64Guest">
|
||||
<Info>The kind of installed guest operating system</Info>
|
||||
</OperatingSystemSection>
|
||||
<VirtualHardwareSection>
|
||||
<Info>Virtual hardware requirements</Info>
|
||||
<System>
|
||||
<vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
|
||||
<vssd:InstanceID>0</vssd:InstanceID>
|
||||
<vssd:VirtualSystemIdentifier>{{ .ImportName }}</vssd:VirtualSystemIdentifier>
|
||||
<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>
|
||||
</System>
|
||||
<Item>
|
||||
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
|
||||
<rasd:Description>Number of Virtual CPUs</rasd:Description>
|
||||
<rasd:ElementName>1 virtual CPU(s)</rasd:ElementName>
|
||||
<rasd:InstanceID>1</rasd:InstanceID>
|
||||
<rasd:ResourceType>3</rasd:ResourceType>
|
||||
<rasd:VirtualQuantity>1</rasd:VirtualQuantity>
|
||||
</Item>
|
||||
<Item>
|
||||
<rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
|
||||
<rasd:Description>Memory Size</rasd:Description>
|
||||
<rasd:ElementName>1024MB of memory</rasd:ElementName>
|
||||
<rasd:InstanceID>2</rasd:InstanceID>
|
||||
<rasd:ResourceType>4</rasd:ResourceType>
|
||||
<rasd:VirtualQuantity>1024</rasd:VirtualQuantity>
|
||||
</Item>
|
||||
<Item>
|
||||
<rasd:Address>0</rasd:Address>
|
||||
<rasd:Description>SCSI Controller</rasd:Description>
|
||||
<rasd:ElementName>SCSI Controller 0</rasd:ElementName>
|
||||
<rasd:InstanceID>3</rasd:InstanceID>
|
||||
<rasd:ResourceSubType>VirtualSCSI</rasd:ResourceSubType>
|
||||
<rasd:ResourceType>6</rasd:ResourceType>
|
||||
</Item>
|
||||
<Item>
|
||||
<rasd:AddressOnParent>0</rasd:AddressOnParent>
|
||||
<rasd:ElementName>Hard Disk 1</rasd:ElementName>
|
||||
<rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
|
||||
<rasd:InstanceID>9</rasd:InstanceID>
|
||||
<rasd:Parent>3</rasd:Parent>
|
||||
<rasd:ResourceType>17</rasd:ResourceType>
|
||||
<vmw:Config ovf:required="false" vmw:key="backing.writeThrough" vmw:value="false"/>
|
||||
</Item>
|
||||
</VirtualHardwareSection>
|
||||
</VirtualSystem>
|
||||
</Envelope>
|
||||
@@ -1,5 +1,5 @@
|
||||
DESCRIPTION="Yunion Cloud Image Service"
|
||||
|
||||
REQUIRES=(
|
||||
yunion-qemu-4.2.0
|
||||
yunion-qemu-2.12.1
|
||||
)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
DESCRIPTION="Memclean Utility"
|
||||
@@ -1,9 +1,9 @@
|
||||
{{.title}}
|
||||
策略名称: {{.name}}
|
||||
触发时间: {{.start_time}}
|
||||
报警级别: {{.level}}
|
||||
触发条件: {{.description | unescaped}}
|
||||
{{if .reason}}报警原因: {{.reason}}
|
||||
{{end}}报警数量:{{len .matches}}
|
||||
资源数量:{{len .matches}}
|
||||
资源名称:{{.resource_name}}
|
||||
|
||||
详情地址: {{.web_url}}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user