Compare commits

...

684 Commits

Author SHA1 Message Date
Jian Qiu
c6d5c9ea0a fix: ensure s3 client init for s3 storage driver (#24319)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2026-02-11 22:08:19 +08:00
wanyaoqi
ecb65c2563 fix(host): set dmesg parse failed log level to debug (#24308) 2026-02-11 00:59:48 +08:00
屈轩
7dc2246c10 fix(notify): notify receiver (#24300) 2026-02-09 20:42:52 +08:00
wanyaoqi
0b02c49c7c fix(host): deploy nics config defore do add nics (#24275) 2026-02-09 08:38:16 +08:00
屈轩
5e565cf2be fix(region): vendor update (#24268) 2026-02-07 13:52:21 +08:00
wanyaoqi
aef2e3e956 fix(region,host): rename screen dump info structure (#24257) 2026-02-06 18:08:35 +08:00
屈轩
335cdf37b4 fix(region): snapshot policy operation (#24251) 2026-02-05 16:40:40 +08:00
wanyaoqi
43bb829edc fix(glance): set s3 bucket name before s3 init check (#24236) 2026-02-04 19:33:28 +08:00
屈轩
217496161a fix(yunionconf): support tags (#24234) 2026-02-04 17:14:12 +08:00
屈轩
f2d2495be3 fix(region): public cloud sku create (#24229) 2026-02-04 14:57:45 +08:00
屈轩
b333d023f9 fix(region): support cloudpods vm disk driver (#24224) 2026-02-04 14:28:21 +08:00
Zexi Li
29d1a9beb3 fix(region,climc): persist netinterface vlan_id to hostnetwork (#24214)
- climc: add VlanId to host-add-netif, host-remove-netif, host-enable-netif,
  host-disable-netif
- region: set bn.VlanId from netif.VlanId when attaching to network
- mcclient: include Vlan_ID in baremetalnetworks list columns
2026-02-04 11:03:59 +08:00
屈轩
8a70ad1fe1 fix(region): avoid duplicate check when update account aksk (#24208) 2026-02-03 20:53:06 +08:00
屈轩
55c139f4ab fix(region): init snapshot policy disk table (#24201) 2026-02-02 20:38:08 +08:00
wanyaoqi
24fdc3782f fix(host): guestnetworksync do nothing on detach vfio nic (#24177) 2026-02-02 19:02:59 +08:00
屈轩
69fce36cab fix(climc): sku create support arch (#24189) 2026-02-02 14:17:23 +08:00
屈轩
aef3f68fd5 fix(notify): support webhook sign (#24184) 2026-02-02 12:54:06 +08:00
wanyaoqi
67566abfbb fix(host): live migrate add timeout (#24164) 2026-02-01 20:24:53 +08:00
wanyaoqi
382ec17c04 fix(region): server add set network num queues (#24165) 2026-02-01 20:12:08 +08:00
wanyaoqi
28f83d8dac fix(glance): set glance s3 bucket name default onecloud-images (#24170) 2026-02-01 20:10:05 +08:00
wanyaoqi
bdd024d699 fix(region): have agent add check is telegraf deployed (#24146) 2026-01-29 10:34:25 +08:00
屈轩
8f03c28919 fix(region): billing resource create time (#24143) 2026-01-28 20:00:02 +08:00
屈轩
246721c529 fix(glance): support prob iso image (#24136) 2026-01-28 15:31:34 +08:00
屈轩
60ae50c608 fix(region): vendor update (#24121) 2026-01-23 17:03:48 +08:00
Jian Qiu
60082c3534 fix: update deps version 3.11.13 (#24105)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2026-01-20 01:38:20 +08:00
Jian Qiu
4a512da8a8 fix: user filter revisit (#24104)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2026-01-20 00:45:35 +08:00
Jian Qiu
4a6adeea1f fix: notify receiver update precedure recode (#24102)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2026-01-20 00:15:43 +08:00
wanyaoqi
65cbea196f fix(host): ensure scsi pci addr on add scsi disk (#24096) 2026-01-19 20:16:20 +08:00
屈轩
45e6c8cf59 fix(region): vendor update (#24093) 2026-01-19 14:45:51 +08:00
Zexi Li
a36039ccc1 fix(telegraf-raid-plugin): working for victoria metrics (#24086) 2026-01-15 17:20:52 +08:00
Jian Qiu
a4b5078997 fix: detailed apigateway auth failure log (#24078)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2026-01-15 10:13:42 +08:00
屈轩
4ba88e37cd fix(region): vendor update (#24081) 2026-01-14 14:05:35 +08:00
屈轩
411a6df9f9 fix(glance): avoid context warnning (#24075) 2026-01-14 10:54:58 +08:00
屈轩
2ba0bdfee7 fix(region): avoid panic when update user resource (#24072) 2026-01-13 18:21:04 +08:00
屈轩
dffd2aa2d9 fix(common): skip octet-stream warnning (#24069) 2026-01-13 18:20:40 +08:00
屈轩
fec5f1f8a7 fix(region): remove useless mod (#24062) 2026-01-12 14:15:00 +08:00
屈轩
23e3234d8d fix(region): add billing resource check (#24059) 2026-01-12 12:37:38 +08:00
屈轩
f6928c9ca9 fix(region): host schedtag sync (#24057) 2026-01-11 18:33:51 +08:00
屈轩
e479741459 fix(region): allow batch resize disk (#24051) 2026-01-09 14:05:01 +08:00
屈轩
5560cc9371 fix(monitor): optimized common alert list (#24044) 2026-01-09 10:10:04 +08:00
wanyaoqi
91061f28cc fix(host): add query id on detect qemu machine info (#24045) 2026-01-09 08:24:53 +08:00
屈轩
f359c67632 fix(monitor): optimized monitor resource list (#24040) 2026-01-08 15:23:33 +08:00
Zexi Li
7355547b2b fix(monitor): resource id deduplication of alert record (#24034) 2026-01-07 11:16:17 +08:00
Zexi Li
bcf544574f fix(monitor): fill resource ids of the cloud account (#24031) 2026-01-06 19:44:50 +08:00
屈轩
9a01e1fdb3 fix(region): show pretty error (#24022) 2026-01-06 10:29:45 +08:00
wanyaoqi
7d92eb9a63 fix(scheduler): correct mem_free = (mem_total - mem_reserved) * mem_cmtbound (#23982) 2025-12-29 11:17:53 +08:00
wanyaoqi
6bf92e0ea7 fix(climc): host set memory commit bound incorrect params (#23973) 2025-12-29 11:01:43 +08:00
wanyaoqi
5eae491d47 fix(glance): image disk_format use String2ImageFormat (#23991) 2025-12-29 11:01:22 +08:00
Jian Qiu
532f4eb1db fix: change OutOfResource http status code to 507 (#23988)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-12-29 10:59:22 +08:00
屈轩
26fd3424f3 fix(region): show host cpu and mem usage (#23999) 2025-12-25 21:58:07 +08:00
屈轩
395bc3f317 fix(region): update private cloud host cpu and mem usage by cloudmon (#23985) 2025-12-24 19:21:30 +08:00
屈轩
865a019ba3 fix(region): show guest nic index (#23957) 2025-12-24 11:33:30 +08:00
Jian Qiu
16ce2a6a66 feature: assume user login support (#23961)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-12-23 13:53:54 +08:00
wanyaoqi
7c69f96725 feat(baremetal-agent): Linux PCIE disk support mdadm soft raid (#23725)
* feat(baremetal-agent): Linux PCIE disk support mdadm soft raid

* fix(baremeta-agent): soft raid support intel imsm

* fix: update baremetal-agent base
2025-12-22 13:29:47 +08:00
wanyaoqi
231711d0fb fix(region): guest usage by arch (#23954) 2025-12-22 11:42:34 +08:00
屈轩
7c3929bc5e fix(region): allow clean history data (#23950) 2025-12-19 12:42:18 +08:00
屈轩
c6f3e714ee fix(region): disable sync schedtags (#23943) 2025-12-16 20:41:02 +08:00
屈轩
73076cfc19 fix(region): disable cloudpods auto create project (#23938) 2025-12-15 15:51:43 +08:00
屈轩
4455a99645 fix(region): add provider info for sync log (#23933) 2025-12-15 13:47:31 +08:00
Zexi Li
c6502eebd7 fix(monitor): meter alert panic (#23919) 2025-12-12 10:20:03 +08:00
屈轩
3b7615b264 fix(region): aliyun system disk size (#23927) 2025-12-12 10:19:47 +08:00
Jian Qiu
7132a3be67 fix: splitable not function due to empty datefield (#23907)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-12-09 13:34:16 +08:00
Zexi Li
06482d2f20 fix(monitor): filter baremetal host for no data query (#23892) 2025-12-03 16:18:01 +08:00
屈轩
557715bea3 fix(region): optimized backend sync (#23891) 2025-12-03 15:14:22 +08:00
屈轩
0d2cb66dc1 fix(region): aliyun vnc addr (#23885) 2025-12-03 14:04:22 +08:00
wanyaoqi
166b4b34f5 fix(host,host-deployer): host-deployer add password quality check (#23873) 2025-12-02 17:02:24 +08:00
屈轩
27f44e909a fix(region): vendor update (#23869) 2025-11-30 17:23:59 +08:00
Zexi Li
52962980c5 fix(monitor): filter alertrecords by alert_name and res_name (#23866) 2025-11-28 18:58:31 +08:00
屈轩
01cd87d8eb fix(region): vendor update (#23860) 2025-11-27 20:36:01 +08:00
wanyaoqi
323b64116a fix(host): host handlers use gotypes check ret value is nil (#23848) 2025-11-27 19:19:44 +08:00
Zexi Li
4a3a9f1b11 fix(monitor): alert shield is not working (#23863) 2025-11-27 19:18:56 +08:00
屈轩
f22db65285 fix(keystone): change token AuditIds width (#23850) 2025-11-27 17:19:28 +08:00
Zexi Li
9024e78dfc fix(monitor): threshold_range message (#23856) 2025-11-27 16:47:32 +08:00
Zexi Li
92be2b6d11 feat(monitor): support threashold range (#23854) 2025-11-27 15:11:28 +08:00
Zexi Li
859384643f feat(climc): support --ouput option for pprof command (#23841) 2025-11-27 14:18:46 +08:00
屈轩
d8ea9f576a fix(region): vendor update (#23845) 2025-11-26 16:57:09 +08:00
wanyaoqi
56711f01f2 fix(region,host): perform screendump no save to s3 (#23824) 2025-11-26 01:00:12 +08:00
wanyaoqi
d9660431fd fix(region): disk take snapshot check backing snapshot is merged (#23823) 2025-11-26 00:58:45 +08:00
屈轩
2e58bba807 fix(region): support vmware resource pool (#23828) 2025-11-25 19:07:27 +08:00
屈轩
19c0680c4b fix(region): vendor update (#23821) 2025-11-24 14:20:33 +08:00
Jian Qiu
d2c6e5514f fix: validate policy role delete condition (#23810)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-11-21 12:03:20 +08:00
Zexi Li
e175225af5 fix(monitor): alerting level (#23802) 2025-11-21 10:27:13 +08:00
Jian Qiu
3fccc13548 fix: region-dns not support dameng dialect (#23797)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-11-21 09:55:56 +08:00
屈轩
4b78268ff6 fix(region): snapshot policy resource purge (#23804) 2025-11-20 23:42:00 +08:00
Zexi Li
ae45d0d1d1 fix(monitor): title of notification by language context (#23798) 2025-11-20 20:11:42 +08:00
屈轩
8e9f4c12c2 fix(monitor): avoid panic (#23796) 2025-11-20 18:43:24 +08:00
屈轩
6e9b1e790f fix(host): format sLsusbTree field content json tag (#23793)
Co-authored-by: 云原生驿站 <33771248+CloudCourierStation@users.noreply.github.com>
2025-11-20 18:26:27 +08:00
Zexi Li
2fc05e9bbb fix(monitor): check if LastSendNotification is zero (#23783) 2025-11-20 18:03:57 +08:00
屈轩
ef046d10c9 fix(region): migrate snapshot policy resource (#23790) 2025-11-20 17:38:35 +08:00
屈轩
350028425e fix(cloudmon): account balance metric with tenant_id (#23786) 2025-11-20 14:22:33 +08:00
屈轩
49b7f9df7e fix(cloudmon): avoid undetected new resources (#23779) 2025-11-20 10:46:07 +08:00
Zexi Li
11ec38b8b7 fix(baremetal-agent): msdos typo in grub configuration (#23774) 2025-11-20 10:39:04 +08:00
Jian Qiu
0de6db47a8 fix: diskbackup fail to syncstatus on offline backend (#23763)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-11-19 10:46:37 +08:00
屈轩
9e72da7b1e fix(region): esxi vm folder (#23751) 2025-11-17 18:10:02 +08:00
屈轩
1875cf7bd6 fix(region): server sku create status (#23750) 2025-11-17 17:01:08 +08:00
wanyaoqi
c1e814ba6e feat(region,host): host dmesg collect (#23721) 2025-11-17 15:44:33 +08:00
Jian Qiu
ea87fbb8aa fix: filter schedtags by zones (#23744)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-11-15 18:30:15 +08:00
Zexi Li
453d47c99b feat(cloudcommon): add ExtraHook steps to joint model (#23741) 2025-11-14 10:50:58 +08:00
Zexi Li
3ae144e233 fix(host): SHostPingTask was stuck by calling docker command (#23734) 2025-11-13 20:19:28 +08:00
屈轩
873a5d6b16 fix(region): scope resource (#23737) 2025-11-13 14:43:52 +08:00
wanyaoqi
1b212051a9 fix(region,scheduler): check is BIOS boot request on uefi predicate (#23717) 2025-11-11 13:45:11 +08:00
Zexi Li
a34da1092c fix(baremetal): power status of server is not synced (#23689) 2025-11-10 09:56:39 +08:00
屈轩
aa394ead62 fix(region): allow delete server sku (#23695) 2025-11-05 18:19:59 +08:00
屈轩
039a69eed6 fix(region): add device for disk (#23692) 2025-11-05 15:57:50 +08:00
屈轩
8ddca94bdc fix(scheduler): sku predicate with empty zone id (#23686) 2025-11-04 20:56:30 +08:00
Zexi Li
beb3e9f9fd fix(baremetal-agent): chose root disk by pci path (#23682) 2025-11-04 20:09:12 +08:00
Jian Qiu
bdc3693c2b fix: rename check when change project (#23676)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-11-04 16:07:59 +08:00
屈轩
260b8557d8 fix(region): optimized aws server sku sync (#23675) 2025-11-03 22:32:27 +08:00
屈轩
e0706a1b43 fix(region): metadata filter by value (#23672) 2025-11-03 19:24:40 +08:00
屈轩
0ba9578ec7 fix(region): optimzed server sku sync (#23664) 2025-11-03 15:13:55 +08:00
屈轩
1a1feba74d fix(region): disk filter by server (#23660) 2025-11-01 13:32:35 +08:00
屈轩
5427facb6a fix(region): optimized filter sku by zone (#23657) 2025-11-01 13:04:56 +08:00
屈轩
6b347bf00c fix(region): vendor update (#23654) 2025-11-01 13:04:07 +08:00
Zexi Li
357a0f22e3 fix(scheduler): enable profiling (#23642)
* fix(scheduler): enable profiling

* feat(scheduler): cache NetworkAdditionalWire
2025-10-31 10:19:24 +08:00
屈轩
b4fd2eb122 fix(region): sku cpu mem sync (#23650) 2025-10-30 22:32:11 +08:00
屈轩
a846649f1c fix(region): filter disks by server list (#23645) 2025-10-30 17:24:47 +08:00
Zexi Li
a10ea01c84 fix: backend proxy worker count (#23636)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-30 10:07:01 +08:00
屈轩
2bb2742bf0 fix(region): vendor update (#23640) 2025-10-30 10:06:28 +08:00
Zexi Li
cd68e4c156 fix(host): move the hostInstance.Init() step after InitAuth (#23622) 2025-10-28 19:28:46 +08:00
屈轩
78fa396097 fix(region): set ksyun tag (#23612) 2025-10-24 22:59:17 +08:00
Zexi Li
b4876fa013 chore(ci): turn off goimports-check rule (#23609) 2025-10-24 15:49:14 +08:00
Jian Qiu
ea51d3f05f fix: rpm/deb support postinst/preinst/prerm/postrm hooks (#23595)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-23 01:03:33 +08:00
Jian Qiu
d74b732b86 fix: suport bulding multi-arch rpm deb (#23571)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-22 23:53:36 +08:00
屈轩
7d36c1fe1b fix(keystone): fetch domain user count (#23592) 2025-10-22 16:25:59 +08:00
wanyaoqi
606916760b fix(region,host,scheduler): add check kvm cpu max on cpu predicate (#23513) 2025-10-22 15:04:58 +08:00
屈轩
106f7b3d2a fix(region): disable cloudprovider when sync lost (#23583) 2025-10-22 11:30:29 +08:00
屈轩
807454ab63 fix(region): vendor update (#23580) 2025-10-22 11:12:12 +08:00
屈轩
d5711d7d64 fix(region): adjust the ip_addr character length (#23564) 2025-10-21 10:45:15 +08:00
屈轩
b999ad72ac fix(glance): add notify for image create (#23555) 2025-10-16 14:31:02 +08:00
wanyaoqi
fedf62f75b fix(webconsole): baremteasl ipmi sol instance_name hide password (#23536) 2025-10-16 00:02:18 +08:00
屈轩
451d289903 fix(region): valid essd pl0 disk resize (#23547) 2025-10-15 17:25:14 +08:00
屈轩
93101837f7 fix(region): vendor update (#23541) 2025-10-15 10:57:57 +08:00
屈轩
a7bc8c0fff fix(region): support change storage type (#23531) 2025-10-14 19:06:08 +08:00
屈轩
d913be0312 fix(region): healt status (#23526) 2025-10-13 18:51:12 +08:00
屈轩
c8efe3d1e6 fix(keystone): distribute permissions when the organization changes (#23503) 2025-10-13 18:49:53 +08:00
屈轩
d7b0a10ad9 fix(region): private zone create status (#23522) 2025-10-13 18:05:33 +08:00
wanyaoqi
73049f487a fix(host): ensure host wire marshal nil value (#23500) 2025-10-12 11:04:11 +08:00
屈轩
d9060328fc fix(region): server sku create with region id (#23510) 2025-10-11 16:55:02 +08:00
wanyaoqi
ccf1694237 fix(region,glance,host-deployer): guest image support bios boot mode detect (#23284) 2025-10-11 10:20:45 +08:00
Zexi Li
2cb0437596 fix(baremetal): ensure the execution of the BaremetalServerDestroyTask (#23495) 2025-10-09 17:07:10 +08:00
Jian Qiu
c88e8fef1b fix: ignore e2fsck errors if retcode < 4 (#23487)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-09 16:31:16 +08:00
wanyaoqi
2ca2435595 fix(host): disk resize error input params (#23491) 2025-10-09 13:26:29 +08:00
Jian Qiu
30bac52d1c fix: network manager supports ipv4 static routes for 3.11 (#23484)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-08 13:18:00 +08:00
Jian Qiu
74a8b5667f fix: support network manager connection profiles (#23467)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-03 09:24:59 +08:00
Jian Qiu
ec3b52930e fix: default cloud region init error (#23472)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-10-03 09:24:34 +08:00
屈轩
4703a7094d fix(cloudmon): metric sync (#23463) 2025-09-30 16:53:03 +08:00
屈轩
f8a46a06fc fix(region): vendor update (#23460) 2025-09-30 15:09:50 +08:00
屈轩
a64749ef31 fix(region): host order by virt cpu (#23455) 2025-09-30 13:19:04 +08:00
Jian Qiu
defb33a861 fix: hostman master nic may be nil (#23448)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-30 11:17:37 +08:00
Jian Qiu
ab6f22c5db fix: s3 common options (#23443)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-29 19:22:14 +08:00
Jian Qiu
7947bd6686 fix: disable password history unique check by default (#23436)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-29 15:48:41 +08:00
屈轩
50ab8bf4d4 fix(cloudevent): options changed with etcd (#23434) 2025-09-29 12:24:23 +08:00
屈轩
5a5dbed43b fix(region): vendor update (#23417) 2025-09-28 18:04:13 +08:00
wanyaoqi
96b330b6c4 fix(host-deployer): update host-deployer-base to 1.4.11 (#23412) 2025-09-28 17:25:49 +08:00
屈轩
d62f1c1149 fix(region): vendor update (#23406) 2025-09-28 14:59:03 +08:00
wanyaoqi
2b90c029ee fix(region,host): guest add vnc screen dump support (#23374)
* fix(host): update nic confs inside vm on qga delete nics

Signed-off-by: wanyaoqi <wanyaoqi@yunion.cn>

* fix(region,host): guest add vnc screen dump support

---------

Signed-off-by: wanyaoqi <wanyaoqi@yunion.cn>
2025-09-27 12:03:10 +08:00
wanyaoqi
edefdd6ca1 Automated cherry pick of #23386: fix(host-deployer): allow growpart on primary partition (#23393)
* fix(host): init cgroup ignore disable cgroup option

* fix(host-deployer): allow growpart on primary partition
2025-09-27 12:01:44 +08:00
屈轩
b6c3aa0a7a fix(region): vendor update (#23399) 2025-09-26 18:05:30 +08:00
屈轩
85bc3abc77 fix(region): vendor update (#23384) 2025-09-26 13:53:45 +08:00
屈轩
0bbc92e46d fix(region): vendor update (#23369) 2025-09-24 17:22:57 +08:00
Jian Qiu
4c3186f4a1 Automated cherry pick of #23363: fix: network filter by ip error for dameng (#23366)
* fix: network filter by ip error for dameng

* fix: update vendor 20250923

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-23 23:23:00 +08:00
屈轩
6722c43868 fix(region): add expired release notify hour options (#23350) 2025-09-22 10:58:08 +08:00
Jian Qiu
e4391b9cce fix: linux sshd_config support (#23336)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-20 00:39:04 +08:00
Zexi Li
70887c8d58 fix(scheduler): watch serversku (#23327) 2025-09-19 23:49:56 +08:00
屈轩
66840c2c16 fix(region): rds backup sync (#23307) 2025-09-19 23:47:16 +08:00
wanyaoqi
34b417c60b fix(host,host-deployer): support lvm disk resize (#23333)
- add resize lvm disk support
- support qga online resize disk partitions and filesystems
2025-09-19 23:45:47 +08:00
Jian Qiu
b96abf5af6 fix: check os_arch when server rebuilding root (#23337)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-19 23:44:20 +08:00
屈轩
433747ff99 fix(notify): optimized workwx access token expired time (#23324) 2025-09-18 14:55:28 +08:00
Zexi Li
614b13cd13 fix(monitor): diffTagKeys are empty when only one series in results (#23310) 2025-09-18 07:49:04 +08:00
屈轩
d7f0a6f065 fix(region): remove debug sql (#23319) 2025-09-17 16:54:29 +08:00
屈轩
160b6e3faf fix(cloudmon): alert metric with tenant id (#23316) 2025-09-17 16:34:51 +08:00
wanyaoqi
7a82d04f70 feat(host): cgroupv2 support (#23304) 2025-09-16 23:20:18 +08:00
屈轩
104c927e74 fix(climc): sku create params (#23300) 2025-09-15 15:33:30 +08:00
屈轩
2d795063dd fix(region): support gcp shared vpc and image (#23297) 2025-09-12 23:03:39 +08:00
屈轩
e0ed7e80df fix(monitor): history alert report (#23279) 2025-09-12 15:27:12 +08:00
Zexi Li
c880ee5940 fix(monitor): fetch total alert resources from monitor_resource_alert (#23274) 2025-09-10 19:17:20 +08:00
屈轩
88f61e6be2 fix(region): update cloudprovider external id (#23273) 2025-09-10 18:59:58 +08:00
Jian Qiu
0777418c63 fix: image self check status (#23252)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-10 18:57:53 +08:00
屈轩
3ddd2603f8 fix(region): support hyperdisk for gcp (#23270) 2025-09-10 15:34:24 +08:00
Zexi Li
1a4a0fe647 fix(climc): monitor-alertrecords-total-alert command (#23265) 2025-09-10 14:17:41 +08:00
屈轩
0c090d08f2 fix(region): snapshot policy unbind disks (#23240) 2025-09-04 16:57:38 +08:00
屈轩
c37b15a3d0 fix(region): sync prepaid disk expired time (#23237) 2025-09-04 16:47:18 +08:00
屈轩
0eb0f9d99c fix(region): add disk change billing type log (#23233) 2025-09-03 20:16:44 +08:00
屈轩
620fd06d87 fix(region): add kafka and mongodb capability (#23230) 2025-09-03 19:44:40 +08:00
屈轩
944267af35 fix(region): support more scheme keypair (#23211) 2025-09-03 11:01:00 +08:00
Jian Qiu
f40095bd46 fix: fail to delete cas idp due to readonly domain (#23216)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-03 05:48:27 +08:00
Jian Qiu
4781f552e2 fix: network filter by ipv6 address (#23226)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-09-03 05:46:31 +08:00
Zexi Li
8eb11e7865 feat(host): add SdnFetchDataFromComputeService option (#23205) 2025-09-01 23:15:22 +08:00
屈轩
523653e755 fix(region): avoid change to the same config sku not effective (#23204) 2025-09-01 11:50:23 +08:00
Jian Qiu
84dea5ace9 fix: too many recursive locks when batch create (#23197)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-29 23:07:50 +08:00
屈轩
07912a9f8c fix(region): add cloud_env filter for cachedimages (#23192) 2025-08-27 18:34:46 +08:00
Jian Qiu
bd72a48ecb fix: guest ipv6 vip (#23181)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-27 18:07:55 +08:00
Jian Qiu
4377da3aff fix: force NetworkManager unmanged physical netinterface (#23069)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-26 15:38:55 +08:00
屈轩
140fda72e6 fix(keystone): show ldap url (#23175) 2025-08-26 14:28:47 +08:00
屈轩
521bc94749 fix(keystone): upgrade ldap version (#23167) 2025-08-26 13:28:47 +08:00
Jian Qiu
78850c6d03 fix: deploy gai.conf if both v4 and v6 present (#23164)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-25 18:20:09 +08:00
屈轩
32b85c1b28 fix(region): optimized cached image list (#23156) 2025-08-22 15:45:04 +08:00
wanyaoqi
ea65acf6ed fix(scheduler): add session usage timeout options (#23142) 2025-08-21 18:10:39 +08:00
屈轩
f09e9f081d fix(region): avoid update guest disable_delete attribute error when host id is empty (#23136) 2025-08-20 16:21:44 +08:00
Zexi Li
78eaa50af1 fix(baremetal): update the grub auto configuration to fix the aarch64 disk boot (#23127) 2025-08-20 15:11:14 +08:00
屈轩
d9e8c89711 fix(region): sync lb eip (#23126) 2025-08-20 14:14:07 +08:00
Zexi Li
3b34ac8dba feat(region): fix ISO size display (#23130)
SGuestcdrom.Size is Byte, not MB

Co-authored-by: happygame <happygame1024@gmail.com>
2025-08-20 12:08:43 +08:00
Zexi Li
b93d913948 fix(baremetal-agent): error occurred when removing logical volumes on the arm64 host (#23120) 2025-08-20 12:00:00 +08:00
屈轩
7d2bcd2828 fix(region): sync eip associate resource (#23113) 2025-08-19 14:54:55 +08:00
屈轩
76d798044e fix(region): add storage filter for snapshot (#23107) 2025-08-18 14:57:48 +08:00
wanyaoqi
382d51e18c fix(host): run ifdown script on guest delete (#23100) 2025-08-16 14:49:27 +08:00
Jian Qiu
a316053a4f fix: webconsole skip refererer check by default (#23093)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-16 14:46:16 +08:00
wanyaoqi
634058a832 fix(vpcagent): dhcp enable default gateway on default network (#23096) 2025-08-16 14:44:28 +08:00
屈轩
4c2ba4a9c9 fix(scheduledtask): force sync account (#23086) 2025-08-14 19:36:19 +08:00
屈轩
e244be79b1 fix(region): server snapshot policy (#23079) 2025-08-14 19:21:22 +08:00
屈轩
6615224f93 fix(region): dns record policy type (#23077) 2025-08-13 17:48:39 +08:00
wanyaoqi
555d77f9d0 fix(host): lvm guest reload disk before delete snapshot (#23048) 2025-08-11 10:32:50 +08:00
wanyaoqi
c15d5ba838 fix(baremetal): agent storagecache input params error (#23044) 2025-08-08 18:25:14 +08:00
Jian Qiu
5fce56f5e6 fix: filter guest by multiple ips with exact match (#23040)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-08 17:56:20 +08:00
屈轩
9a5b906d10 fix(region): disk update tag (#23026) 2025-08-06 15:52:17 +08:00
Jian Qiu
4d45708d11 fix: always update hostname for rhel-like os (#23019)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-08-06 01:07:38 +08:00
Jian Qiu
1f39911996 fix: inconsist checksum between image and its same format subimage (#22989)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-07-30 01:44:47 +08:00
wanyaoqi
d3154a0cde fix(host,glance): only target qcow2 set cluster size on image convert (#22976) 2025-07-30 00:42:30 +08:00
Jian Qiu
a5e4471e1f fix: glance converts all queued subimages, regardless of format (#22970)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-07-29 10:25:55 +08:00
wanyaoqi
c00c81f23b fix(host): set qemuimg convert cluster_size 64k on compat image (#22964) 2025-07-29 00:00:57 +08:00
Jian Qiu
061988edea fix: set default worker parameter (#22960)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-07-28 14:12:39 +08:00
wanyaoqi
7d453caff6 fix(region): iso boot do not check boot mode (#22948) 2025-07-26 02:26:40 +08:00
屈轩
c231b0bc66 fix(apigateway): 移除不必要查询,避免用户登录时间过长 (#22954) 2025-07-25 20:36:44 +08:00
wanyaoqi
d83fd7490a fix(host): host init no numa node (#22947) 2025-07-25 00:33:16 +08:00
屈轩
1d7b27e5e3 fix(region): add guest billing type for disk (#22937) 2025-07-23 18:53:56 +08:00
屈轩
1f083d2490 fix(region): host order (#22928) 2025-07-22 15:20:06 +08:00
屈轩
e7227612ea fix(region): vendor update (#22921) 2025-07-21 17:33:40 +08:00
Jian Qiu
e304c99316 fix: updte vendor 3.11.11 20250718 (#22915)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-07-18 13:26:50 +08:00
Zexi Li
6c4c73c79e fix(scheduler): netinterface cache is not informed (#22898) 2025-07-15 19:58:11 +08:00
wanyaoqi
ba9457df30 fix(host): check storage id is correct on src migrate prepare (#22891)
correct disk storage id on dest migrate prepare
2025-07-15 16:12:00 +08:00
屈轩
5027e6bbde fix(region): add sort for host (#22878) 2025-07-11 19:09:04 +08:00
wanyaoqi
13060902a0 fix(region): do not set guest to resuce status on guest running (#22864) 2025-07-10 22:10:07 +08:00
屈轩
6c726c7211 fix(region): 修复本地到期释放功能和资源同步冲突 (#22862) 2025-07-10 19:38:09 +08:00
wanyaoqi
1b6f13738a fix(host): add check mem dev is null on guest setup (#22846) 2025-07-09 14:15:40 +08:00
屈轩
4455aa2f6d fix(region): 避免删除虚拟机时,未能正常删除后挂载的磁盘 (#22844) 2025-07-07 14:46:23 +08:00
屈轩
345de4a5c3 fix(region): create disk with tags (#22835) 2025-07-04 17:08:12 +08:00
屈轩
944953957e fix(region): vendor update (#22831) 2025-07-03 15:17:01 +08:00
屈轩
8775daf05f fix(region): vendor update for sync mongodb ip addr (#22819) 2025-07-03 05:32:46 +08:00
wanyaoqi
7e7e6c1b45 fix(region): host calculate set mem_cmt_bound 1 on host enable hugepage (#22812) 2025-07-03 05:29:49 +08:00
wanyaoqi
8ac7f8242a fix(host): qemuimg convert add cluster_size (#22791) 2025-07-03 05:27:13 +08:00
屈轩
a1a5f23fc9 fix(region): vendor update (#22808) 2025-07-02 21:01:23 +08:00
屈轩
c5871a0d2f fix(notify): support dingtalk robot sign (#22768) 2025-06-23 16:59:44 +08:00
屈轩
7bae678b01 fix(cloudmon): cloudpods collect metric interval (#22765) 2025-06-23 16:17:28 +08:00
屈轩
4444a0f69c fix(region): sync remove backend group (#22760) 2025-06-20 19:38:33 +08:00
屈轩
4360870e5f fix(region): support skip sync server by tag value (#22755) 2025-06-20 19:26:52 +08:00
屈轩
5f56de3c5d fix(region): vendor update (#22751) 2025-06-20 18:12:48 +08:00
Jian Qiu
ace1efdb51 fix: use goid to identify differnt goroutine (#22741)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-06-19 14:50:31 +08:00
Zexi Li
831a3044df Automated cherry pick of #22729: Monitor worker alert (#22736)
* fix(monitor): GetMetricMeasurement 接口只查询过去30m的数据

避免数据过多导致 victoria-metrics 报错

* fix(monitor): wildchar of alert group by field
2025-06-18 15:27:35 +08:00
屈轩
e93e9a0a8a fix(region): lb listener rule associate backend group (#22735) 2025-06-18 14:15:05 +08:00
Zexi Li
1aa70f504a fix: panic when there is no secondary IP on the host. (#22728)
Co-authored-by: glzjin <glzjin2015@gmail.com>
2025-06-17 11:15:22 +08:00
wanyaoqi
2325bc601c fix(region,host): add auto merge snapshots options, preallocation options (#22712) 2025-06-13 15:19:40 +08:00
屈轩
4f68617ea6 fix(region): vendor update (#22699) 2025-06-06 19:22:39 +08:00
屈轩
6d8ebbb369 fix(region): enable cloud dns record (#22696) 2025-06-06 18:32:06 +08:00
wanyaoqi
d9d93eb921 fix(host): pass decoded userdata to host-deployer (#22680) 2025-06-05 23:50:37 +08:00
屈轩
74b79a6231 fix(region): vendor update (#22679) 2025-06-05 19:28:06 +08:00
Zexi Li
1e5d035fd9 fix(scheduler): wrong sort order of instance group selection (#22665) 2025-06-04 14:27:07 +08:00
Jian Qiu
93f5a49260 fix: update vendor to fix keystone user join project not found (#22646)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-05-31 18:47:42 +08:00
wanyaoqi
a8d7758c83 feat(host-deployer): deploy vlan subinterface on baremetal hypervisor (#22630)
- host-deployer add deploy vlan subinterface on baremetal hypervisor
- fix baremetal-agent cache image parse input data
2025-05-30 10:32:10 +08:00
wanyaoqi
cf71a29b67 feat(region,host): qga deploy network config on attach nics (#22547) 2025-05-30 10:29:38 +08:00
屈轩
a9eb3872e4 fix(region): vendor update (#22625) 2025-05-29 11:23:14 +08:00
屈轩
8e7b136c4b fix(region): secgroup rule filter (#22620) 2025-05-28 18:38:48 +08:00
wanyaoqi
13197c19a4 fix(host): qemu extra params format (#22608) 2025-05-27 13:34:04 +08:00
屈轩
66b052741b fix(region): update qcloud storage type (#22614) 2025-05-27 12:44:07 +08:00
wanyaoqi
b020507894 fix(host): check min_free_kbytes size is enough (#22593) 2025-05-24 01:11:24 +08:00
屈轩
050932287f fix(cloudmon): add vm_ip metric for vm (#22587) 2025-05-22 10:54:03 +08:00
屈轩
eff18d4808 fix(cloudmon): vm metrics with ips (#22584) 2025-05-22 10:41:23 +08:00
屈轩
0bfc818173 fix(region): add filter for secgroup rule (#22579) 2025-05-21 19:27:11 +08:00
屈轩
acc6f28e27 fix(region): add account info for sec rules (#22576) 2025-05-21 18:40:14 +08:00
屈轩
8f786c2337 fix(region): allow create public server sku (#22570) 2025-05-21 14:43:21 +08:00
屈轩
15db145c2d fix(region): init aliyun storage medium type (#22565) 2025-05-20 21:48:39 +08:00
wanyaoqi
2f6ebb265a fix error when create vm with ceph disk (#22562)
Co-authored-by: liangkaijun <liangkaijun52013@gmail.com>
2025-05-20 21:27:22 +08:00
屈轩
cd5fb77c59 fix(region): user sync with ctx (#22556) 2025-05-19 18:09:31 +08:00
wanyaoqi
ad21f56e1f fix: vendor update 2505013 (#22519) 2025-05-19 01:50:07 +08:00
屈轩
4795331a8b fix(region): vendor update (#22545) 2025-05-16 11:19:55 +08:00
屈轩
cd44f8e218 fix(region): guest disk iops (#22541) 2025-05-15 15:46:08 +08:00
屈轩
2a3d2cb725 fix(region): change disk billing type (#22534) 2025-05-15 13:22:07 +08:00
屈轩
aa447b1d3f fix(region): show correct disk iops (#22537) 2025-05-15 12:48:34 +08:00
屈轩
78903516ed fix(common): avoid empty context (#22510) 2025-05-12 16:21:22 +08:00
屈轩
6bfc2da7e7 fix(notify): support notify with robotids (#22504) 2025-05-09 21:23:11 +08:00
屈轩
4930e191dc fix(region): vendor update (#22499) 2025-05-09 14:56:13 +08:00
屈轩
ae7d4f7d22 fix(common): obj id cache (#22496) 2025-05-09 14:50:37 +08:00
屈轩
927e74d42c fix(region): vendor update (#22490) 2025-05-08 18:36:28 +08:00
屈轩
3bd3e1204f fix(common): policy tag filter cache (#22486) 2025-05-08 15:57:15 +08:00
屈轩
f54bfdc5d6 fix(notify): add task_run const (#22483) 2025-05-07 20:15:28 +08:00
屈轩
10cb69326a fix(region): vendor update (#22468) 2025-04-27 16:13:15 +08:00
屈轩
e7d453409b fix(region): optimized policy query (#22457) 2025-04-27 11:56:32 +08:00
屈轩
958c8deb86 fix(region): vendor update (#22454) 2025-04-23 14:12:19 +08:00
Jian Qiu
eca32b85a2 fix: optimize filterByOwner query speed (#22445)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-04-20 18:16:54 +08:00
Jian Qiu
de40f28b18 fix: start sync status (#22443)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-04-20 18:16:39 +08:00
wanyaoqi
909c01b734 fix(host): lvm disk create from esxi (#22425) 2025-04-20 18:05:50 +08:00
Jian Qiu
9cfe1c2509 fix: webconsole referer whitelist (#22421)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-04-20 18:04:01 +08:00
Zexi Li
c2195b97ac fix(monitor): remove host type query filter (#22439) 2025-04-18 12:15:33 +08:00
wanyaoqi
8c817acf2a fix(monitor): telegraf config add host_ip tag (#22405) 2025-04-17 22:35:31 +08:00
Zexi Li
0dfed10e90 fix(monitor): getTagValues no data (#22434) 2025-04-17 11:09:26 +08:00
Zexi Li
280eb700a6 fix(scheduler): unused prometheus pkg (#22430) 2025-04-16 10:40:25 +08:00
Zexi Li
a9d8445603 fix(scheduler): disable prometheus metrics handler (#22428) 2025-04-16 10:35:03 +08:00
屈轩
ce77468604 fix(region): vendor update (#22424) 2025-04-15 19:39:14 +08:00
Jian Qiu
fa321a7a1d fix(host-health): check etcd client is reconnecting (#22420)
Co-authored-by: wanyaoqi <d3lx.yq@gmail.com>
2025-04-15 18:25:18 +08:00
Zexi Li
7b689a7de6 fix(monitor): support victoria metrics bottom query (#22417) 2025-04-15 15:17:03 +08:00
屈轩
3df60efa85 fix(climc): keystone pprof profile (#22407) 2025-04-14 15:28:32 +08:00
屈轩
acabecbb61 fix(keystone): password history check default 1 (#22411) 2025-04-14 15:27:44 +08:00
wanyaoqi
f0966a0296 fix(host): ignore errors on reconfigure vfio nic bandwidth (#22370) 2025-04-13 09:57:14 +08:00
屈轩
b02ef75216 fix(region): add custom total count (#22398)
Co-authored-by: fourhu <fourhu@foxmail.com>
2025-04-10 16:07:17 +08:00
屈轩
2a0ac9d196 fix(webconsole): require rdp input password (#22397) 2025-04-10 11:23:16 +08:00
屈轩
1fa3e39b4b fix(ansibleserver): show pretty error for ansible playbook (#22395) 2025-04-10 10:52:37 +08:00
屈轩
ae9647a060 fix(region): export metadata (#22393) 2025-04-09 18:44:44 +08:00
屈轩
3964086aae fix: update file repo docker script (#22389) 2025-04-09 17:27:14 +08:00
屈轩
3e564eefac fix(region): update gpu used usage (#22391) 2025-04-09 17:26:26 +08:00
屈轩
3cbecfb8ce fix(ansbileserver): update docker file (#22382) 2025-04-09 10:54:32 +08:00
屈轩
1cdcf58d2a fix(host-deployer): add tencentos support (#22383) 2025-04-09 09:48:49 +08:00
屈轩
6df5b9168b fix(region): add gpu unused usage (#22373) 2025-04-08 11:40:57 +08:00
Zexi Li
f28519bbbf fix(monitor): check measurement field (#22376) 2025-04-07 18:40:56 +08:00
Jian Qiu
1021d39c15 fix: hide image location (#22364)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-04-04 08:17:41 +08:00
Jian Qiu
54c4e78470 fix: set db connection keepalive options (#22357)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-04-03 19:52:29 +08:00
wanyaoqi
4edc483209 fix(region): guestdisk list add auto reset column (#22346) 2025-03-26 15:07:13 +08:00
wanyaoqi
2ff5f9331f fix(monitor): vm_net add bytes and packages measurements (#22342) 2025-03-26 15:06:13 +08:00
Jian Qiu
bcfb906879 fix: update vendor 20250325 (#22338)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-25 23:53:41 +08:00
Zexi Li
883a6c38e7 fix(scheduler,monitor): tls 3des (#22337) 2025-03-25 21:15:38 +08:00
Zexi Li
8cc49b3bee fix(monitor): wrong index of details (#22332) 2025-03-25 15:31:22 +08:00
Zexi Li
100575e6a8 fix(monitor): wrong TriggerTime (#22329) 2025-03-25 11:42:41 +08:00
Zexi Li
0c4b3784e0 optmized(monitor): query alertrecord by res_id (#22319) 2025-03-25 10:03:31 +08:00
屈轩
37dca8c6fc fix(region): vendor update (#22326) 2025-03-24 19:49:38 +08:00
Jian Qiu
aeb3b620ed fix: fail to delete sub images of composed guest image (#22281)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-19 22:26:55 +08:00
屈轩
33f7ca1681 fix(region): add post delete hook (#22302) 2025-03-19 10:13:48 +08:00
Zexi Li
9874b4af3f optimized(keystone): local sql auth by password (#22305) 2025-03-19 10:10:55 +08:00
屈轩
ea36eb2e82 fix(monitor): optimized alert list (#22298) 2025-03-18 19:52:35 +08:00
屈轩
2a4231658f fix(region): vendor update (#22293) 2025-03-18 16:16:15 +08:00
wanyaoqi
8e4d673139 fix(host): virtio nic add fdb record on has sriov nic (#22283) 2025-03-18 15:09:59 +08:00
Zexi Li
d34db8ebf5 fix(webconsole): disable 3des cipher suites (#22294) 2025-03-18 13:12:17 +08:00
Zexi Li
357b5c1f43 feat(monitor): support listing monitor_resource by alert_state (#22287) 2025-03-18 11:52:25 +08:00
wanyaoqi
2b60f5a217 fix(host): hotplug mem adaptation for guests no memdev (#22256) 2025-03-16 00:04:30 +08:00
屈轩
bd2ccad027 fix(region): vendor update (#22279) 2025-03-16 00:03:52 +08:00
屈轩
e5d1bbd245 fix(region): vendor update (#22274) 2025-03-14 09:59:21 +08:00
屈轩
a27a67f82a fix(climc): service config bool value (#22270) 2025-03-13 14:00:27 +08:00
屈轩
0edb97930e fix(region): show dump info when worker stuck (#22251) 2025-03-12 16:53:00 +08:00
Zexi Li
29438227a7 Merge pull request #22261 from zexi/automated-cherry-pick-of-#22259-upstream-release-3.11
Automated cherry pick of #22259: fix(webconsole,monitor): pprof handlers of gorilla mux
2025-03-11 12:27:43 +08:00
Zexi Li
6efd55eff3 fix(webconsole,monitor): pprof handlers of gorilla mux 2025-03-11 11:57:18 +08:00
wanyaoqi
47ad526e75 feat(glance,region,host): auto cache glance images to ceph storages (#22246) 2025-03-08 11:03:37 +08:00
Jian Qiu
bb31b2abfc fix: auto truncate sql string (#22243)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-08 10:46:33 +08:00
wanyaoqi
698aad1eb1 fix(host): change storage clone disk add encrypt info (#22229) 2025-03-08 08:59:23 +08:00
wanyaoqi
9408f234fa fix(host-deployer): set xfs default ftype 1 (#22233) 2025-03-06 11:16:19 +08:00
Zexi Li
1f215d316c fix(host): not purge isolated device when detaching it (#22224) 2025-03-05 19:33:24 +08:00
Jian Qiu
c25e1b5981 fix: glance always init s3 client (#22129)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-03 20:15:29 +08:00
Jian Qiu
58b90f1d9c fix: add summary-stats options (#22219)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-03 10:10:34 +08:00
Jian Qiu
4756215435 fix: disk copy to storage inherit classmeta (#22215)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-03-03 10:03:48 +08:00
wanyaoqi
1b37a6ab95 Fix/deploy guest add cpu vendor (#22206)
* fix(host-deployer): deploy guest add cpu vendor

* fix(host): host generate passwd use strong ruler
2025-02-28 14:12:28 +08:00
wanyaoqi
137d6a674c fix(host): shared lvm activte with auto activation option (#22189) 2025-02-27 16:05:05 +08:00
wanyaoqi
48453911ca feat(region,host): add guest disk auto reset on shutdown support (#22195) 2025-02-27 16:02:44 +08:00
屈轩
77efa95856 fix(esxi-agent): vendor update (#22203) 2025-02-27 14:49:24 +08:00
屈轩
b081dc43de fix(region): fast sync image (#22185) 2025-02-26 15:18:23 +08:00
屈轩
e03fc31ba2 fix(region): fix typo (#22182) 2025-02-25 17:11:51 +08:00
屈轩
3e43510b5c fix(region): allow create disk when vm running (#22171) 2025-02-25 12:02:12 +08:00
Zexi Li
4a4f529600 fix(monitor,webconsole): enable app profiling (#22176) 2025-02-24 19:51:31 +08:00
Jian Qiu
4a2e1cc26d fix: remove default values from cmtbound columns (#22157)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-02-24 17:32:06 +08:00
Jian Qiu
68aef7f31c fix: disable server TLS 1.0, 1.x and 1.2 SHA1 (#22168)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-02-24 17:30:09 +08:00
屈轩
f32665adf2 fix(region): 允许不同账号dns zone重名 (#22163) 2025-02-24 11:11:19 +08:00
wanyaoqi
12f27298b7 fix(region): lvm disk path add dev prefix (#22150) 2025-02-21 10:23:34 +08:00
wanyaoqi
1f2d2863b4 fix(region): lvm disk path add dev prefix (#22105) 2025-02-21 10:23:15 +08:00
wanyaoqi
4420290011 fix(host): check has vga use desc dev_type instead of host dev object (#22149) 2025-02-21 10:22:19 +08:00
wanyaoqi
f4bcf38f72 fix(host): add check default mem dev exist on hotplug (#22140) 2025-02-21 10:21:06 +08:00
Zexi Li
6e0f595d8a fix(climc): show ip column of action-show command (#22155) 2025-02-21 10:16:45 +08:00
Zexi Li
3bc77548b6 fix(monitor): always skip_check_series for metric-measurement api (#22145) 2025-02-19 19:57:30 +08:00
Zexi Li
d759f836ce fix(scheduler): 尽早发现子网ip不足引起的调度失败 (#22131) 2025-02-19 17:02:38 +08:00
屈轩
29a0d421fc fix(climc): support create vm with tags (#22127) 2025-02-19 16:50:10 +08:00
Zexi Li
60b8ea0021 fix(monitor): split tags and cloud_tags (#22122) 2025-02-18 18:29:37 +08:00
屈轩
368ebf5129 fix(region): avoid panic (#22118) 2025-02-18 15:52:54 +08:00
wanyaoqi
d1ad8f7998 Automated cherry pick of #22085: fix(host): update host-base to v0.7.0 (#22108)
* fix(host): update host-base to v0.7.0

* fix(cronjob): init timezone, timer set location
2025-02-15 00:02:43 +08:00
屈轩
f7f42b0d56 fix(region): support change vm billing type (#22103) 2025-02-14 11:33:44 +08:00
屈轩
c1934735f1 fix(region): skip sync server status time range (#22100) 2025-02-13 15:18:14 +08:00
Zexi Li
3eab8e495f fix(lbagent): telegraf configuration panic (#22095) 2025-02-13 12:29:44 +08:00
屈轩
3820efa0b4 fix(region): 跳过esxi存储找不到的关联宿主机 (#22083) 2025-02-12 12:04:48 +08:00
Zexi Li
b176297a30 fix(monitor): not split resource when notifying (#22078) 2025-02-10 19:50:06 +08:00
wanyaoqi
4dcf4283a5 fix(host,host-image): use nbd export images (#22073) 2025-02-10 14:16:18 +08:00
屈轩
135fa82ee1 fix(webconsole): avoid high cpu load (#22069) 2025-02-06 15:47:18 +08:00
屈轩
518bd57bcb fix(region): avoid panic (#22067) 2025-02-06 14:42:59 +08:00
屈轩
e5c8ca496b fix(region): aliyun disk resize (#22062) 2025-02-05 21:04:51 +08:00
Jian Qiu
eacf7444c0 fix: separate backup worker (#22063)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-02-05 20:20:37 +08:00
wanyaoqi
e06fbef9f0 fix(host): check image desc is empty (#22058)
image.inf record chksum or image id not matched will cause image desc empty
2025-02-05 18:54:09 +08:00
屈轩
7848a2eacc fix(region): resize cloud_auto disk (#22060) 2025-02-05 18:03:50 +08:00
屈轩
95b4c9dab0 fix(region): avoid panic (#22055) 2025-02-05 17:57:05 +08:00
Jian Qiu
e9ae6171b5 fix: task fetch duplicated id error (#22052)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-02-05 15:03:27 +08:00
Jian Qiu
2677a402fc fix: image cache use specific workers (#22047)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-02-05 11:33:41 +08:00
Zexi Li
8ca9fd5640 optimized(scheduler): reduce scheduling time (#22031) 2025-02-05 10:25:27 +08:00
屈轩
2143052cac fix(region): avoid panic (#22049) 2025-02-05 09:56:06 +08:00
wanyaoqi
5b3bb19a84 fix(region): hosts_tbl sys_info use longtext (#22042) 2025-01-29 23:59:36 +08:00
wanyaoqi
a3265c0370 fix(host): support sata ahci controller (#22040) 2025-01-29 23:58:43 +08:00
Jian Qiu
65199c6487 fix: notify empty receipients (#22043)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-29 21:13:12 +08:00
wanyaoqi
83477a7150 fix(glance): donot umount s3fs on glance exit (#22038) 2025-01-28 18:51:44 +08:00
wanyaoqi
7a19870f54 fix(region,host): slvm snapshot delete and instance snapshot purge (#22021) 2025-01-26 19:37:57 +08:00
Zexi Li
63e6043e0a customized(monitor): check whether the measurement field exists in victoriametrics (#22029) 2025-01-26 12:24:06 +08:00
wanyaoqi
23d9cc2a55 feat(region,host): hostpinger add cpu usage percent report (#22007) 2025-01-25 15:54:57 +08:00
Jian Qiu
016f93ec2c fix: support server change ipv6 address (#22014)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-25 15:39:52 +08:00
Zexi Li
266732b9b0 fix(glance): query vmware account brand (#22018) 2025-01-24 11:51:50 +08:00
屈轩
06c901897b fix(climc): apigateway endpoint type (#22013) 2025-01-23 14:39:12 +08:00
Jian Qiu
569fa010b7 fix: is_classic is missing from network details (#21995)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-21 16:25:25 +08:00
屈轩
0a432e16c4 fix(apigateway): set scope policy binding project id query (#21999) 2025-01-20 17:50:45 +08:00
Jian Qiu
4f3e35f110 fix: add summary statistics switch (#21992)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-18 20:14:52 +08:00
Zexi Li
a5c5b7ac39 fix(host): skip detect device that is not GPU class (#21984) 2025-01-18 06:14:26 +08:00
屈轩
7dd7c005f6 fix(region): export excel float (#21981) 2025-01-16 11:54:51 +08:00
wanyaoqi
e94f62d511 fix(region): snapshot policy with multi disk on same guest (#21949)
fix(region): delete overdued snapshots on cleanup snapshot task only
2025-01-16 10:42:56 +08:00
Zexi Li
e30f782bb1 fix(host): wrap qemu machine info error (#21972) 2025-01-14 20:49:58 +08:00
Jian Qiu
fae0a0dd7e fix: image update input struct param (#21963)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-14 02:17:55 +08:00
屈轩
daaf2305e7 fix(region): tags export (#21960) 2025-01-13 16:49:50 +08:00
wanyaoqi
9734c5187c fix(region): host list add hide cpu topo info option (#21946) 2025-01-13 13:54:40 +08:00
屈轩
3d1befff66 fix(region): vendor update (#21941) 2025-01-08 18:47:33 +08:00
屈轩
5c77ddcf00 fix(region): loadbalancer listener create input (#21938) 2025-01-08 18:31:32 +08:00
wanyaoqi
12f5f83fce fix(region): record snapshot last attched host on delete disk (#21925) 2025-01-07 20:43:00 +08:00
屈轩
a9816b929f fix(region): fetch lb backend owner (#21931) 2025-01-07 09:40:13 +08:00
Jian Qiu
b25f1f356b fix: backup storage support sign version (#21914)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-01 10:11:12 +08:00
wanyaoqi
4e0df86bf1 Fix/host load servers (#21894)
* fix(host): load disks init scsi bus

* fix(region,host): delete instance snapshot progress incorrect
2024-12-30 10:31:34 +08:00
Jian Qiu
525e93445e fix: add more filters to isolated_device (#21907)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-12-30 10:29:53 +08:00
wanyaoqi
843e6b8e29 Automated cherry pick of #21804: [WIP] fix: add more action log (#21875)
* fix: add more action log

* fix(region): add set cmt bound action
2024-12-29 23:08:36 +08:00
屈轩
4c18310404 fix(region): skip record conflict error (#21899) 2024-12-26 09:46:50 +08:00
屈轩
b6b5523822 fix(region): qcloud rds cpu option (#21892) 2024-12-25 10:54:48 +08:00
wanyaoqi
5e3a7f82cd fix(host): delete snapshot from storagehandler misc fix (#21883) 2024-12-23 20:43:32 +08:00
Zexi Li
8818e68e75 fix(monitor): unknown column returned when group by name tag (#21870) 2024-12-20 18:00:42 +08:00
Zexi Li
cee4111854 fix(baremetal): panic when save desc (#21864) 2024-12-20 16:18:31 +08:00
屈轩
dc8207ba41 fix(cloudmon): skip pull k8s service info (#21863) 2024-12-20 15:49:33 +08:00
屈轩
375d73dd1f fix(devtool): remove duplicate init db (#21857) 2024-12-20 15:34:47 +08:00
屈轩
f9f24ac560 fix(climc): avoid showing help twice (#21860) 2024-12-20 15:34:02 +08:00
wanyaoqi
26999afa35 fix(region): disk show io throttles (#21832) 2024-12-20 11:41:22 +08:00
wanyaoqi
2419a6f8db fix(host): optimize storage register failed wiht dup name (#21835) 2024-12-20 11:40:14 +08:00
屈轩
8915c4408d fix(region): expand rds maintain time field length (#21840) 2024-12-20 11:14:58 +08:00
wanyaoqi
f22d54b94a fix(climc): host-show hide long content sys_info nic_info metadata (#21851) 2024-12-20 11:11:48 +08:00
屈轩
8813a99a7a fix(region): host order by commit (#21854) 2024-12-20 09:57:35 +08:00
屈轩
5c46e663a3 fix(cloudmon): optimize service metric collect (#21847) 2024-12-19 18:48:31 +08:00
Zexi Li
74f4acedb7 fix(host): make telegraf configuration log to debug (#21842) 2024-12-19 15:56:14 +08:00
屈轩
c87eb001c9 fix(region): host custom total count (#21830) 2024-12-19 11:33:58 +08:00
Jian Qiu
a7a0d57830 fix: enfore mfa (#21802)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-12-17 19:39:51 +08:00
屈轩
194f9412b1 fix(apigateway): totp_issuer (#21825) 2024-12-17 19:37:10 +08:00
屈轩
1b62580dce fix(scheduledtask): add handler for scheduledtask (#21821) 2024-12-17 19:26:10 +08:00
Zexi Li
32bb02f443 fix(host): fix the rtl8139 NIC information is missing (#21818)
Co-authored-by: 云原生驿站 <33771248+CloudCourierStation@users.noreply.github.com>
2024-12-17 10:36:54 +08:00
屈轩
9d666573c0 fix(region): vendor update (#21810) 2024-12-16 16:42:00 +08:00
Zexi Li
ba2b03b2dc fix(baremetal-agent): adjust redfish http client timeout to 60s (#21790) 2024-12-13 10:39:18 +08:00
屈轩
bc63b300cd fix(region): skip cloudpods vm kernel check (#21796) 2024-12-12 19:23:38 +08:00
Zexi Li
3a5a8ba6ca feat(webconsole): keep_websocket_session option (#21783) 2024-12-11 14:26:37 +08:00
屈轩
64652c4656 fix(keystone): avoid remove project metadata when join organization node (#21763) 2024-12-07 20:58:45 +08:00
Zexi Li
93c06cf715 feat(monitor): add min and max aggregator (#21765) 2024-12-07 20:58:31 +08:00
屈轩
9478982cf0 fix(region): keep cloudpods vm empty password (#21760) 2024-12-06 18:10:08 +08:00
屈轩
5bcbecf5bb fix(region): managed vm migrate info (#21756) 2024-12-05 19:33:21 +08:00
屈轩
5191a3b7f2 fix(region): sync managed vm status (#21752) 2024-12-05 16:39:04 +08:00
屈轩
b2766640ef fix(region): managed vm migrate (#21749) 2024-12-05 16:18:16 +08:00
屈轩
667e3a4f7c fix(region): cloudpods vm migrate (#21746) 2024-12-05 14:39:18 +08:00
屈轩
b373e74560 fix(region): vendor update (#21742) 2024-12-05 12:33:36 +08:00
屈轩
6bcee5cbed fix(cloudmon): sync cloudproviders (#21733) 2024-12-04 09:42:41 +08:00
屈轩
d5469ae918 fix(apigateway): add service settings info (#21721) 2024-12-04 09:41:25 +08:00
Zexi Li
2280def838 fix(monitor): clone alert dashboard (#21727) 2024-12-03 10:06:04 +08:00
wanyaoqi
2857dcaef2 fix(host,host-deployer): start deployer guest with all of disk (#21710) 2024-12-02 14:58:52 +08:00
wanyaoqi
d463a945f7 fix(scheduler,region): fill resource info check guest is in pending usage (#21675) 2024-11-27 10:58:04 +08:00
Zexi Li
db83d01929 Automated cherry pick of #21692: fix: complete monitor metrics (#21695)
* fix: complete monitor metrics

* fix(monitor): remove container related metrics

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-26 14:45:29 +08:00
wanyaoqi
c8510d007e fix(host): generate ceph conf dup monHosts (#21687) 2024-11-26 14:07:24 +08:00
Zexi Li
c4324e25e6 fix(monitor): set default query select and group by for alerting and panel (#21672) 2024-11-22 19:20:31 +08:00
Zexi Li
da7e2a010a feat(monitor): list alertrecords by res_id (#21667) 2024-11-22 16:54:37 +08:00
Zexi Li
b4852c75cd fix(monitor): raw_name of influxdb query (#21661) 2024-11-22 15:52:59 +08:00
屈轩
35c0dde143 fix(region): avoid panic (#21658) 2024-11-22 14:53:06 +08:00
wanyaoqi
175a354c4f fix(host): import from libvirt parse live xml (#21648) 2024-11-22 14:51:49 +08:00
屈轩
69780561f9 fix(cloudid): vendor update for azure iam (#21643) 2024-11-20 20:15:47 +08:00
屈轩
38e82e262a fix(region): vendor update for azure vm create (#21638) 2024-11-20 15:12:29 +08:00
Zexi Li
12fe3fa05c feat(monitor): support sorting reduced result (#21635) 2024-11-20 11:17:07 +08:00
Zexi Li
e96810ef0c fix(monitor): set default aggregator and group by for alert model (#21629) 2024-11-19 14:56:26 +08:00
Zexi Li
36a616d575 fix(monitor): inject ResType (#21625) 2024-11-19 14:00:15 +08:00
Zexi Li
ce913c10e0 Automated cherry pick of #21619: support telegraf linux_sysctl_fs (#21621)
* support telegraf-sysctl

* feat(monitor): add linux_sysctl_fs measurement
2024-11-18 20:04:26 +08:00
屈轩
cb8ab4b052 fix(region): add lb backend group count and listener count for lb details (#21609) 2024-11-17 22:47:16 +08:00
Zexi Li
ef7762d758 fix(region): not sync status when attaching and detaching disk (#21605) 2024-11-14 21:28:25 +08:00
屈轩
2883aeb870 fix(region): shareable virtual resource query (#21598) 2024-11-14 20:35:17 +08:00
屈轩
e102d90486 fix(region): remove dstack (#21601) 2024-11-14 20:32:23 +08:00
Zexi Li
0718d2abe6 fix(monitor): raw_name of group_by (#21594) 2024-11-14 18:01:03 +08:00
屈轩
d53802e0bc fix(region): allow disable default policy (#21587) 2024-11-14 14:42:40 +08:00
屈轩
e546326539 fix(region): add actual capacity used usage (#21574) 2024-11-12 11:35:06 +08:00
Zexi Li
6c60044bcb fix(monitor): alert notification details (#21578) 2024-11-12 11:28:16 +08:00
屈轩
5ac7edf489 fix(region): filter unused snapshot (#21563) 2024-11-12 11:16:18 +08:00
Zexi Li
583d5be908 fix(monitor): add metric content for email template (#21569) 2024-11-11 16:09:45 +08:00
Jian Qiu
8f356b65a2 fix: disable default dns domain cloud.onecloud.io (#21560)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-08 10:09:21 +08:00
屈轩
0b79844c12 fix(region): vendor update for gcp disk name length (#21556) 2024-11-07 15:00:04 +08:00
Jian Qiu
4c0fa9a6fe fix: telegraf kakfa ordered configuration (#21550)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-07 09:49:48 +08:00
屈轩
cb409c75b8 fix(glance): image stream worker count (#21538) 2024-11-07 09:48:31 +08:00
Zexi Li
0b791de55f feat(region,climc): server-set-root-disk-matcher (#21545) 2024-11-06 18:53:15 +08:00
Zexi Li
259ddccb04 fix(monitor): 修复报警恢复时包含其他资源的问题 (#21542) 2024-11-06 18:52:25 +08:00
屈轩
bb1d55b944 fix(notify): show pretty notify error (#21533) 2024-11-06 10:05:13 +08:00
wanyaoqi
be112dd6cc fix(region,host): storage add master host (#21470) 2024-11-06 10:03:41 +08:00
屈轩
d45514a104 fix(monitor): add order index for monitor panel (#21529) 2024-11-05 17:31:55 +08:00
Zexi Li
e1f524e832 feat(monitor): add system and processes host metrics (#21524) 2024-11-04 19:17:26 +08:00
屈轩
6b39ee756f fix(region): vendor update for disable esxi swap (#21516) 2024-11-04 15:09:23 +08:00
Zexi Li
8eaf118118 fix(region): not set PrimaryZone when no dns_domain configured (#21512) 2024-11-04 12:40:01 +08:00
Jian Qiu
1d51a4fb21 fix: disk filter by storage host (#21500)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-31 01:49:37 +08:00
Jian Qiu
2ac233d40b feature: kafka telegraf output options (#21495)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-30 12:32:50 +08:00
屈轩
13c3ea0ee0 fix(region): vendor update (#21490) 2024-10-29 18:26:13 +08:00
屈轩
8aa76d2176 fix(region): 避免翻页查询导致公有云实例被误清除 (#21481) 2024-10-28 16:41:06 +08:00
屈轩
03e7dcd2b7 fix(region): purge manager quota (#21478) 2024-10-28 15:50:43 +08:00
Zexi Li
5033905cd1 feat(webconsole): disable command recording defaultly (#21468) 2024-10-25 21:55:37 +08:00
屈轩
e3779e2c81 fix(cloudmon): cloudpods metric sync (#21461) 2024-10-25 17:26:20 +08:00
wanyaoqi
547c3b939a fix(region,host): ceph add enable messenger v2 options (#21443) 2024-10-25 10:15:59 +08:00
屈轩
06ca635327 fix(region): vendor update (#21441) 2024-10-22 19:57:54 +08:00
Jian Qiu
8da3c5aa02 fix: host bond slave nic should use permaddr as mac (#21434)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-20 14:42:20 +08:00
屈轩
e3a4b93205 fix(region): support cloudpods secrule ops (#21429) 2024-10-18 16:48:09 +08:00
屈轩
aa7197c53a Revert "fix(region): account probe lock" (#21426)
This reverts commit 7f90d38e5f.
2024-10-18 16:08:07 +08:00
屈轩
87b710ef58 fix(region): add interface field length (#21420) 2024-10-18 09:52:17 +08:00
Zexi Li
833dfcc6e2 fix(scheduler): avoid_same_host 策略分数过高导致调度分配不均 (#21415) 2024-10-16 10:23:22 +08:00
Zexi Li
ceb5598041 fix(webconsole): ssh randomly exited error (#21409) 2024-10-14 14:51:09 +08:00
wanyaoqi
6087afa546 fix(region): fix default network on get desc (#21395) 2024-10-14 12:35:51 +08:00
wanyaoqi
80870e97ad fix(host-deployer): update host-deployer-base to 1.4.9 (#21402) 2024-10-12 14:14:00 +08:00
wanyaoqi
a1bf4c7b6c fix(host-deployer): do not clean spool dir on save image (#21399) 2024-10-12 10:08:56 +08:00
wanyaoqi
d82c7bc5a5 fix(host): set ssd disk default scheduler none (#21358) 2024-10-12 10:03:17 +08:00
wanyaoqi
a266f4ccc2 fix(host,glance): qemuimg convert optimize, allow write out of order and increase coroutines (#21373) 2024-10-12 10:01:23 +08:00
屈轩
123b51a321 fix(region): storage conf update (#21393) 2024-10-11 18:05:07 +08:00
屈轩
568b781177 fix(region): gcp security group check (#21389) 2024-10-11 17:54:03 +08:00
屈轩
9c894020c9 fix(common): compatible metadata mod find (#21385) 2024-10-11 16:40:03 +08:00
Zexi Li
0c9f0314c7 feat(apigateway): add rpc methods of scheduler for apigateway (#21378) 2024-10-10 19:07:35 +08:00
wanyaoqi
1641c178b9 fix(region): check disk is deleted on delete snapshot (#21367) 2024-10-09 21:48:37 +08:00
wanyaoqi
71fbb8336e fix(host): reconnect qga on failed exec qga commands (#21355) 2024-10-08 10:13:54 +08:00
wanyaoqi
ceff4b7330 fix: fix slice init length (#21349)
Co-authored-by: cui fliter <imcusg@gmail.com>
2024-10-07 20:09:28 +08:00
wanyaoqi
2c51ca5e1e fix(region,scheduler): allow req cpu count zero on allocate cpunumapin (#21345) 2024-10-03 20:03:23 +08:00
Jian Qiu
4811fcf99e fix: cloud account filter revisit (#21341)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-01 08:49:15 +08:00
wanyaoqi
ecc41e4b3d fix(host): refact qga connection ops (#21335) 2024-09-29 22:53:11 +08:00
Jian Qiu
7254fa5f11 fix: host report ovs kmod version and ksm status (#21327)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-28 20:27:07 +08:00
Zexi Li
af85934ac8 fix(region): make parseDeviceInfo error clear (#21323) 2024-09-28 18:35:38 +08:00
Jian Qiu
e0ba8db6f1 fix: upgrade sqlite3 to 1.14.19 (#21317)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-27 07:18:16 +08:00
wanyaoqi
a39eb5813f Automated cherry pick of #21312: Automated cherry pick of #20996: fix(region,host): lvm snapshot delete and create from backup (#21313)
* fix(region,host): lvm snapshot delete and create from backup

* fix(host): slvm delete snapshot and save images

* fix(host): add option boot vga pci addr

* fix(host): slvm active exclusive mode on convert snapshot
2024-09-27 00:37:18 +08:00
wanyaoqi
6a3ddc131a fix(host): check qga is init on check qga runing (#21308) 2024-09-27 00:35:00 +08:00
屈轩
a4f086fa6e fix(region): filter cloudproviders by regional network zone (#21287) 2024-09-24 18:10:16 +08:00
Jian Qiu
05c704d444 fix: remove metadata server from host (#21278)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-21 22:52:08 +08:00
屈轩
9afdbb32b5 fix(region): kvm user-data (#21240) 2024-09-20 20:41:48 +08:00
屈轩
72a70d5ec2 fix(region): disk metadata with server (#21254) 2024-09-19 09:54:53 +08:00
Jian Qiu
a374b4910c fix: host build image use go 1.21 (#21265)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-19 03:20:25 +08:00
Jian Qiu
7e39ab816b fix: update vendor 20240919 3.11 (#21259)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-18 22:24:06 +08:00
Jian Qiu
3d11283f81 fix: update vendor 3.11 20240917, upgrade go to 1.21 (#21249)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-18 17:15:01 +08:00
Jian Qiu
79b6fe5113 fix: update vendor 20240916 (#21245)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-16 19:08:39 +08:00
Jian Qiu
a33aca15de fix: prevent access from anonymous user (#21241)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-14 19:36:32 +08:00
wanyaoqi
2e533b3a46 fix(region): guest without cpunumapin don't set params on save schedule result (#21233) 2024-09-14 10:11:28 +08:00
Zexi Li
f3cd59d5ca Automated cherry pick of #21079: 1、裸金属删除时,GuestUndeployTask会出现无法调用任务完成方法OnGuestUndeployComplete,导致任务卡住的情况 (#21231)
* 1、裸金属删除时,GuestUndeployTask会出现无法调用任务完成方法OnGuestUndeployComplete,导致任务卡住的情况 2、裸金属删除时,回调用baremetal-agent的sync-config接口不止一次,调用时出现请求参数没有传递server_id情况,导致在OnPXEBoot调用getServer时删除了baremetal的server信息,致使后面的DoEraseDisk方法报错

* 1、裸金属删除时,GuestUndeployTask onInit去掉host不为空时的SetStageComplete函数

---------

Co-authored-by: gj <gj@qq.com>
2024-09-13 14:36:54 +08:00
Zexi Li
c2a0620df2 feat(climc): add public/private command for k8s-container-registry (#21230) 2024-09-13 14:34:51 +08:00
屈轩
734aeef43f fix(cloudmon): vendor update for aws gcp cpu metric (#21227) 2024-09-13 11:58:37 +08:00
Zexi Li
7c70b7628c feat(monitor): filter monitor_resource_alert by ip (#21219) 2024-09-12 11:01:06 +08:00
Zexi Li
1fa397b1bb fix(moniotr): filter dirty resource alerts (#21214) 2024-09-12 10:04:50 +08:00
Zexi Li
683b1c252f fix(climc): monitor-alert-test-run prints result error (#21210) 2024-09-11 20:04:25 +08:00
Zexi Li
4dcdc5c419 optimized(monitor): keep 2 precision of reduced value (#21206) 2024-09-11 16:36:01 +08:00
屈轩
b6c3d9d168 fix(region): sync remove guest whith network address (#21201) 2024-09-10 14:25:45 +08:00
屈轩
9cb2900afc fix(log): add offline export i18n (#21195) 2024-09-10 14:24:55 +08:00
Zexi Li
f14fce685a feat(apigateway): report k3s environment (#21198) 2024-09-10 14:24:16 +08:00
Jian Qiu
88eff2afab fix: climc server-detach-network --force (#21192)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-10 09:58:37 +08:00
Zexi Li
5bb7d1176d optimized(apigateway): use ssh for climc pod cloud shell (#21180) 2024-09-09 16:03:02 +08:00
屈轩
19c3c8bc01 fix(cloudid): cloud policy sync (#21174) 2024-09-06 11:49:02 +08:00
wanyaoqi
15553290e1 fix(host-deployer): update host-deployer-docker base (#21176) 2024-09-06 11:25:39 +08:00
屈轩
5ca05eef84 fix: support apigateway for cloudpods (#21164) 2024-09-06 00:38:37 +08:00
Zexi Li
6af40b96c6 fix(monitor): support or filter of query (#21169) 2024-09-05 20:10:18 +08:00
屈轩
ead18eae11 fix(region): disk update disk type (#21161) 2024-09-04 10:44:38 +08:00
wanyaoqi
9e2108e886 fix(host): rbd save image use /opt/cloud temp dir (#21152) 2024-09-04 10:43:17 +08:00
Jian Qiu
ece3641bcb fix: telegraf config file format error (#21146)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-03 11:03:10 +08:00
屈轩
8290c3b75d fix(region): sync worker hashring (#21128) 2024-09-02 20:08:18 +08:00
Zexi Li
7ff19556bd optimize(host): wrap updateOrCreateHost error (#21140) 2024-09-02 13:28:22 +08:00
Jian Qiu
d4426ea8dc fix: update vendor for dameng TEXT_EQUAL (#21136)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-01 20:19:23 +08:00
wanyaoqi
426038d4b7 fix(region): allow guest create on cannot detect image props (#21129) 2024-09-01 20:18:06 +08:00
Jian Qiu
75df132f99 fix: migrate ipv6 routes from physical interface to bridge (#21131)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-01 20:16:36 +08:00
Zexi Li
ecef940442 fix(monitor): delete default group by and mean aggregator (#21115) 2024-08-29 10:03:37 +08:00
Zexi Li
7c891bbbb9 fix(climc): host-ssh is not working (#21113) 2024-08-27 16:25:31 +08:00
Zexi Li
7f044678d2 fix(monitor): skipCheckSeries when aggregator is sum (#21105) 2024-08-27 10:40:59 +08:00
屈轩
62dfa252cd fix(region): sync aliyun gtm and aws traffic policy address (#21104) 2024-08-26 20:55:31 +08:00
Zexi Li
2bd23b1910 fix(monitor): only show MEAN and SUM aggregators (#21098) 2024-08-26 17:39:51 +08:00
wanyaoqi
2f849b318d fix(host): nbd worker count add options (#21094) 2024-08-26 17:28:47 +08:00
屈轩
6f5f7e96f7 fix(region): set security group domain id (#21093) 2024-08-26 17:27:06 +08:00
Jian Qiu
dbf7b5f67d fix: extend query with metadata field (#21085)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-23 11:30:22 +08:00
Zexi Li
8c8dfc5557 feat(monitor): result reducer for query result (#21072) 2024-08-22 15:43:45 +08:00
Zexi Li
3458d95e83 optimze(baremetal): dhcp prefix hints (#21073) 2024-08-22 15:27:18 +08:00
屈轩
f7d0085af8 fix(region): filter eips by associated (#21067) 2024-08-21 10:51:07 +08:00
Zexi Li
cb2805f66f optimize(region,host): add details error message when adding net interface (#21061) 2024-08-20 18:38:50 +08:00
Jian Qiu
b8bed4a2cd fix(host): migrate slave addresses and routes from physical nic to bridge (#21042)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-19 10:19:16 +08:00
Jian Qiu
c247550d89 fix: climc command to public/private dns-zone (#21055)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-19 10:18:20 +08:00
屈轩
bb57530794 fix(cloudmon): 避免cloudmon任务堆积导致大量请求 (#21049) 2024-08-19 10:17:22 +08:00
wanyaoqi
e6cb8e047a fix(region): try recover image cache on guest migrate (#21026) 2024-08-16 10:29:38 +08:00
wanyaoqi
c6252cd527 Automated cherry pick of #21039: fix(region,host,host-deployer): deploy guest ssh port add lock (#21041)
* fix(host): check nodes count on alloc cpuset

* fix(host-deployer): get ssh port add lock

* feat(region): guest clone add prefer host
2024-08-16 09:56:48 +08:00
Jian Qiu
bd6b05587a fix: filter islated devices capability info by zone (#21035)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-15 09:37:49 +08:00
Jian Qiu
a781121c3f fix: support keylike search (#21031)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-15 09:36:13 +08:00
屈轩
bc20d62087 fix(region): sync kvm secgroup status (#21019) 2024-08-14 11:37:48 +08:00
Zexi Li
0ac34ecf2d fix(baremetal): ignore 0.0.0.0 ipmi address when probing (#21007) 2024-08-13 17:43:57 +08:00
屈轩
baf914f635 fix(region): custom total count (#21000) 2024-08-12 15:48:07 +08:00
屈轩
ffe8a0816e fix(region): vendor update (#20994) 2024-08-12 09:52:30 +08:00
屈轩
b72eab269d fix(region): auto clean invalid cached images (#20816) 2024-08-09 09:42:16 +08:00
wanyaoqi
3c1d703faa fix(region): validate guestdisk cache/io mode on upadte (#20983)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-08-09 09:40:53 +08:00
wanyaoqi
91dff4fe90 fix(host): clean image cache check local reference (#20950) 2024-08-09 09:40:08 +08:00
屈轩
5dca24586c fix(region): vendor update for lb backend sync (#20977) 2024-08-07 18:50:44 +08:00
屈轩
65859262f1 fix(region): send notify when vpc or network created (#20929) 2024-08-07 11:55:05 +08:00
屈轩
e02ce67cf6 fix(region): show status info with list api (#20944) 2024-08-07 11:54:05 +08:00
wanyaoqi
d79217059b fix(host-deployer): add cpu mem hotplug udev rules (#20961) 2024-08-06 09:07:05 +08:00
wanyaoqi
f18fd960d2 fix(host): too much qga ping logs (#20955) 2024-08-05 14:47:15 +08:00
wanyaoqi
6f3f9cb058 fix(region,scheduler): sub pending usage on select cpu numa pin (#20948)
- reset guest cpu numa pin before start guest
- sub pending usage on select cpu numa pin
- hypervisor pod record pending usage
- add core:threads pair allocate, use same core threads first

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-08-02 10:22:53 +08:00
wanyaoqi
9f8945886c fix(region): cpu numa pin guest sched start (#20939) 2024-07-31 21:36:23 +08:00
wanyaoqi
4690c2307d feat(region,host,scheduler): scheduler support allocate cpu numa pin (#20372) 2024-07-30 19:10:18 +08:00
Zexi Li
72f8cd2617 feat(monitor): multiple alerts of resource (#20908) 2024-07-30 16:15:37 +08:00
屈轩
3ce3d803d2 fix(cloudmon): 避免产生大量操作日志 (#20920) 2024-07-30 14:42:06 +08:00
屈轩
e85a9ea129 fix(region): vendor update (#20912) 2024-07-30 09:33:09 +08:00
Zexi Li
57a9ac2688 fix(monitor): add pps_sent/recv metric for query (#20913) 2024-07-29 20:58:41 +08:00
Jian Qiu
2b59cf326c fix: opsadmin deny host perform login-info (#20905)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-29 13:21:48 +08:00
屈轩
767e68a5a7 fix(keystone): change user mobile field character set to utf8 (#20899) 2024-07-27 13:50:04 +08:00
Zexi Li
3b141651a6 fix(mointor): multiple duplicated message (#20889) 2024-07-25 15:26:35 +08:00
wanyaoqi
558d310bea feat(regin,host,host-deployer): qga deploy and fsdriver (#20813)
- host-deployer add deploy qga support
- host add qga partition fsdriver
- qga set network use fsdriver
- hostpinger sync qga status
2024-07-25 11:49:22 +08:00
屈轩
9fd7fca9b5 fix(cloudid): cloudid resource sync worker (#20877) 2024-07-25 11:19:06 +08:00
Zexi Li
62ac71ccc0 feat(webconsole): add secret_level property inside query data (#20881) 2024-07-24 17:41:13 +08:00
屈轩
ede5e6af50 fix(region): keypair id typo (#20874) 2024-07-24 14:35:40 +08:00
wanyaoqi
aeb14820c6 fix(region,host): slvm disk create use guest host lvm disk create from backup (#20852)
* fix(region): slvm disk create use guest host

* fix(host): lvm disk create from backup
2024-07-22 15:12:57 +08:00
Zexi Li
0246770fa5 feat(apigateway): report docker-compose-baremetal running environment (#20865) 2024-07-22 15:11:43 +08:00
Zexi Li
a79927f825 feat(monitor): add inodes_used_percent metric (#20847) 2024-07-20 11:57:11 +08:00
屈轩
c31bca3052 fix(region): host nic info (#20861) 2024-07-20 11:56:08 +08:00
Zexi Li
fd5fdb630e feat(monitor): update influxql-to-metricsql@v0.0.7 to support percentile aggregator (#20833) 2024-07-17 22:59:06 +08:00
屈轩
234d8da1cb fix(region): add storage name for snapshot (#20829) 2024-07-17 22:55:49 +08:00
屈轩
7c90f63e8d fix(region): support baremetal server as lb backend (#20839) 2024-07-17 22:54:11 +08:00
屈轩
eb72ec047d fix(region): vendor update for qcloud lb backend sync (#20824) 2024-07-17 14:17:28 +08:00
屈轩
ff88eb87ca fix(cloudid): distinct field for cloudid resources (#20820) 2024-07-17 10:12:58 +08:00
Jian Qiu
6cd471633c fix: always add static routes for metadata server (#20808)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-17 10:07:07 +08:00
屈轩
5e7ba9a55e fix(region): check user credential length when exec task (#20793) 2024-07-16 11:20:07 +08:00
Zexi Li
969ed95b60 feat(host): add interface meta tags of netio metrics (#20774) 2024-07-12 10:18:17 +08:00
Zexi Li
75ae9d50fc feat(region,baremetal): validate ipmi info (#20789) 2024-07-12 10:17:57 +08:00
屈轩
92d9c44271 fix(notify): avoid empty email addr (#20799) 2024-07-12 10:10:42 +08:00
屈轩
acd488424b fix(region): vendor update (#20802) 2024-07-12 10:10:07 +08:00
Zexi Li
b0d187bb12 fix(baremetal): some tasks don't implement IServerBaseDeployTask interface (#20784) 2024-07-10 16:15:22 +08:00
屈轩
49f635bde6 fix(region): optimized host-list speed (#20779) 2024-07-10 16:14:29 +08:00
屈轩
254838b72d fix(region): optimized guest list speed (#20760) 2024-07-10 16:12:39 +08:00
wanyaoqi
ed03ae1e75 fix(host): disk reset with encryption (#20764) 2024-07-10 16:11:24 +08:00
屈轩
ea77941b08 fix(region): show pretty cdrom info for server (#20777) 2024-07-10 16:10:10 +08:00
屈轩
b72a9a91f4 fix(region): auto sync remove lb public ip (#20773) 2024-07-09 17:50:55 +08:00
Zexi Li
9d90fb6a04 fix(scheduler,baremetal): match RAID and PCIE storages in range (#20767)
The index of PCIE storages is not reindex when range is provided.
2024-07-09 11:11:55 +08:00
屈轩
36a8428f24 fix(region): enable create cloudpods vm with iso image (#20747) 2024-07-08 21:32:06 +08:00
屈轩
80edd74260 fix(notify): avoid panic when mobile not set (#20745) 2024-07-08 21:31:24 +08:00
Jian Qiu
600a8801f1 fix: turn on ethtool gso by default (#20754)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-08 21:30:24 +08:00
Jian Qiu
1530cab756 fix: server update nic sub ips (#20758)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-08 17:25:31 +08:00
屈轩
8931d292ca fix(climc): auto enable storage when switch s3 on (#20728) 2024-07-07 09:47:01 +08:00
Jian Qiu
a0eeb4b27d fix: fail to perform host remove netif (#20738)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-07 09:02:39 +08:00
屈轩
75154ca3ea fix(region): 补充部分翻译 (#20749) 2024-07-07 09:01:49 +08:00
wanyaoqi
35fc11cdd5 fix(region,host): lvm snapshot reset and backup (#20718)
- fix lvm disk reset request hosts wrong, should reset on guest hosts
- add lvm disk snapshot failed handle
- support lvm disk backup
- lvm disk snapshot add encrypt support
2024-07-05 13:49:56 +08:00
屈轩
b6cc2804e1 fix(region): avoid delete lb failed (#20710) 2024-07-05 12:38:43 +08:00
屈轩
876f3de5a3 fix(region): 简化清理未使用的安全组 (#20724) 2024-07-05 11:03:18 +08:00
Jian Qiu
4d608d59f4 fix: normalize sftp errors (#20706)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-03 21:11:33 +08:00
wanyaoqi
f4c6eadae8 fix(scheduler): optimize get guests by hosts ids (#20700) 2024-07-02 00:16:51 +08:00
wanyaoqi
9340c134e5 feat(host): support run guest with qemu 9.0.1 (#20691)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-07-02 00:14:41 +08:00
wanyaoqi
d9bdde8fe0 fix(region,host): migrate converted servers (#20697) 2024-07-01 23:55:35 +08:00
屈轩
581a5e9e32 fix(region): security group rule create (#20696) 2024-07-01 11:31:43 +08:00
Jian Qiu
9492b740df feature: support baremetal profile (#20689)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-30 22:23:17 +08:00
屈轩
6366d35523 fix(region): support eip search (#20684) 2024-06-28 15:58:48 +08:00
屈轩
acba8d26ca fix(log): add rate log type (#20679) 2024-06-28 14:49:33 +08:00
wanyaoqi
721a6cf06d fix(region): convert to kvm overwirte networks (#20666) 2024-06-27 20:39:03 +08:00
wanyaoqi
10f71280e2 fix(region): login account allow startwith capital letter (#20669) 2024-06-27 20:38:20 +08:00
屈轩
2d16104a1c fix(region): vendor update for qcloud tencentos server (#20664) 2024-06-27 15:39:10 +08:00
wanyaoqi
fb37d022a8 feat(region): add batch convert precheck (#20658)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-06-26 21:20:00 +08:00
wanyaoqi
62659d3dd1 fix(host): delete snapshot on guest deleted (#20642) 2024-06-26 21:18:59 +08:00
Zexi Li
6ebbe83f05 fix(climc,webconsole): use OS_AUTH_TOKEN for cloud shell running inside compose environment (#20648) 2024-06-26 12:12:05 +08:00
屈轩
149348b87f fix(region): waf regexset fetch error (#20647) 2024-06-26 11:18:18 +08:00
Jian Qiu
9bd48628db fix: vmware probe host networks (#20627)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-26 11:00:06 +08:00
屈轩
60c03355d0 fix(region): vendor update for qcloud nat sync (#20639) 2024-06-25 15:56:45 +08:00
Zexi Li
a154a61a42 optimize(glance): wrap error of saving image (#20632) 2024-06-25 14:21:21 +08:00
wanyaoqi
f40c766991 fix(region): scheduler forecast before convert to kvm (#20608) 2024-06-25 11:02:24 +08:00
wanyaoqi
5ea9f040b8 fix(glance): sync service options after vmware detected (#20605) 2024-06-25 10:58:05 +08:00
wanyaoqi
11ee966fbc Fix/deploy reset password support loginaccount (#20594)
* fix(host): lvm resize add encrypt support

* fix(region): deploy reset password add loginaccount
2024-06-25 10:56:44 +08:00
屈轩
b14879faab fix(region): vendor update for qcloud nat capability (#20631) 2024-06-25 10:53:44 +08:00
屈轩
74492ab199 fix(region): natgateway api upgrade (#20624) 2024-06-24 14:59:51 +08:00
Zexi Li
0d8073389d fix(monitor): add difference tags for each series (#20620) 2024-06-22 22:06:09 +08:00
Zexi Li
c4970bb90d fix(apigateway): compose environment without k8s service (#20615) 2024-06-21 16:38:11 +08:00
Zexi Li
794047c67e feat(dhcprelay): add Dockerfile (#20614) 2024-06-21 13:56:27 +08:00
Zexi Li
4e6702e05d fix(logger): add rejected action i18n translation (#20599) 2024-06-20 15:00:59 +08:00
屈轩
5deef95a67 fix(region): auto rename when change resource owner with same name (#20593) 2024-06-20 14:04:54 +08:00
Jian Qiu
fa2a2bea18 fix: clone dashboard parameters (#20589)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-20 07:54:20 +08:00
wanyaoqi
1ded6bccd0 fix(region): allow kvm vmware reuse network address (#20584)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-06-20 06:27:58 +08:00
Zexi Li
7d75080c8e feat(monitor): add reducer of AlertRecordRule (#20580) 2024-06-19 19:19:53 +08:00
Zexi Li
e5c56d1bfd feat(log): add i18n consts for itsm service (#20574) 2024-06-19 15:34:59 +08:00
Jian Qiu
51de4f7059 fix: add predefined log policy (#20571)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-19 09:33:55 +08:00
Zexi Li
ac8ad4b494 fix(host-deployer): ignore fatal exit when host.conf not exists (#20559) 2024-06-18 20:26:59 +08:00
屈轩
47ea1c0ca7 fix(region): qcloud permission (#20555) 2024-06-17 14:25:05 +08:00
Jian Qiu
aacaf4e34f fix: cleanup compute options 20240615 (#20549)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-17 00:42:14 +08:00
wanyaoqi
9ec1d86a39 fix(region): convert to esxi fill network params (#20492)
Deploy converted guest after guest created
2024-06-17 00:41:24 +08:00
wanyaoqi
2ff45831c0 fix(region): insert iso sync guest status (#20535) 2024-06-16 22:59:45 +08:00
wanyaoqi
7d7ca5bdc4 fix(region,host): isolated device batch sync (#20536) 2024-06-14 19:39:45 +08:00
Jian Qiu
3cab927394 fix: enable image cache cleanup by default (#20532)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-14 18:14:01 +08:00
gouqi11
d0e76569b5 fix(notify): add mobile verify (#20521)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-06-13 18:59:45 +08:00
gouqi11
81e8a49790 fix(notify): fix mobile validate (#20511)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-06-11 14:18:07 +08:00
Zexi Li
a0c93e3803 fix(region): container is not started when pod's flavor changed (#20490) 2024-06-07 15:04:42 +08:00
wanyaoqi
8591c6c47b fix(host): parse qga command and args (#20507) 2024-06-07 15:03:52 +08:00
wanyaoqi
00ad01ba9b fix(host-deployer): extend volume before extend filesystem (#20502) 2024-06-06 13:37:16 +08:00
Jian Qiu
b134d33338 fix: disk backup details missing components (#20497)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-06 13:33:43 +08:00
Zexi Li
c94411a57f feat(region,baremetal,climc): support baremetal root disk matcher (#20474) 2024-06-05 00:17:02 +08:00
屈轩
b5e875bcd7 fix(region): update cachedimage limit (#20473) 2024-06-04 20:41:55 +08:00
屈轩
e8ce72acb1 fix(baremetal-agent): avoid dead lock (#20477) 2024-06-04 18:04:52 +08:00
屈轩
9e5ab20cf4 fix(keystone): show user group info for user (#20469) 2024-06-04 15:18:27 +08:00
Jian Qiu
656de3be55 fix: disable webconsole watermark by default (#20462)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-04 00:48:56 +08:00
屈轩
73103a93f3 fix(keystone): avoid sync remove disabled ldap user (#20438) 2024-06-04 00:48:15 +08:00
wanyaoqi
4e3feec902 fix(host-deployer): deploy telegraf systemd service type simple (#20458) 2024-06-03 19:51:21 +08:00
wanyaoqi
64a7e7c268 fix(host-deployer): split guest dns by comma (#20450) 2024-06-03 19:15:44 +08:00
3153 changed files with 265042 additions and 112000 deletions

View File

@@ -7,7 +7,7 @@ jobs:
requires:
- check
docker:
- image: yunion/centos-build:go-1.18.3-0
- image: yunion/centos-build:go-1.21.10-0
environment:
ONECLOUD_CI_BUILD: "1"

View File

@@ -13,8 +13,7 @@ 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.7
- release/3.6
- release/3.11
Take a look at "https://www.cloudpods.org/en/docs/contribute/contrib/" to learn how to submit a cherry-pick PR.
-->

View File

@@ -13,7 +13,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Install check tools
shell: bash
@@ -32,7 +32,7 @@ jobs:
export GO111MODULE=on
make -j3 check
make test
targets="$(find cmd -mindepth 1 -maxdepth 1 -type d | grep -v cmd/host-image)"
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

View File

@@ -22,7 +22,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -24,7 +24,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -47,11 +47,6 @@ 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}
@@ -63,7 +58,7 @@ ifeq ($(UNAME), Linux)
XARGS_FLAGS = --no-run-if-empty
endif
cmdTargets:=$(filter-out cmd/host-image,$(wildcard cmd/*))
cmdTargets:=$(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)))
@@ -81,7 +76,7 @@ gencopyright:
@bash scripts/gencopyright.sh pkg cmd
test:
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage')
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage|torrent')
vet:
go vet ./...
@@ -258,7 +253,7 @@ hostdeployer-grpc-gen:
check: fmt-check
check: gendocgo-check
check: goimports-check
#check: goimports-check
#check: vet-check
#check: y18n-check
.PHONY: check
@@ -282,12 +277,12 @@ dep:
@echo "$$depDeprecated"
@$(MAKE) mod
RELEASE_BRANCH:=release/3.11
RELEASE_BRANCH:=release/3.11.13
GOPROXY ?= direct
mod:
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$$'))
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

View File

@@ -8,8 +8,8 @@ endif
ModBaseName:=$(notdir $(ModName))
DockerImageRegistry?=registry.cn-beijing.aliyuncs.com
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:3.16.0-go-1.18.2-0
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:go-1.18.3-0
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:3.19.0-go-1.21.10-0
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:go-1.21.10-0
EnvIf=$(if $($(1)),$(1)=$($(1)))

View File

@@ -36,6 +36,12 @@ 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}"
@@ -104,41 +110,84 @@ if [ -d $ROOT/root ]; then
rsync -a $ROOT/root/ \$RPM_BUILD_ROOT
fi
%pre
%pre" > $SPEC_FILE
if [ -f $ROOT/preinst ]; then
cat $ROOT/preinst >> $SPEC_FILE
else
echo "
%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
%post
echo "
%post" >> $SPEC_FILE
if [ -f $ROOT/postinst ]; then
cat $ROOT/postinst >> $SPEC_FILE
else
echo "
%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
%preun
echo "
%preun" >> $SPEC_FILE
if [ -f $ROOT/prerm ]; then
cat $ROOT/prerm >> $SPEC_FILE
else
echo "
%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
%postun
echo "
%postun" >> $SPEC_FILE
if [ -f $ROOT/postrm ]; then
cat $ROOT/postrm >> $SPEC_FILE
else
echo "
%if %{use_systemd}
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
%endif
" >> $SPEC_FILE
fi
echo -n "
%files
%doc
$BIN_PATH/$PKG
$(for b in $EXTRA_BINS; do echo $BIN_PATH/$b; done)
" > $SPEC_FILE
" >> $SPEC_FILE
for b in $EXTRA_BINS; do
echo $BIN_PATH/$b >> $SPEC_FILE
done
if [ -d $ROOT/root/ ]; then
find $ROOT/root/ -type f | sed -e "s:$ROOT/root::g" >> $SPEC_FILE
fi
rpmbuild --define "_topdir $BUILDROOT" -bb $SPEC_FILE
TARGET=
case "$GOARCH" in
"arm64" | "aarch64" | "arm")
TARGET="--target aarch64-redhat-linux"
;;
"amd64" | "x86" | "i686" | "i386" | "x86_64")
TARGET="--target x86_64-redhat-linux"
;;
esac
rpmbuild --define "_topdir $BUILDROOT" -bb $SPEC_FILE $TARGET
find $RPM_DIR -type f | while read f; do
d="$(dirname "$f")"
@@ -146,5 +195,3 @@ find $RPM_DIR -type f | while read f; do
mkdir -p "$d"
cp $f $d
done
rm -fr $BUILDROOT

View File

@@ -35,26 +35,6 @@ fi
. $ROOT/vars
if [ -z "$VERSION" ]; then
TAG=$(git describe --abbrev=0 --tags || echo 000000)
VERSION=${TAG/\//-}
VERSION=${VERSION/v/}
fi
RELEASE=`date +"%y%m%d%H"`
FULL_VERSION=$VERSION-$RELEASE
BUILDROOT=$OUTPUT_DIR/yunion-$1-$FULL_VERSION
rm -rf $BUILDROOT
mkdir -p $BUILDROOT/DEBIAN
mkdir -p $BUILDROOT/$BIN_PATH
cp -rf $BIN $BUILDROOT/$BIN_PATH
if [ -d $ROOT/root ]; then
cp -rf $ROOT/root/* $BUILDROOT/
fi
echo "Build root ${BUILDROOT}"
case $(uname -m) in
x86_64)
CURRENT_ARCH=amd64
@@ -64,15 +44,123 @@ case $(uname -m) in
;;
esac
echo "Package: yunion-$1
if [[ -n "$GOARCH" ]]; then
case "$GOARCH" in
"arm64" | "arm" | "aarch64")
CURRENT_ARCH="arm64"
;;
"x86" | "x86_64" | "i686" | "i386" | "amd64")
CURRENT_ARCH="amd64"
;;
esac
fi
if [ -z "$VERSION" ]; then
TAG=$(git describe --abbrev=0 --tags || echo 000000)
VERSION=${TAG/\//-}
VERSION=${VERSION/v/}
VERSION=${VERSION/master-/}
fi
RELEASE=`date +"%y%m%d%H"`
FULL_VERSION=$VERSION-$RELEASE
BUILDROOT=$OUTPUT_DIR/yunion-${PKG}-${FULL_VERSION}_${CURRENT_ARCH}
function cleanup {
rm -rf "$BUILDROOT"
echo "Deleted temp working directory $BUILDROOT"
}
# register the cleanup function to be called on the EXIT signal
trap cleanup EXIT
rm -rf $BUILDROOT
mkdir -p $BUILDROOT/DEBIAN
mkdir -p $BUILDROOT/$BIN_PATH
cp -rf $BIN $BUILDROOT/$BIN_PATH
if [ -d $ROOT/root ]; then
cp -rf $ROOT/root/* $BUILDROOT/
fi
echo "Build root ${BUILDROOT}"
echo "Package: yunion-$PKG
Version: $FULL_VERSION
Section: base
Priority: optional
Architecture: $CURRENT_ARCH
Maintainer: wanyaoqi@yunionyun.com
Description: Yunion $1
" > $BUILDROOT/DEBIAN/control
Description: $DESCRIPTION" > $BUILDROOT/DEBIAN/control
if [ ${#REQUIRES[@]} -gt 0 ]; then
DEPS=$(IFS=, ; echo "${REQUIRES[*]}")
echo "Depends: $DEPS" >> $BUILDROOT/DEBIAN/control
fi
chmod 0755 $BUILDROOT/DEBIAN/control
cat $BUILDROOT/DEBIAN/control
dpkg-deb --build $BUILDROOT
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"
;;
esac
mkdir -p ${OUTPUT_DIR}/${DSTARCH}
mv ${BUILDROOT}.deb ${OUTPUT_DIR}/${DSTARCH}/

View File

@@ -6,6 +6,14 @@ 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)

View File

@@ -1,7 +1,7 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:v1.1.1
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:v1.1.3
# install playbook and telegraf install pkg
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.2 /opt/yunion/playbook /opt/yunion/playbook
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.2 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.4 /opt/yunion/playbook /opt/yunion/playbook
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.4 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v3.15.4-0
MAINTAINER "Yousong Zhou <zhouyousong@yunionyun.com>"

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20231219.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20251215.0
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"

View File

@@ -1,7 +1,7 @@
#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:v3.10.8-20231215.0 as yunionos
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunionos:v4.0.0-20251201.0 as yunionos
FROM centos:8 as grub-stage

View File

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

View File

@@ -1,8 +1,8 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.4.0 as file-repo
FROM registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.0 AS file-repo
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.2
MAINTAINER "Rain Zheng <zhengyu@yunion.com>"
LABEL maintainer="Rain Zheng <zhengyu@yunion.com>"
# openssh-client, for ansible ssh connection
# git, ca-certificates, for fetching ansible roles
@@ -12,15 +12,12 @@ RUN set -x \
&& rm -rf /var/cache/apk/*
# install default playbook and install pkg
Run mkdir -p /opt/yunion/ansible-install-pkg
RUN mkdir -p /opt/yunion/ansible-install-pkg
# file repo base image from https://github.com/yunionio/telegraf/blob/612b918a28a93cf8e354b8d59544753b021b824a/Makefile.yn#L24
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf*.rpm /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf*.deb /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf*.zip /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf-0.x86_64.rpm /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf-0.aarch64.rpm /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf_1.19.2-yn~be742cbf-0_arm64.deb /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf_1.19.2-yn~be742cbf-0_amd64.deb /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf_windows_amd64.zip /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf_windows_i386.zip /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
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

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.5.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.7.0
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:1.4.6
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:1.4.11
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"

View File

@@ -1,9 +1,6 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5-1
RUN mkdir -p /opt/yunion/bin
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
RUN mkdir -p /opt/yunion/bin
ADD ./_output/alpine-build/bin/host-image /opt/yunion/bin/host-image

View File

@@ -15,7 +15,7 @@ onecloud-base:
onecloud-base-3-15-4:
$(DOCKER_BUILDX)/onecloud-base:$(ONECLOUD_BASE_VERSION_3-15-4) -f ./Dockerfile.onecloud-base-3-15-4 .
ANSIBLESERVER_BASE = v1.1.2
ANSIBLESERVER_BASE = v1.1.3
ansibleserver-base:
$(DOCKER_BUILDX)/ansibleserver-base:$(ANSIBLESERVER_BASE) -f ./Dockerfile.ansibleserver-base .
@@ -30,7 +30,7 @@ WEBCONSOLE_BASE_VERSION = 20230731.2
webconsole-base:
$(DOCKER_BUILDX)/webconsole-base:$(WEBCONSOLE_BASE_VERSION) -f ./Dockerfile.webconsole-base .
BAREMETAL_BASE_VERSION = v0.3.9-20231219.1
BAREMETAL_BASE_VERSION = v0.3.9-20251112.1
baremetal-base:
$(DOCKER_BUILDX)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base .
@@ -44,10 +44,10 @@ GLANCE_BASE_VERSION = v0.0.1
glance-base:
$(DOCKER_BUILDX)/glance-base:$(GLANCE_BASE_VERSION) -f ./Dockerfile.glance-base .
FILE_REPO_VERSION = v0.5.2
FILE_REPO_VERSION = v0.5.4
file-repo:
$(DOCKER_BUILDX)/file-repo:$(FILE_REPO_VERSION) -f ./Dockerfile.file-repo .
$(DOCKER_BUILDX)/file-repo:$(FILE_REPO_VERSION) -f ./Dockerfile.file-repo . --no-cache
HOST_IMAGE_VERSION ?= v1.0.2
HOST_IMAGE_NAME = $(REGISTRY)/host-image:$(HOST_IMAGE_VERSION)

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.16.0-go-1.18.2-0 as build
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.19.0-go-1.21.10-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.4.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-base:v0.7.0
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"
ENV TZ Asia/Shanghai
ENV TZ UTC
RUN mkdir -p /opt/yunion/bin
COPY --from=build /root/go/src/yunion.io/x/onecloud/_output/bin/host /opt/yunion/bin/host

View File

@@ -1,5 +1,5 @@
DESCRIPTION="Yunion Cloud Image Service"
REQUIRES=(
yunion-qemu-2.12.1
yunion-qemu-4.2.0
)

View File

@@ -1,4 +1,3 @@
{{.title}}
策略名称: {{.name}}
触发时间: {{.start_time}}
报警级别: {{.level}}

View File

@@ -68,6 +68,7 @@
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">
@@ -108,7 +109,11 @@
<td>名称</td>
<td>IP</td>
<td>平台</td>
<td>指标</td>
<td>触发值</td>
{{if gt (len $match_tags_str) 1}}
<td>标签</td>
{{end}}
</tr>
</thead>
<tbody>
@@ -124,7 +129,11 @@
<td>
{{ index .tags "brand" }}
</td>
<td>{{$Matche.value_str}}</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}}
</tr>
{{end}}
</tbody>

View File

@@ -1,4 +1,3 @@
{{.title}}
AlertName: {{.name}}
Time: {{.start_time}}
Level: {{.level}}

View File

@@ -68,6 +68,7 @@
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">
@@ -108,7 +109,11 @@
<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>
@@ -124,7 +129,11 @@
<td>
{{ index .tags "brand" }}
</td>
<td>{{$Matche.value_str}}</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}}
</tr>
{{end}}
</tbody>

View File

@@ -1 +1 @@
{{.title}}
{{monitorTitle .}}

View File

@@ -1 +1 @@
{{.title}}
{{monitorTitle .}}

View File

@@ -1 +1 @@
{{.title}}
{{monitorTitle .}}

View File

@@ -1 +1 @@
{{.title}}
{{monitorTitle .}}

View File

@@ -70,7 +70,7 @@ type BaseOptions struct {
OsRegionName string `default:"$OS_REGION_NAME" help:"Defaults to env[OS_REGION_NAME]"`
OsZoneName string `default:"$OS_ZONE_NAME" help:"Defaults to env[OS_ZONE_NAME]"`
OsEndpointType string `default:"$OS_ENDPOINT_TYPE|internalURL" help:"Defaults to env[OS_ENDPOINT_TYPE] or internalURL" choices:"publicURL|internalURL|adminURL"`
OsEndpointType string `default:"$OS_ENDPOINT_TYPE|internalURL" help:"Defaults to env[OS_ENDPOINT_TYPE] or internalURL" choices:"publicURL|internalURL|adminURL|apigateway"`
// ApiVersion string `default:"$API_VERSION" help:"override default modules service api version"`
OutputFormat string `default:"$CLIMC_OUTPUT_FORMAT|table" choices:"table|kv|json|yaml|flatten-table|flatten-kv" help:"output format"`
@@ -335,7 +335,6 @@ func ClimcMain() {
}
if parser.IsHelpSet() {
fmt.Print(parser.HelpString())
return
}

View File

@@ -0,0 +1,50 @@
// Copyright 2019 Yunion
//
// Licensed 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.
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
baremetalmodules "yunion.io/x/onecloud/pkg/mcclient/modules/compute/baremetal"
baremetaloptions "yunion.io/x/onecloud/pkg/mcclient/options/compute/baremetal"
)
func init() {
cmd := shell.NewResourceCmd(&baremetalmodules.BaremetalProfiles)
cmd.List(new(baremetaloptions.BaremetalProfileListOptions))
cmd.Show(new(baremetaloptions.BaremetalProfileIdOptions))
cmd.Delete(new(baremetaloptions.BaremetalProfileIdOptions))
type BaremetalProfileMatchOpts struct {
OEMNAME string
MODEL string
}
R(&BaremetalProfileMatchOpts{}, "baremetal-profile-match", "find match baremetal profile by oemname and model", func(s *mcclient.ClientSession, args *BaremetalProfileMatchOpts) error {
specs, err := baremetalmodules.BaremetalProfiles.GetMatchProfiles(s, args.OEMNAME, args.MODEL)
if err != nil {
return errors.Wrap(err, "GetMatchProfiles")
}
listResults := printutils.ListResult{}
for _, spec := range specs {
listResults.Data = append(listResults.Data, jsonutils.Marshal(spec))
}
printList(&listResults, nil)
return nil
})
}

View File

@@ -15,62 +15,17 @@
package compute
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
opts "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type CachedImageListOptions struct {
options.BaseListOptions
ImageType string `help:"image type" choices:"system|customized|shared|market"`
Region string `help:"show images cached at cloud region"`
Zone string `help:"show images cached at zone"`
HostSchedtagId string `help:"filter cached image with host schedtag"`
Valid *bool `help:"valid cachedimage"`
}
R(&CachedImageListOptions{}, "cached-image-list", "List cached images", func(s *mcclient.ClientSession, args *CachedImageListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.Cachedimages.List(s, params)
if err != nil {
return err
}
printList(result, modules.Cachedimages.GetColumns(s))
return nil
})
type CachedImageShowOptions struct {
ID string `help:"ID or Name of the cached image to show"`
}
R(&CachedImageShowOptions{}, "cached-image-show", "Show cached image details", func(s *mcclient.ClientSession, args *CachedImageShowOptions) error {
result, err := modules.Cachedimages.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&CachedImageShowOptions{}, "cached-image-refresh", "Refresh cached image details", func(s *mcclient.ClientSession, args *CachedImageShowOptions) error {
result, err := modules.Cachedimages.PerformAction(s, args.ID, "refresh", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type CachedImageDeleteOptions struct {
ID []string `help:"ID or Name of the cached image to show"`
}
R(&CachedImageDeleteOptions{}, "cached-image-delete", "Remove cached image information", func(s *mcclient.ClientSession, args *CachedImageDeleteOptions) error {
results := modules.Cachedimages.BatchDelete(s, args.ID, nil)
printBatchResults(results, modules.Cachedimages.GetColumns(s))
return nil
})
cmd := shell.NewResourceCmd(&modules.Cachedimages).WithKeyword("cached-image")
cmd.List(&options.CachedImageListOptions{})
cmd.Show(&opts.BaseIdOptions{})
cmd.PerformClass("cache-image", &options.CachedImageCacheImageOptions{})
cmd.Perform("refresh", &opts.BaseIdOptions{})
cmd.BatchDelete(&opts.BaseIdsOptions{})
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -17,13 +17,14 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.DBInstanceAccounts).WithKeyword("dbinstance-account")
cmd.List(&options.DBInstanceAccountListOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Show(&options.DBInstanceAccountIdOptions{})
cmd.Delete(&options.DBInstanceAccountIdOptions{})
}

View File

@@ -17,13 +17,14 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.DBInstanceDatabases).WithKeyword("dbinstance-database")
cmd.List(&options.DBInstanceDatabaseListOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Delete(&options.DBInstanceDatabaseIdOptions{})
cmd.Show(&options.DBInstanceDatabaseIdOptions{})
cmd.Create(&options.DBInstanceDatabaseCreateOptions{})

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -41,68 +41,18 @@ import (
func init() {
cmd := shell.NewResourceCmd(&modules.Disks)
cmd.List(&compute_options.DiskListOptions{})
cmd.Show(&compute_options.DiskIdOptions{})
cmd.Perform("public", &compute_options.DiskIdOptions{})
cmd.Perform("private", &compute_options.DiskIdOptions{})
cmd.Perform("syncstatus", &compute_options.DiskIdOptions{})
cmd.Perform("change-owner-candidate-domains", &compute_options.DiskIdOptions{})
cmd.Perform("disk-cancel-delete", &compute_options.DiskIdOptions{})
cmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
cmd.Perform("rebuild", &options.ResourceIdOptions{})
cmd.Perform("migrate", &compute_options.DiskMigrateOptions{})
type DiskListOptions struct {
options.BaseListOptions
Unused *bool `help:"Show unused disks"`
Share *bool `help:"Show Share storage disks"`
Local *bool `help:"Show Local storage disks"`
Guest string `help:"Guest ID or name"`
GuestStatus string `help:"Guest Status"`
OrderByServer string `help:"Order By Server"`
Storage string `help:"Storage ID or name"`
Type string `help:"Disk type" choices:"sys|data|swap|volume"`
CloudType string `help:"Public cloud or private cloud" choices:"Public|Private"`
OrderByGuestCount string `help:"Order By Guest Count"`
BillingType string `help:"billing type" choices:"postpaid|prepaid"`
SnapshotpolicyId string `help:"snapshotpolicy id"`
}
R(&DiskListOptions{}, "disk-list", "List virtual disks", func(s *mcclient.ClientSession, opts *DiskListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
if len(opts.CloudType) > 0 {
if opts.CloudType == "Public" {
params.Add(jsonutils.JSONTrue, "public_cloud")
} else if opts.CloudType == "Private" {
params.Add(jsonutils.JSONTrue, "private_cloud")
}
}
result, err := modules.Disks.List(s, params)
if err != nil {
return err
}
printList(result, modules.Disks.GetColumns(s))
return nil
})
type DiskDetailOptions struct {
ID string `help:"ID or Name of disk"`
}
R(&DiskDetailOptions{}, "disk-show", "Show details of disk", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
disk, e := modules.Disks.Get(s, args.ID, nil)
if e != nil {
return e
}
printObject(disk)
return nil
})
R(&DiskDetailOptions{}, "disk-cancel-delete", "Cancel pending delete disks", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
disk, e := modules.Disks.PerformAction(s, args.ID, "cancel-delete", nil)
if e != nil {
return e
}
printObject(disk)
return nil
})
cmd.Perform("change-billing-type", new(compute_options.DiskChangeBillingTypeOptions))
cmd.Perform("change-storage-type", &compute_options.DiskChangeStorageTypeOptions{})
type DiskDeleteOptions struct {
ID []string `help:"ID of disks to delete" metavar:"DISK"`
@@ -132,25 +82,7 @@ func init() {
return nil
})
R(&DiskDetailOptions{}, "disk-public", "Make a disk public", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
disk, e := modules.Disks.PerformAction(s, args.ID, "public", nil)
if e != nil {
return e
}
printObject(disk)
return nil
})
R(&DiskDetailOptions{}, "disk-private", "Make a disk private", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
disk, e := modules.Disks.PerformAction(s, args.ID, "private", nil)
if e != nil {
return e
}
printObject(disk)
return nil
})
R(&DiskDetailOptions{}, "disk-metadata", "Get metadata of a disk", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
R(&compute_options.DiskIdOptions{}, "disk-metadata", "Get metadata of a disk", func(s *mcclient.ClientSession, args *compute_options.DiskIdOptions) error {
meta, e := modules.Disks.GetMetadata(s, args.ID, nil)
if e != nil {
return e
@@ -159,23 +91,15 @@ func init() {
return nil
})
R(&DiskDetailOptions{}, "disk-syncstatus", "Sync status for disk", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
ret, e := modules.Disks.PerformAction(s, args.ID, "syncstatus", nil)
if e != nil {
return e
}
printObject(ret)
return nil
})
type DiskUpdateOptions struct {
ID string `help:"ID or name of disk"`
Name string `help:"New name of disk"`
Desc string `help:"Description" metavar:"DESCRIPTION"`
AutoDelete string `help:"enable/disable auto delete of disk" choices:"enable|disable"`
AutoSnapshot string `help:"enable/disable auto snapshot of disk" choices:"enable|disable"`
DiskType string `help:"Disk type" choices:"data|volume"`
DiskType string `help:"Disk type" choices:"data|volume|sys"`
IsSsd *bool `help:"mark disk as ssd" negative:"no-is-ssd"`
AutoReset *bool `help:"Enable auto reset disk after geust shutdown"`
}
R(&DiskUpdateOptions{}, "disk-update", "Update property of a virtual disk", func(s *mcclient.ClientSession, args *DiskUpdateOptions) error {
params := jsonutils.NewDict()
@@ -209,6 +133,10 @@ func init() {
params.Add(jsonutils.JSONFalse, "is_ssd")
}
}
if args.AutoReset != nil {
params.Add(jsonutils.NewBool(*args.AutoReset), "auto_reset")
}
if params.Size() == 0 {
return InvalidUpdateError()
}
@@ -331,7 +259,7 @@ func init() {
return nil
})
R(&DiskDetailOptions{}, "disk-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
R(&compute_options.DiskIdOptions{}, "disk-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *compute_options.DiskIdOptions) error {
result, err := modules.Disks.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err

View File

@@ -22,6 +22,7 @@ import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
@@ -32,6 +33,8 @@ func init() {
cmd.ClassShow(&compute.DnsZoneCapabilitiesOptions{})
cmd.Delete(&compute.SDnsZoneIdOptions{})
cmd.Create(&compute.DnsZoneCreateOptions{})
cmd.Perform("public", &options.BasePublicOptions{})
cmd.Perform("private", &options.BaseIdOptions{})
cmd.Perform("syncstatus", &compute.SDnsZoneIdOptions{})
cmd.Perform("purge", &compute.SDnsZoneIdOptions{})
cmd.Perform("add-vpcs", &compute.DnsZoneAddVpcsOptions{})

View File

@@ -41,7 +41,7 @@ func init() {
cmd.PerformWithKeyword("disable-auth", "update-auth-mode", &compute.ElasticCacheDisableAuthOptions{})
type ElasticCacheAccountResetPasswordOptions struct {
options.ElasticCacheIdOptions
compute.ElasticCacheIdOptions
PASSWORD string `help:"elastic cache account password."`
}
@@ -77,7 +77,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAccountCreateOptions{}, "elastic-cache-account-create", "Create elastisc cache account", func(s *mcclient.ClientSession, opts *options.ElasticCacheAccountCreateOptions) error {
R(&compute.ElasticCacheAccountCreateOptions{}, "elastic-cache-account-create", "Create elastisc cache account", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAccountCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -92,7 +92,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-account-delete", "Delete elastisc cache account", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-account-delete", "Delete elastisc cache account", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheAccount.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -102,7 +102,7 @@ func init() {
return nil
})
R(&options.ElasticCacheBackupCreateOptions{}, "elastic-cache-backup-create", "Create elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheBackupCreateOptions) error {
R(&compute.ElasticCacheBackupCreateOptions{}, "elastic-cache-backup-create", "Create elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheBackupCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -132,7 +132,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-backup-delete", "Delete elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-backup-delete", "Delete elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheBackup.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -142,7 +142,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-backup-restore", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-backup-restore", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheBackup.PerformAction(s, opts.ID, "restore-instance", nil)
if err != nil {
return err
@@ -152,7 +152,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAclCreateOptions{}, "elastic-cache-acl-create", "Create elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheAclCreateOptions) error {
R(&compute.ElasticCacheAclCreateOptions{}, "elastic-cache-acl-create", "Create elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAclCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -167,7 +167,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-acl-delete", "Delete elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-acl-delete", "Delete elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheAcl.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -192,7 +192,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAclUpdateOptions{}, "elastic-cache-acl-update", "Update elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheAclUpdateOptions) error {
R(&compute.ElasticCacheAclUpdateOptions{}, "elastic-cache-acl-update", "Update elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAclUpdateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -223,7 +223,7 @@ func init() {
return nil
})
R(&options.ElasticCacheParameterUpdateOptions{}, "elastic-cache-parameter-update", "Update elastisc cache parameter", func(s *mcclient.ClientSession, opts *options.ElasticCacheParameterUpdateOptions) error {
R(&compute.ElasticCacheParameterUpdateOptions{}, "elastic-cache-parameter-update", "Update elastisc cache parameter", func(s *mcclient.ClientSession, opts *compute.ElasticCacheParameterUpdateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -293,7 +293,7 @@ func init() {
return nil
})
R(&options.ElasticCacheRemoteUpdateOptions{}, "elastic-cache-remote-update", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheRemoteUpdateOptions) error {
R(&compute.ElasticCacheRemoteUpdateOptions{}, "elastic-cache-remote-update", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheRemoteUpdateOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
@@ -307,7 +307,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAutoRenewOptions{}, "elastic-cache-auto-renew", "Set elastisc cache auto renew", func(s *mcclient.ClientSession, opts *options.ElasticCacheAutoRenewOptions) error {
R(&compute.ElasticCacheAutoRenewOptions{}, "elastic-cache-auto-renew", "Set elastisc cache auto renew", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAutoRenewOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
@@ -321,7 +321,7 @@ func init() {
return nil
})
R(&options.ElasticCacheRenewOptions{}, "elastic-cache-renew", "Renew elastisc cache", func(s *mcclient.ClientSession, opts *options.ElasticCacheRenewOptions) error {
R(&compute.ElasticCacheRenewOptions{}, "elastic-cache-renew", "Renew elastisc cache", func(s *mcclient.ClientSession, opts *compute.ElasticCacheRenewOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err

View File

@@ -37,7 +37,6 @@ import (
func init() {
cmd := shell.NewResourceCmd(&modules.Hosts)
cmd.List(&compute.HostListOptions{})
cmd.Show(&options.BaseShowOptions{})
cmd.GetMetadata(&options.BaseIdOptions{})
cmd.GetProperty(&compute.HostStatusStatisticsOptions{})
@@ -54,6 +53,8 @@ func init() {
cmd.Perform("probe-isolated-devices", &options.BaseIdOptions{})
cmd.Perform("class-metadata", &options.ResourceMetadataOptions{})
cmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
cmd.PerformClass("validate-ipmi", &compute.HostValidateIPMI{})
cmd.Perform("set-commit-bound", &compute.HostSetCommitBoundOptions{})
cmd.BatchPerform("enable", &options.BaseIdsOptions{})
cmd.BatchPerform("disable", &options.BaseIdsOptions{})
@@ -69,6 +70,10 @@ func init() {
cmd.Get("ipmi", &options.BaseIdOptions{})
cmd.Get("vnc", &options.BaseIdOptions{})
cmd.Get("app-options", &options.BaseIdOptions{})
cmd.GetWithCustomShow("worker-stats", func(data jsonutils.JSONObject) {
stats, _ := data.GetArray("workers")
printList(&printutils.ListResult{Data: stats}, nil)
}, &options.BaseIdOptions{})
cmd.Get("tap-config", &options.BaseIdOptions{})
cmd.GetWithCustomShow("nics", func(data jsonutils.JSONObject) {
results := printutils.ListResult{}
@@ -88,6 +93,34 @@ func init() {
}
}, &options.BaseIdOptions{})
R(&compute.HostShowOptions{}, "host-show", "Show details of a host", func(s *mcclient.ClientSession, args *compute.HostShowOptions) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := modules.Hosts.Get(s, args.ID, params)
if err != nil {
return err
}
resultDict := result.(*jsonutils.JSONDict)
if !args.ShowAll {
if !args.ShowMetadata {
print("ShowMetadata\n")
resultDict.Remove("metadata")
}
if !args.ShowNicInfo {
print("ShowMetadata\n")
resultDict.Remove("nic_info")
}
if !args.ShowSysInfo {
print("ShowSysInfo\n")
resultDict.Remove("sys_info")
}
}
printObject(resultDict)
return nil
})
R(&options.BaseIdOptions{}, "host-logininfo", "Get SSH login information of a host", func(s *mcclient.ClientSession, args *options.BaseIdOptions) error {
i, e := modules.Hosts.PerformAction(s, args.ID, "login-info", nil)
if e != nil {
@@ -173,14 +206,12 @@ func init() {
})
type HostUpdateOptions struct {
ID string `help:"ID or Name of Host"`
Name string `help:"New name of the host"`
Desc string `help:"New Description of the host"`
CpuCommitBound float64 `help:"CPU overcommit upper bound at this host"`
MemoryCommitBound float64 `help:"Memory overcommit upper bound at this host"`
MemoryReserved string `help:"Memory reserved"`
CpuReserved int64 `help:"CPU reserved"`
HostType string `help:"Change host type, CAUTION!!!!" choices:"hypervisor|kubelet|esxi|baremetal"`
ID string `help:"ID or Name of Host"`
Name string `help:"New name of the host"`
Desc string `help:"New Description of the host"`
MemoryReserved string `help:"Memory reserved"`
CpuReserved int64 `help:"CPU reserved"`
HostType string `help:"Change host type, CAUTION!!!!" choices:"hypervisor|kubelet|esxi|baremetal"`
// AccessIp string `help:"Change access ip, CAUTION!!!!"`
AccessMac string `help:"Change baremetal access MAC, CAUTION!!!!"`
Uuid string `help:"Change baremetal UUID, CAUTION!!!!"`
@@ -202,12 +233,6 @@ func init() {
if len(args.Desc) > 0 {
params.Add(jsonutils.NewString(args.Desc), "description")
}
if args.CpuCommitBound > 0.0 {
params.Add(jsonutils.NewFloat64(args.CpuCommitBound), "cpu_cmtbound")
}
if args.MemoryCommitBound > 0.0 {
params.Add(jsonutils.NewFloat64(args.MemoryCommitBound), "mem_cmtbound")
}
if len(args.MemoryReserved) > 0 {
params.Add(jsonutils.NewString(args.MemoryReserved), "mem_reserved")
}
@@ -308,6 +333,7 @@ func init() {
IpAddr string `help:"IP address"`
Bridge string `help:"Bridge of hostwire"`
Interface string `help:"Interface name, eg:eth0, en0"`
VlanId int `help:"Vlan ID"`
}
R(&HostAddNetIfOptions{}, "host-add-netif", "Host add a NIC", func(s *mcclient.ClientSession, args *HostAddNetIfOptions) error {
params := jsonutils.NewDict()
@@ -327,6 +353,7 @@ func init() {
if len(args.Interface) > 0 {
params.Add(jsonutils.NewString(args.Interface), "interface")
}
addVlanIdToParams(params, args.VlanId)
result, err := modules.Hosts.PerformAction(s, args.ID, "add-netif", params)
if err != nil {
return err
@@ -336,12 +363,14 @@ func init() {
})
type HostRemoveNetIfOptions struct {
ID string `help:"ID or Name of host"`
MAC string `help:"MAC of NIC to remove"`
ID string `help:"ID or Name of host"`
MAC string `help:"MAC of NIC to remove"`
VlanId int `help:"Vlan Id"`
}
R(&HostRemoveNetIfOptions{}, "host-remove-netif", "Remove NIC from host", func(s *mcclient.ClientSession, args *HostRemoveNetIfOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.MAC), "mac")
addVlanIdToParams(params, args.VlanId)
result, err := modules.Hosts.PerformAction(s, args.ID, "remove-netif", params)
if err != nil {
return err
@@ -356,6 +385,7 @@ func init() {
Ip string `help:"IP address"`
Network string `help:"network to connect"`
Reserved bool `help:"fetch IP from reserved pool"`
VlanId int `help:"Vlan ID"`
}
R(&HostEnableNetIfOptions{}, "host-enable-netif", "Enable a network interface for a host", func(s *mcclient.ClientSession, args *HostEnableNetIfOptions) error {
params := jsonutils.NewDict()
@@ -369,6 +399,7 @@ func init() {
if len(args.Network) > 0 {
params.Add(jsonutils.NewString(args.Network), "network")
}
addVlanIdToParams(params, args.VlanId)
result, err := modules.Hosts.PerformAction(s, args.ID, "enable-netif", params)
if err != nil {
return err
@@ -381,6 +412,7 @@ func init() {
ID string `help:"ID or Name of host"`
MAC string `help:"MAC of NIC to disable"`
Reserve bool `help:"Reserve the IP address"`
VlanId int `help:"Vlan Id"`
}
R(&HostDisableNetIfOptions{}, "host-disable-netif", "Disable a network interface", func(s *mcclient.ClientSession, args *HostDisableNetIfOptions) error {
params := jsonutils.NewDict()
@@ -388,6 +420,7 @@ func init() {
if args.Reserve {
params.Add(jsonutils.JSONTrue, "reserve")
}
addVlanIdToParams(params, args.VlanId)
result, err := modules.Hosts.PerformAction(s, args.ID, "disable-netif", params)
if err != nil {
return err
@@ -601,7 +634,7 @@ func init() {
i, e := modules.Hosts.PerformAction(s, args.ID, "login-info", nil)
privateKey := ""
if e != nil {
if httputils.ErrorCode(e) == 404 || e.Error() == "ciphertext too short" {
if httputils.ErrorCode(e) == 404 || strings.Contains(e.Error(), "ciphertext too short") {
var err error
privateKey, err = modules.Sshkeypairs.FetchPrivateKeyBySession(context.Background(), s)
if err != nil {
@@ -729,3 +762,9 @@ func init() {
},
)
}
func addVlanIdToParams(params *jsonutils.JSONDict, vlanId int) {
if vlanId > 1 {
params.Add(jsonutils.NewInt(int64(vlanId)), "vlan_id")
}
}

View File

@@ -59,6 +59,17 @@ func init() {
printBatchResults(ret, modules.InstanceSnapshots.GetColumns(s))
return nil
})
type InstanceSnapshotPurgeOptions struct {
ID string `help:"Delete snapshot id"`
}
R(&InstanceSnapshotPurgeOptions{}, "instance-snapshot-purge", "Purge snapshots", func(s *mcclient.ClientSession, args *InstanceSnapshotPurgeOptions) error {
result, err := modules.InstanceSnapshots.PerformAction(s, args.ID, "purge", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type InstanceSnapshotShowOptions struct {
ID string `help:"ID or Name of snapshot"`

View File

@@ -15,90 +15,16 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type DeviceListOptions struct {
options.BaseListOptions
Unused bool `help:"Only show unused devices"`
Gpu bool `help:"Only show gpu devices"`
Host string `help:"Host ID or Name"`
Region string `help:"Cloudregion ID or Name"`
Zone string `help:"Zone ID or Name"`
Server string `help:"Server ID or Name"`
}
R(&DeviceListOptions{}, "isolated-device-list", "List isolated devices like GPU", func(s *mcclient.ClientSession, args *DeviceListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
if len(args.Host) > 0 {
params.Add(jsonutils.NewString(args.Host), "host")
}
if args.Unused {
params.Add(jsonutils.JSONTrue, "unused")
}
if args.Gpu {
params.Add(jsonutils.JSONTrue, "gpu")
}
if len(args.Region) > 0 {
params.Add(jsonutils.NewString(args.Region), "region")
}
if args.Zone != "" {
params.Add(jsonutils.NewString(args.Zone), "zone")
}
if args.Server != "" {
params.Add(jsonutils.NewString(args.Server), "guest_id")
}
result, err := modules.IsolatedDevices.List(s, params)
if err != nil {
return err
}
printList(result, modules.IsolatedDevices.GetColumns(s))
return nil
})
type DeviceShowOptions struct {
ID string `help:"ID of the isolated device"`
}
R(&DeviceShowOptions{}, "isolated-device-show", "Show isolated device details", func(s *mcclient.ClientSession, args *DeviceShowOptions) error {
result, err := modules.IsolatedDevices.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type DeviceDeleteOptions struct {
IDS []string `help:"IDs of the isolated device"`
}
R(&DeviceDeleteOptions{}, "isolated-device-delete", "Delete a isolated device", func(s *mcclient.ClientSession, args *DeviceDeleteOptions) error {
result := modules.IsolatedDevices.BatchDelete(s, args.IDS, nil)
printBatchResults(result, modules.IsolatedDevices.GetColumns(s))
return nil
})
type DeviceUpdateOptions struct {
ID []string `help:"ID of the isolated device" json:"-"`
ReservedCpu *int `help:"reserved cpu for isolated device"`
ReservedMem *int `help:"reserved mem for isolated device"`
ReservedStorage *int `help:"reserved storage for isolated device"`
DevType string `help:"Device type" choices:"GPU-HPC|GPU-VGA"`
}
R(&DeviceUpdateOptions{}, "isolated-device-update", "Update a isolated device", func(s *mcclient.ClientSession, args *DeviceUpdateOptions) error {
res := modules.IsolatedDevices.BatchUpdate(s, args.ID, jsonutils.Marshal(args))
printBatchResults(res, modules.IsolatedDevices.GetColumns(s))
return nil
})
cmd := shell.NewResourceCmd(&modules.IsolatedDevices)
cmd.List(&compute.DeviceListOptions{})
cmd.Update(&compute.DeviceUpdateOptions{})
cmd.Show(&compute.DeviceShowOptions{})
cmd.BatchDelete(&compute.DeviceDeleteOptions{})
cmd.BatchPerform("purge", &compute.DevicePurgeOptions{})
}

View File

@@ -37,7 +37,7 @@ func init() {
return nil
})
R(&options.TagListOptions{}, "tag-list", "List tags", func(s *mcclient.ClientSession, opts *options.TagListOptions) error {
R(&options.TagListOptions{}, "service-metadata-list", "List service metadata", func(s *mcclient.ClientSession, opts *options.TagListOptions) error {
var mod modulebase.IResourceManager
switch opts.Service {
case "compute":

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -26,6 +26,7 @@ import (
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
compute_options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
"yunion.io/x/onecloud/pkg/util/netutils2"
)
func init() {
@@ -240,4 +241,21 @@ func init() {
printObject(net)
return nil
})
type NetworkInterfaceInfoOptions struct {
DEV string `help:"name of device, e.g. eth0"`
}
R(&NetworkInterfaceInfoOptions{}, "network-interface-info", "Show addr and routes of interface", func(s *mcclient.ClientSession, args *NetworkInterfaceInfoOptions) error {
netIf := netutils2.NewNetInterface(args.DEV)
fmt.Println("[Slave Addresses]")
for _, addr := range netIf.GetSlaveAddresses() {
fmt.Printf("%s/%s\n", addr[0], addr[1])
}
fmt.Println("[Routes]")
for _, r := range netIf.GetRouteSpecs() {
fmt.Printf("%s via %s dev %d\n", r.Dst.String(), r.Gw.String(), r.LinkIndex)
}
return nil
})
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -22,7 +22,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
type schedtagModelHelper struct {

View File

@@ -17,7 +17,8 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -29,6 +30,6 @@ func init() {
cmd.Create(new(options.SchedtagCreateOptions))
cmd.Update(new(options.SchedtagUpdateOptions))
cmd.BatchPerform("set-scope", new(options.SchedtagSetScopeOptions))
cmd.PerformWithKeyword("set-user-metadata", "user-metadata", new(options.ResourceMetadataOptions))
cmd.PerformWithKeyword("set-user-metadata", "user-metadata", new(baseoptions.ResourceMetadataOptions))
cmd.Perform("set-resource", new(options.SchedtagSetResource))
}

View File

@@ -17,7 +17,8 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -25,7 +26,7 @@ func init() {
cmd.List(&options.SecgroupListOptions{})
cmd.Create(&options.SecgroupCreateOptions{})
cmd.Show(&options.SecgroupIdOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Delete(&options.SecgroupIdOptions{})
cmd.Perform("public", &options.SecgroupIdOptions{})
cmd.Perform("syncstatus", &options.SecgroupIdOptions{})
@@ -33,4 +34,5 @@ func init() {
cmd.Perform("add-rule", &options.SecgroupsAddRuleOptions{})
cmd.Perform("change-owner", &options.SecgroupChangeOwnerOptions{})
cmd.Perform("import-rules", &options.SecgroupImportRulesOptions{})
cmd.PerformClass("clean", &options.SecgroupCleanOptions{})
}

View File

@@ -77,7 +77,7 @@ func init() {
type ServerDiskUpdateOptions struct {
SERVER string `help:"ID or Name of server"`
DISK string `help:"ID or Name of Disk"`
Driver string `help:"Driver of vDisk" choices:"virtio|ide|scsi|pvscsi"`
Driver string `help:"Driver of vDisk" choices:"virtio|ide|sata|scsi|pvscsi"`
Cache string `help:"Cache mode of vDisk" choices:"writethrough|none|writeback|directsync"`
Aio string `help:"Asynchronous IO mode of vDisk" choices:"native|threads"`
Index int64 `help:"Index of vDisk" default:"-1"`

View File

@@ -155,8 +155,9 @@ func init() {
})
type ServerAttachNetworkOptions struct {
SERVER string `help:"ID or Name of server"`
NETDESC []string `help:"Network description"`
SERVER string `help:"ID or Name of server"`
DisableSyncConfig bool `help:"Disable sync config"`
NETDESC []string `help:"Network description"`
}
R(&ServerAttachNetworkOptions{}, "server-attach-network", "Attach a server to a virtual network", func(s *mcclient.ClientSession, args *ServerAttachNetworkOptions) error {
input := compute.AttachNetworkInput{}
@@ -167,6 +168,7 @@ func init() {
}
input.Nets = append(input.Nets, conf)
}
input.DisableSyncConfig = &args.DisableSyncConfig
params := jsonutils.Marshal(input)
srv, err := modules.Servers.PerformAction(s, args.SERVER, "attachnetwork", params)
if err != nil {
@@ -180,6 +182,7 @@ func init() {
SERVER string `help:"ID or Name of server"`
MACORIP string `help:"Mac Or IP of NIC"`
Reserve bool `help:"Put the release IP address into reserved address pool"`
Force bool `help:"detach server network by force"`
}
R(&ServerDetachNetworkOptions{}, "server-detach-network", "Detach the virtual network fron a virtual server", func(s *mcclient.ClientSession, args *ServerDetachNetworkOptions) error {
params := jsonutils.NewDict()
@@ -187,6 +190,9 @@ func init() {
if args.Reserve {
params.Add(jsonutils.JSONTrue, "reserve")
}
if args.Force {
params.Add(jsonutils.JSONTrue, "force")
}
if regutils.MatchMacAddr(args.MACORIP) {
params.Add(jsonutils.NewString(args.MACORIP), "mac")
} else if regutils.MatchIP4Addr(args.MACORIP) {

View File

@@ -51,6 +51,7 @@ func init() {
cmd.BatchPut(new(options.ServerUpdateOptions))
cmd.GetMetadata(new(options.ServerIdOptions))
cmd.Perform("clone", new(options.ServerCloneOptions))
cmd.Perform("change-billing-type", new(options.ServerChangeBillingTypeOptions))
cmd.BatchPerform("start", new(options.ServerStartOptions))
cmd.BatchPerform("syncstatus", new(options.ServerIdsOptions))
cmd.BatchPerform("sync", new(options.ServerIdsOptions))
@@ -122,11 +123,13 @@ func init() {
cmd.Perform("reset-nic-traffic-limit", &options.ServerNicTrafficLimitOptions{})
cmd.Perform("set-nic-traffic-limit", &options.ServerNicTrafficLimitOptions{})
cmd.Perform("add-sub-ips", &options.ServerAddSubIpsOptions{})
cmd.Perform("update-sub-ips", &options.ServerUpdateSubIpsOptions{})
cmd.BatchPerform("set-os-info", &options.ServerSetOSInfoOptions{})
cmd.BatchPerform("start-rescue", &options.ServerStartOptions{})
cmd.BatchPerform("stop-rescue", &options.ServerStartOptions{})
cmd.BatchPerform("sync-os-info", &options.ServerIdsOptions{})
cmd.BatchPerform("set-root-disk-matcher", &options.ServerSetRootDiskMatcher{})
cmd.Perform("disable-auto-merge-snapshot", &options.ServerDisableAutoMergeSnapshot{})
cmd.Get("vnc", new(options.ServerVncOptions))
cmd.Get("desc", new(options.ServerIdOptions))
cmd.Get("status", new(options.ServerIdOptions))
@@ -140,6 +143,9 @@ func init() {
cmd.Get("sshport", new(options.ServerIdOptions))
cmd.Get("qemu-info", new(options.ServerIdOptions))
cmd.Get("hardware-info", new(options.ServerIdOptions))
cmd.Get("screen-dump-show", new(options.ServerScreenDumpOptions))
cmd.BatchPerform("screen-dump", new(options.ServerIdsOptions))
cmd.Perform("set-network-num-queues", new(options.ServerSetNetworkNumQueues))
cmd.GetProperty(&options.ServerStatusStatisticsOptions{})
cmd.GetProperty(&options.ServerProjectStatisticsOptions{})

View File

@@ -0,0 +1,23 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
type ServerScreenDumpListOptions struct {
options.BaseListOptions
Server string `help:"Id or name of server"`
}
func (o *ServerScreenDumpListOptions) Params() (jsonutils.JSONObject, error) {
return jsonutils.Marshal(o), nil
}
func init() {
cmd := shell.NewResourceCmd(&modules.ServerScreenDumps)
cmd.List(new(ServerScreenDumpListOptions))
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -28,5 +28,7 @@ func init() {
cmd.Create(&compute.SnapshotPolicyCreateOptions{})
cmd.Perform("bind-disks", &compute.SnapshotPolicyDisksOptions{})
cmd.Perform("unbind-disks", &compute.SnapshotPolicyDisksOptions{})
cmd.Perform("bind-resources", &compute.SnapshotPolicyResourcesOptions{})
cmd.Perform("unbind-resources", &compute.SnapshotPolicyResourcesOptions{})
cmd.Perform("syncstatus", &options.BaseIdOptions{})
}

View File

@@ -32,6 +32,8 @@ func init() {
Share *bool `help:"Show shared snapshots"`
DiskType string `help:"Filter by disk type" choices:"sys|data"`
Server string `help:"Filter by server" json:"server_id"`
Unused bool
StorageId string `help:"Filter by storage id"`
OrderByGuest string
OrderByDiskName string

View File

@@ -47,6 +47,7 @@ func init() {
cmd.Perform("private", &options.BaseIdOptions{})
cmd.Get("hardware-info", &options.BaseIdOptions{})
cmd.Perform("set-hardware-info", &compute.StorageSetHardwareInfoOptions{})
cmd.Perform("set-commit-bound", &compute.StorageSetCommitBoundOptions{})
type StorageCephRunOptions struct {
ID string `help:"ID or name of ceph storage"`
@@ -60,9 +61,10 @@ func init() {
info := struct {
StorageType string `json:"storage_type"`
StorageConf struct {
Key string `json:"key"`
MonHost string `json:"mon_host"`
Pool string `json:"pool"`
Key string `json:"key"`
MonHost string `json:"mon_host"`
Pool string `json:"pool"`
EnableMessengerV2 bool `json:"enable_messenger_v2"`
}
}{}
err = result.Unmarshal(&info)
@@ -76,6 +78,7 @@ func init() {
info.StorageConf.MonHost,
info.StorageConf.Key,
info.StorageConf.Pool,
info.StorageConf.EnableMessengerV2,
)
if err != nil {
return errors.Wrap(err, "cephutils.NewClient")

View File

@@ -33,7 +33,7 @@ import (
type GeneralUsageOptions struct {
HostType []string `help:"Host types" choices:"hypervisor|baremetal|esxi|xen|kubelet|hyperv|aliyun|azure|aws|huawei|qcloud|openstack|ucloud|zstack|google|ctyun"`
Provider []string `help:"Provider" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|VolcEngine|ZStack|Google|Ctyun"`
Brand []string `help:"Brands" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|VolcEngine|ZStack|DStack|Google|Ctyun"`
Brand []string `help:"Brands" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|VolcEngine|ZStack|Google|Ctyun"`
Project string `help:"show usage of specified project"`
ProjectDomain string `help:"show usage of specified domain"`

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -18,7 +18,8 @@ import (
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -33,12 +34,12 @@ func init() {
cmd.Perform("sync", &options.VpcIdOptions{})
cmd.Perform("syncstatus", &options.VpcIdOptions{})
cmd.Perform("private", &options.VpcIdOptions{})
cmd.Perform("public", &options.BasePublicOptions{})
cmd.Perform("public", &baseoptions.BasePublicOptions{})
cmd.Perform("change-owner", &options.VpcChangeOwnerOptions{})
cmd.Get("vpc-change-owner-candidate-domains", &options.VpcIdOptions{})
cmd.Get("topology", &options.VpcIdOptions{})
R(&options.ResourceMetadataOptions{}, "vpc-set-user-metadata", "Set metadata of a vpc", func(s *mcclient.ClientSession, opts *options.ResourceMetadataOptions) error {
R(&baseoptions.ResourceMetadataOptions{}, "vpc-set-user-metadata", "Set metadata of a vpc", func(s *mcclient.ClientSession, opts *baseoptions.ResourceMetadataOptions) error {
params, err := opts.Params()
if err != nil {
return err

View File

@@ -23,7 +23,7 @@ import (
func init() {
type WorkerListOptions struct {
ServiceType string `choices:"image|cloudid|cloudevent|devtool|ansible|identity|notify|log|compute|compute_v2"`
ServiceType string `choices:"image|cloudid|cloudevent|devtool|ansible|identity|notify|log|compute|compute_v2|meter|suggestion|cloudmon|cloudproxy|dns|monitor|scheduler|vpcagent|webconsole|yunionconf|bastionhost|extdb|yunionapi|report"`
}
R(&WorkerListOptions{}, "worker-list", "List workers", func(s *mcclient.ClientSession, args *WorkerListOptions) error {
result, err := modules.Workers.List(s, jsonutils.Marshal(args))

View File

@@ -83,6 +83,10 @@ func doK8sEventList(s *mcclient.ClientSession, args *EventListOptions) error {
return DoEventList(*k8s.Logs.ResourceManager, s, args)
}
func doHostDmesgList(s *mcclient.ClientSession, args *EventListOptions) error {
return DoEventList(modules.DmesgLogs, s, args)
}
func DoEventList(man modulebase.ResourceManager, s *mcclient.ClientSession, args *EventListOptions) error {
params := jsonutils.NewDict()
if len(args.Type) > 0 {
@@ -157,6 +161,7 @@ func init() {
R(&EventListOptions{}, "monitor-event-show", "Show operation event logs", doMonitorEventList)
R(&EventListOptions{}, "notify-event-show", "Show operation event logs", doNotifyEventList)
R(&EventListOptions{}, "kube-event-show", "Show operation event logs", doK8sEventList)
R(&EventListOptions{}, "host-dmesg-show", "Show host dmesgs", doHostDmesgList)
R(&TypeEventListOptions{}, "server-event", "Show operation event logs of server", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"server"}}

View File

@@ -211,7 +211,13 @@ func init() {
}
key := strings.TrimSpace(c[:pos])
value := strings.TrimSpace(c[pos+1:])
config.Add(jsonutils.NewString(value), "config", "default", key)
var v jsonutils.JSONObject
if value == "true" || value == "false" {
v = jsonutils.NewBool(value == "true")
} else {
v = jsonutils.NewString(value)
}
config.Add(v, "config", "default", key)
}
nconf, err := modules.ServicesV3.PerformAction(s, args.SERVICE, "config", config)
if err != nil {

View File

@@ -37,6 +37,8 @@ func initContainerRegistry() {
cmd.Create(new(o.RegistryCreateOptions))
cmd.Get("images", new(o.RegistryGetImagesOptions))
cmd.Get("image-tags", new(o.RegistryGetImageTagsOptions))
cmd.BatchPerform("public", new(o.RegistryPublicOptions))
cmd.Perform("private", new(o.RegistryGetOptions))
type UploadOptions struct {
REGISTRY string `help:"The name or id of registry" json:"-"`

View File

@@ -47,7 +47,7 @@ type BaseActionListOptions struct {
type ActionListOptions struct {
BaseActionListOptions
Service []string `help:"service name`
Service []string `help:"service name"`
Id string `help:"" metavar:"OBJ_ID"`
Type []string `help:"Type of relevant object" metavar:"OBJ_TYPE"`
}

View File

@@ -28,6 +28,7 @@ func init() {
MODULE string `help:"module name"`
FIELD string `help:"distinct field name to query"`
Extra bool `help:"query extra distinct field"`
Scope string `help:"resource scope" choices:"system|domain|project"`
}
R(&DistinctFieldOption{}, "distinct-field", "Query values of a distinct field for a module", func(s *mcclient.ClientSession, args *DistinctFieldOption) error {
mod, err := modulebase.GetModule(s, args.MODULE)
@@ -43,6 +44,9 @@ func init() {
} else {
params.Add(jsonutils.NewString(args.FIELD), "field")
}
if len(args.Scope) > 0 {
params.Add(jsonutils.NewString(args.Scope), "scope")
}
result, err := mod.Get(s, "distinct-field", params)
if err != nil {
return err
@@ -56,6 +60,7 @@ func init() {
Field []string `help:"distinct field name to query"`
ExtraField []string `help:"distinct field name to query"`
ExtraResource string
Scope string `help:"resource scope" choices:"system|domain|project"`
}
R(&DistinctFieldsOption{}, "distinct-fields", "Query values of a distinct fields for a module", func(s *mcclient.ClientSession, args *DistinctFieldsOption) error {
mod, err := modulebase.GetModule(s, args.MODULE)

View File

@@ -20,6 +20,7 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/sets"
"yunion.io/x/pkg/utils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules/yunionconf"
@@ -59,6 +60,9 @@ func (g *GlobalSettingsValue) Switch(featureKey string, on bool) {
}
func init() {
var storageFeatures = []string{
"s3", "xsky", "ceph",
}
var features = []string{
"onestack",
"baremetal",
@@ -81,9 +85,6 @@ func init() {
"cloudpods",
"hcso",
"nutanix",
"s3",
"ceph",
"xsky",
"bill",
"auth",
"onecloud",
@@ -103,6 +104,8 @@ func init() {
"oraclecloud",
}
features = append(features, storageFeatures...)
const (
GlobalSettings = "global-settings"
SystemScope = "system"
@@ -129,10 +132,14 @@ func init() {
if len(items.Data) == 0 {
// create it if enabled
if enable {
value := []string{name}
if utils.IsInStringArray(name, storageFeatures) {
value = append(value, "storage")
}
input := map[string]interface{}{
"name": GlobalSettings,
"service_id": YunionAgent,
"value": NewGlobalSettingsValue([]string{name}, true),
"value": NewGlobalSettingsValue(value, true),
}
params := jsonutils.Marshal(input)
if _, err := yunionconf.Parameters.Create(s, params); err != nil {
@@ -162,6 +169,9 @@ func init() {
curConf.Switch(name, false)
} else {
curConf.Switch(name, true)
if utils.IsInStringArray(name, storageFeatures) {
curConf.Switch("storage", true)
}
}
id, err := ss.GetString("id")
if err != nil {

View File

@@ -0,0 +1,37 @@
// Copyright 2019 Yunion
//
// Licensed 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.
package misc
import (
"fmt"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
)
func init() {
type HistoryDataCleanOptions struct {
SERVICE string `help:"Service type"`
Day *int `default:"30"`
}
R(&HistoryDataCleanOptions{}, "history-data-clean", "clean history data", func(s *mcclient.ClientSession, args *HistoryDataCleanOptions) error {
body, err := modules.HistoryDataClean(s, args.SERVICE, args.Day)
if err != nil {
return err
}
fmt.Println(body.PrettyString())
return nil
})
}

View File

@@ -19,6 +19,7 @@ import (
"io"
"io/ioutil"
"os"
"strings"
"syscall"
"yunion.io/x/jsonutils"
@@ -37,6 +38,23 @@ func init() {
Service string `help:"Service type"`
Address string `help:"Service listen address"`
Gc bool `help:"run GC before taking the heap sample"`
Output string `help:"Save pprof file to specified path instead of opening with go tool" short-token:"o"`
}
writeReaderToFile := func(input io.Reader, file *os.File) error {
if _, err := io.Copy(file, input); err != nil {
return err
}
return nil
}
downloadToFile := func(input io.Reader, filepath string) error {
file, err := os.Create(filepath)
if err != nil {
return err
}
defer file.Close()
return writeReaderToFile(input, file)
}
downloadToTemp := func(input io.Reader, pattern string) (string, error) {
@@ -45,7 +63,7 @@ func init() {
return "", err
}
defer tmpfile.Close()
if _, err := io.Copy(tmpfile, input); err != nil {
if err := writeReaderToFile(input, tmpfile); err != nil {
return "", err
}
return tmpfile.Name(), nil
@@ -68,6 +86,10 @@ func init() {
return fmt.Errorf("no service address provide")
}
if opts.Service == "identity" {
svcUrl = strings.TrimSuffix(svcUrl, "/v3")
}
params := jsonutils.NewDict()
params.Add(jsonutils.NewInt(int64(opts.Second)), "seconds")
if pType == "heap" && opts.Gc {
@@ -78,6 +100,15 @@ func init() {
return err
}
// If output path is specified, save file and return
if len(opts.Output) > 0 {
if err := downloadToFile(src, opts.Output); err != nil {
return errors.Wrapf(err, "save pprof file to %s", opts.Output)
}
fmt.Printf("pprof file saved to: %s\n", opts.Output)
return nil
}
tempfile, err := downloadToTemp(src, pType)
if err != nil {
return err

View File

@@ -15,7 +15,6 @@
package monitor
import (
"encoding/json"
"fmt"
"yunion.io/x/pkg/errors"
@@ -46,11 +45,7 @@ func init() {
if err != nil {
return errors.Wrap(err, "DoTestRun")
}
jsonBytes, err := json.MarshalIndent(ret, "", " ")
if err != nil {
return errors.Wrap(err, "MarshalIndent")
}
fmt.Printf("%s\n", jsonBytes)
fmt.Printf("%s\n", ret.PrettyString())
return nil
})
}

View File

@@ -36,9 +36,7 @@ func initAlertNotification() {
return err
}
var result *printutils.ListResult
if len(args.Alert) > 0 {
result, err = monitor.Alertnotification.ListDescendent(s, args.Alert, params)
} else if len(args.Notification) > 0 {
if len(args.Notification) > 0 {
result, err = monitor.Alertnotification.ListDescendent2(s, args.Notification, params)
} else {
result, err = monitor.Alertnotification.List(s, params)

View File

@@ -23,5 +23,6 @@ func init() {
cmd := NewResourceCmd(modules.AlertRecordManager)
cmd.List(new(options.AlertRecordListOptions))
cmd.Show(new(options.AlertRecordShowOptions))
cmd.Get("", new(options.AlertRecordTotalOptions))
cmd.GetProperty(new(options.AlertRecordTotalOptions))
cmd.GetProperty(new(options.AlertRecordHistoryAlertOptions))
}

View File

@@ -34,7 +34,7 @@ type CommonAlertTerm struct {
Comparator string
Threshold float64
Filters []monitorapi.MetricQueryTag
FieldOpt string
FieldOpt monitorapi.CommonAlertFieldOpt
Name string
ConditionType string
From string
@@ -94,7 +94,7 @@ func newCommonAlertQuery(tem *CommonAlertTerm) *monitorapi.CommonAlertQuery {
Operator: tem.Operator,
}
if tem.FieldOpt != "" {
commonAlert.FieldOpt = monitorapi.CommonAlertFieldOpt_Division
commonAlert.FieldOpt = monitorapi.CommonAlertFieldOptDivision
}
if len(tem.ConditionType) != 0 {
commonAlert.ConditionType = tem.ConditionType

View File

@@ -16,6 +16,9 @@ package notify
import (
"yunion.io/x/onecloud/cmd/climc/shell"
identity_api "yunion.io/x/onecloud/pkg/apis/identity"
"yunion.io/x/onecloud/pkg/mcclient"
identity_modules "yunion.io/x/onecloud/pkg/mcclient/modules/identity"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/notify"
options "yunion.io/x/onecloud/pkg/mcclient/options/notify"
)
@@ -36,4 +39,32 @@ func init() {
cmd.PerformClass("get-types", new(options.ReceiverGetTypeOptions))
cmd.Perform("get-subscription", new(options.ReceiverGetSubscriptionOptions))
cmd.GetProperty(new(options.SReceiverRoleContactType))
type SyncUserContactOptions struct {
USERID string `json:"user_id"`
Mobile string `json:"mobile"`
Email string `json:"email"`
}
R(&SyncUserContactOptions{}, "sync-user-contacts", "Sync user contact", func(s *mcclient.ClientSession, args *SyncUserContactOptions) error {
userObj, err := identity_modules.UsersV3.Get(s, args.USERID, nil)
if err != nil {
return err
}
user := identity_api.UserDetails{}
err = userObj.Unmarshal(&user)
if err != nil {
return err
}
if len(args.Mobile) == 0 {
args.Mobile = user.Mobile
}
if len(args.Email) == 0 {
args.Email = user.Email
}
err = modules.NotifyReceiver.SyncUserContact(s, user.Id, args.Mobile, args.Email)
if err != nil {
return err
}
return nil
})
}

View File

@@ -15,10 +15,15 @@
package yunionconf
import (
"fmt"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/pkg/util/shellutils"
api "yunion.io/x/onecloud/pkg/apis/yunionconf"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules/identity"
"yunion.io/x/onecloud/pkg/mcclient/modules/yunionconf"
@@ -241,4 +246,100 @@ func init() {
printObject(parameter)
return nil
})
type ParameterCloneOptions struct {
User string `help:"Clone parameter of specificated user id"`
Service string `help:"Clone parameter of specificated service id"`
NAME string `help:"The name of parameter"`
DestUser string `help:"destination user id of clone action"`
DestService string `help:"destination service id of clone action"`
DestName string `help:"destination parameter name of clone action, may be empty"`
}
R(&ParameterCloneOptions{}, "parameter-clone", "clone parameter", func(s *mcclient.ClientSession, args *ParameterCloneOptions) error {
input := api.ParameterCloneInput{}
input.DestName = args.DestName
if len(args.DestUser) > 0 {
input.DestNs = api.NAMESPACE_USER
input.DestNsId = args.DestUser
} else if len(args.DestService) > 0 {
input.DestNs = api.NAMESPACE_SERVICE
input.DestNsId = args.DestService
} else {
return errors.Wrap(httperrors.ErrMissingParameter, "either dest_user or dest_service must be specified")
}
params := jsonutils.Marshal(input).(*jsonutils.JSONDict)
var parameter jsonutils.JSONObject
var err error
if len(args.User) > 0 {
parameter, err = yunionconf.Parameters.PerformActionInContext(s, args.NAME, "clone", params, &identity.UsersV3, args.User)
} else if len(args.Service) > 0 {
parameter, err = yunionconf.Parameters.PerformActionInContext(s, args.NAME, "clone", params, &identity.ServicesV3, args.Service)
} else {
parameter, err = yunionconf.Parameters.PerformAction(s, args.NAME, "clone", params)
}
if err != nil {
return err
}
printObject(parameter)
return nil
})
type ParameterCloneDashboardOptions struct {
SCOPE string `help:"dashboard scope" choices:"system|domain|project"`
SRC string `help:"source user id"`
DST string `help:"destination user id"`
}
R(&ParameterCloneDashboardOptions{}, "parameter-clone-dashboard", "clone dashboard parameter", func(s *mcclient.ClientSession, args *ParameterCloneDashboardOptions) error {
cloneUserParams := func(srcUid, destUid, name string) (jsonutils.JSONObject, error) {
paramId, err := yunionconf.Parameters.GetIdInContext(s, name, nil, &identity.UsersV3, srcUid)
if err != nil {
return nil, errors.Wrapf(err, "GetByName %s", name)
}
input := api.ParameterCloneInput{
DestNs: api.NAMESPACE_USER,
DestNsId: destUid,
}
params := jsonutils.Marshal(input).(*jsonutils.JSONDict)
return yunionconf.Parameters.PerformActionInContext(s, paramId, "clone", params, &identity.UsersV3, srcUid)
}
rootName := fmt.Sprintf("dashboard_%s", args.SCOPE)
confs := []struct {
Id string
Name string
}{}
paramObj, err := yunionconf.Parameters.GetInContext(s, rootName, nil, &identity.UsersV3, args.SRC)
if err != nil {
return errors.Wrap(err, "GetParameter")
}
err = paramObj.Unmarshal(&confs, "value")
if err != nil {
return errors.Wrap(err, "unmarshal value")
}
for _, conf := range confs {
_, err := cloneUserParams(args.SRC, args.DST, conf.Id)
if err != nil {
return errors.Wrapf(err, "clone %s", conf.Id)
}
fmt.Println("cloned", conf.Id)
}
// finally copy the root
_, err = cloneUserParams(args.SRC, args.DST, rootName)
if err != nil {
return errors.Wrapf(err, "clone %s", rootName)
}
fmt.Println("cloned", rootName)
return nil
})
}

87
cmd/isocli/main.go Normal file
View File

@@ -0,0 +1,87 @@
// Copyright 2019 Yunion
//
// Licensed 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.
package main
import (
"fmt"
"os"
"yunion.io/x/pkg/util/shellutils"
"yunion.io/x/structarg"
_ "yunion.io/x/onecloud/cmd/isocli/shell"
)
type BaseOptions struct {
Debug bool `help:"debug mode"`
SUBCOMMAND string `help:"aliyuncli subcommand" subcommand:"true"`
}
func getSubcommandParser() (*structarg.ArgumentParser, error) {
parse, e := structarg.NewArgumentParserWithHelp(&BaseOptions{},
"isocli",
"Command-line ISO tools.",
`See "isocli COMMAND --help" for help on a specific command.`)
if e != nil {
return nil, e
}
subcmd := parse.GetSubcommand()
if subcmd == nil {
return nil, fmt.Errorf("No subcommand argument.")
}
for _, v := range shellutils.CommandTable {
_, e := subcmd.AddSubParserWithHelp(v.Options, v.Command, v.Desc, v.Callback)
if e != nil {
return nil, e
}
}
return parse, nil
}
func showErrorAndExit(e error) {
fmt.Fprintf(os.Stderr, "%s", e)
fmt.Fprintln(os.Stderr)
os.Exit(1)
}
func main() {
parser, e := getSubcommandParser()
if e != nil {
showErrorAndExit(e)
}
e = parser.ParseArgs(os.Args[1:], false)
if parser.IsHelpSet() {
fmt.Print(parser.HelpString())
return
}
subcmd := parser.GetSubcommand()
subparser := subcmd.GetSubParser()
if e != nil || subparser == nil {
if subparser != nil {
fmt.Print(subparser.Usage())
} else {
fmt.Print(parser.Usage())
}
showErrorAndExit(e)
}
suboptions := subparser.Options()
e = subcmd.Invoke(suboptions)
if e != nil {
showErrorAndExit(e)
}
}

82
cmd/isocli/shell/iso.go Normal file
View File

@@ -0,0 +1,82 @@
// Copyright 2019 Yunion
//
// Licensed 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.
package shell
import (
"fmt"
"os"
"path/filepath"
"strings"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/util/shellutils"
"yunion.io/x/onecloud/pkg/util/isoutils"
)
func init() {
type DetectOSOptions struct {
ISO string `help:"ISO file"`
}
shellutils.R(&DetectOSOptions{}, "detect", "Detect", func(args *DetectOSOptions) error {
stat, err := os.Stat(args.ISO)
if err != nil {
return err
}
if stat.IsDir() {
// 如果是目录,仅遍历一层目录下的 .iso 文件
entries, err := os.ReadDir(args.ISO)
if err != nil {
return err
}
for _, entry := range entries {
if entry.IsDir() {
continue // 跳过子目录
}
if strings.HasSuffix(strings.ToLower(entry.Name()), ".iso") {
path := filepath.Join(args.ISO, entry.Name())
fmt.Printf("Processing: %s\n", path)
f, err := os.Open(path)
if err != nil {
fmt.Printf("Error opening %s: %v\n", path, err)
continue // 继续处理其他文件
}
isoInfo, err := isoutils.DetectOSFromISO(f)
f.Close()
if err != nil {
fmt.Printf("Error detecting OS from %s: %v\n", path, err)
continue
}
fmt.Printf("%s: %s\n", path, jsonutils.Marshal(isoInfo))
}
}
return nil
}
// 如果是文件,按原逻辑处理
f, err := os.Open(args.ISO)
if err != nil {
return err
}
defer f.Close()
isoInfo, err := isoutils.DetectOSFromISO(f)
if err != nil {
return err
}
fmt.Printf("%s: %s\n", args.ISO, jsonutils.Marshal(isoInfo))
return nil
})
}

View File

@@ -18,7 +18,7 @@ import (
"fmt"
"strings"
"gopkg.in/ldap.v3"
"github.com/go-ldap/ldap/v3"
"yunion.io/x/pkg/util/shellutils"

View File

@@ -164,19 +164,32 @@ func (c *RaidInfoCollector) toTelegrafReportData(raidDiskInfo []*baremetal.Barem
tag := fmt.Sprintf("%s=%s,%s=%s", "hostname", c.Hostname, "host_ip", c.HostIp)
ret := []string{}
for i := 0; i < len(raidDiskInfo); i++ {
statArr := []string{}
fieldArr := []string{}
tagArr := []string{}
raidDiskInfo[i].Status = strings.ToLower(raidDiskInfo[i].Status)
jStat := jsonutils.Marshal(raidDiskInfo[i])
jMap, _ := jStat.GetMap()
for k, v := range jMap {
statArr = append(statArr, fmt.Sprintf("%s=%s", k, v.String()))
vStr, _ := v.GetString()
if vStr == "" {
continue
}
vStr = strings.ReplaceAll(vStr, " ", "\\ ")
kv := fmt.Sprintf("%s=%s", k, vStr)
switch k {
case "adapter", "slot":
fieldArr = append(fieldArr, kv)
case "model", "driver", "status":
tagArr = append(tagArr, kv)
case "index":
continue
default:
tagArr = append(tagArr, kv)
}
}
stat := strings.Join(statArr, ",")
diskTag := fmt.Sprintf(
"%s,%s=%s,%s=%d,%s=%d", tag, "driver", raidDiskInfo[i].Driver,
"adapter", raidDiskInfo[i].Adapter, "slot", raidDiskInfo[i].Slot,
)
line := fmt.Sprintf("%s,%s %s", MEASUREMENT, diskTag, stat)
field := strings.Join(fieldArr, ",")
diskTag := tag + "," + strings.Join(tagArr, ",")
line := fmt.Sprintf("%s,%s %s", MEASUREMENT, diskTag, field)
ret = append(ret, line)
}
return strings.Join(ret, "\n")
@@ -185,7 +198,7 @@ func (c *RaidInfoCollector) toTelegrafReportData(raidDiskInfo []*baremetal.Barem
func (c *RaidInfoCollector) reportRaidInfoToTelegraf(data string) {
body := strings.NewReader(data)
res, err := httputils.Request(
httputils.GetDefaultClient(), context.Background(), "POST", TelegrafServer, nil, body, false)
httputils.GetDefaultClient(), context.Background(), "POST", TelegrafServer, nil, body, true)
if err != nil {
log.Errorf("Upload guest metric failed: %s", err)
return

124
go.mod
View File

@@ -1,13 +1,13 @@
module yunion.io/x/onecloud
go 1.18
go 1.21
require (
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669
github.com/360EntSecGroup-Skylar/excelize v1.4.0
github.com/LeeEirc/terminalparser v0.0.0-20220328021224-de16b7643ea4
github.com/LeeEirc/terminalparser v0.0.0-20240205084113-fbf78c8480f2
github.com/Microsoft/go-winio v0.6.2
github.com/aliyun/alibaba-cloud-sdk-go v1.61.684
github.com/anacrolix/sync v0.0.0-20180808010631-44578de4e778
github.com/anacrolix/torrent v0.0.0-20181129073333-cc531b8c4a80
github.com/benbjohnson/clock v1.0.0
github.com/bitly/go-simplejson v0.5.0
@@ -20,9 +20,11 @@ require (
github.com/fsnotify/fsnotify v1.4.9
github.com/ghodss/yaml v1.0.0
github.com/gin-gonic/gin v1.7.7
github.com/go-ldap/ldap/v3 v3.1.5
github.com/go-yaml/yaml v2.1.0+incompatible
github.com/golang-plus/uuid v1.0.0
github.com/golang/mock v1.4.4
github.com/golang/protobuf v1.5.3
github.com/google/gopacket v1.1.17
github.com/google/uuid v1.6.0
github.com/googollee/go-socket.io v0.0.0-20181214084611-0ad7206c347a
@@ -30,21 +32,23 @@ require (
github.com/gorilla/websocket v1.4.1
github.com/gosuri/uitable v0.0.0-20160404203958-36ee7e946282
github.com/hako/durafmt v0.0.0-20180520121703-7b7ae1e72ead
github.com/hugozhu/godingtalk v1.0.6
github.com/influxdata/influxql v1.1.0
github.com/influxdata/promql/v2 v2.12.0
github.com/jaypipes/ghw v0.11.0
github.com/kdomanski/iso9660 v0.4.0
github.com/koding/websocketproxy v0.0.0-20181220232114-7ed82d81a28c
github.com/lestrrat-go/jwx v1.0.2
github.com/lestrrat/go-jwx v0.0.0-20180221005942-b7d4802280ae
github.com/libvirt/libvirt-go-xml v5.2.0+incompatible
github.com/mattn/go-sqlite3 v1.14.12
github.com/mattn/go-sqlite3 v1.14.19
github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717
github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7
github.com/mdlayher/raw v0.0.0-20190606144222-a54781e5f38f
github.com/mdlayher/packet v1.1.2
github.com/mholt/caddy v0.10.11
github.com/miekg/dns v1.1.25
github.com/minio/minio-go v6.0.14+incompatible
github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73
github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb
github.com/pierrec/lz4/v4 v4.1.15
github.com/pkg/errors v0.9.1
github.com/pkg/sftp v1.13.6
@@ -55,32 +59,33 @@ require (
github.com/sevlyar/go-daemon v0.1.5
github.com/shirou/gopsutil v3.21.11+incompatible
github.com/shirou/gopsutil/v3 v3.22.10
github.com/sirupsen/logrus v1.9.0
github.com/sirupsen/logrus v1.9.3
github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9
github.com/smartystreets/goconvey v1.7.2
github.com/stretchr/testify v1.9.0
github.com/tatsushid/go-fastping v0.0.0-20160109021039-d7bb493dee3e
github.com/tjfoc/gmsm v1.4.1
github.com/tredoe/osutil/v2 v2.0.0-rc.16
github.com/tredoe/osutil v1.5.0
github.com/vishvananda/netlink v1.1.0
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74
github.com/vmihailenco/msgpack v4.0.4+incompatible
github.com/xuri/excelize/v2 v2.7.1
github.com/zexi/influxql-to-metricsql v0.0.6
github.com/zeebo/xxh3 v1.0.2
github.com/zexi/influxql-to-metricsql v0.1.1
go.etcd.io/etcd/api/v3 v3.5.0
go.etcd.io/etcd/client/v3 v3.5.0
golang.org/x/crypto v0.8.0
golang.org/x/net v0.9.0
golang.org/x/sync v0.1.0
golang.org/x/sys v0.9.0
golang.org/x/text v0.9.0
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
golang.org/x/crypto v0.19.0
golang.org/x/net v0.21.0
golang.org/x/sync v0.6.0
golang.org/x/sys v0.17.0
golang.org/x/text v0.14.0
golang.org/x/time v0.5.0
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230215201556-9c5414ab4bde
google.golang.org/grpc v1.38.0
google.golang.org/protobuf v1.27.1
google.golang.org/grpc v1.62.0
google.golang.org/protobuf v1.32.0
gopkg.in/fatih/set.v0 v0.2.1
gopkg.in/ldap.v3 v3.0.3
gopkg.in/ini.v1 v1.62.0
gopkg.in/mail.v2 v2.3.1
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.19.3
@@ -88,23 +93,24 @@ require (
k8s.io/client-go v0.19.3
k8s.io/cluster-bootstrap v0.19.3
moul.io/http2curl/v2 v2.3.0
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240603072808-2fc75a83dad7
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32
yunion.io/x/jsonutils v1.0.1-0.20240203102553-4096f103b401
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260207043119-2907d68518c5
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0
yunion.io/x/jsonutils v1.0.1-0.20250507052344-1abcf4f443b1
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91
yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900
yunion.io/x/pkg v1.10.1-0.20240601050854-9e3452bf4d47
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e
yunion.io/x/sqlchemy v1.1.3-0.20240530085133-5058648977dd
yunion.io/x/pkg v1.10.4-0.20260127060125-8939521ef75e
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1
yunion.io/x/sqlchemy v1.1.3-0.20251231025938-b0a38f6e9fab
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c
)
require (
cloud.google.com/go v0.65.0 // indirect
cloud.google.com/go/storage v1.10.0 // indirect
cloud.google.com/go v0.112.1 // indirect
cloud.google.com/go/compute v1.24.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/iam v1.1.6 // indirect
cloud.google.com/go/storage v1.39.1 // indirect
gitee.com/chunanyong/dm v1.8.14 // indirect
github.com/Azure/azure-sdk-for-go v36.1.0+incompatible // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/Azure/go-autorest/autorest v0.9.6 // indirect
github.com/Azure/go-autorest/autorest/adal v0.8.2 // indirect
github.com/Azure/go-autorest/autorest/azure/auth v0.4.2 // indirect
@@ -115,8 +121,7 @@ require (
github.com/ClickHouse/clickhouse-go v1.5.4 // indirect
github.com/DataDog/dd-trace-go v0.6.1 // indirect
github.com/DataDog/zstd v1.3.4 // indirect
github.com/Microsoft/azure-vhd-utils v0.0.0-20181115010904-44cbada2ece3 // indirect
github.com/RoaringBitmap/roaring v0.4.16 // indirect
github.com/RoaringBitmap/roaring v1.2.3 // indirect
github.com/Shopify/sarama v1.20.0 // indirect
github.com/Shopify/toxiproxy v2.1.4+incompatible // indirect
github.com/StackExchange/wmi v1.2.1 // indirect
@@ -127,6 +132,7 @@ require (
github.com/anacrolix/log v0.0.0-20180808012509-286fcf906b48 // indirect
github.com/anacrolix/missinggo v0.0.0-20181129073415-3237bf955fed // indirect
github.com/anacrolix/mmsg v0.0.0-20180808012353-5adb2c1127c0 // indirect
github.com/anacrolix/sync v0.0.0-20180808010631-44578de4e778 // indirect
github.com/anacrolix/utp v0.0.0-20180219060659-9e0e1d1d0572 // indirect
github.com/aokoli/goutils v1.0.1 // indirect
github.com/apache/thrift v0.13.0 // indirect
@@ -134,12 +140,13 @@ require (
github.com/basgys/goxml2json v1.1.1-0.20181031222924-996d9fc8d313 // indirect
github.com/beevik/etree v1.1.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bits-and-blooms/bitset v1.2.0 // indirect
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
github.com/boltdb/bolt v1.3.1 // indirect
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect
github.com/bradfitz/iter v0.0.0-20140124041915-454541ec3da2 // indirect
github.com/cespare/xxhash v1.1.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 // indirect
github.com/coreos/go-semver v0.3.0 // indirect
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
@@ -155,12 +162,14 @@ require (
github.com/elgatito/upnp v0.0.0-20180711183757-2f244d205f9a // indirect
github.com/farsightsec/golang-framestream v0.0.0-20181102145529-8a0cb8ba8710 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 // indirect
github.com/frankban/quicktest v1.14.3 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
github.com/go-logfmt/logfmt v0.5.0 // indirect
github.com/go-logr/logr v0.4.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-playground/locales v0.13.0 // indirect
github.com/go-playground/universal-translator v0.17.0 // indirect
@@ -169,13 +178,14 @@ require (
github.com/gofrs/uuid v4.1.0+incompatible // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-plus/errors v1.0.0 // indirect
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/snappy v0.0.1 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/btree v1.0.1 // indirect
github.com/google/go-querystring v1.0.0 // indirect
github.com/google/gofuzz v1.1.0 // indirect
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
github.com/google/s2a-go v0.1.7 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
github.com/googleapis/gnostic v0.4.1 // indirect
github.com/googollee/go-engine.io v0.0.0-20180829091931-e2f255711dcb // indirect
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
@@ -185,11 +195,13 @@ require (
github.com/imdario/mergo v0.3.6 // indirect
github.com/jdcloud-api/jdcloud-sdk-go v1.55.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/native v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/jstemmer/go-junit-report v0.9.1 // indirect
github.com/jtolds/gls v4.20.0+incompatible // indirect
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/ks3sdklib/aws-sdk-go v1.8.1 // indirect
github.com/leodido/go-urn v1.2.0 // indirect
github.com/lestrrat-go/iter v0.0.0-20200422075355-fc1769541911 // indirect
github.com/lestrrat-go/pdebug v0.0.0-20200204225717-4d6bd78da58d // indirect
@@ -201,6 +213,8 @@ require (
github.com/mattn/go-runewidth v0.0.13 // indirect
github.com/mattn/go-tty v0.0.0-20181127064339-e4f871175a2f // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18 // indirect
github.com/mdlayher/socket v0.4.1 // indirect
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
github.com/minio/minio-go/v6 v6.0.33 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
@@ -209,13 +223,12 @@ require (
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/mozillazg/go-httpheader v0.2.1 // indirect
github.com/mozillazg/go-pinyin v0.19.0 // indirect
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae // indirect
github.com/mschoch/smat v0.2.0 // indirect
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 // indirect
github.com/opentracing/opentracing-go v1.0.2 // indirect
github.com/openzipkin/zipkin-go-opentracing v0.3.4 // indirect
github.com/oracle/oci-go-sdk v24.3.0+incompatible // indirect
github.com/philhofer/fwd v1.0.0 // indirect
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
github.com/pkg/term v1.0.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
@@ -236,7 +249,6 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.413 // indirect
github.com/tencentyun/cos-go-sdk-v5 v0.7.24 // indirect
github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e // indirect
github.com/tinylib/msgp v1.1.0 // indirect
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/tklauser/numcpus v0.4.0 // indirect
github.com/ugorji/go/codec v1.1.7 // indirect
@@ -250,25 +262,29 @@ require (
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.0 // indirect
go.opencensus.io v0.22.4 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0 // indirect
go.opentelemetry.io/otel v1.23.0 // indirect
go.opentelemetry.io/otel/metric v1.23.0 // indirect
go.opentelemetry.io/otel/trace v1.23.0 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.17.0 // indirect
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
golang.org/x/mod v0.9.0 // indirect
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c // indirect
golang.org/x/term v0.7.0 // indirect
golang.org/x/tools v0.6.0 // indirect
google.golang.org/api v0.30.0 // indirect
google.golang.org/appengine v1.6.6 // indirect
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
golang.org/x/oauth2 v0.17.0 // indirect
golang.org/x/term v0.17.0 // indirect
google.golang.org/api v0.167.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240304161311-37d4d3c04a78 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.62.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/klog/v2 v2.2.0 // indirect
k8s.io/klog/v2 v2.20.0 // indirect
k8s.io/utils v0.0.0-20200729134348-d5654de09c73 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.0.1 // indirect
sigs.k8s.io/yaml v1.2.0 // indirect
)
replace github.com/influxdata/promql/v2 => github.com/zexi/promql/v2 v2.12.1

240
go.sum
View File

@@ -15,16 +15,23 @@ cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bP
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0 h1:Dg9iHVQfrhq82rUNu9ZxUDrJLaxFUe/HlCVaLyRruq8=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM=
cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=
cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40=
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc=
cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -33,18 +40,14 @@ cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiy
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.39.1 h1:MvraqHKhogCOTXTlct/9C3K3+Uy2jBmFYb3/Sp6dVtY=
cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OLyOHCXFH1o=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
gitee.com/chunanyong/dm v1.8.14 h1:1S9+aD0fY/HXkcm8dKh2HjYsDlcdXNG+4IOX9JtrSjA=
gitee.com/chunanyong/dm v1.8.14/go.mod h1:EPRJnuPFgbyOFgJ0TRYCTGzhq+ZT4wdyaj/GW/LLcNg=
github.com/360EntSecGroup-Skylar/excelize v1.4.0 h1:43rak9uafmwSJpXfFO1heKQph8tP3nlfWJWFQQtW1R0=
github.com/360EntSecGroup-Skylar/excelize v1.4.0/go.mod h1:R8KYLmGns0vDPe6/HyphW0mzW+MFexlGDafU0ykVEnU=
github.com/Azure/azure-sdk-for-go v5.0.0-beta.0.20161118192335-3b1282355199+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-sdk-for-go v36.1.0+incompatible h1:smHlbChr/JDmsyUqELZXLs0YIgpXecIGdUibuc2983s=
github.com/Azure/azure-sdk-for-go v36.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0=
github.com/Azure/go-autorest/autorest v0.9.6 h1:5YWtOnckcudzIw8lPPBcWOnmIFWMtHci1ZWAZulMSx0=
@@ -65,7 +68,6 @@ github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxB
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.3.0 h1:qJumjCaCudz+OcqE9/XtEPfvtOjOmKaui4EOpFI6zZc=
github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk=
github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k=
@@ -78,10 +80,10 @@ github.com/DataDog/dd-trace-go v0.6.1 h1:nsZ2lohbSw1CKtfNRu3wPh1jFirv6XSz8vqNpuI
github.com/DataDog/dd-trace-go v0.6.1/go.mod h1:SmQTTcC37XMyEm75HV0AWiZIYxDiaNhRi49zorIpW+o=
github.com/DataDog/zstd v1.3.4 h1:LAGHkXuvC6yky+C2CUG2tD7w8QlrUwpue8XwIh0X4AY=
github.com/DataDog/zstd v1.3.4/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
github.com/LeeEirc/terminalparser v0.0.0-20220328021224-de16b7643ea4 h1:Gk7m4Nu2jqVqJAJqNlTYqkiq96WkANAtB4fVi+t7Xv8=
github.com/LeeEirc/terminalparser v0.0.0-20220328021224-de16b7643ea4/go.mod h1:tiLv6VBLH4Z3KdBSe2qIKRwQDGCVQ9/F5fOKpQGvyoA=
github.com/Microsoft/azure-vhd-utils v0.0.0-20181115010904-44cbada2ece3 h1:gImoAO1xAcC1oDlYmD/X7dggsodGf2DFJOVE5m0ssms=
github.com/Microsoft/azure-vhd-utils v0.0.0-20181115010904-44cbada2ece3/go.mod h1:u0H9gMieFLxkUy8RS0X8VbFWyPs2815qQAaitRbj6x0=
github.com/LeeEirc/terminalparser v0.0.0-20240205084113-fbf78c8480f2 h1:XGB3B0651J1uKOE1KJa1gsrV/DO1kthhk2NTDUHATgs=
github.com/LeeEirc/terminalparser v0.0.0-20240205084113-fbf78c8480f2/go.mod h1:tiLv6VBLH4Z3KdBSe2qIKRwQDGCVQ9/F5fOKpQGvyoA=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
@@ -89,8 +91,8 @@ github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
github.com/RoaringBitmap/roaring v0.4.7/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w=
github.com/RoaringBitmap/roaring v0.4.16 h1:NholfewybRLOwACgfqfzn/N5xa6keKNs4fP00t0cwLo=
github.com/RoaringBitmap/roaring v0.4.16/go.mod h1:8khRDP4HmeXns4xIj9oGrKSz7XTQiJx2zgh7AcNke4w=
github.com/RoaringBitmap/roaring v1.2.3 h1:yqreLINqIrX22ErkKI0vY47/ivtJr6n+kMhVOVmhWBY=
github.com/RoaringBitmap/roaring v1.2.3/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE=
github.com/Shopify/sarama v1.20.0 h1:wAMHhl1lGRlobeoV/xOKpbqD2OQsOvY4A/vIOGroIe8=
github.com/Shopify/sarama v1.20.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc=
@@ -152,6 +154,7 @@ github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevB
github.com/aws/aws-sdk-go v1.39.0 h1:74BBwkEmiqBbi2CGflEh34l0YNtIibTjZsibGarkNjo=
github.com/aws/aws-sdk-go v1.39.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
github.com/basgys/goxml2json v1.1.1-0.20181031222924-996d9fc8d313 h1:fKPpQHBQgt4dQuG6x+yH4gdgtodFDgN9rvHzwJzTKeg=
github.com/basgys/goxml2json v1.1.1-0.20181031222924-996d9fc8d313/go.mod h1:wH7a5Np/Q4QoECFIU8zTQlZwZkrilY0itPfecMw41Dw=
github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
@@ -164,6 +167,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y=
github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bkaradzic/go-lz4 v1.0.0 h1:RXc4wYsyz985CkXXeX04y4VnZFGG8Rd43pRaHsOXAKk=
github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
@@ -180,8 +185,9 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cheggaaa/pb/v3 v3.0.8 h1:bC8oemdChbke2FHIIGy9mn4DPJ2caZYQnfbRqwmdCoA=
github.com/cheggaaa/pb/v3 v3.0.8/go.mod h1:UICbiLec/XO6Hw6k+BHEtHeQFzzBH4i2/qk/ow1EJTA=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
@@ -192,6 +198,8 @@ github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 h1:F1EaeKL/ta07PY
github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ=
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM=
github.com/coredns/coredns v1.3.0 h1:Ubjr8ZrOpEj95/A9dqQqQAG2k5DWEFdg2ZB3tUXuULA=
github.com/coredns/coredns v1.3.0/go.mod h1:zASH/MVDgR6XZTbxvOnsZfffS+31vg6Ackf/wo1+AM0=
github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk=
@@ -210,7 +218,6 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TRo4=
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/dnstap/golang-dnstap v0.0.0-20170829151710-2cf77a2b5e11 h1:m8nX8hsUghn853BJ5qB0lX+VvS6LTJPksWyILFZRYN4=
github.com/dnstap/golang-dnstap v0.0.0-20170829151710-2cf77a2b5e11/go.mod h1:s1PfVYYVmTMgCSPtho4LKBDecEHJWtiVDPNv78Z985U=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
@@ -236,12 +243,16 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A=
github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/farsightsec/golang-framestream v0.0.0-20181102145529-8a0cb8ba8710 h1:QdyRyGZWLEvJG5Kw3VcVJvhXJ5tZ1MkRgqpJOEZSySM=
github.com/farsightsec/golang-framestream v0.0.0-20181102145529-8a0cb8ba8710/go.mod h1:eNde4IQyEiA5br02AouhEHCu3p3UzrCdFR4LuQHklMI=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fernet/fernet-go v0.0.0-20180830025343-9eac43b88a5e h1:P10tZmVD2XclAaT9l7OduMH1OLFzTa1wUuUqHZnEdI0=
github.com/fernet/fernet-go v0.0.0-20180830025343-9eac43b88a5e/go.mod h1:2H9hjfbpSMHwY503FclkV/lZTBh2YlOmLLSda12uL8c=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ=
@@ -260,24 +271,30 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm
github.com/gin-gonic/gin v1.7.7 h1:3DoBmSbJbZAWqXJC3SLjAPfutPJJRN1U5pALB7EeTTs=
github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U=
github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 h1:Ujru1hufTHVb++eG6OuNDKMxZnGIvF6o/u8q/8h2+I4=
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 h1:OTanQnFt0bi5iLFSdbEVA/idR6Q2WhCm+deb7ir2CcM=
github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo=
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-ldap/ldap/v3 v3.1.5 h1:5o1ik2It7MJoXwoS7JXWUebf18L7E1VWBBgYV/iVsN0=
github.com/go-ldap/ldap/v3 v3.1.5/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.0.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
@@ -310,13 +327,15 @@ github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptG
github.com/golang-plus/errors v1.0.0 h1:9Rh4itnph6OYO7wm9u3FUTLMFMKCoL07+bLiYKELxWw=
github.com/golang-plus/errors v1.0.0/go.mod h1:YTFZjOTBcUFieeZe4q+7Umfu/sceSr3XQyBIkTkzpd8=
github.com/golang-plus/testing v1.0.0 h1:azmFWFV44LHK/j/jAkNTbzB2G2b6HdmqF358r73m8kg=
github.com/golang-plus/testing v1.0.0/go.mod h1:psANDlKPZ0ycedUzCS0Trf8h98sFyOyB51FlqyU+Ltc=
github.com/golang-plus/uuid v1.0.0 h1:ga84hG89vda++AGpup4N/cbfbM3O4d3R5ON9/jcN6AY=
github.com/golang-plus/uuid v1.0.0/go.mod h1:pBDDRrdgRHHqyYlj1d1i2gwyBq62Zc+sP2cDiCDkBLI=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
@@ -340,11 +359,13 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@@ -357,13 +378,14 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -373,8 +395,9 @@ github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbB
github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw=
github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@@ -383,14 +406,19 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA=
github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc=
github.com/googleapis/gnostic v0.4.1 h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I=
github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=
github.com/googollee/go-engine.io v0.0.0-20180829091931-e2f255711dcb h1:n22Aukg/TjoypWc37dbKIpCsz0VMFPD36HQk1WKvg3A=
@@ -423,17 +451,12 @@ github.com/huandu/xstrings v1.2.0 h1:yPeWdRnmynF7p+lLYz0H2tthW9lqhMJrQV/U7yy4wX0
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
github.com/huaweicloud/huaweicloud-sdk-go v1.0.26 h1:aWTl4Ng9lZUW1DupYyqYiqkTwuTKMmqUZBKLmX0iWxo=
github.com/huaweicloud/huaweicloud-sdk-go v1.0.26/go.mod h1:YHXxw/bm7AohI4jTY8Z43JYw+DPCDLqjxoLTqmcyja4=
github.com/hugozhu/godingtalk v1.0.6 h1:K280OQGbYVS/UQuVWJz5cHhv/Wvfj1FHNo8lbbLGsNQ=
github.com/hugozhu/godingtalk v1.0.6/go.mod h1:Je6PSjUH7IKCPpFq5ti2I9ak1szzSNgCIMlP0s+8pbQ=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/influxdata/influxql v1.1.0 h1:sPsaumLFRPMwR5QtD3Up54HXpNND8Eu7G1vQFmi3quQ=
github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo=
github.com/influxdata/promql/v2 v2.12.0 h1:kXn3p0D7zPw16rOtfDR+wo6aaiH8tSMfhPwONTxrlEc=
github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8=
github.com/ipandtcp/godingtalk v0.0.0-20180410032244-ca3d6ac197fb/go.mod h1:3umLciE1jBnh2LgrL15R2zbEe+HVPRZXnlSjjb/dYiw=
github.com/jaypipes/ghw v0.11.0 h1:i0pKvAM7eZk0KvLm9vzpcpDKTRnfR6AQ5pFkPVnYJXU=
github.com/jaypipes/ghw v0.11.0/go.mod h1:jeJGbkRB2lL3/gxYzNYzEDETV1ZJ56OKr+CSeSEym+g=
github.com/jdcloud-api/jdcloud-sdk-go v1.55.0 h1:mzVj8r6fluEwjn8ogqtGfYW2qSIVUaEq0JAsvjCav3A=
@@ -445,6 +468,8 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA=
github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -454,7 +479,6 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
@@ -463,9 +487,13 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA=
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
github.com/kdomanski/iso9660 v0.4.0 h1:BPKKdcINz3m0MdjIMwS0wx1nofsOjxOq8TOr45WGHFg=
github.com/kdomanski/iso9660 v0.4.0/go.mod h1:OxUSupHsO9ceI8lBLPJKWBTphLemjrCQY8LPXM7qSzU=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/koding/websocketproxy v0.0.0-20181220232114-7ed82d81a28c h1:N7A4JCA2G+j5fuFxCsJqjFU/sZe0mj8H0sSoSwbaikw=
github.com/koding/websocketproxy v0.0.0-20181220232114-7ed82d81a28c/go.mod h1:Nn5wlyECw3iJrzi0AhIWg+AJUb4PlRQVW4/3XHH1LZA=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -482,6 +510,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/ks3sdklib/aws-sdk-go v1.8.1 h1:/3mYWujGfr4K/+mAdESbi9u3T4VDuHYMYFk1/OL0JWE=
github.com/ks3sdklib/aws-sdk-go v1.8.1/go.mod h1:jGcsV0dJgMmStAyqjkKVUu6F167pAXYZAS3LqoZMmtM=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/lestrrat-go/iter v0.0.0-20200422075355-fc1769541911 h1:FvnrqecqX4zT0wOIbYK1gNgTm0677INEWiFY8UEYggY=
@@ -519,8 +549,8 @@ github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.7.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0=
github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI=
github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
github.com/mattn/go-tty v0.0.0-20181127064339-e4f871175a2f h1:4P7Ul+TAnk92vTeVkXs6VLjmf1EhrYtDRa03PCYY6VM=
github.com/mattn/go-tty v0.0.0-20181127064339-e4f871175a2f/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
@@ -531,10 +561,13 @@ github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717/go.mod h1:eOj1DDj3NAZ
github.com/mdlayher/ethernet v0.0.0-20190313224307-5b5fc417d966/go.mod h1:5s5p/sMJ6sNsFl6uCh85lkFGV8kLuIYJCRJLavVJwvg=
github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7 h1:lez6TS6aAau+8wXUP3G9I3TGlmPFEq2CTxBaRqY6AGE=
github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7/go.mod h1:U6ZQobyTjI/tJyq2HG+i/dfSoFUt8/aZCM+GKtmFk/Y=
github.com/mdlayher/packet v1.1.2 h1:3Up1NG6LZrsgDVn6X4L9Ge/iyRyxFEFD9o6Pr3Q1nQY=
github.com/mdlayher/packet v1.1.2/go.mod h1:GEu1+n9sG5VtiRE4SydOmX5GTwyyYlteZiFU+x0kew4=
github.com/mdlayher/raw v0.0.0-20190313224157-43dbcdd7739d/go.mod h1:r1fbeITl2xL/zLbVnNHFyOzQJTgr/3fpf1lJX/cjzR8=
github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18 h1:zwOa3e/13D6veNIz6zzuqrd3eZEMF0dzD0AQWKcYSs4=
github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18/go.mod h1:7EpbotpCmVZcu+KCX4g9WaRNuu11uyhiW7+Le1dKawg=
github.com/mdlayher/raw v0.0.0-20190606144222-a54781e5f38f h1:Xjvm7UTnKTwrlhbs+8qA6I0v1iX77rY3QxftSgvOVRk=
github.com/mdlayher/raw v0.0.0-20190606144222-a54781e5f38f/go.mod h1:7EpbotpCmVZcu+KCX4g9WaRNuu11uyhiW7+Le1dKawg=
github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U=
github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mholt/caddy v0.10.11 h1:s8X+R8DuBbrrMuUTcWSxlDe567B0s5EDmiDBKSYsioY=
@@ -555,14 +588,17 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73 h1:HpHNB68mF30LkUorpr7B22Xy0XwParP/n+AL0z4VlFc=
github.com/mogaika/udf v0.0.0-20171019171931-167f0ab01c73/go.mod h1:OVErfG87tRGCHZpQGO8pL4vDZuY0qr4blPOTR0go6e8=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSrwhe88TQQ=
github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60=
github.com/mozillazg/go-pinyin v0.19.0 h1:p+J8/kjJ558KPvVGYLvqBhxf8jbZA2exSLCs2uUVN8c=
github.com/mozillazg/go-pinyin v0.19.0/go.mod h1:iR4EnMMRXkfpFVV5FMi4FNB6wGq9NV6uDWbUuPhP4Yc=
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY=
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
@@ -583,7 +619,8 @@ github.com/openzipkin/zipkin-go-opentracing v0.3.4/go.mod h1:js2AbwmHW0YD9DwIw2J
github.com/oracle/oci-go-sdk v24.3.0+incompatible h1:x4mcfb4agelf1O4/1/auGlZ1lr97jXRSSN5MxTgG/zU=
github.com/oracle/oci-go-sdk v24.3.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ=
github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb h1:3PrKuO92dUTMrQ9dx0YNejC6U/Si6jqKmyQ9vWjwqR4=
github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4=
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
@@ -642,6 +679,7 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 h1:GHRpF1pTW19a8tTFrMLUcfWwyC0pnifVo2ClaLq+hP8=
github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46/go.mod h1:uAQ5PCi+MFsC7HjREoAz1BU+Mq60+05gifQSsHSDG/8=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
@@ -660,8 +698,9 @@ github.com/shirou/gopsutil/v3 v3.22.10/go.mod h1:QNza6r4YQoydyCfo6rH0blGfKahgibh
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9 h1:lpEzuenPuO1XNTeikEmvqYFcU37GVLl8SRNblzyvGBE=
github.com/skip2/go-qrcode v0.0.0-20190110000554-dc11ecdae0a9/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo=
github.com/smartystreets/assertions v0.0.0-20180607162144-eb5b59917fa2/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
@@ -670,7 +709,6 @@ github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N
github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo=
github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg=
github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM=
github.com/smartystreets/gunit v0.0.0-20180314194857-6f0d6275bdcd/go.mod h1:XUKj4gbqj2QvJk/OdLWzyZ3FYli0f+MdpngyryX0gcw=
@@ -709,16 +747,14 @@ github.com/tencentyun/cos-go-sdk-v5 v0.7.24/go.mod h1:wQBO5HdAkLjj2q6XQiIfDSP8DX
github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e h1:T5PdfK/M1xyrHwynxMIVMWLS7f/qHwfslZphxtGnw7s=
github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g=
github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU=
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho=
github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE=
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o=
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
github.com/tredoe/osutil/v2 v2.0.0-rc.16 h1:5A2SKvyB2c3lhPYUIHyFtu6jbaXlaA3Hu5gWIam8Pik=
github.com/tredoe/osutil/v2 v2.0.0-rc.16/go.mod h1:uLRVx/3pb7Y4RQhG8cQFbPE9ha5r81e6MXpBsxbTAYc=
github.com/tredoe/osutil v1.5.0 h1:UGVxbbHRoZi8xXVmbNZ2vgG6XoJ15ndE4LniiQ3rJKg=
github.com/tredoe/osutil v1.5.0/go.mod h1:TEzphzUUunysbdDRfdOgqkg10POQbnfIPV50ynqOfIg=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
@@ -757,8 +793,14 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zexi/influxql-to-metricsql v0.0.6 h1:E16T4oqgjIJtSNVvhGGHnw+pmY3yGz2iRsmmmSVuOpY=
github.com/zexi/influxql-to-metricsql v0.0.6/go.mod h1:PyRRM+3Zrzzig6J4okYLeSv+/d+5GaL5ccBaUKQABNs=
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
github.com/zexi/influxql-to-metricsql v0.1.1 h1:dXnVzlxVLuo88zGkDca7erEnmvprGWjzsBcs8qIoQGQ=
github.com/zexi/influxql-to-metricsql v0.1.1/go.mod h1:JlC5FY+6De9ZPxG47G5DOgva8P9X1VaKS4ExzCmhSCc=
github.com/zexi/promql/v2 v2.12.1 h1:crHKpULdLLsBZ9b78Rg6qQkugzlk6BHeCj93tw/F5RU=
github.com/zexi/promql/v2 v2.12.1/go.mod h1:2UtzWZGmth95n2qdIZWpJ5yQ0cE5hEvz0dGsajI1Sqg=
go.etcd.io/etcd/api/v3 v3.5.0 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw=
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU=
@@ -769,8 +811,21 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0 h1:P+/g8GpuJGYbOp2tAdKrIPUX9JO02q8Q0YNlHolpibA=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0 h1:doUP+ExOpH3spVTLS0FcWGLnQrPct/hD/bCPbDRUEAU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.48.0/go.mod h1:rdENBZMT2OE6Ne/KLwpiXudnAsbdrdBaqBvTN8M8BgA=
go.opentelemetry.io/otel v1.23.0 h1:Df0pqjqExIywbMCMTxkAwzjLZtRf+bBKLbUcpxO2C9E=
go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFufObyB0=
go.opentelemetry.io/otel/metric v1.23.0 h1:pazkx7ss4LFVVYSxYew7L5I6qvLXHA0Ap2pwV+9Cnpo=
go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo=
go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw=
go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc=
go.opentelemetry.io/otel/trace v1.23.0 h1:37Ik5Ib7xfYVb4V1UtnT97T1jI+AoIYkJyPkuL4iJgI=
go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
@@ -791,8 +846,9 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ=
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -817,7 +873,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
@@ -831,8 +886,6 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180524181706-dfa909b99c79/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -876,15 +929,17 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c h1:pkQiBZBvdos9qq4wBAHqlzuZHEXo07pqV06ef90u1WI=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -897,8 +952,9 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180724212812-e072cadbbdc8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -965,14 +1021,15 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -981,16 +1038,18 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1041,20 +1100,19 @@ golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU=
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230215201556-9c5414ab4bde h1:ybF7AMzIUikL9x4LgwEmzhXtzRpKNqngme1VGDWz+Nk=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230215201556-9c5414ab4bde/go.mod h1:mQqgjkW8GQQcJQsbBvK890TKqUK1DfKWkuBGbOkuMHQ=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
@@ -1066,16 +1124,17 @@ google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/
google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.167.0 h1:CKHrQD1BLRii6xdkatBDXyKzM0mkawt2QP+H3LtPmSE=
google.golang.org/api v0.167.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.4/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1106,8 +1165,13 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c h1:wtujag7C+4D6KMoulW9YauvK2lgdvCMS260jsqqBXr0=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s=
google.golang.org/genproto/googleapis/api v0.0.0-20240304161311-37d4d3c04a78 h1:SzXBGiWM1LNVYLCRP3e0/Gsze804l4jGoJ5lYysEO5I=
google.golang.org/genproto/googleapis/api v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -1122,8 +1186,10 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk=
google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -1136,13 +1202,11 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1157,13 +1221,10 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ldap.v3 v3.0.3 h1:YKRHW/2sIl05JsCtx/5ZuUueFuJyoj/6+DGXe3wp6ro=
gopkg.in/ldap.v3 v3.0.3/go.mod h1:oxD7NyBuxchC+SgJDE1Q5Od05eGt29SDQVBmV+HYbzw=
gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk=
gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw=
gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/urfave/cli.v1 v1.19.1/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -1195,8 +1256,9 @@ k8s.io/cluster-bootstrap v0.19.3 h1:LIVoRLTjJt3Yq/u+cV8h3cxGPwz9w+SFXtHdiKxfD7A=
k8s.io/cluster-bootstrap v0.19.3/go.mod h1:yZPVza5jZABN+xe4y6By4DnZI+UF9TxYj80etnDzZ5w=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0 h1:XRvcwJozkgZ1UQJmfMGpvRthQHOvihEhYtDfAaxMz/A=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.20.0 h1:tlyxlSvd63k7axjhuchckaRJm+a92z5GSOrTOQY5sHw=
k8s.io/klog/v2 v2.20.0/go.mod h1:Gm8eSIfQN6457haJuPaMxZw4wyP5k+ykPFlrhQDvhvw=
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
k8s.io/utils v0.0.0-20200729134348-d5654de09c73 h1:uJmqzgNWG7XyClnU/mLPBWwfKKF1K8Hf8whTseBgJcg=
k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
@@ -1210,13 +1272,13 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240603072808-2fc75a83dad7 h1:61XiAkSLyvgKN024+WumxFJSx/VsVpHnW2Tuqa8NWnI=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240603072808-2fc75a83dad7/go.mod h1:quoJjGTJ2PjAY0+3YeN5JuN136whECKmfkJQwIsXKjM=
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32 h1:v7POYkQwo1XzOxBoIoRVr/k0V9Y5JyjpshlIFa9raug=
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260207043119-2907d68518c5 h1:CqO2GuJk/pT4yjI3OTeLm+/mY1H+aUK+B6hxhzIdUQ4=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20260207043119-2907d68518c5/go.mod h1:GdAwZ78fiqj13i2r1zNuE/D6YOlhh2q4jZjuyHiZTq8=
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0 h1:msG4SiDSVU7CrXH06WuHlNEZXIooTcmNbfrIGHuIHBU=
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
yunion.io/x/jsonutils v1.0.1-0.20240203102553-4096f103b401 h1:4l6ELFSQ0MBVInscZ8/yOtSWF0cwH5BT1ATN6dCtAqc=
yunion.io/x/jsonutils v1.0.1-0.20240203102553-4096f103b401/go.mod h1:VK4Z93dgiKgAijcSqbMKmGaBMJuHulR16Hz4K015ZPo=
yunion.io/x/jsonutils v1.0.1-0.20250507052344-1abcf4f443b1 h1:/+THlvf/MvgCW+7KeCDCr33e81KSRa5JmdZ1IIyLOXQ=
yunion.io/x/jsonutils v1.0.1-0.20250507052344-1abcf4f443b1/go.mod h1:VK4Z93dgiKgAijcSqbMKmGaBMJuHulR16Hz4K015ZPo=
yunion.io/x/log v0.0.0-20190514041436-04ce53b17c6b/go.mod h1:+gauLs73omeJAPlsXcevLsJLKixV+sR/E7WSYTSx1fE=
yunion.io/x/log v0.0.0-20190629062853-9f6483a7103d/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91 h1:inY5o3LDa/zgsIZuPN0HmpzKIsu/lLgsBmMttuDPGj4=
@@ -1225,11 +1287,11 @@ yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900 h1:Hu/4ERvoWaN6aiFs4h4/yvVB
yunion.io/x/ovsdb v0.0.0-20230306173834-f164f413a900/go.mod h1:0vLkNEhlmA64HViPBAnSTUMrx5QP1CLsxXmxDKQ80tc=
yunion.io/x/pkg v0.0.0-20190620104149-945c25821dbf/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v0.0.0-20190628082551-f4033ba2ea30/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v1.10.1-0.20240601050854-9e3452bf4d47 h1:uh8OUgdycVKVORSoWNj2w9gMBEaOPgRePSlGqyKYa9s=
yunion.io/x/pkg v1.10.1-0.20240601050854-9e3452bf4d47/go.mod h1:+3nFKJt+O4xWboiDAv2EqvMM0rmm3tPJaOuQSHFkcY8=
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e h1:v+EzIadodSwkdZ/7bremd7J8J50Cise/HCylsOJngmo=
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e/go.mod h1:0iFKpOs1y4lbCxeOmq3Xx/0AcQoewVPwj62eRluioEo=
yunion.io/x/sqlchemy v1.1.3-0.20240530085133-5058648977dd h1:5y2pHZ4+cDIuh5MTI853yulkgdADRLWKeyYaaFGArcQ=
yunion.io/x/sqlchemy v1.1.3-0.20240530085133-5058648977dd/go.mod h1:5W8ghvJ4TNt/r2yDjjD3i4QsZgIiJX45dhRQBGWPHsQ=
yunion.io/x/pkg v1.10.4-0.20260127060125-8939521ef75e h1:py5Kd6cgP6pxB9pSc4ry/gnmA6rJZwMVOnAjra4sb2g=
yunion.io/x/pkg v1.10.4-0.20260127060125-8939521ef75e/go.mod h1:0Bwxqd9MA3ACi119/l02FprY/o9gHahmYC2bsSbnVpM=
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1 h1:1KJ3YYinydPHpDEQRXdr/T8SYcKZ5Er+m489H+PnaQ4=
yunion.io/x/s3cli v0.0.0-20241221171442-1c11599d28e1/go.mod h1:0iFKpOs1y4lbCxeOmq3Xx/0AcQoewVPwj62eRluioEo=
yunion.io/x/sqlchemy v1.1.3-0.20251231025938-b0a38f6e9fab h1:5m/bSzW3uTAk83rp9eethbYsxJFYInFVeU1RDkteW4E=
yunion.io/x/sqlchemy v1.1.3-0.20251231025938-b0a38f6e9fab/go.mod h1:vCIZpqhZ5Jzaq3tFyrti/vv8BijQKtkzSgNT/uH4H5A=
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c h1:QuLab2kSRECZRxo4Lo2KcYn6XjQFDGaZ1+x0pYDVVwQ=
yunion.io/x/structarg v0.0.0-20231017124457-df4d5009457c/go.mod h1:EP6NSv2C0zzqBDTKumv8hPWLb3XvgMZDHQRfyuOrQng=

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -232,5 +232,5 @@ func taskCompleted(ctx context.Context, data jsonutils.JSONObject) {
}
func InitPlaybookWorker() {
PlaybookWorker = workmanager.NewWorkManger(taskFailed, taskCompleted, options.Options.PlaybookWorkerCount)
PlaybookWorker = workmanager.NewWorkManger("PlaybookWorker", taskFailed, taskCompleted, options.Options.PlaybookWorkerCount)
}

View File

@@ -74,7 +74,7 @@ func (app *Application) InitHandlers() *Application {
if options.Options.EnableBackendServiceProxy {
// bind backend service API proxy
log.Infof("enable backend service proxy")
app.BackendServiceProxyHandler = handler.NewBackendServiceProxyHandler("/api/s/<service>")
app.BackendServiceProxyHandler = handler.NewBackendServiceProxyHandler("/api/s/<service>", options.Options.BackendProxyReadWorkerCount, options.Options.BackendProxyWriteWorkerCount)
}
app.CloudIdSAMLHandler = handler.NewProxyHandlerWithService(cloudid.SAML_IDP_PREFIX, cloudid.SERVICE_TYPE)

View File

@@ -17,7 +17,7 @@ package clientman
import (
"crypto/rand"
"crypto/rsa"
"io/ioutil"
"os"
"github.com/pkg/errors"
@@ -27,9 +27,9 @@ import (
func InitClient() error {
if options.Options.EnableSsl {
privData, err := ioutil.ReadFile(options.Options.SslKeyfile)
privData, err := os.ReadFile(options.Options.SslKeyfile)
if err != nil {
return errors.Wrapf(err, "ioutil.ReadFile %s", options.Options.SslKeyfile)
return errors.Wrapf(err, "os.ReadFile %s", options.Options.SslKeyfile)
}
privateKey, err := seclib2.DecodePrivateKey(privData)
if err != nil {

View File

@@ -0,0 +1,102 @@
// Copyright 2019 Yunion
//
// Licensed 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.
package handler
import (
"context"
"net/http"
"strings"
"yunion.io/x/pkg/errors"
"yunion.io/x/onecloud/pkg/apigateway/clientman"
"yunion.io/x/onecloud/pkg/appsrv"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/util/netutils2"
)
const (
ASSUME_TOKEN_HEADER = "X-Assume-Token"
)
type SAssumeToken struct {
Token string `json:"token"`
UserId string `json:"user_id"`
ProjectId string `json:"project_id"`
}
func getAssumeToken(r *http.Request) (*SAssumeToken, error) {
auth := r.Header.Get(ASSUME_TOKEN_HEADER)
if auth == "" {
return nil, errors.Wrap(httperrors.ErrInputParameter, "Assume token header is empty")
}
parts := strings.Split(strings.TrimSpace(auth), ":")
if len(parts) != 3 {
return nil, errors.Wrap(httperrors.ErrInputParameter, "Assume token header is invalid")
}
return &SAssumeToken{
Token: parts[0],
UserId: parts[1],
ProjectId: parts[2],
}, nil
}
func doAssumeLogin(assumeToken *SAssumeToken, w http.ResponseWriter, req *http.Request) (mcclient.TokenCredential, error) {
cliIp := netutils2.GetHttpRequestIp(req)
token, err := auth.Client().AuthenticateAssume(assumeToken.Token, assumeToken.UserId, assumeToken.ProjectId, cliIp)
if err != nil {
return nil, errors.Wrapf(httperrors.ErrInvalidCredential, "AuthenticateAssume fail %s", err)
}
authToken := clientman.NewAuthToken(token.GetTokenString(), false, false, false)
saveLoginCookies(w, authToken, token, nil)
return token, nil
}
func (h *AuthHandlers) handleAssumeLogin(ctx context.Context, w http.ResponseWriter, req *http.Request) {
// no auth cookie, try to get get assume user token from header
assumeToken, err := getAssumeToken(req)
if err != nil {
appsrv.Send(w, err.Error())
return
}
token, err := doAssumeLogin(assumeToken, w, req)
if err != nil {
appsrv.Send(w, err.Error())
return
}
_, query, _ := appsrv.FetchEnv(ctx, w, req)
redirect := ""
if query != nil {
queryMap, err := query.GetMap()
if err != nil {
appsrv.Send(w, err.Error())
return
}
for k, v := range queryMap {
if k == "p" {
redirect, _ = v.GetString()
} else {
value, _ := v.GetString()
saveCookie(w, k, value, "", token.GetExpires(), false)
}
}
}
if !strings.HasPrefix(redirect, "/") {
redirect = "/" + redirect
}
appsrv.SendRedirect(w, redirect)
}

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