mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2026-10-01 03:36:04 +08:00
Add pkg/harvester components + shell portings - 1
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
export function allSettled(hash) {
|
||||
const keys = Object.keys(hash);
|
||||
const promises = Object.values(hash);
|
||||
|
||||
return Promise.allSettled(promises).then((res) => {
|
||||
const out = {};
|
||||
|
||||
for ( let i = 0 ; i < keys.length ; i++ ) {
|
||||
if (res[i].status === 'fulfilled') {
|
||||
out[keys[i]] = res[i].value;
|
||||
} else {
|
||||
out[keys[i]] = [];
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
export function isValidMac(value) {
|
||||
return /^[A-Fa-f0-9]{2}(-[A-Fa-f0-9]{2}){5}$|^[A-Fa-f0-9]{2}(:[A-Fa-f0-9]{2}){5}$/.test(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* RFC 1123
|
||||
* https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
|
||||
*/
|
||||
export function isValidDNSLabelName(str) {
|
||||
const reg = /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/;
|
||||
|
||||
return reg.test(str);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { HCI as HCI_ANNOTATIONS } from '@pkg/harvester/config/labels-annotations';
|
||||
|
||||
export function parseVolumeClaimTemplates(data) {
|
||||
let out = [];
|
||||
|
||||
try {
|
||||
out = JSON.parse(data?.metadata?.annotations?.[HCI_ANNOTATIONS.VOLUME_CLAIM_TEMPLATE]) || [];
|
||||
} catch (e) {}
|
||||
|
||||
return out;
|
||||
}
|
||||
Reference in New Issue
Block a user