mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-20 16:13:56 +08:00
Compare commits
601 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0920a4993 | ||
|
|
9be1984aee | ||
|
|
c5ae2647d5 | ||
|
|
a18313cd2e | ||
|
|
3c7da64f41 | ||
|
|
75c546d788 | ||
|
|
54e598a548 | ||
|
|
c5d61a8c35 | ||
|
|
5830716205 | ||
|
|
7790332fe0 | ||
|
|
1653936d88 | ||
|
|
f5f3dfd315 | ||
|
|
f33fc03c33 | ||
|
|
99c78ee38b | ||
|
|
31680b205b | ||
|
|
a46fcf7de5 | ||
|
|
1e650da2ce | ||
|
|
78978ee207 | ||
|
|
1cfe1537ba | ||
|
|
4cb10b405f | ||
|
|
bf5e09c649 | ||
|
|
d0fa493fdc | ||
|
|
7ae029e16b | ||
|
|
cd410ba27e | ||
|
|
c9428031d0 | ||
|
|
b1c1763386 | ||
|
|
450571268c | ||
|
|
da4b222537 | ||
|
|
f9b87906ee | ||
|
|
3c877e90a5 | ||
|
|
14e25e4be0 | ||
|
|
15d9468102 | ||
|
|
442634c971 | ||
|
|
392ad723c9 | ||
|
|
025848d1fa | ||
|
|
421f030eb3 | ||
|
|
36925b058b | ||
|
|
c4d7faa11c | ||
|
|
e1cb09c25f | ||
|
|
2c51c7709e | ||
|
|
ba2d24709f | ||
|
|
e371724257 | ||
|
|
3a0149a2e5 | ||
|
|
e6903eaec6 | ||
|
|
92de0f5a26 | ||
|
|
d14ec18df3 | ||
|
|
bd9b5a0f25 | ||
|
|
b94b3a9397 | ||
|
|
757fc19cad | ||
|
|
17fab36c48 | ||
|
|
d8a30ac2d9 | ||
|
|
33d3620526 | ||
|
|
a86265c642 | ||
|
|
a70a144a5b | ||
|
|
9625de44ba | ||
|
|
08cfdfaea5 | ||
|
|
6dba362a79 | ||
|
|
fdd0cd900f | ||
|
|
2990e604a1 | ||
|
|
45a5af600a | ||
|
|
c2b68bb26b | ||
|
|
75b0ff52a5 | ||
|
|
7c2ea8fa4b | ||
|
|
e1b29f7de9 | ||
|
|
50a1004d19 | ||
|
|
bc3941e737 | ||
|
|
69a0f05063 | ||
|
|
2840d5d5c3 | ||
|
|
a6ca50a105 | ||
|
|
ee5f6d3c53 | ||
|
|
3ac9e04874 | ||
|
|
c81c0017b8 | ||
|
|
6ef4f9db91 | ||
|
|
4662794e9c | ||
|
|
3aa2076f9c | ||
|
|
67ff54f6b5 | ||
|
|
26c942c792 | ||
|
|
c3ed398eec | ||
|
|
c3611f0dc3 | ||
|
|
8e4dd0867c | ||
|
|
5ee5647513 | ||
|
|
fbdbacbaa4 | ||
|
|
817928d712 | ||
|
|
a78c18d8a1 | ||
|
|
fa7eb5026f | ||
|
|
c987d3f5f0 | ||
|
|
99314f4c6e | ||
|
|
5f1a10f583 | ||
|
|
b43881a51d | ||
|
|
49fa6a5470 | ||
|
|
d923dfb146 | ||
|
|
152a186c1f | ||
|
|
c0f131bb40 | ||
|
|
1dd0be9591 | ||
|
|
d2d92f845a | ||
|
|
9d01ba9719 | ||
|
|
136c26d40d | ||
|
|
33cebbbd34 | ||
|
|
ab408e0ed9 | ||
|
|
10f9c6ba5a | ||
|
|
db20ba8f22 | ||
|
|
b438efc138 | ||
|
|
a1923658bd | ||
|
|
7223f948fb | ||
|
|
b3d83671fb | ||
|
|
d180b3165a | ||
|
|
436928ca6d | ||
|
|
f23b7e5a6e | ||
|
|
d4a4ce9f79 | ||
|
|
88a4630c52 | ||
|
|
0123c0a8e8 | ||
|
|
27ffebdc6f | ||
|
|
6737a72701 | ||
|
|
d0027a9808 | ||
|
|
4300328e57 | ||
|
|
295a8cd5ec | ||
|
|
b5cf895dee | ||
|
|
9dcbeecd94 | ||
|
|
649ead2c32 | ||
|
|
f8a871f8fb | ||
|
|
b264eb38d4 | ||
|
|
c43b39e6ad | ||
|
|
2c47afeb7c | ||
|
|
8546ac3466 | ||
|
|
62706fa3a3 | ||
|
|
a70c9c3542 | ||
|
|
5ebc18478a | ||
|
|
86ac9f6869 | ||
|
|
1c5a2a5db3 | ||
|
|
ef35c464fa | ||
|
|
925124866f | ||
|
|
838fd36eea | ||
|
|
1092af760c | ||
|
|
a0d0b7249e | ||
|
|
06901ecb52 | ||
|
|
060770b3c0 | ||
|
|
e6088c4c6a | ||
|
|
14da255469 | ||
|
|
68d72a758b | ||
|
|
d31b4c576f | ||
|
|
ec11d6beaf | ||
|
|
77955cfdc1 | ||
|
|
7685e8252f | ||
|
|
18f12109d7 | ||
|
|
73a1d13ec3 | ||
|
|
5f0f938216 | ||
|
|
18336e1957 | ||
|
|
32dbed23c8 | ||
|
|
4291479ea0 | ||
|
|
b7e78352e4 | ||
|
|
b759b7b3ae | ||
|
|
baf747b553 | ||
|
|
c9bae1db4e | ||
|
|
6362787f5a | ||
|
|
222d267da7 | ||
|
|
26d7ccecd1 | ||
|
|
3bc29ba695 | ||
|
|
00a0797f77 | ||
|
|
b205b930ce | ||
|
|
7da424a525 | ||
|
|
80f2fa16e8 | ||
|
|
f029eccbf9 | ||
|
|
38bcbd8a53 | ||
|
|
3bc7f732de | ||
|
|
fd4f83a8b5 | ||
|
|
fa82d0643a | ||
|
|
230a914f5d | ||
|
|
20e6a62397 | ||
|
|
b62e098d93 | ||
|
|
2e6a3b75fa | ||
|
|
8b6eccf56a | ||
|
|
2196d27835 | ||
|
|
7c7a7787dd | ||
|
|
ca203fffe3 | ||
|
|
e50290b3c5 | ||
|
|
59567c3b15 | ||
|
|
a803ee1e75 | ||
|
|
b3b9ea2b3f | ||
|
|
90673698e9 | ||
|
|
3c5a26c7a2 | ||
|
|
5495489ab0 | ||
|
|
28d9bb77ad | ||
|
|
8d18ede79d | ||
|
|
82391fba04 | ||
|
|
99c08dae39 | ||
|
|
08f76f5320 | ||
|
|
06e07f6a18 | ||
|
|
d1e6b14778 | ||
|
|
8d3e3e970b | ||
|
|
84d851be11 | ||
|
|
152189283c | ||
|
|
72e950284f | ||
|
|
507b1486a0 | ||
|
|
75ad656f9d | ||
|
|
639f197ceb | ||
|
|
45ce33b553 | ||
|
|
ab17488711 | ||
|
|
cd07ea1541 | ||
|
|
fb39f6e2fc | ||
|
|
bf68f83c6e | ||
|
|
4c1b53f087 | ||
|
|
d67a496203 | ||
|
|
f35abb4d7b | ||
|
|
773cac165c | ||
|
|
b18544a4b2 | ||
|
|
883b8687eb | ||
|
|
b39235140d | ||
|
|
41125025db | ||
|
|
3af8d74d92 | ||
|
|
601b56da74 | ||
|
|
af644e548e | ||
|
|
d80f855a86 | ||
|
|
91bc94ac34 | ||
|
|
314d2d18d7 | ||
|
|
045f95cf80 | ||
|
|
67ae249c0d | ||
|
|
0503097df4 | ||
|
|
a04d29983f | ||
|
|
9251140e17 | ||
|
|
0d2ff98dd8 | ||
|
|
3d9afec64a | ||
|
|
c70dbd8261 | ||
|
|
350a6e8681 | ||
|
|
d6e7851e7a | ||
|
|
f08db366d5 | ||
|
|
fdd708afad | ||
|
|
5bd9a0331a | ||
|
|
e990f0cf03 | ||
|
|
b49188e065 | ||
|
|
45a1303595 | ||
|
|
533e6d1d18 | ||
|
|
c3f94b60ec | ||
|
|
bb5c1b06c2 | ||
|
|
71fd37a7ad | ||
|
|
f17aa2c5be | ||
|
|
f647e10a6b | ||
|
|
89737bc808 | ||
|
|
435d6b7d5a | ||
|
|
17998f248f | ||
|
|
b63d9a5077 | ||
|
|
9891fa1df8 | ||
|
|
bb0ecb1d61 | ||
|
|
069b94c004 | ||
|
|
aa05145df1 | ||
|
|
918a6c75b6 | ||
|
|
557e576865 | ||
|
|
e0eb120670 | ||
|
|
5c44a3586e | ||
|
|
ef207237d0 | ||
|
|
412a5cba64 | ||
|
|
4ba0c694ff | ||
|
|
84d0a0f122 | ||
|
|
2b433e7a0a | ||
|
|
5bde56fae6 | ||
|
|
58935a0789 | ||
|
|
9f13bbb62c | ||
|
|
999aa1c53b | ||
|
|
1bc52997aa | ||
|
|
fdd23693b7 | ||
|
|
3fbc48b2d5 | ||
|
|
8a51904875 | ||
|
|
6a1741baab | ||
|
|
7f165e84a8 | ||
|
|
635b0f292c | ||
|
|
e1375a0a10 | ||
|
|
6b58717024 | ||
|
|
f91eb3bdc7 | ||
|
|
3fe01318d6 | ||
|
|
36d871aaf9 | ||
|
|
61d5f7301a | ||
|
|
db2b860a55 | ||
|
|
0a43a363bf | ||
|
|
f0e14646e7 | ||
|
|
2542b7a328 | ||
|
|
c0b93022ca | ||
|
|
595ff8ee5b | ||
|
|
7a85e55651 | ||
|
|
c3e359d957 | ||
|
|
d0d14e5b7a | ||
|
|
41dc84e987 | ||
|
|
76806a4b2d | ||
|
|
b0589bac8c | ||
|
|
3436fd52b3 | ||
|
|
0ad5158c68 | ||
|
|
027f449720 | ||
|
|
38df9418de | ||
|
|
a070c7d83f | ||
|
|
8a20e93a78 | ||
|
|
9410829f99 | ||
|
|
2635787341 | ||
|
|
e340e00dad | ||
|
|
5e3813845d | ||
|
|
81af43cbdf | ||
|
|
47c5fcf021 | ||
|
|
f0a6f56c08 | ||
|
|
f389ef10a0 | ||
|
|
317ca7db32 | ||
|
|
32f7423dcc | ||
|
|
90b46cb2e1 | ||
|
|
5f9394956b | ||
|
|
a793ab90fb | ||
|
|
bc8b7010ce | ||
|
|
fcefdb8cea | ||
|
|
6ced09166b | ||
|
|
b730fb4752 | ||
|
|
85d784b71e | ||
|
|
15c2413aa6 | ||
|
|
5ff1ba7517 | ||
|
|
e7ee4ff4d8 | ||
|
|
39277c5235 | ||
|
|
04ab4afd70 | ||
|
|
86b0106e75 | ||
|
|
6be6000183 | ||
|
|
3821e42484 | ||
|
|
b27dd48214 | ||
|
|
16c56641b1 | ||
|
|
aa8f682998 | ||
|
|
fecf8a340f | ||
|
|
9d41757e30 | ||
|
|
18933f4db4 | ||
|
|
504deb4728 | ||
|
|
9555d1ddf0 | ||
|
|
e2a39fe87d | ||
|
|
119ffcd626 | ||
|
|
c2f8cd5bbf | ||
|
|
6cde822071 | ||
|
|
db41bf8687 | ||
|
|
93d10c4083 | ||
|
|
cc99df4d51 | ||
|
|
d168c059a8 | ||
|
|
c5c1f10c36 | ||
|
|
6b2f5f8d0d | ||
|
|
8cfb123fd7 | ||
|
|
1278f76e14 | ||
|
|
bd2fe6a7f9 | ||
|
|
1209a3f38a | ||
|
|
da033cf581 | ||
|
|
58fe80e9ee | ||
|
|
38c5e67c87 | ||
|
|
b27ba68a8f | ||
|
|
1626e4038c | ||
|
|
986abb1c4c | ||
|
|
f645e89bf9 | ||
|
|
df3ae2dc86 | ||
|
|
052fb80ad2 | ||
|
|
671984ece2 | ||
|
|
b8d02146f9 | ||
|
|
4bf597c338 | ||
|
|
c7ae577618 | ||
|
|
18e12ccea0 | ||
|
|
2577c4faf4 | ||
|
|
6475a653d1 | ||
|
|
537ce1e524 | ||
|
|
683e2d0faf | ||
|
|
ee19e764ee | ||
|
|
9ea346f38a | ||
|
|
fdfc330145 | ||
|
|
aecd28db8e | ||
|
|
d06fe13c34 | ||
|
|
1cb2c04aa7 | ||
|
|
65b9b9624e | ||
|
|
42579c3681 | ||
|
|
49ea410829 | ||
|
|
09a29873d3 | ||
|
|
316c13388b | ||
|
|
54fd5d14dc | ||
|
|
61619fd0b5 | ||
|
|
9399a32117 | ||
|
|
49c3027100 | ||
|
|
9cabeb8130 | ||
|
|
b403cd2bf7 | ||
|
|
d4e42456df | ||
|
|
ce43e74087 | ||
|
|
58e24266cb | ||
|
|
ec166b6b39 | ||
|
|
b218b9626b | ||
|
|
ba599353e1 | ||
|
|
3b726f007f | ||
|
|
52cad64576 | ||
|
|
ad48807686 | ||
|
|
fcdb8c6077 | ||
|
|
09baf69847 | ||
|
|
9e9b0c9d62 | ||
|
|
0e4ada7e74 | ||
|
|
1c1551aaba | ||
|
|
6797aa58b8 | ||
|
|
bd03d1647c | ||
|
|
85b4aa3492 | ||
|
|
7ffefdef8f | ||
|
|
4d162294c9 | ||
|
|
47f5d4cd58 | ||
|
|
7ccd57bd6a | ||
|
|
64b0dcdc3e | ||
|
|
4287c3cd95 | ||
|
|
999c30dccb | ||
|
|
1ef85f209e | ||
|
|
469b99bc58 | ||
|
|
ea4bf2f79b | ||
|
|
07743d7457 | ||
|
|
006b5f1a9d | ||
|
|
429d43d8a6 | ||
|
|
51123c531a | ||
|
|
796f3ecf6d | ||
|
|
78fe9fbe08 | ||
|
|
cd4ae93455 | ||
|
|
94e52c7d85 | ||
|
|
0914791bba | ||
|
|
aea2ea174c | ||
|
|
0ed048a2df | ||
|
|
27128949b5 | ||
|
|
93ed1c408c | ||
|
|
866063a7ed | ||
|
|
9a24dd5191 | ||
|
|
80332a6e23 | ||
|
|
3948f6915d | ||
|
|
ae78af3a3e | ||
|
|
b1ba088ba6 | ||
|
|
af2f2ab6a0 | ||
|
|
05d7823d3f | ||
|
|
fb89651888 | ||
|
|
5e78857c9c | ||
|
|
0a0ec6ba5a | ||
|
|
0fac7dfebe | ||
|
|
e8e125c4b7 | ||
|
|
b8f12b7541 | ||
|
|
75d7f518a7 | ||
|
|
89dee93ff3 | ||
|
|
b63858e555 | ||
|
|
ea5054eb5b | ||
|
|
19da84ad05 | ||
|
|
74160bfce8 | ||
|
|
c6265114d8 | ||
|
|
701db10083 | ||
|
|
51762b856e | ||
|
|
d36f6200ed | ||
|
|
2db88dada9 | ||
|
|
dc6ba455f5 | ||
|
|
946a9fe064 | ||
|
|
d8ce42f34c | ||
|
|
6eee398d0b | ||
|
|
c82571930d | ||
|
|
0ec59d847f | ||
|
|
15dd695506 | ||
|
|
285399afb3 | ||
|
|
5822275000 | ||
|
|
db530f7e42 | ||
|
|
5cb759276d | ||
|
|
b6cdd0fd9e | ||
|
|
676c385b94 | ||
|
|
4173c51796 | ||
|
|
e5b0dad51e | ||
|
|
15865f8d54 | ||
|
|
0dde5e7d61 | ||
|
|
84d18a0610 | ||
|
|
a333e39197 | ||
|
|
abd3ce39a4 | ||
|
|
8034d2bc2e | ||
|
|
9316432c65 | ||
|
|
edd4695dbd | ||
|
|
e11a1a83b3 | ||
|
|
0708093356 | ||
|
|
d6b7050991 | ||
|
|
0404b5195a | ||
|
|
9d2697c69a | ||
|
|
90c540354c | ||
|
|
0f66e4bc78 | ||
|
|
355b65a631 | ||
|
|
954b7c2803 | ||
|
|
4e87d4004d | ||
|
|
18be93628a | ||
|
|
12c02e2b25 | ||
|
|
3900a91bfc | ||
|
|
1e77fc5617 | ||
|
|
f08bedbd31 | ||
|
|
05eec11c90 | ||
|
|
6a4d0a8624 | ||
|
|
98c1b5e7db | ||
|
|
89e05503fd | ||
|
|
edee04fcc7 | ||
|
|
732db665d1 | ||
|
|
7577705b60 | ||
|
|
af7c4f5e23 | ||
|
|
08b43deb3b | ||
|
|
e4f6722621 | ||
|
|
c6e2f99691 | ||
|
|
e16d51a773 | ||
|
|
5d22a4584d | ||
|
|
9e98750429 | ||
|
|
d92ad0b358 | ||
|
|
edc700ccb3 | ||
|
|
1aa3f63b6c | ||
|
|
85670ce5f6 | ||
|
|
5918d17f7b | ||
|
|
8dc56273b4 | ||
|
|
00cd582502 | ||
|
|
bad38b83b9 | ||
|
|
b5291d3b2a | ||
|
|
a801882077 | ||
|
|
db3363a356 | ||
|
|
d33903571a | ||
|
|
517647dda3 | ||
|
|
ae0de28ae1 | ||
|
|
89dfa83dda | ||
|
|
fbd34228fe | ||
|
|
06d294b441 | ||
|
|
8f81e74900 | ||
|
|
33f51662ea | ||
|
|
2b1daa4362 | ||
|
|
ad99d8657a | ||
|
|
ddcc5fa3d0 | ||
|
|
448b788f54 | ||
|
|
38e7b60e06 | ||
|
|
ae78a0bb6c | ||
|
|
1ce4462ed1 | ||
|
|
2b550a8532 | ||
|
|
6ffa3de191 | ||
|
|
edf0b00020 | ||
|
|
019145df89 | ||
|
|
60bea8872a | ||
|
|
53fc76a72f | ||
|
|
321fb8208e | ||
|
|
17f646d742 | ||
|
|
9c767d97ef | ||
|
|
fe80cc2f45 | ||
|
|
89efac5644 | ||
|
|
36cfd67119 | ||
|
|
e780547c13 | ||
|
|
b3420191dc | ||
|
|
d417aee230 | ||
|
|
5888dc6f88 | ||
|
|
5d8b9f86bd | ||
|
|
ff9fbbb2ce | ||
|
|
965bab1588 | ||
|
|
9d3f29a0d7 | ||
|
|
43a885c172 | ||
|
|
4b39ae2386 | ||
|
|
0da3d8b8eb | ||
|
|
b9565408e1 | ||
|
|
29d6490ff8 | ||
|
|
50f6e6d687 | ||
|
|
2551bc9e2c | ||
|
|
1cf4c3441f | ||
|
|
94b7cdcc2b | ||
|
|
65295e5bec | ||
|
|
c17edd7829 | ||
|
|
7d26409efc | ||
|
|
10e9692ab8 | ||
|
|
392118a7ba | ||
|
|
fbe892a424 | ||
|
|
9d1996e544 | ||
|
|
5d18eded05 | ||
|
|
335fe5d7aa | ||
|
|
be5ff80381 | ||
|
|
5dfe1ae004 | ||
|
|
79e348688a | ||
|
|
5323898ee1 | ||
|
|
8d5ceb0b73 | ||
|
|
5c15d23c5e | ||
|
|
24d369a7d2 | ||
|
|
dbd5e03406 | ||
|
|
37966f32e1 | ||
|
|
8bd34fda3d | ||
|
|
55f7404d36 | ||
|
|
13e2749eb0 | ||
|
|
4f9e08d988 | ||
|
|
bcbcbdf867 | ||
|
|
c241dec916 | ||
|
|
0d16a97748 | ||
|
|
5fe3ffbf94 | ||
|
|
4c5ed8b537 | ||
|
|
7794cedd1c | ||
|
|
600dc0bb9e | ||
|
|
fccccb3c79 | ||
|
|
ad2a12eb31 | ||
|
|
7fa8c24fb1 | ||
|
|
553c987069 | ||
|
|
750818041f | ||
|
|
c774bd2ca3 | ||
|
|
37196c0f3d | ||
|
|
58201ccf85 | ||
|
|
eb6322cd4f | ||
|
|
803f3648fb | ||
|
|
16430d8ef7 | ||
|
|
f72b903533 | ||
|
|
94e3dbad41 | ||
|
|
e10434ff77 | ||
|
|
1365007ed1 | ||
|
|
5f48c736f8 | ||
|
|
2026943c36 | ||
|
|
18d341ea15 | ||
|
|
f8ddb4a211 | ||
|
|
f8e596fdd6 | ||
|
|
7d4ca95df4 | ||
|
|
40eb0075ec | ||
|
|
59a1b03d97 | ||
|
|
06470f23e7 | ||
|
|
c2812f4a5e | ||
|
|
aae19e7563 | ||
|
|
1cfb56b087 | ||
|
|
774b14fbbe | ||
|
|
0c2b5a48aa |
@@ -7,7 +7,7 @@ jobs:
|
||||
requires:
|
||||
- check
|
||||
docker:
|
||||
- image: yunion/alpine-build:3.22.0-go-1.24.6-1
|
||||
- image: yunion/centos-build:go-1.18.3-0
|
||||
environment:
|
||||
ONECLOUD_CI_BUILD: "1"
|
||||
|
||||
|
||||
@@ -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.16
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.16
|
||||
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}}"
|
||||
@@ -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的功能规划
|
||||
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效
|
||||
|
||||
## 文档
|
||||
|
||||
|
||||
51
Makefile
51
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 -lgnutls -lnettle -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,7 +81,7 @@ 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 ./...
|
||||
@@ -84,9 +89,12 @@ vet:
|
||||
# cmd/esxi-agent: prepare_dir
|
||||
# CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
|
||||
|
||||
cmd/%: prepare_dir
|
||||
cmd/fetcherfs: prepare_dir
|
||||
CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
|
||||
|
||||
cmd/%: prepare_dir
|
||||
$(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 \
|
||||
@@ -237,7 +258,7 @@ hostdeployer-grpc-gen:
|
||||
|
||||
check: fmt-check
|
||||
check: gendocgo-check
|
||||
#check: goimports-check
|
||||
check: goimports-check
|
||||
#check: vet-check
|
||||
#check: y18n-check
|
||||
.PHONY: check
|
||||
@@ -261,18 +282,22 @@ dep:
|
||||
@echo "$$depDeprecated"
|
||||
@$(MAKE) mod
|
||||
|
||||
RELEASE_BRANCH:=master
|
||||
RELEASE_BRANCH:=release/3.10
|
||||
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
|
||||
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go get -d yunion.io/x/cloudmux@$(RELEASE_BRANCH)
|
||||
GOPROXY=$(GOPROXY) GONOSUMDB=yunion.io/x go get -d $(patsubst %,%@master,$(shell GO111MODULE=on go mod edit -print | sed -n -e 's|.*\(yunion.io/x/[a-z].*\) v.*|\1|p' | grep -v '/cloudmux$$'))
|
||||
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 +349,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.4 ARCH=all make image telegraf-raid-plugin
|
||||
|
||||
%:
|
||||
@:
|
||||
|
||||
@@ -8,7 +8,8 @@ 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:3.16.0-go-1.18.2-0
|
||||
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:go-1.18.3-0
|
||||
|
||||
EnvIf=$(if $($(1)),$(1)=$($(1)))
|
||||
|
||||
@@ -28,6 +29,27 @@ 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-$(tmpName) &>/dev/null || true
|
||||
docker run \
|
||||
--rm \
|
||||
--name docker-centos-build-$(tmpName) \
|
||||
-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-$(tmpName) || true
|
||||
|
||||
.PHONY: docker-centos-build
|
||||
.PHONY: docker-centos-build-stop
|
||||
|
||||
|
||||
define dockerAlpineBuildCmd
|
||||
set -o xtrace
|
||||
|
||||
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
|
||||
|
||||
299
README-CN.md
299
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,188 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 将VMware vSphere虚拟化集群转换为一个可以自服务的私有云平台
|
||||
* 在混合云的场景,能够在一个界面访问私有云和公有云
|
||||
* 通过一个集中的入口访问分布在多个公有云平台上的多个账号
|
||||
* 当前只使用一个公有云账号但希望将来使用多云的用户
|
||||
* 需要部署和管理 LLM 推理服务及 AI 容器应用,并需要 GPU 调度支持的用户
|
||||
* 当前只使用一个云公有云账号但希望将来使用多云的用户
|
||||
|
||||
## 功能
|
||||
|
||||
请访问[产品介绍](https://www.cloudpods.org/docs/introduction/)页面了解详细信息。
|
||||
### 概览 & UI 展示
|
||||
|
||||
### AI 云
|
||||
<details>
|
||||
<summary>管理多云资源的功能,可以管理大多数的主流云,包括私有云,例如OpenStack,以及公有云,例如AWS,Azure,GCP,阿里云,华为云和腾讯云等</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>云帐号纳管</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudselect.png" alt="multi cloud management">
|
||||
</li>
|
||||
<li>
|
||||
<p>云帐号列表</p>
|
||||
<img src="https://i.imgur.com/Q0LipfI.png" alt="cloud account list">
|
||||
</li>
|
||||
<li>
|
||||
<p>公有云虚拟机列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/publicvmlist.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
* **AI 推理服务**:部署和管理 LLM 推理实例(支持 Ollama、vLLM、SGLang 等),支持 GPU 调度、模型挂载与推理服务地址分配。
|
||||
* **AI 应用管理**:一站式部署 LLM 应用编排、智能体助手、图像生成等 AI 容器应用。
|
||||
* **模型库**:统一管理模型来源、版本与缓存,支持多实例复用、离线分发,避免重复下载。
|
||||
* **模板与镜像**:通过模板定义 CPU/内存/GPU 等资源规格,通过镜像管理容器运行环境,实现标准化交付。
|
||||
* **GPU 运维**:GPU 设备自动探测与注册,支持 NVIDIA/CUDA 环境的统一配置与管理。
|
||||
<details>
|
||||
<summary>
|
||||
一个可以管理海量KVM虚拟机的轻量级私有云
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>虚拟机列表</p>
|
||||
<img src="https://i.imgur.com/DbkRUoo.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>虚拟机创建页面</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm1.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm2.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>虚拟机可通过 VNC 或者 SSH 登录</p>
|
||||
<img src="https://i.imgur.com/m0rkeQ3.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>宿主机列表</p>
|
||||
<img src="https://imgur.com/i509t5a.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>镜像模板列表</p>
|
||||
<img src="https://imgur.com/UVFLGi2.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>VPC列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>二层网络列表(经典网络)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/wirelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>IP子网列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/ipsubnetlist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>弹性公网IP列表(VPC网络)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>LB列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/lblist.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
一个能进行物理机全生命周期管理的裸机云
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>物理机列表</p>
|
||||
<img src="https://i.imgur.com/Jz8b5nC.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>物理机纳管</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addphysicalmachine.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>安装操作系统</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createbaremetal.png">
|
||||
</li>
|
||||
<li>支持 ARM64 的物理机服务器</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>一套完整的多租户认证和访问控制体系</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>支持本地sql、LDAP 等认证源</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/idplist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>多租户系统,包括域,项目,组,用户,角色和权限等</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/domainlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/projectlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/grouplist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/userlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/rolelist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/policylist.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
实现了VMware vSphere虚拟化集群的自助服务和自动化
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>添加VMware云账号</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmware.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>VMware云账号列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>自动创建二层网络</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarewirelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>自动创建IP子网</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwareipsubnetlist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>新建VMware虚拟机</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm1.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm2.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
允许以统一的联邦身份访问各个云平台的原生控制台的SSO
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>为云账号开启免密登录(以阿里云为例)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/enablecloudsso.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>将Cloudpods平台用户添加为免密登录用户</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addsamluser.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>多云统一登录入口</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudssoentry.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>多云统一登录-免密登录用户列表</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudsamluser.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Cloudpods平台用户免密登录阿里云</p>
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
一套功能丰富、统一一致的RESTAPI和模型访问以上的云资源和功能
|
||||
</summary>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
自动将镜像转换为不同云平台需要的格式的多云镜像服务
|
||||
</summary>
|
||||
</details>
|
||||
|
||||
支持的 AI 工作负载:
|
||||
* AI 推理:Ollama、vLLM、SGLang
|
||||
* AI 应用:OpenClaw、Dify、ComfyUI、Hermes Agent
|
||||
|
||||
### 支持的云平台
|
||||
|
||||
@@ -52,42 +213,76 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
* 天翼云
|
||||
* 移动云
|
||||
* 京东云
|
||||
* 火山引擎
|
||||
* 百度云
|
||||
* 金山云
|
||||
* 青云
|
||||
* Oracle Cloud
|
||||
* 联通云
|
||||
* 私有云:
|
||||
* OpenStack
|
||||
* ZStack
|
||||
* Alibaba Cloud Apsara (阿里飞天)
|
||||
* Alibaba Cloud Aspara (阿里飞天)
|
||||
* Huawei HCSO (华为HCSO)
|
||||
* Nutanix
|
||||
* BingoCloud
|
||||
* OceanBase
|
||||
* 本地基础设施资源:
|
||||
* 基于 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
|
||||
# 生成ssh密钥对
|
||||
# (如果已经有~/.ssh/id_rsa和~/.ssh/id_rsa.pub,请跳过此步。请确保ssh密钥私钥未设置密码)
|
||||
$ ssh-keygen -t rsa -N ''
|
||||
# 将生成的ssh公钥~/.ssh/id_rsa.pub拷贝到待部署的目标主机
|
||||
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.26.216
|
||||
# 测试SSH免密登录是否生效。免密登录到待部署主机执行hostname命令
|
||||
# 如果设置成功,执行下面命令能够回显待部署主机的主机名
|
||||
# 不需要输入待部署主机的密码
|
||||
$ ssh root@10.168.26.216 "hostname"
|
||||
```
|
||||
|
||||
### 2. 安装git和相关工具
|
||||
|
||||
#### CentOS 7安装git和epel源
|
||||
```bash
|
||||
yum install -y git epel-release ansible
|
||||
```
|
||||
|
||||
#### Debian 10安装git
|
||||
```bash
|
||||
apt install -y git ansible
|
||||
```
|
||||
|
||||
### 3. 安装Cloudpods
|
||||
|
||||
通过以下命令开始安装Cloudpods:
|
||||
|
||||
```bash
|
||||
# Git clone the ocboot installation tool locally
|
||||
$ git clone -b release/3.8 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/allinone/) 获得更详细的安装指导。
|
||||
|
||||
已经有 Kubernetes 集群?可以尝试 [使用 Helm 安装 Cloudpods](https://www.cloudpods.org/zh/docs/quickstart/k8s/)。
|
||||
|
||||
## 文档
|
||||
|
||||
@@ -101,13 +296,23 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
|
||||
## 联系我们
|
||||
|
||||
* 请查看[联系我们](https://www.cloudpods.org/docs/contact/)。
|
||||
您可以通过如下方式联系我们:
|
||||
|
||||
* TG群: [cloudpods](https://t.me/cloudpods_org)
|
||||
* [服务订阅](https://www.yunion.cn/subscription/index.html)
|
||||
|
||||
* 哔哩哔哩: [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 +321,3 @@ Cloudpods还提供了 **AI 云**,一个面向大语言模型(LLM)推理与
|
||||
## License
|
||||
|
||||
Apache license 2.0,详情请看 [LICENSE](./LICENSE)。
|
||||
|
||||
## AI生成文档
|
||||
|
||||
[DeepWiki](https://deepwiki.com/yunionio/cloudpods) 提供了对本项目代码详细和全面的AI解读,可以参考。
|
||||
|
||||
282
README.md
282
README.md
@@ -1,43 +1,208 @@
|
||||
# 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.
|
||||
### Summary & UI
|
||||
|
||||
### AI Cloud
|
||||
<details>
|
||||
<summary>
|
||||
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.
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Cloud account create form</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudselect.png" alt="multi cloud management">
|
||||
</li>
|
||||
<li>
|
||||
<p>Cloud accounts list</p>
|
||||
<img src="https://i.imgur.com/Q0LipfI.png" alt="cloud account list">
|
||||
</li>
|
||||
<li>
|
||||
<p>Multi public cloud VM list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/publicvmlist.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
* **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.
|
||||
<details>
|
||||
<summary>
|
||||
A light-weight private cloud that manages KVM hypervisor in scale
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>VM instances list</p>
|
||||
<img src="https://i.imgur.com/DbkRUoo.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Create VM instance form</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm1.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm2.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>VNC and SSH login page</p>
|
||||
<img src="https://i.imgur.com/m0rkeQ3.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Host list</p>
|
||||
<img src="https://imgur.com/i509t5a.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Image template list</p>
|
||||
<img src="https://imgur.com/UVFLGi2.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>VPC list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Wire list (Classic Network)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/wirelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>IPsubnet list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/ipsubnetlist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Eip list (VPC Network)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>LB list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/lblist.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
Supported AI workloads:
|
||||
* AI Inference: Ollama, vLLM, SGLang
|
||||
* AI Applications: OpenClaw, Dify, ComfyUI, Hermes Agent
|
||||
<details>
|
||||
<summary>
|
||||
A BareMetal cloud that automates the full life-cycle management of baremetal physical machines
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>BareMetal list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/physicalmachinelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Baremetal Management</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addphysicalmachine.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Create OS on BareMetal</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createbaremetal.png">
|
||||
</li>
|
||||
<li>ARM64 baremetal supported</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
A complete multi-tenancy RBAC-enabled IAM (identity and access management) system
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>sql, LDAP supported</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/idplist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Multi-tenancy system, include domain, project, group, user, role, policy</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/domainlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/projectlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/grouplist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/userlist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/rolelist.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/policylist.png">
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
VMware vSphere management that enables self-service and automation
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Add VMware account</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmware.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>VMware account list</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Automatic creation of wire</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarewirelist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Automatic creation of ipsubnet</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwareipsubnetlist.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Create a VMware VM instance</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm1.png">
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm2.png">
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
Cloud SSO that allows accessing native webconsole of cloud providers with unified federated identities
|
||||
</summary>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Enable the SSO login function of the cloud account (aliyun as an example)</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/enablecloudsso.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>create saml users</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addsamluser.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Cloud SSO entry</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudssoentry.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Cloud SSO - SSO login user</p>
|
||||
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudsamluser.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>Sign in to the public cloud platform with SSO</p>
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
One set of feature-rich APIs to access a wide range of resources from cloud providers above with consistent models and APIs
|
||||
</summary>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
Multi-cloud image management system that automates image conversion between different cloud providers
|
||||
</summary>
|
||||
</details>
|
||||
|
||||
### Supported cloud providers
|
||||
|
||||
@@ -52,24 +217,15 @@ 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
|
||||
* Alibaba Cloud Aspara
|
||||
* Huawei HCSO
|
||||
* Nutanix
|
||||
* BingoCloud
|
||||
* OceanBase
|
||||
* 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 +233,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 +241,55 @@ 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
|
||||
|
||||
Please refer to the document [Getting Started](https://www.cloudpods.org/en/docs/getting-started/) to select the appropriate scenario for installation.
|
||||
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. Make sure generating key WIHOUT passphrase)
|
||||
$ ssh-keygen -t rsa -N ''
|
||||
|
||||
# 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 ansible
|
||||
```
|
||||
|
||||
#### For Debian 10
|
||||
```bash
|
||||
apt install -y git ansible
|
||||
```
|
||||
|
||||
### 3. Install Cloudpods
|
||||
|
||||
Run the following commands to start installing Cloudpods.
|
||||
|
||||
```bash
|
||||
# Git clone the ocboot installation tool locally
|
||||
$ git clone -b release/3.8 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/zh/docs/quickstart/allinone/).
|
||||
|
||||
Already having a Kubernetes? Try [installing Cloudpods with Helm](https://www.cloudpods.org/zh/docs/quickstart/k8s/).
|
||||
|
||||
## Documentations
|
||||
|
||||
@@ -102,13 +304,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)
|
||||
* [Subscription](https://www.yunion.cn/subscription/index.html)
|
||||
|
||||
* 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 +329,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}"
|
||||
|
||||
@@ -79,8 +73,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 +104,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 +146,5 @@ find $RPM_DIR -type f | while read f; do
|
||||
mkdir -p "$d"
|
||||
cp $f $d
|
||||
done
|
||||
|
||||
rm -fr $BUILDROOT
|
||||
|
||||
@@ -35,48 +35,14 @@ fi
|
||||
|
||||
. $ROOT/vars
|
||||
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
CURRENT_ARCH=amd64
|
||||
;;
|
||||
aarch64)
|
||||
CURRENT_ARCH=arm64
|
||||
;;
|
||||
riscv64)
|
||||
CURRENT_ARCH=riscv64
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n "$GOARCH" ]]; then
|
||||
case "$GOARCH" in
|
||||
"arm64" | "arm" | "aarch64")
|
||||
CURRENT_ARCH="arm64"
|
||||
;;
|
||||
"x86" | "x86_64" | "i686" | "i386" | "amd64")
|
||||
CURRENT_ARCH="amd64"
|
||||
;;
|
||||
"riscv64")
|
||||
CURRENT_ARCH="riscv64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -z "$VERSION" ]; then
|
||||
TAG=$(git describe --abbrev=0 --tags || echo 000000)
|
||||
VERSION=${TAG/\//-}
|
||||
VERSION=${VERSION/v/}
|
||||
VERSION=${VERSION/master-/}
|
||||
fi
|
||||
RELEASE=`date +"%y%m%d%H"`
|
||||
FULL_VERSION=$VERSION-$RELEASE
|
||||
BUILDROOT=$OUTPUT_DIR/yunion-${PKG}-${FULL_VERSION}_${CURRENT_ARCH}
|
||||
function cleanup {
|
||||
rm -rf "$BUILDROOT"
|
||||
echo "Deleted temp working directory $BUILDROOT"
|
||||
}
|
||||
# register the cleanup function to be called on the EXIT signal
|
||||
trap cleanup EXIT
|
||||
|
||||
BUILDROOT=$OUTPUT_DIR/yunion-$1-$FULL_VERSION
|
||||
rm -rf $BUILDROOT
|
||||
mkdir -p $BUILDROOT/DEBIAN
|
||||
mkdir -p $BUILDROOT/$BIN_PATH
|
||||
@@ -86,90 +52,27 @@ if [ -d $ROOT/root ]; then
|
||||
cp -rf $ROOT/root/* $BUILDROOT/
|
||||
fi
|
||||
|
||||
|
||||
echo "Build root ${BUILDROOT}"
|
||||
|
||||
echo "Package: yunion-$PKG
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
CURRENT_ARCH=amd64
|
||||
;;
|
||||
aarch64)
|
||||
CURRENT_ARCH=arm64
|
||||
;;
|
||||
esac
|
||||
|
||||
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.1.1
|
||||
|
||||
# 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.4.0 /opt/yunion/playbook /opt/yunion/playbook
|
||||
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.4.0 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
|
||||
|
||||
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver
|
||||
|
||||
@@ -1,31 +1,20 @@
|
||||
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>"
|
||||
MAINTAINER "Yousong Zhou <zhouyousong@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
|
||||
|
||||
# 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 py3-pip \
|
||||
&& apk add tzdata git ca-certificates \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
RUN pip3 install pywinrm
|
||||
|
||||
@@ -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-1
|
||||
|
||||
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,8 @@
|
||||
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.9-20230221.2
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
ADD ./_output/alpine-build/bin/baremetal-agent /opt/yunion/bin/baremetal-agent
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#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/yunionio/yunionos:v0.1.8-20230221.2 as yunionos
|
||||
|
||||
FROM registry.cn-beijing.aliyuncs.com/cloudpods/centos:8 as grub-stage
|
||||
FROM centos:8 as grub-stage
|
||||
|
||||
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
|
||||
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
|
||||
@@ -27,9 +28,9 @@ 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
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3-3.13.5
|
||||
|
||||
LABEL maintainer="Zexi Li <zexi.li@icloud.com>"
|
||||
MAINTAINER "Zexi Li <zexi.li@icloud.com>"
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
@@ -69,8 +70,6 @@ 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
|
||||
|
||||
@@ -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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
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,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-1
|
||||
|
||||
ADD ./_output/alpine-build/bin/esxi-agent /opt/yunion/bin/esxi-agent
|
||||
|
||||
23
build/docker/Dockerfile.file-repo
Normal file
23
build/docker/Dockerfile.file-repo
Normal file
@@ -0,0 +1,23 @@
|
||||
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~be742cbf-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~be742cbf-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~be742cbf-0_arm64.deb -P /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf_1.19.2-yn~be742cbf-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~be742cbf_windows_amd64.zip -P /opt/yunion/ansible-install-pkg
|
||||
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~be742cbf_windows_i386.zip -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,5 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/glance-base:3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/glance-base:v0.0.1
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/glance /opt/yunion/bin/glance
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/torrent:3.22.2-0
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/torrent:20210815.0
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
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
|
||||
RUN apk add --no-cache s3fs-fuse --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing
|
||||
|
||||
@@ -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.5.0
|
||||
|
||||
LABEL maintainer="Yaoqi Wan wanyaoqi@yunionyun.com"
|
||||
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
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.3
|
||||
|
||||
LABEL maintainer="Yaoqi Wan wanyaoqi@yunionyun.com"
|
||||
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
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 +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-1
|
||||
|
||||
ADD ./_output/alpine-build/bin/host-health /opt/yunion/bin/host-health
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.22.2-0
|
||||
|
||||
ENV TZ="UTC"
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5-1
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/host-image /opt/yunion/bin/host-image
|
||||
|
||||
ENV TZ UTC
|
||||
|
||||
ADD ./_output/bin/host-image /opt/yunion/bin/host-image
|
||||
ADD ./_output/bin/.host-image.bin /opt/yunion/bin/.host-image.bin
|
||||
ADD ./_output/bin/bundles/host-image /opt/yunion/bin/bundles/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-1
|
||||
|
||||
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 +1,8 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/lbagent-base:v0.0.5
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/lbagent-base:v0.0.4
|
||||
|
||||
LABEL maintainer="Yousong Zhou <zhouyousong@yunion.cn>"
|
||||
MAINTAINER "Yousong Zhou <zhouyousong@yunion.cn>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
ADD ./_output/alpine-build/bin/lbagent /opt/yunion/bin/lbagent
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/openvswitch:2.12.4-5
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/openvswitch:2.12.4-2
|
||||
|
||||
LABEL maintainer="Jian QIU <qiujian@yunion.cn>"
|
||||
MAINTAINER "Jian QIU <qiujian@yunion.cn>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
ENV GOPATH=/root/go
|
||||
|
||||
RUN sed -i 's!v3.20/!v3.22/!g' /etc/apk/repositories
|
||||
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
|
||||
|
||||
RUN set -x \
|
||||
&& apk update \
|
||||
|
||||
@@ -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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
COPY ./build/notify/root/opt/ /opt/
|
||||
ADD ./_output/alpine-build/bin/notify /opt/yunion/bin/notify
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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 UTC
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
FROM alpine:3.15.4
|
||||
|
||||
LABEL maintainer="Zexi Li <lizexi@yunionyun.com>"
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
ENV TZ="UTC"
|
||||
ENV TZ UTC
|
||||
|
||||
RUN mkdir -p /opt/yunion/bin
|
||||
|
||||
|
||||
@@ -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-1
|
||||
|
||||
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-1
|
||||
|
||||
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-1
|
||||
|
||||
ADD ./_output/alpine-build/bin/s3gateway /opt/yunion/bin/s3gateway
|
||||
|
||||
@@ -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-1
|
||||
|
||||
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-1
|
||||
|
||||
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.1
|
||||
|
||||
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-1
|
||||
|
||||
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,7 @@
|
||||
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"
|
||||
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-1
|
||||
|
||||
ADD ./_output/alpine-build/bin/webconsole /opt/yunion/bin/webconsole
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
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 UTC
|
||||
|
||||
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/*
|
||||
|
||||
@@ -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-1
|
||||
|
||||
ADD ./_output/alpine-build/bin/yunionconf /opt/yunion/bin/yunionconf
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
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:
|
||||
@@ -10,74 +9,58 @@ debian10-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:
|
||||
$(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.1.1
|
||||
|
||||
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 .
|
||||
|
||||
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_VERSION = v0.2-1
|
||||
webconsole-base:
|
||||
$(DOCKER_BUILDX)/webconsole-base:$(WEBCONSOLE_BASE_VERSION_3-22-2) -f ./Dockerfile.webconsole-base .
|
||||
$(DOCKER_BUILDX)/webconsole-base:$(WEBCONSOLE_BASE_VERSION) -f ./Dockerfile.webconsole-base .
|
||||
|
||||
BAREMETAL_BASE_VERSION = v0.3.9-20260724.0
|
||||
BAREMETAL_BASE_VERSION = v0.3.9-20230221.2
|
||||
|
||||
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 .
|
||||
FILE_REPO_VERSION = v0.3.3
|
||||
|
||||
file-repo:
|
||||
$(DOCKER_BUILDX)/file-repo:$(FILE_REPO_VERSION) -f ./Dockerfile.file-repo .
|
||||
|
||||
LBAGENT_BASE_VERSION = v0.0.5
|
||||
HOST_IMAGE_VERSION ?= v1.0.2
|
||||
HOST_IMAGE_NAME = $(REGISTRY)/host-image:$(HOST_IMAGE_VERSION)
|
||||
host-image:
|
||||
docker pull $(HOST_IMAGE_NAME)-amd64 --platform amd64
|
||||
docker pull $(HOST_IMAGE_NAME)-arm64 --platform arm64
|
||||
docker manifest create $(HOST_IMAGE_NAME) \
|
||||
$(HOST_IMAGE_NAME)-amd64 \
|
||||
$(HOST_IMAGE_NAME)-arm64
|
||||
docker manifest annotate $(HOST_IMAGE_NAME) $(HOST_IMAGE_NAME)-amd64 --arch amd64
|
||||
docker manifest annotate $(HOST_IMAGE_NAME) $(HOST_IMAGE_NAME)-arm64 --arch arm64
|
||||
docker manifest push $(HOST_IMAGE_NAME)
|
||||
|
||||
LBAGENT_BASE_VERSION = v0.0.3
|
||||
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 .
|
||||
|
||||
|
||||
@@ -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:3.16.0-go-1.18.2-0 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 && \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
DESCRIPTION="Yunion Cloud Image Service"
|
||||
|
||||
REQUIRES=(
|
||||
yunion-qemu-4.2.0
|
||||
yunion-qemu-2.12.1
|
||||
)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{{.title}}
|
||||
策略名称: {{.name}}
|
||||
触发时间: {{.start_time}}
|
||||
报警级别: {{.level}}
|
||||
触发条件: {{.description | unescaped}}
|
||||
{{if .reason}}报警原因: {{.reason}}
|
||||
{{end}}报警数量:{{len .matches}}
|
||||
资源数量:{{len .matches}}
|
||||
资源名称:{{.resource_name}}
|
||||
|
||||
详情地址: {{.web_url}}
|
||||
@@ -68,7 +68,6 @@
|
||||
border-bottom: 1px solid #d7d7d7;
|
||||
}
|
||||
</style>
|
||||
{{$match_tags_str := .match_tags_str}}
|
||||
<body>
|
||||
<h3 class="title">报警提醒</h3>
|
||||
<table border="0" cellspacing="0" cellpadding="0" class="table">
|
||||
@@ -88,19 +87,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td">策略详情:</td>
|
||||
<td>
|
||||
{{- range $i, $m := .matches -}}
|
||||
{{- if $i}}<br/>{{end -}}
|
||||
{{- $m.condition | unescaped -}}
|
||||
{{- end -}}
|
||||
</td>
|
||||
<td>{{.description}}</td>
|
||||
</tr>
|
||||
{{if .reason}}
|
||||
<tr>
|
||||
<td class="td">报警原因:</td>
|
||||
<td>{{.reason}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</table>
|
||||
<table class="table" style="padding-top: 6px; padding-bottom: 10px;">
|
||||
<tr>
|
||||
@@ -120,11 +108,7 @@
|
||||
<td>名称</td>
|
||||
<td>IP</td>
|
||||
<td>平台</td>
|
||||
<td>指标</td>
|
||||
<td>触发值</td>
|
||||
{{if gt (len $match_tags_str) 1}}
|
||||
<td>标签</td>
|
||||
{{end}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -140,11 +124,7 @@
|
||||
<td>
|
||||
{{ index .tags "brand" }}
|
||||
</td>
|
||||
<td>{{ $Matche.metric }}</td>
|
||||
<td>{{ $Matche.value_str }}</td>
|
||||
{{if gt (len $match_tags_str) 1}}
|
||||
<td>{{ index $match_tags_str $i }}</td>
|
||||
{{end}}
|
||||
<td>{{$Matche.value_str}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{{.title}}
|
||||
AlertName: {{.name}}
|
||||
Time: {{.start_time}}
|
||||
Level: {{.level}}
|
||||
TriggerCondition: {{.description | unescaped}}
|
||||
{{if .reason}}Reason: {{.reason}}
|
||||
{{end}}AlertCount: {{len .matches}}
|
||||
ResourceCount: {{len .matches}}
|
||||
ResourceName: {{.resource_name}}
|
||||
|
||||
WebUrl: {{.web_url}}
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
border-bottom: 1px solid #d7d7d7;
|
||||
}
|
||||
</style>
|
||||
{{$match_tags_str := .match_tags_str}}
|
||||
<body>
|
||||
<h3 class="title">Alert</h3>
|
||||
<table border="0" cellspacing="0" cellpadding="0" class="table">
|
||||
@@ -88,19 +87,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="td">Strategy details:</td>
|
||||
<td>
|
||||
{{- range $i, $m := .matches -}}
|
||||
{{- if $i}}<br/>{{end -}}
|
||||
{{- $m.condition | unescaped -}}
|
||||
{{- end -}}
|
||||
</td>
|
||||
<td>{{.description}}</td>
|
||||
</tr>
|
||||
{{if .reason}}
|
||||
<tr>
|
||||
<td class="td">Reason:</td>
|
||||
<td>{{.reason}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</table>
|
||||
<table class="table" style="padding-top: 6px; padding-bottom: 10px;">
|
||||
<tr>
|
||||
@@ -120,11 +108,7 @@
|
||||
<td>Name</td>
|
||||
<td>IP</td>
|
||||
<td>Brand</td>
|
||||
<td>Metric</td>
|
||||
<td>Trigger value</td>
|
||||
{{if gt (len $match_tags_str) 1}}
|
||||
<td>Tags</td>
|
||||
{{end}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -140,11 +124,7 @@
|
||||
<td>
|
||||
{{ index .tags "brand" }}
|
||||
</td>
|
||||
<td>{{ $Matche.metric }}</td>
|
||||
<td>{{ $Matche.value_str }}</td>
|
||||
{{if gt (len $match_tags_str) 1}}
|
||||
<td>{{ index $match_tags_str $i }}</td>
|
||||
{{end}}
|
||||
<td>{{$Matche.value_str}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user