UNPKG

cdk-eks-karpenter

Version:

CDK construct library that allows you install Karpenter in an AWS EKS cluster

38 lines 3.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; /** * Utils should only contain static methods. */ class Utils { /** * Check whether a string conforms to the lowercase RFC 1123. If not, Kubernetes will throw * an error saying that the name must conform with regex used for validation, which is: * \'[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\')\n' * * @param s string to validate * * @returns boolean */ static validateKubernetesNameConformance(s) { let regex = new RegExp('^(?![0-9]+$)(?!.*-$)(?!-)[a-z0-9-]{1,63}$'); return regex.test(s); } /** * Checks the object to ensure that all required keys are present, or throws an error. * * @param obj object to check * @param required list of strings to ensure presence * * @returns boolean */ static hasRequiredKeys(obj, required) { for (let key of required) { if (!obj.hasOwnProperty(key)) { throw new Error(`Missing required key: ${key}, full object: ${JSON.stringify(obj)}`); } } } } exports.Utils = Utils; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLEtBQUs7SUFDaEI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBUztRQUN2RCxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBd0IsRUFBRSxRQUFrQjtRQUN4RSxLQUFLLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRTtZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEY7U0FDRjtJQUNILENBQUM7Q0FDRjtBQTlCRCxzQkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxzIHNob3VsZCBvbmx5IGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBVdGlscyB7XG4gIC8qKlxuICAgKiBDaGVjayB3aGV0aGVyIGEgc3RyaW5nIGNvbmZvcm1zIHRvIHRoZSBsb3dlcmNhc2UgUkZDIDExMjMuIElmIG5vdCwgS3ViZXJuZXRlcyB3aWxsIHRocm93XG4gICAqIGFuIGVycm9yIHNheWluZyB0aGF0IHRoZSBuYW1lIG11c3QgY29uZm9ybSB3aXRoIHJlZ2V4IHVzZWQgZm9yIHZhbGlkYXRpb24sIHdoaWNoIGlzOlxuICAgKiBcXCdbYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyhcXFxcLlthLXowLTldKFstYS16MC05XSpbYS16MC05XSk/KSpcXCcpXFxuJ1xuICAgKlxuICAgKiBAcGFyYW0gcyBzdHJpbmcgdG8gdmFsaWRhdGVcbiAgICpcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZUt1YmVybmV0ZXNOYW1lQ29uZm9ybWFuY2Uoczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnXig/IVswLTldKyQpKD8hLiotJCkoPyEtKVthLXowLTktXXsxLDYzfSQnKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdChzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIG9iamVjdCB0byBlbnN1cmUgdGhhdCBhbGwgcmVxdWlyZWQga2V5cyBhcmUgcHJlc2VudCwgb3IgdGhyb3dzIGFuIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqIG9iamVjdCB0byBjaGVja1xuICAgKiBAcGFyYW0gcmVxdWlyZWQgbGlzdCBvZiBzdHJpbmdzIHRvIGVuc3VyZSBwcmVzZW5jZVxuICAgKlxuICAgKiBAcmV0dXJucyBib29sZWFuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhhc1JlcXVpcmVkS2V5cyhvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIHJlcXVpcmVkOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGZvciAobGV0IGtleSBvZiByZXF1aXJlZCkge1xuICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQga2V5OiAke2tleX0sIGZ1bGwgb2JqZWN0OiAke0pTT04uc3RyaW5naWZ5KG9iail9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=