Compare commits

...
3 Commits
Author SHA1 Message Date
mergify[bot]andTim Liou 90b8a821a1 chore: bump version to 1.8.0-rc5 (#789) (#790)
(cherry picked from commit 1f9e9b336b)

Signed-off-by: Tim Liou <tim.liou@suse.com>
Co-authored-by: Tim Liou <tim.liou@suse.com>
2026-04-01 09:17:31 +08:00
mergify[bot]andAndy Lee 87ff014bd8 refactor: add banner in PCI Devices page (#785) (#788)
* refactor: add banner in PCI Devices page



* refactor: based on copilot review



---------


(cherry picked from commit c5b4f6cd1e)

Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
2026-04-01 09:05:00 +08:00
mergify[bot]andAndy Lee 20328b06e6 fix: the rancher-eio/read-vault-secret sha (#786) (#787)
(cherry picked from commit 4ce35ce075)

Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
2026-03-31 14:09:22 +08:00
8 changed files with 45 additions and 18 deletions
@@ -45,7 +45,7 @@ jobs:
run: ./scripts/build-upload-gate run: ./scripts/build-upload-gate
- name: Get gcs auth - name: Get gcs auth
uses: rancher-eio/read-vault-secrets@0da85151ad1f19ed7986c41587e45aac1ace74b6 # v3 uses: rancher-eio/read-vault-secrets@d266f55186f80a893839f6e15662e67388e443e6 # v3
with: with:
secrets: | secrets: |
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ; secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
@@ -90,7 +90,7 @@ jobs:
DISABLED_EMBED_PKG: https://releases.rancher.com/harvester-ui/plugin/harvester-1.0.3.tar.gz DISABLED_EMBED_PKG: https://releases.rancher.com/harvester-ui/plugin/harvester-1.0.3.tar.gz
- name: Get gcs auth - name: Get gcs auth
uses: rancher-eio/read-vault-secrets@0da85151ad1f19ed7986c41587e45aac1ace74b6 # v3 uses: rancher-eio/read-vault-secrets@d266f55186f80a893839f6e15662e67388e443e6 # v3
with: with:
secrets: | secrets: |
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ; secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
@@ -134,7 +134,7 @@ jobs:
run: ./scripts/build-upload-gate run: ./scripts/build-upload-gate
- name: Get gcs auth - name: Get gcs auth
uses: rancher-eio/read-vault-secrets@0da85151ad1f19ed7986c41587e45aac1ace74b6 # v3 uses: rancher-eio/read-vault-secrets@d266f55186f80a893839f6e15662e67388e443e6 # v3
with: with:
secrets: | secrets: |
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ; secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
@@ -27,7 +27,7 @@ jobs:
build-status: ${{ job.status }} build-status: ${{ job.status }}
steps: steps:
- name: Read Secrets - name: Read Secrets
uses: rancher-eio/read-vault-secrets@0da85151ad1f19ed7986c41587e45aac1ace74b6 # v3 uses: rancher-eio/read-vault-secrets@d266f55186f80a893839f6e15662e67388e443e6 # v3
with: with:
secrets: | secrets: |
secret/data/github/repo/${{ github.repository }}/dockerhub/rancher/credentials username | DOCKER_USERNAME ; secret/data/github/repo/${{ github.repository }}/dockerhub/rancher/credentials username | DOCKER_USERNAME ;
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
# The FOSSA token is shared between all repos in Harvester's GH org. It can # The FOSSA token is shared between all repos in Harvester's GH org. It can
# be used directly and there is no need to request specific access to EIO. # be used directly and there is no need to request specific access to EIO.
- name: Read FOSSA token - name: Read FOSSA token
uses: rancher-eio/read-vault-secrets@0da85151ad1f19ed7986c41587e45aac1ace74b6 # v3 uses: rancher-eio/read-vault-secrets@d266f55186f80a893839f6e15662e67388e443e6 # v3
with: with:
secrets: | secrets: |
secret/data/github/org/harvester/fossa/credentials token | FOSSA_API_KEY_PUSH_ONLY secret/data/github/org/harvester/fossa/credentials token | FOSSA_API_KEY_PUSH_ONLY
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "harvester-ui-extension", "name": "harvester-ui-extension",
"version": "1.8.0-rc4", "version": "1.8.0-rc5",
"private": false, "private": false,
"engines": { "engines": {
"node": ">=20.0.0" "node": ">=20.0.0"
@@ -243,9 +243,9 @@ export default {
<Banner color="info"> <Banner color="info">
<MessageLink <MessageLink
:to="toVGpuDevicesPage" :to="toVGpuDevicesPage"
prefix-label="harvester.pci.howToUseDevice.prefix" prefix-label="harvester.pci.howToUseDeviceInVMCreation.prefix"
middle-label="harvester.pci.howToUseDevice.middle" middle-label="harvester.pci.howToUseDeviceInVMCreation.middle"
suffix-label="harvester.pci.howToUseDevice.suffix" suffix-label="harvester.pci.howToUseDeviceInVMCreation.suffix"
/> />
</Banner> </Banner>
<Banner <Banner
+6 -2
View File
@@ -376,10 +376,14 @@ harvester:
available: Available Devices available: Available Devices
compatibleNodes: Compatible Nodes compatibleNodes: Compatible Nodes
impossibleSelection: 'There are no hosts with all of the selected devices.' impossibleSelection: 'There are no hosts with all of the selected devices.'
howToUseDevice: howToUseDeviceInVMCreation:
prefix: 'Use the table below to enable PCI passthrough on each device you want to use in this virtual machine.<br>For vGPU devices, please enable them on the' prefix: 'Use the table below to enable PCI passthrough on each device you want to use in this virtual machine. <br>For vGPU devices, please enable them on the'
middle: vGPU Devices middle: vGPU Devices
suffix: page first. suffix: page first.
howToUseDevice:
prefix: 'Select the device in the table to enable PCI passthrough. <br>For vGPU devices, please enable them on the'
middle: vGPU Devices
suffix: page.
deviceInTheSameHost: 'You can only select devices on the same host.' deviceInTheSameHost: 'You can only select devices on the same host.'
oldFormatDevices: oldFormatDevices:
help: |- help: |-
@@ -60,6 +60,17 @@ export default {
return schema; return schema;
}, },
toVGpuDevicesPage() {
return {
name: 'harvester-c-cluster-resource',
params: { cluster: this.$store.getters['clusterId'], resource: HCI.VGPU_DEVICE },
};
},
vGPUAsPCIDeviceEnabled() {
return this.$store.getters['harvester-common/getFeatureEnabled']('vGPUAsPCIDevice');
},
rows() { rows() {
const inStore = this.$store.getters['currentProduct'].inStore; const inStore = this.$store.getters['currentProduct'].inStore;
const rows = this.$store.getters[`${ inStore }/all`](HCI.PCI_DEVICE); const rows = this.$store.getters[`${ inStore }/all`](HCI.PCI_DEVICE);
@@ -85,11 +96,23 @@ export default {
{{ t('harvester.pci.noPCIPermission') }} {{ t('harvester.pci.noPCIPermission') }}
</Banner> </Banner>
</div> </div>
<div v-else-if="hasSchema && enabledPCI">
<Banner
v-if="vGPUAsPCIDeviceEnabled"
color="info"
>
<MessageLink
:to="toVGpuDevicesPage"
prefix-label="harvester.pci.howToUseDevice.prefix"
middle-label="harvester.pci.howToUseDevice.middle"
suffix-label="harvester.pci.howToUseDevice.suffix"
/>
</Banner>
<DeviceList <DeviceList
v-else-if="hasSchema && enabledPCI"
:devices="rows" :devices="rows"
:schema="schema" :schema="schema"
/> />
</div>
<div v-else> <div v-else>
<Banner color="warning"> <Banner color="warning">
<MessageLink <MessageLink
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "harvester", "name": "harvester",
"description": "Rancher UI Extension for Harvester", "description": "Rancher UI Extension for Harvester",
"version": "1.8.0-rc4", "version": "1.8.0-rc5",
"private": false, "private": false,
"rancher": { "rancher": {
"annotations": { "annotations": {