Add pkg/harvester components + shell portings - 1

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia
2024-10-23 17:00:46 +02:00
parent f8408469f7
commit 4f2688f6ab
265 changed files with 42316 additions and 82 deletions
+18
View File
@@ -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;
});
}
+14
View File
@@ -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);
}
+11
View File
@@ -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;
}