@alauda-fe/common
Version:
Alauda frontend team common codes.
18 lines • 3.44 kB
JavaScript
import { IP_ADDRESS_PATTERN } from '../../core/public-api';
/**
* 从 underlord 节点 utils 中抽离出来,作为通用的内部IP、内部IPv6、hostname 获取方式
*/
export function getPrivateIPv4(node) {
return (node?.status?.addresses?.find(({ type, address }) => type === 'InternalIP' && IP_ADDRESS_PATTERN.pattern.test(address))?.address || node?.metadata?.labels?.['platform.tkestack.io/machine-ip']);
}
export function getPrivateIPv6(node) {
return node?.status?.addresses?.find(({ type, address }) => type === 'InternalIP' && !IP_ADDRESS_PATTERN.pattern.test(address))?.address;
}
export function getPrivateIP(node) {
return getPrivateIPv4(node) || getPrivateIPv6(node);
}
export function getHostname(node) {
return node?.status?.addresses?.find(addr => addr.type === 'Hostname')
.address;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVU7SUFDdkMsT0FBTyxDQUNMLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FDM0IsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQ3BCLElBQUksS0FBSyxZQUFZLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDcEUsRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUMxRSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBVTtJQUN2QyxPQUFPLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FDbEMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQ3BCLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNyRSxFQUFFLE9BQU8sQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVU7SUFDckMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVU7SUFDcEMsT0FBTyxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztTQUNuRSxPQUFPLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBfQUREUkVTU19QQVRURVJOLCBOb2RlIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcblxuLyoqXG4gKiDku44gdW5kZXJsb3JkIOiKgueCuSB1dGlscyDkuK3mir3nprvlh7rmnaXvvIzkvZzkuLrpgJrnlKjnmoTlhoXpg6hJUOOAgeWGhemDqElQdjbjgIFob3N0bmFtZSDojrflj5bmlrnlvI9cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByaXZhdGVJUHY0KG5vZGU6IE5vZGUpIHtcbiAgcmV0dXJuIChcbiAgICBub2RlPy5zdGF0dXM/LmFkZHJlc3Nlcz8uZmluZChcbiAgICAgICh7IHR5cGUsIGFkZHJlc3MgfSkgPT5cbiAgICAgICAgdHlwZSA9PT0gJ0ludGVybmFsSVAnICYmIElQX0FERFJFU1NfUEFUVEVSTi5wYXR0ZXJuLnRlc3QoYWRkcmVzcyksXG4gICAgKT8uYWRkcmVzcyB8fCBub2RlPy5tZXRhZGF0YT8ubGFiZWxzPy5bJ3BsYXRmb3JtLnRrZXN0YWNrLmlvL21hY2hpbmUtaXAnXVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpdmF0ZUlQdjYobm9kZTogTm9kZSkge1xuICByZXR1cm4gbm9kZT8uc3RhdHVzPy5hZGRyZXNzZXM/LmZpbmQoXG4gICAgKHsgdHlwZSwgYWRkcmVzcyB9KSA9PlxuICAgICAgdHlwZSA9PT0gJ0ludGVybmFsSVAnICYmICFJUF9BRERSRVNTX1BBVFRFUk4ucGF0dGVybi50ZXN0KGFkZHJlc3MpLFxuICApPy5hZGRyZXNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJpdmF0ZUlQKG5vZGU6IE5vZGUpIHtcbiAgcmV0dXJuIGdldFByaXZhdGVJUHY0KG5vZGUpIHx8IGdldFByaXZhdGVJUHY2KG5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG9zdG5hbWUobm9kZTogTm9kZSkge1xuICByZXR1cm4gbm9kZT8uc3RhdHVzPy5hZGRyZXNzZXM/LmZpbmQoYWRkciA9PiBhZGRyLnR5cGUgPT09ICdIb3N0bmFtZScpXG4gICAgLmFkZHJlc3M7XG59XG4iXX0=