From 7e8a5dbd6d804ea447b8f21242ef92b9fecf5e29 Mon Sep 17 00:00:00 2001 From: devthejo Date: Fri, 13 Jan 2023 14:23:31 +0100 Subject: [PATCH] chore: fix snapshots --- index.d.ts | 5 +- package.json | 34 +- packages/common/utils/async-shell.js | 22 +- packages/common/utils/axios-retry.js | 4 +- .../common/utils/degit-tag-has-changed.js | 11 + packages/common/utils/export-dir-modules.js | 30 + packages/common/utils/ignore-yarn-state.js | 4 + packages/common/utils/index.d.ts | 41 + packages/common/utils/is-version-tag.js | 4 + packages/common/utils/kind-is-runnable.js | 8 + packages/common/utils/kubectl-retry.js | 32 + packages/common/utils/need-helm.js | 2 +- packages/common/utils/need-kapp.js | 2 +- packages/common/utils/need-kubectl.js | 2 +- packages/common/utils/need-rollout-status.js | 2 +- packages/common/utils/need-stern.js | 2 +- packages/common/utils/parse-command.js | 5 + packages/common/utils/pattern-match.js | 6 + packages/common/utils/sanitize-label.js | 5 + packages/common/utils/slug.js | 19 + packages/common/utils/ucfirst.js | 4 + .../02-dependencies-tree-infos.js | 4 +- .../resources-tree-infos.test.js.snap | 99 ++ .../deploy-with/kubectl-dependency-tree.js | 2 +- plugins/contrib/deploy-with/kubectl.js | 2 +- plugins/contrib/lib/get-needs-deps.js | 17 +- .../contrib/patches/00.0-values-patches.js | 8 + plugins/contrib/patches/00.1-labels.js | 16 +- plugins/contrib/patches/00.2-annotations.js | 17 +- plugins/contrib/patches/01-namespace.js | 5 + plugins/contrib/patches/02-kapp.js | 15 +- plugins/contrib/patches/03-dns-truncate.js | 2 +- plugins/contrib/patches/04-on-changed.js | 35 +- plugins/contrib/patches/05.0-needs.js | 17 +- .../contrib/patches/06-filter-disable-kapp.js | 1 + plugins/contrib/patches/06-helm.js | 1 + plugins/contrib/patches/10-sort.js | 2 + plugins/contrib/patches/rancher-project-id.js | 16 +- plugins/contrib/patches/reloader.js | 4 + .../contrib/pre-deploy/05-needs-kubeconfig.js | 57 ++ tsconfig.json | 21 + yarn.lock | 847 +++++++++++++----- 42 files changed, 1173 insertions(+), 259 deletions(-) create mode 100644 packages/common/utils/export-dir-modules.js create mode 100644 packages/common/utils/index.d.ts create mode 100644 packages/common/utils/kind-is-runnable.js create mode 100644 plugins/contrib/pre-deploy/05-needs-kubeconfig.js create mode 100644 tsconfig.json diff --git a/index.d.ts b/index.d.ts index 07db9d7b28..ac2a6dd2f9 100644 --- a/index.d.ts +++ b/index.d.ts @@ -11,7 +11,8 @@ type CronJob = import("kubernetes-models/batch/v1").ICronJob; type ConfigMap = import("kubernetes-models/v1").IConfigMap; type Secret = import("kubernetes-models/v1").ISecret; -//type Utils = import("./packages/common/utils").Utils; + +type Utils = import("./packages/common/utils").Utils; // todo: use officiel model interface KappConfig { @@ -93,7 +94,7 @@ declare namespace Kontinuous { }; type PatchContext = { - //utils: Utils; + utils: Utils; //@ts-ignore logger; //@ts-ignore diff --git a/package.json b/package.json index f676a74fcb..404f1a0f78 100644 --- a/package.json +++ b/package.json @@ -8,23 +8,35 @@ "packages/*" ], "devDependencies": { + "@types/lodash.camelcase": "^4.3.7", + "@types/lodash.clonedeep": "^4.5.7", + "@types/lodash.defaults": "^4.2.7", + "@types/lodash.get": "^4.4.7", + "@types/lodash.omit": "^4.5.7", + "@types/lodash.pick": "^4.4.7", + "@types/lodash.set": "^4.3.7", + "@types/micromatch": "^4.0.2", + "@types/node": "^18.11.18", + "@types/pino": "^7.0.5", "commit-and-tag-version": "^11.0.0", "docsify-cli": "^4.4.4", - "eslint": "^8.26.0", + "eslint": "^8.31.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-prettier": "^8.5.0", + "eslint-config-prettier": "^8.6.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^27.0.0", + "eslint-plugin-jest": "^27.2.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.0.0", - "fs-extra": "^11.1.1", - "husky": "^8.0.0", + "eslint-plugin-prettier": "^4.2.1", + "fs-extra": "^11.1.0", + "husky": "^8.0.3", "js-yaml": "^4.1.0", - "kubernetes-models": "^4.3.1", - "lint-staged": "^13.0.0", - "prettier": "^2.6.2", + "kubernetes-models": "^4.1.0", + "lint-staged": "^13.1.0", + "prettier": "^2.8.1", "renovate": "^35.0.0", + "standard-version": "^9.5.0", + "typescript": "^4.9.4", "~dev-tools": "workspace:^" }, "resolutions": { @@ -66,7 +78,9 @@ "docker:kontinuous:build": "DOCKER_BUILDKIT=1 docker build --progress=plain -f packages/kontinuous/Dockerfile -t kontinuous .", "docker:kontinuous:run": "docker run -it -v $PWD:/workspace -v $(dirname $KUBECONFIG):/home/node/.kube -e KUBECONFIG=/home/node/.kube/$(basename $KUBECONFIG) kontinuous", "docker:kontinuous": "yarn docker:kontinuous:build && yarn docker:kontinuous:run", - "logs:remote-webhook": "kubectl --context prod -n kontinuous-webhook logs -f --all-containers -l component=kontinuous-webhook" + "logs:remote-webhook": "kubectl --context prod -n kontinuous-webhook logs -f --all-containers -l component=kontinuous-webhook", + "upgrade:modjo": "yarn up -R \"@modjo-plugins/*\"", + "ts:check": "tsc -p tsconfig.json" }, "lint-staged": { "*.js": [ diff --git a/packages/common/utils/async-shell.js b/packages/common/utils/async-shell.js index 9edbc1f226..a0dd22ce54 100644 --- a/packages/common/utils/async-shell.js +++ b/packages/common/utils/async-shell.js @@ -4,6 +4,15 @@ const getLogger = require("./get-logger") const parseCommand = require("./parse-command") const ProgramError = require("./program-error.class") +/** + * + * @param {import("child_process").ChildProcessWithoutNullStreams} child + * @param {null | ((child: import("child_process").ChildProcessWithoutNullStreams) => void)} callback + * @param {Kontinuous.PatchContext["logger"]} logger + * @param {{ignoreErrors?: string[]}} extraOptions + * @returns + */ + /** * * @param {import("child_process").ChildProcessWithoutNullStreams} child @@ -16,10 +25,12 @@ const ProgramError = require("./program-error.class") const promiseFromChildProcess = (child, callback, logger, extraOptions) => { const { ignoreErrors = [] } = extraOptions child.on("error", () => {}) // avoid crash on not found executable + /** @type {Buffer[]} */ const out = [] child.stdout.on("data", (data) => { out.push(data) }) + /** @type {Buffer[]} */ const err = [] child.stderr.on("data", (data) => { if (ignoreErrors.some((errCatch) => data.includes(errCatch))) { @@ -48,7 +59,15 @@ const promiseFromChildProcess = (child, callback, logger, extraOptions) => { }) }) } - +/** + * + * @param {string|string[]} arg + * @param {Record} options + * @param {null | ((child: import("child_process").ChildProcessWithoutNullStreams) => void)} callback + * @param {Kontinuous.PatchContext["logger"]} logger + * @param {{ignoreErrors?: string[]}} extraOptions + * @returns + */ module.exports = ( arg, options = {}, @@ -57,6 +76,7 @@ module.exports = ( extraOptions = {} ) => { const [cmd, args] = parseCommand(arg) + /** @type {Record} */ const defaultOptions = { encoding: "utf-8" } const childProcess = spawn(cmd, args, { ...defaultOptions, diff --git a/packages/common/utils/axios-retry.js b/packages/common/utils/axios-retry.js index 00ec5f5730..fa3167d4f0 100644 --- a/packages/common/utils/axios-retry.js +++ b/packages/common/utils/axios-retry.js @@ -1,5 +1,5 @@ -const axios = require("axios") -const axiosRetry = require("axios-retry") +const { default: axios } = require("axios") +const { default: axiosRetry } = require("axios-retry") const kontinuousVersion = require("./kontinuous-version") diff --git a/packages/common/utils/degit-tag-has-changed.js b/packages/common/utils/degit-tag-has-changed.js index 76afcc33a4..6f8013bc17 100644 --- a/packages/common/utils/degit-tag-has-changed.js +++ b/packages/common/utils/degit-tag-has-changed.js @@ -7,6 +7,7 @@ const asyncShell = require("./async-shell") const normalizeRepositoryUrl = require("./normalize-repository-url") const getLogger = require("./get-logger") +/** @type {Record} */ const supported = { github: ".com", gitlab: ".com", @@ -15,6 +16,11 @@ const supported = { "git.sr.ht": ".ht", } +/** + * + * @param {string} src + * @returns {{site:string, user:string, name:string, ref:string, url:string, ssh:string, subdir:string, mode:string}} + */ function parse(src) { const match = /^(?:(?:https:\/\/)?([^:/]+\.[^:/]+)\/|git@([^:/]+)[:/]|([^/]+):)?([^/\s]+)\/([^/\s#]+)(?:((?:\/[^/\s#]+)+))?(?:\/)?(?:#(.+))?/.exec( @@ -46,6 +52,11 @@ function parse(src) { return { site: siteName, user, name, ref, url, ssh, subdir, mode } } +/** + * + * @param {string} target + * @returns boolean + */ module.exports = async (target, logger = getLogger()) => { const base = path.join(os.homedir(), ".degit") const repo = parse(target) diff --git a/packages/common/utils/export-dir-modules.js b/packages/common/utils/export-dir-modules.js new file mode 100644 index 0000000000..40664c4eb9 --- /dev/null +++ b/packages/common/utils/export-dir-modules.js @@ -0,0 +1,30 @@ +const fs = require("fs") +const path = require("path") +const camelcase = require("lodash.camelcase") +const ucfirst = require("./ucfirst") + +/** + * + * @param {string} dir + * @param {{filter?: null | ((s: string) => boolean)}} param1 + * @returns Record + */ +module.exports = (dir, { filter = null } = {}) => { + let files = fs.readdirSync(dir) + if (filter) { + files = files.filter(filter) + } + return files.reduce( + /** @param {Record} acc */ + (acc, file) => { + const { name } = path.parse(file) + let key = camelcase(name) + if (key.endsWith("Class")) { + key = ucfirst(key.slice(0, -5)) + } + acc[key] = require(`${dir}/${file}`) + return acc + }, + {} + ) +} diff --git a/packages/common/utils/ignore-yarn-state.js b/packages/common/utils/ignore-yarn-state.js index 729e4c9fc5..11c71600c7 100644 --- a/packages/common/utils/ignore-yarn-state.js +++ b/packages/common/utils/ignore-yarn-state.js @@ -7,6 +7,10 @@ const yarnNotIgnore = [ ".yarn/cache", ] +/** + * @param {string} src + * @returns boolean + */ module.exports = (src) => { if (src.includes("node_modules/") || src.endsWith("node_modules")) { return false diff --git a/packages/common/utils/index.d.ts b/packages/common/utils/index.d.ts new file mode 100644 index 0000000000..6b8f6fd09b --- /dev/null +++ b/packages/common/utils/index.d.ts @@ -0,0 +1,41 @@ +// import JSDoc definitions +type Slug = typeof import("./slug"); +type KindIsRunnable = typeof import("./kind-is-runnable"); +type AsyncShell = typeof import("./async-shell"); +type IsVersionTag = typeof import("./is-version-tag"); +type SanitizeLabel = typeof import("./sanitize-label"); +type IgnoreYarnState = typeof import("./ignore-yarn-state"); +type PatternMatch = typeof import("./pattern-match"); +type KubectlRetry = typeof import("./kubectl-retry"); + +// TODO : fetch from ./*.js +// for some reason the description from source JSDoc isnt displayed +interface Utils { + /** execute some async shell command */ + asyncShell: AsyncShell; + /** Return slugified, hostname-friendly string */ + slug: Slug; + /** Check if some branch is valid semantic-release tag: vx.y.z */ + isVersionTag: IsVersionTag; + /** exclude non-alphanums chars */ + sanitizeLabel: SanitizeLabel; + //@ts-ignore + yaml; + //@ts-ignore + logger; + //@ts-ignore + KontinuousPluginError; + //@ts-ignore + patternMatch: PatternMatch; + // check if the manifest is "runnable" in kubernetes + // act as a typeguard + kindIsRunnable: KindIsRunnable; + /** Run kubectl with exponential backoff */ + kubectlRetry: KubectlRetry; + //@ts-ignore + needKubectl; + /** check if some path should be ignored */ + ignoreYarnState: IgnoreYarnState; +} + +export { Utils }; diff --git a/packages/common/utils/is-version-tag.js b/packages/common/utils/is-version-tag.js index 0b00849c4f..f741cec9a3 100644 --- a/packages/common/utils/is-version-tag.js +++ b/packages/common/utils/is-version-tag.js @@ -2,4 +2,8 @@ const versionTagSemverRe = /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ +/** + * @param {string} tag + * @returns boolean + */ module.exports = (tag) => versionTagSemverRe.test(tag) diff --git a/packages/common/utils/kind-is-runnable.js b/packages/common/utils/kind-is-runnable.js new file mode 100644 index 0000000000..83505afcd7 --- /dev/null +++ b/packages/common/utils/kind-is-runnable.js @@ -0,0 +1,8 @@ +const kindsRunnable = require("./kinds-runnable") + +/** + * + * @param {Kontinuous.Manifest} manifest + * @returns {manifest is Kontinuous.RunnableManifest} + */ +module.exports = (manifest) => kindsRunnable.includes(manifest.kind) diff --git a/packages/common/utils/kubectl-retry.js b/packages/common/utils/kubectl-retry.js index 43e1b73cd0..0123de36ef 100644 --- a/packages/common/utils/kubectl-retry.js +++ b/packages/common/utils/kubectl-retry.js @@ -7,6 +7,21 @@ const getLogger = require("./get-logger") const retriableOnBrokenCluster = require("./retriable-on-broken-cluster") const retriableNetwork = require("./retriable-network") +/** + * @typedef {Object} KubectlRunOptions + * @prop {string} [kubeconfig] + * @prop {string} [kubeconfigContext] + * @prop {string[]} [ignoreErrors] + * @prop {string} [stdin] + * @prop {import('child_process').ChildProcess[]} [collectProcesses] + */ + +/** + * + * @param {string|string[]} kubectlArgs + * @param {KubectlRunOptions} options + * @returns void + */ const kubectlRun = async (kubectlArgs, options = {}) => { const { kubeconfig, @@ -79,6 +94,23 @@ const kubectlRun = async (kubectlArgs, options = {}) => { }) } +/** + * @typedef {Object} KubectlRetryOptions + * @prop {any} [logger] + * @prop {any} [sentry] + * @prop {Record} [retryOptions] + * @prop {boolean} [logError] + * @prop {boolean} [logInfo] + * @prop {import('child_process').ChildProcess[]} [collectProcesses] + * @prop {boolean} [surviveOnBrokenCluster] + */ + +/** + * + * @param {string|string[]} kubectlArgs + * @param {KubectlRetryOptions} options + * @returns string + */ module.exports = async (kubectlArgs, options = {}) => { const { logger = getLogger(), diff --git a/packages/common/utils/need-helm.js b/packages/common/utils/need-helm.js index 980e8992b1..ef9a9e1a6e 100644 --- a/packages/common/utils/need-helm.js +++ b/packages/common/utils/need-helm.js @@ -27,7 +27,7 @@ const download = async (options) => { switch (platform) { case "darwin": break - case "windows": + case "win32": ext = ".exe" break case "linux": diff --git a/packages/common/utils/need-kapp.js b/packages/common/utils/need-kapp.js index 4ef7d550c5..23e0909384 100644 --- a/packages/common/utils/need-kapp.js +++ b/packages/common/utils/need-kapp.js @@ -24,7 +24,7 @@ const download = async (options) => { switch (platform) { case "darwin": break - case "windows": + case "win32": ext = ".exe" break case "linux": diff --git a/packages/common/utils/need-kubectl.js b/packages/common/utils/need-kubectl.js index efd4b0764b..ec61b04965 100644 --- a/packages/common/utils/need-kubectl.js +++ b/packages/common/utils/need-kubectl.js @@ -24,7 +24,7 @@ const download = async (options) => { switch (platform) { case "darwin": break - case "windows": + case "win32": ext = ".exe" break case "linux": diff --git a/packages/common/utils/need-rollout-status.js b/packages/common/utils/need-rollout-status.js index 21f3c13681..15869656dc 100644 --- a/packages/common/utils/need-rollout-status.js +++ b/packages/common/utils/need-rollout-status.js @@ -25,7 +25,7 @@ const download = async (options) => { switch (platform) { case "darwin": break - case "windows": + case "win32": ext = ".exe" break case "linux": diff --git a/packages/common/utils/need-stern.js b/packages/common/utils/need-stern.js index 5af4160853..0522b85b69 100644 --- a/packages/common/utils/need-stern.js +++ b/packages/common/utils/need-stern.js @@ -25,7 +25,7 @@ const download = async (options) => { switch (platform) { case "darwin": break - case "windows": + case "win32": ext = ".exe" break case "linux": diff --git a/packages/common/utils/parse-command.js b/packages/common/utils/parse-command.js index cbca40d01d..406bfd2000 100644 --- a/packages/common/utils/parse-command.js +++ b/packages/common/utils/parse-command.js @@ -1,3 +1,8 @@ +/** + * + * @param {string|string[]} arg + * @returns {[cmd: string, args:string[]]} + */ module.exports = (arg) => { if (typeof arg === "string") { arg = arg diff --git a/packages/common/utils/pattern-match.js b/packages/common/utils/pattern-match.js index 60302023d4..800b164fbe 100644 --- a/packages/common/utils/pattern-match.js +++ b/packages/common/utils/pattern-match.js @@ -1,5 +1,11 @@ const micromatch = require("micromatch") +/** + * @param {string[]} str + * @param {string} pattern + * @param {Record} options + * @returns + */ module.exports = (str, pattern, options = {}) => micromatch.match(str, pattern, { regex: true, diff --git a/packages/common/utils/sanitize-label.js b/packages/common/utils/sanitize-label.js index 1686bf12cf..b67da498d8 100644 --- a/packages/common/utils/sanitize-label.js +++ b/packages/common/utils/sanitize-label.js @@ -1,3 +1,8 @@ +/** + * @param {string} label + * @param {string} prefixIfNeeded + * @returns string + */ module.exports = (label, prefixIfNeeded = "v") => { label = label.replace(/[^a-zA-Z0-9._-]+/g, "-") if (!/^[a-zA-Z0-9]/.test(label)) { diff --git a/packages/common/utils/slug.js b/packages/common/utils/slug.js index eb1485dc53..c53cfff0d0 100644 --- a/packages/common/utils/slug.js +++ b/packages/common/utils/slug.js @@ -14,6 +14,11 @@ slugify.extend({ const KUBERNETS_MAX_NAME_LENGTH = 63 const SUFFIX_SHA_LENGTH = 8 +/** + * @param {string} name + * @param {number} len + * @returns number + */ const suffix = (name, len = SUFFIX_SHA_LENGTH) => { const hex = Buffer.from( createHash("sha256").update(name).digest("hex") @@ -22,6 +27,14 @@ const suffix = (name, len = SUFFIX_SHA_LENGTH) => { return parseInt(hex, 16).toString(36).slice(0, len) } +/** + * + * @param {string} name + * @param {number} len + * @param {number} shalen + * @param {slugSource} [string] + * @returns + */ const slugString = (name, len, shalen, slugSource = name) => { let slugified = slugify(name, { lower: true, @@ -43,6 +56,12 @@ const slugString = (name, len, shalen, slugSource = name) => { return slugified } +/** + * + * @param {string[]|string} mixed + * @param {undefined | ({maxLength?:number, partMaxLength?:number, glue?:string})} options + * @returns string + */ const slug = (mixed, options = {}) => { const { maxLength = KUBERNETS_MAX_NAME_LENGTH, diff --git a/packages/common/utils/ucfirst.js b/packages/common/utils/ucfirst.js index 913236db1f..9674ddb2c6 100644 --- a/packages/common/utils/ucfirst.js +++ b/packages/common/utils/ucfirst.js @@ -1 +1,5 @@ +/** + * @param {string} str + * @returns string + */ module.exports = (str) => str[0].toUpperCase() + str.slice(1) diff --git a/plugins/contrib/debug-manifests/02-dependencies-tree-infos.js b/plugins/contrib/debug-manifests/02-dependencies-tree-infos.js index 09e3c39e6a..fb92a92ecb 100644 --- a/plugins/contrib/debug-manifests/02-dependencies-tree-infos.js +++ b/plugins/contrib/debug-manifests/02-dependencies-tree-infos.js @@ -19,7 +19,7 @@ module.exports = async (manifests, options, context) => { const umlSet = new Set() for (const manifest of manifests) { - const { metadata, kind } = manifest + const { metadata } = manifest const annotations = metadata?.annotations if (!annotations) { continue @@ -27,7 +27,7 @@ module.exports = async (manifests, options, context) => { const yamlNeeds = annotations["kontinuous/plugin.needs"] - if (!kindIsWaitable(kind, options.customWaitableKinds)) { + if (!kindIsWaitable(manifest)) { continue } diff --git a/plugins/contrib/debug-manifests/tests/__snapshots__/resources-tree-infos.test.js.snap b/plugins/contrib/debug-manifests/tests/__snapshots__/resources-tree-infos.test.js.snap index 7dcfd4e72c..a98c9bd9b7 100644 --- a/plugins/contrib/debug-manifests/tests/__snapshots__/resources-tree-infos.test.js.snap +++ b/plugins/contrib/debug-manifests/tests/__snapshots__/resources-tree-infos.test.js.snap @@ -93,6 +93,7 @@ exports[`egapro 1`] = ` │ ├── name: basic-auth │ └── name: staff ├── Job +<<<<<<< HEAD │ ├── job-egapro-master-jobs-con-6v7vwk-build-api-buildkit-4zg3ke │ │ ├── degit-repository (init) │ │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.168.4 @@ -128,6 +129,38 @@ exports[`egapro 1`] = ` │ └── job │ ├── image: moby/buildkit:v0.10.5-rootless │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... +======= + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ └── degit-repository (init) + │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... +>>>>>>> f07f15398 (chore: fix snapshots) ├── CronJob │ ├── export-public-data │ │ ├── schedule: 0 0 * * * @@ -261,6 +294,7 @@ exports[`template 1`] = ` │ ├── name: basic-auth │ └── name: staff ├── Job +<<<<<<< HEAD │ ├── job-egapro-master-jobs-con-6v7vwk-build-api-buildkit-4zg3ke │ │ ├── degit-repository (init) │ │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.168.4 @@ -296,6 +330,38 @@ exports[`template 1`] = ` │ └── job │ ├── image: moby/buildkit:v0.10.5-rootless │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... +======= + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ └── degit-repository (init) + │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... +>>>>>>> f07f15398 (chore: fix snapshots) ├── CronJob │ ├── export-public-data │ │ ├── schedule: 0 0 * * * @@ -530,6 +596,7 @@ exports[`www 1`] = ` │ ├── name: basic-auth │ └── name: staff ├── Job +<<<<<<< HEAD │ ├── job-egapro-master-jobs-con-6v7vwk-build-api-buildkit-4zg3ke │ │ ├── degit-repository (init) │ │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.168.4 @@ -565,6 +632,38 @@ exports[`www 1`] = ` │ └── job │ ├── image: moby/buildkit:v0.10.5-rootless │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... +======= + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ ├── degit-repository (init) + │ │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... + │ ├── job + │ │ ├── image: moby/buildkit:v0.10.5-rootless + │ │ └── command: /bin/sh -c set -e if [ "" != "" ]; then export C... + │ └── degit-repository (init) + │ ├── image: ghcr.io/socialgouv/kontinuous/degit:v1.115.0 + │ └── command: sh -c degit SocialGouv/egapro#master \\ /workspa... +>>>>>>> f07f15398 (chore: fix snapshots) ├── CronJob │ ├── export-public-data │ │ ├── schedule: 0 0 * * * diff --git a/plugins/contrib/deploy-with/kubectl-dependency-tree.js b/plugins/contrib/deploy-with/kubectl-dependency-tree.js index d2b5a6efcf..3c455ebef1 100644 --- a/plugins/contrib/deploy-with/kubectl-dependency-tree.js +++ b/plugins/contrib/deploy-with/kubectl-dependency-tree.js @@ -178,7 +178,7 @@ module.exports = async (options, context) => { const yamlNeeds = annotations["kontinuous/plugin.needs"] - if (!kindIsWaitable(kind, options.customWaitableKinds)) { + if (!kindIsWaitable(manifest)) { return } if (!yamlNeeds) { diff --git a/plugins/contrib/deploy-with/kubectl.js b/plugins/contrib/deploy-with/kubectl.js index 73b26f8f91..b8a6d474e5 100644 --- a/plugins/contrib/deploy-with/kubectl.js +++ b/plugins/contrib/deploy-with/kubectl.js @@ -141,7 +141,7 @@ module.exports = async (options, context) => { const { ctx } = context const eventsBucket = ctx.require("eventsBucket") const countAllRunnable = manifests.filter((manifest) => - kindIsWaitable(manifest.kind, options.customWaitableKinds) + kindIsWaitable(manifest) ).length eventsBucket.emit("deploy-with:plugin:initDeployment", { countAllRunnable }) diff --git a/plugins/contrib/lib/get-needs-deps.js b/plugins/contrib/lib/get-needs-deps.js index 69b124712b..201c41f8b7 100644 --- a/plugins/contrib/lib/get-needs-deps.js +++ b/plugins/contrib/lib/get-needs-deps.js @@ -1,12 +1,22 @@ -const kindIsWaitable = require("./kind-is-waitable") const getChartNameTopParts = require("./get-chart-name-top-parts") -module.exports = (manifests, options, { config }) => { +/** + * + * @param {Kontinuous.Manifest[]} manifests + * @param {Kontinuous.PatchContext} context + * @returns + */ +module.exports = (manifests, context) => { + const { utils, config } = context + const { kindIsRunnable } = utils + + /** @type {Record} */ const deps = {} for (const manifest of manifests) { const { kind, metadata } = manifest const annotations = metadata?.annotations - if (!annotations || !kindIsWaitable(kind, options.customWaitableKinds)) { + + if (!annotations || !kindIsRunnable(manifest)) { continue } const lowerKind = kind.toLowerCase() @@ -25,6 +35,7 @@ module.exports = (manifests, options, { config }) => { } const chartName = chartPath.split(".").pop() + /** @type {string[]} */ const keys = [chartName, chartPath] for (const nameItem of names) { diff --git a/plugins/contrib/patches/00.0-values-patches.js b/plugins/contrib/patches/00.0-values-patches.js index 69acf57779..8db59d196b 100644 --- a/plugins/contrib/patches/00.0-values-patches.js +++ b/plugins/contrib/patches/00.0-values-patches.js @@ -1,11 +1,18 @@ const get = require("lodash.get") const set = require("lodash.set") +/** + * + * @param {Kontinuous.Manifest} manifest + * @param {[string, any]} match + * @returns boolean + */ const isMatching = (manifest, match) => { if (!match) { return true } for (const [key, value] of Object.entries(match)) { + // @ts-ignore if (manifest[key] !== value) { return false } @@ -15,6 +22,7 @@ const isMatching = (manifest, match) => { const specialFlags = ["chart"] +/** @type {Kontinuous.PatchFunction} */ module.exports = (manifests, _options, { values }) => { for (const manifest of manifests) { const chartPath = manifest.metadata?.annotations?.["kontinuous/chartPath"] diff --git a/plugins/contrib/patches/00.1-labels.js b/plugins/contrib/patches/00.1-labels.js index 245ebe5b26..25ef775281 100644 --- a/plugins/contrib/patches/00.1-labels.js +++ b/plugins/contrib/patches/00.1-labels.js @@ -1,3 +1,4 @@ +/** @type {Kontinuous.PatchFunction} */ module.exports = (manifests, _options, { config, utils }) => { const { refLabelKey, @@ -10,6 +11,14 @@ module.exports = (manifests, _options, { config, utils }) => { const templateLabelKinds = utils.rolloutStatusHandledKinds + /** + * @param {Kontinuous.Manifest} manifest + * @returns {manifest is Kontinuous.ManifestWithTemplate} // typeguard to mark manifest + */ + function hasTemplateKind(manifest) { + return templateLabelKinds.includes(manifest.kind) + } + const { slug, isVersionTag, sanitizeLabel } = utils for (const manifest of manifests) { @@ -45,9 +54,11 @@ module.exports = (manifests, _options, { config, utils }) => { Object.assign(manifest.metadata.labels, labels) - if (templateLabelKinds.includes(kind)) { + if (hasTemplateKind(manifest)) { if (!manifest.spec) { - manifest.spec = {} + manifest.spec = { + template: {}, + } } if (!manifest.spec.template) { manifest.spec.template = {} @@ -61,6 +72,5 @@ module.exports = (manifests, _options, { config, utils }) => { Object.assign(manifest.spec.template.metadata.labels, labels) } } - return manifests } diff --git a/plugins/contrib/patches/00.2-annotations.js b/plugins/contrib/patches/00.2-annotations.js index a7e79881d9..67737ad43d 100644 --- a/plugins/contrib/patches/00.2-annotations.js +++ b/plugins/contrib/patches/00.2-annotations.js @@ -1,10 +1,19 @@ +/** @type {Kontinuous.PatchFunction} */ module.exports = (manifests, _options, { config, utils }) => { const { deploymentLabelKey, deploymentLabelValue } = config const templateLabelKinds = utils.rolloutStatusHandledKinds + /** + * @param {Kontinuous.Manifest} manifest + * @returns {manifest is Kontinuous.ManifestWithTemplate} // typeguard to mark manifest + */ + function hasTemplateKind(manifest) { + return templateLabelKinds.includes(manifest.kind) + } + for (const manifest of manifests) { - const { kind, apiVersion } = manifest + const { apiVersion } = manifest if (apiVersion?.startsWith("kapp.k14s.io")) { continue @@ -23,9 +32,11 @@ module.exports = (manifests, _options, { config, utils }) => { Object.assign(manifest.metadata.annotations, annotations) - if (templateLabelKinds.includes(kind)) { + if (hasTemplateKind(manifest)) { if (!manifest.spec) { - manifest.spec = {} + manifest.spec = { + template: {}, + } } if (!manifest.spec.template) { manifest.spec.template = {} diff --git a/plugins/contrib/patches/01-namespace.js b/plugins/contrib/patches/01-namespace.js index d04dd44aa6..e6e1b4f602 100644 --- a/plugins/contrib/patches/01-namespace.js +++ b/plugins/contrib/patches/01-namespace.js @@ -1,6 +1,11 @@ const defaultOptions = { overrideDefault: true, } + +/** + * @type {Kontinuous.PatchFunction} + * @param {Kontinuous.PatchNamespaceOptions} options + */ module.exports = (manifests, options, { values }) => { const opts = { ...defaultOptions, ...options } const { overrideDefault } = opts diff --git a/plugins/contrib/patches/02-kapp.js b/plugins/contrib/patches/02-kapp.js index 173a5fbb9f..92af68ce19 100644 --- a/plugins/contrib/patches/02-kapp.js +++ b/plugins/contrib/patches/02-kapp.js @@ -10,35 +10,40 @@ const kappAnnotationsPod = { } const kindPatches = { + /** @param {Deployment} manifest */ Deployment: (manifest) => { Object.assign( - manifest.metadata.annotations, + manifest.metadata?.annotations || {}, kappStrategyAnnotations, kappAnnotationsPod ) }, + /** @param {Job} manifest */ Job: (manifest) => { Object.assign( - manifest.metadata.annotations, + manifest.metadata?.annotations || {}, kappStrategyAnnotations, kappAnnotationsPod ) }, + /** @param {CronJob} manifest */ CronJob: (manifest) => { Object.assign( - manifest.metadata.annotations, + manifest.metadata?.annotations || {}, kappStrategyAnnotations, kappAnnotationsPod ) }, + /** @param {Service} manifest */ Service: (manifest) => { - Object.assign(manifest.metadata.annotations, { + Object.assign(manifest.metadata?.annotations || {}, { "kapp.k14s.io/disable-default-ownership-label-rules": "", "kapp.k14s.io/disable-default-label-scoping-rules": "", }) }, } +/** @type {Kontinuous.PatchFunction} */ module.exports = (manifests) => { for (const manifest of manifests) { const { kind, apiVersion } = manifest @@ -54,7 +59,9 @@ module.exports = (manifests) => { if (kind !== "Namespace") { manifest.metadata.annotations["kapp.k14s.io/disable-original"] = "" } + // @ts-ignore todo if (kindPatches[kind]) { + // @ts-ignore todo kindPatches[kind](manifest) } } diff --git a/plugins/contrib/patches/03-dns-truncate.js b/plugins/contrib/patches/03-dns-truncate.js index 585a43d0eb..7322701ad5 100644 --- a/plugins/contrib/patches/03-dns-truncate.js +++ b/plugins/contrib/patches/03-dns-truncate.js @@ -1,9 +1,9 @@ const MAX_DNS_LENGTH = 63 +/** @type {Kontinuous.PatchFunction} */ module.exports = (manifests, _options, context) => { const { utils } = context const { yaml, slug, logger } = utils - let subdomainsToTruncate = [] do { subdomainsToTruncate = [] diff --git a/plugins/contrib/patches/04-on-changed.js b/plugins/contrib/patches/04-on-changed.js index ee4562ef83..57fa70f484 100644 --- a/plugins/contrib/patches/04-on-changed.js +++ b/plugins/contrib/patches/04-on-changed.js @@ -3,9 +3,14 @@ const changeGroupPrefix = "kapp.k14s.io/change-group" const changeGroupValuePrefix = "kontinuous/" const changeRuleValuePrefix = "upsert after upserting kontinuous/" +/** + * + * @param {Kontinuous.Manifest} manifest + * @returns Set + */ const getChangeGroupOf = (manifest) => { const changeGroups = new Set() - for (const [key, group] of Object.entries(manifest.metadata.annotations)) { + for (const [key, group] of Object.entries(manifest.metadata?.annotations)) { if (key === changeGroupPrefix || key.startsWith(`${changeGroupPrefix}.`)) { changeGroups.add(group.slice(changeGroupValuePrefix.length)) } @@ -13,9 +18,14 @@ const getChangeGroupOf = (manifest) => { return changeGroups } +/** + * @param {Kontinuous.Manifests} manifests + * @param {Set} changeGroups + * @returns Kontinuous.Manifests + */ const findDependentsOfGroup = (manifests, changeGroups) => manifests.filter((manifest) => { - for (const [key, rule] of Object.entries(manifest.metadata.annotations)) { + for (const [key, rule] of Object.entries(manifest.metadata?.annotations)) { if ( (key === changeRulePrefix || key.startsWith(`${changeRulePrefix}.`)) && rule.startsWith(changeRuleValuePrefix) @@ -27,16 +37,25 @@ const findDependentsOfGroup = (manifests, changeGroups) => return false }) +/** + * @param {Kontinuous.Manifests} manifests + * @param {Kontinuous.Manifest} neededManifest + * @returns Kontinuous.Manifests + */ const findDependentsOf = (manifests, neededManifest) => { const changeGroups = getChangeGroupOf(neededManifest) return findDependentsOfGroup(manifests, changeGroups) } - +/** + * @param {Kontinuous.Manifests} manifests + * @param {Kontinuous.Manifest} neededManifest + * @returns {void} + */ const unbindDependentsOf = (manifests, neededManifest) => { const changeGroups = getChangeGroupOf(neededManifest) const manifestToUnbind = findDependentsOfGroup(manifests, changeGroups) for (const manifest of manifestToUnbind) { - const { annotations } = manifest.metadata + const { annotations = {} } = manifest.metadata || {} for (const [key, rule] of Object.entries(annotations)) { if ( (key === changeRulePrefix || key.startsWith(`${changeRulePrefix}.`)) && @@ -51,6 +70,13 @@ const unbindDependentsOf = (manifests, neededManifest) => { } } +/** + * + * @param {Kontinuous.Manifests} manifests + * @param {*} neededManifest + * @param {*} removeManifests + * @returns + */ const removeDependentsOf = ( manifests, neededManifest, @@ -63,6 +89,7 @@ const removeDependentsOf = ( return removeManifests } +/** @type {Kontinuous.PatchFunction} */ module.exports = async (manifests, _options, context) => { const { config, utils } = context const { yaml, KontinuousPluginError, patternMatch } = utils diff --git a/plugins/contrib/patches/05.0-needs.js b/plugins/contrib/patches/05.0-needs.js index 17111c901d..d7924d1a8f 100644 --- a/plugins/contrib/patches/05.0-needs.js +++ b/plugins/contrib/patches/05.0-needs.js @@ -1,25 +1,24 @@ -const kindIsWaitable = require("../lib/kind-is-waitable") const getChartNameTopParts = require("../lib/get-chart-name-top-parts") -module.exports = async (manifests, options, { config }) => { +/** @type {Kontinuous.PatchFunction} */ +module.exports = async (manifests, options, context) => { + const { utils } = context + const { kindIsWaitable } = utils for (const manifest of manifests) { - const { kind } = manifest - if (!kindIsWaitable(kind, options.customWaitableKinds)) { + const { kind, metadata } = manifest + const annotations = metadata?.annotations + if (!annotations || !kindIsWaitable(manifest)) { continue } if (!manifest.metadata) { manifest.metadata = {} } - const { metadata } = manifest - if (!metadata.annotations) { - metadata.annotations = {} - } - const { annotations } = metadata const chartPath = annotations["kontinuous/chartPath"] const { name } = metadata const chartName = chartPath.split(".").pop() + // @ts-ignore TODO const lowerKind = kind.toLowerCase() annotations["kontinuous/depname.full"] = `${chartPath}.${lowerKind}.${name}` annotations[ diff --git a/plugins/contrib/patches/06-filter-disable-kapp.js b/plugins/contrib/patches/06-filter-disable-kapp.js index 9adc68d385..0075ef7393 100644 --- a/plugins/contrib/patches/06-filter-disable-kapp.js +++ b/plugins/contrib/patches/06-filter-disable-kapp.js @@ -1,2 +1,3 @@ +/** @type {Kontinuous.PatchFunction} */ module.exports = async (manifests, _options, _context) => manifests.filter((m) => m.kind !== "Config") diff --git a/plugins/contrib/patches/06-helm.js b/plugins/contrib/patches/06-helm.js index 860b6bcad3..17ae5a9179 100644 --- a/plugins/contrib/patches/06-helm.js +++ b/plugins/contrib/patches/06-helm.js @@ -1,3 +1,4 @@ +/** @type {Kontinuous.PatchFunction} */ module.exports = async (manifests, _options, context) => { const { config, utils } = context const { slug } = utils diff --git a/plugins/contrib/patches/10-sort.js b/plugins/contrib/patches/10-sort.js index 4dbbc2e303..fb5b12b2cd 100644 --- a/plugins/contrib/patches/10-sort.js +++ b/plugins/contrib/patches/10-sort.js @@ -14,6 +14,8 @@ const order = [ "daemonset", "service", ] + +/** @type {Kontinuous.PatchFunction} */ module.exports = async (manifests, _options, _context) => manifests.sort((a, b) => { const indexA = order.indexOf(a.kind.toLowerCase()) diff --git a/plugins/contrib/patches/rancher-project-id.js b/plugins/contrib/patches/rancher-project-id.js index bc7e9fd93a..14995ddbee 100644 --- a/plugins/contrib/patches/rancher-project-id.js +++ b/plugins/contrib/patches/rancher-project-id.js @@ -1,3 +1,7 @@ +/** + * @type {Kontinuous.PatchFunction} + * @param {Kontinuous.PatchRancheProjectIdOptions} options + */ module.exports = async (manifests, options, { config, logger, kubectl }) => { const { ciNamespace, kubeconfig, kubeconfigContext } = config @@ -15,14 +19,14 @@ module.exports = async (manifests, options, { config, logger, kubectl }) => { } if (rancherNsMissingProjectId.length === 0) { - return + return manifests } if (!ciNamespace) { logger.warn( `♉ missing rancher projectId not provided, unable to retrieve it as ci-namespace is not defined` ) - return + return manifests } const { surviveOnBrokenCluster = false } = options @@ -59,7 +63,15 @@ module.exports = async (manifests, options, { config, logger, kubectl }) => { } for (const manifest of rancherNsMissingProjectId) { + if (!manifest.metadata) { + manifest.metadata = {} + } + if (!manifest.metadata?.annotations) { + manifest.metadata.annotations = {} + } manifest.metadata.annotations["field.cattle.io/projectId"] = rancherProjectId } + + return manifests } diff --git a/plugins/contrib/patches/reloader.js b/plugins/contrib/patches/reloader.js index 3f99fb8574..da1ea6fc1d 100644 --- a/plugins/contrib/patches/reloader.js +++ b/plugins/contrib/patches/reloader.js @@ -1,5 +1,9 @@ const deploymentModeEnum = [false, "auto", "search"] +/** + * @type {Kontinuous.PatchFunction} + * @param {Kontinuous.PatchReloaderOptions} options + */ module.exports = (manifests, options, { utils }) => { const { KontinuousPluginError } = utils const { deploymentMode = "auto" } = options diff --git a/plugins/contrib/pre-deploy/05-needs-kubeconfig.js b/plugins/contrib/pre-deploy/05-needs-kubeconfig.js new file mode 100644 index 0000000000..04d1b25f83 --- /dev/null +++ b/plugins/contrib/pre-deploy/05-needs-kubeconfig.js @@ -0,0 +1,57 @@ +module.exports = async (manifests, options, context) => { + const { utils, config, logger, kubectl } = context + const { kindIsRunnable } = utils + const hasWaitNeeds = !!manifests.find( + (m) => + kindIsRunnable(m) && + m.spec.template.spec.initContainers?.find( + (container) => container.name === "kontinuous-wait-needs" + ) + ) + if (!hasWaitNeeds) { + return + } + + const { kubeconfig, kubeconfigContext, ciNamespace } = config + + const { surviveOnBrokenCluster = false } = options + + const namespaces = manifests + .filter((manifest) => manifest.kind === "Namespace") + .map((manifest) => manifest.metadata.name) + + const kubectlOptions = { + kubeconfig, + kubeconfigContext, + surviveOnBrokenCluster, + } + + const secretName = "kubeconfig" + const kubeconfigSecretJSON = await kubectl( + `get -n ${ciNamespace} secret ${secretName} -ojson`, + { ...kubectlOptions, logInfo: false } + ) + const kubeconfigSecret = JSON.parse(kubeconfigSecretJSON) + const { metadata } = kubeconfigSecret + delete metadata.namespace + delete metadata.resourceVersion + delete metadata.uid + delete metadata.creationTimestamp + + await Promise.all( + namespaces.map(async (namespace) => { + try { + await kubectl(`apply -n ${namespace} -f -`, { + ...kubectlOptions, + stdin: JSON.stringify(kubeconfigSecret), + }) + logger.debug( + { namespace, ciNamespace, secretName }, + "kubeconfig secret copied" + ) + } catch (error) { + logger.error({ error }, "unable to copy kubeconfig secret") + } + }) + ) +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000000..ab71587fe3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "es6", + "target": "es2015", + "checkJs": true, + "allowJs": true, + "resolveJsonModule": true, + "moduleResolution": "node", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "declaration": false, + "noEmit": true, + "strict": false + }, + "include": [ + "plugins/contrib/patches/*.js", + "packages/common/utils/**/*", + //"packages/common/utils/kind-is-runnable", + "index.d.ts" + ] +} diff --git a/yarn.lock b/yarn.lock index ceafbc46eb..c825d4b942 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,7 +5,7 @@ __metadata: version: 7 cacheKey: 9 -"@ampproject/remapping@npm:^2.2.0": +"@ampproject/remapping@npm:^2.1.0, @ampproject/remapping@npm:^2.2.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" dependencies: @@ -1460,7 +1460,14 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.5": +"@babel/compat-data@npm:^7.20.0": + version: 7.20.5 + resolution: "@babel/compat-data@npm:7.20.5" + checksum: efee780666054f4ba991376f6bf7855644bfb0d0df92c102e631fb14b17411a31511ada56d421f7c9aa9def17171b5551010e99bb30596e9f5de4bb680eccd4f + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": version: 7.21.0 resolution: "@babel/core@npm:7.21.0" dependencies: @@ -1483,6 +1490,40 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/core@npm:7.20.5" + dependencies: + "@ampproject/remapping": "npm:^2.1.0" + "@babel/code-frame": "npm:^7.18.6" + "@babel/generator": "npm:^7.20.5" + "@babel/helper-compilation-targets": "npm:^7.20.0" + "@babel/helper-module-transforms": "npm:^7.20.2" + "@babel/helpers": "npm:^7.20.5" + "@babel/parser": "npm:^7.20.5" + "@babel/template": "npm:^7.18.10" + "@babel/traverse": "npm:^7.20.5" + "@babel/types": "npm:^7.20.5" + convert-source-map: "npm:^1.7.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.1" + semver: "npm:^6.3.0" + checksum: f8d954631f28cb4b9a54300ba3f70199532fa9a7b4cdeb066a47c1333fa5d9d56e1206f436607d005566c6a0da5ddaf9058c03600fc65acf56fc98bb97338654 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/generator@npm:7.20.5" + dependencies: + "@babel/types": "npm:^7.20.5" + "@jridgewell/gen-mapping": "npm:^0.3.2" + jsesc: "npm:^2.5.1" + checksum: 825c77cc4f4c54367e54b1feb04b89e8d3a48374b2a2199778f44acc32655bb7089bb0c12d71003a55810ee2b50bd650cc34b5640f4cfbf32347c6883a6cd39e + languageName: node + linkType: hard + "@babel/generator@npm:^7.21.0, @babel/generator@npm:^7.21.1, @babel/generator@npm:^7.7.2": version: 7.21.1 resolution: "@babel/generator@npm:7.21.1" @@ -1514,7 +1555,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.20.0, @babel/helper-compilation-targets@npm:^7.20.7": +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.20.7": version: 7.20.7 resolution: "@babel/helper-compilation-targets@npm:7.20.7" dependencies: @@ -1529,6 +1570,20 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.20.0": + version: 7.20.0 + resolution: "@babel/helper-compilation-targets@npm:7.20.0" + dependencies: + "@babel/compat-data": "npm:^7.20.0" + "@babel/helper-validator-option": "npm:^7.18.6" + browserslist: "npm:^4.21.3" + semver: "npm:^6.3.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c91dd175620b57c9ae8056b80461ed63e0f9bcc6c5b4c8ef613a2fda12789a694a90568f16c32b2aab4637046323f9da0575dc3ab9b383c1d0f67acb0847b40e + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helper-create-class-features-plugin@npm:7.21.0" @@ -1591,7 +1646,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0, @babel/helper-function-name@npm:^7.21.0": +"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helper-function-name@npm:7.21.0" dependencies: @@ -1601,6 +1656,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" + dependencies: + "@babel/template": "npm:^7.18.10" + "@babel/types": "npm:^7.19.0" + checksum: 65ba2eaad08ba73238aa4f11004a7e0f1d96a57c85863d53571741944986f55f334dfd9a59a3a477daefc7d31bd72df78a78673046082d6625888d3d357d36ed + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-hoist-variables@npm:7.18.6" @@ -1644,6 +1709,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.20.2": + version: 7.20.2 + resolution: "@babel/helper-module-transforms@npm:7.20.2" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.18.9" + "@babel/helper-module-imports": "npm:^7.18.6" + "@babel/helper-simple-access": "npm:^7.20.2" + "@babel/helper-split-export-declaration": "npm:^7.18.6" + "@babel/helper-validator-identifier": "npm:^7.19.1" + "@babel/template": "npm:^7.18.10" + "@babel/traverse": "npm:^7.20.1" + "@babel/types": "npm:^7.20.2" + checksum: c156af086f39d0529c4b830194d23fd3cc1d60eb072915c715690b5e347c62219e07b0d5e19c019b40e1d7102a892323cf597ed6c69ba027ce5ed1ec81d87c3f + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" @@ -1748,6 +1829,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.20.5": + version: 7.20.6 + resolution: "@babel/helpers@npm:7.20.6" + dependencies: + "@babel/template": "npm:^7.18.10" + "@babel/traverse": "npm:^7.20.5" + "@babel/types": "npm:^7.20.5" + checksum: 954b1664cc16919cf303a19def1c5b24e58042d3cb77f358c993217a5328ff70a094338c14e39944861d74106e65357627a5e1b7a47310eba2f74314371374c2 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helpers@npm:7.21.0" @@ -1779,6 +1871,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/parser@npm:7.20.5" + bin: + parser: ./bin/babel-parser.js + checksum: c40fed9e76e84c95b39b23ac0f93434a5bffae18dae53ff0f2605b7b1723eaf7102a1426a4445de7e557df9e0f5d2e2ddbc89252ac35ece659c813b664758ba8 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" @@ -2743,6 +2844,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.20.1": + version: 7.20.5 + resolution: "@babel/traverse@npm:7.20.5" + dependencies: + "@babel/code-frame": "npm:^7.18.6" + "@babel/generator": "npm:^7.20.5" + "@babel/helper-environment-visitor": "npm:^7.18.9" + "@babel/helper-function-name": "npm:^7.19.0" + "@babel/helper-hoist-variables": "npm:^7.18.6" + "@babel/helper-split-export-declaration": "npm:^7.18.6" + "@babel/parser": "npm:^7.20.5" + "@babel/types": "npm:^7.20.5" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + checksum: da0f160f6ef71c3cf0901fc2a491e803a8140e209eb3ff27d1f5ba380454e2ece67a21892e4aa591c053e827666bc13a47876edfa33809a7b2aeece11353e404 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.0, @babel/traverse@npm:^7.21.2, @babel/traverse@npm:^7.7.2": version: 7.21.2 resolution: "@babel/traverse@npm:7.21.2" @@ -2761,7 +2880,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.21.2 resolution: "@babel/types@npm:7.21.2" dependencies: @@ -2772,6 +2891,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5": + version: 7.20.5 + resolution: "@babel/types@npm:7.20.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.19.4" + "@babel/helper-validator-identifier": "npm:^7.19.1" + to-fast-properties: "npm:^2.0.0" + checksum: c7f3c4ae2fa7d1c477a48094f9b0990747aea366bfdb1781095b88f66fbfdc3cd5045a23918eca0ffbc3323d84e674ce81f5f847a0efc17a97a3e268c5b8b456 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -2816,9 +2946,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.0": - version: 2.0.0 - resolution: "@eslint/eslintrc@npm:2.0.0" +"@eslint/eslintrc@npm:^1.4.1": + version: 1.4.1 + resolution: "@eslint/eslintrc@npm:1.4.1" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -2829,14 +2959,7 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 29a8b98afca4e088f84dc1e7be849e51ca6df31172a90ef3898dd201e7e022ee7d665d999b0134849ac7279497d5270867945bdf534ad3ca0ac036e1869b310c - languageName: node - linkType: hard - -"@eslint/js@npm:8.35.0": - version: 8.35.0 - resolution: "@eslint/js@npm:8.35.0" - checksum: ada3a3a42de60014ddae9f2f81e96442168b74151c6785194191f17850497c8750ab0140ca37c143dda1bfaf149cfc63ff28adcf94c41ceada4afc05ff596711 + checksum: 4e469ed508c3154078503b1f22b9d7f2498e76e770ff3f8c61c9961a16760c817e977f2f00b02201d1e91d6a4ebc766c1c67aae9189b00d5c1fe2e7205b6ad72 languageName: node linkType: hard @@ -3198,13 +3321,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": +"@jridgewell/resolve-uri@npm:3.1.0": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" checksum: 6b641bb7e25bc92a9848898cc91a77a390f393f086297ec2336d911387bdd708919c418e74a22732cfc21d0e7300b94306f437d2e9de5ab58b33ebc6c39d6f9d languageName: node linkType: hard +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.0.7 + resolution: "@jridgewell/resolve-uri@npm:3.0.7" + checksum: 0a3496c6cda457a80e335e836ba3de24468e51f90baf3c637636fb8dcb0e040665c2e6ab901ea6de688c28c67910353967cb0228380ee1ee258b7ff68ea78ee2 + languageName: node + linkType: hard + "@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": version: 1.1.2 resolution: "@jridgewell/set-array@npm:1.1.2" @@ -3212,13 +3342,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": +"@jridgewell/sourcemap-codec@npm:1.4.14": version: 1.4.14 resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" checksum: 2147ea75c966fed8a7d9ed6679b7e8c380fa790a9bea5a64f4ec1c26d24e44b461aa60fc3b228cea03a46708d9d1bcf19508035bf27ad5e8f63d0998ed1d1117 languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.13 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.13" + checksum: e2a993e98217372c43b09c7429f6ba42f85c00655d11b0042a36cb33496444b7a0e31472f149088d2dc2abc761807e3048767cac08e78d100bdf7ffbf511fe91 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -3229,7 +3366,17 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.13 + resolution: "@jridgewell/trace-mapping@npm:0.3.13" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 771b0ff7dc06d1e9cf2e74390f4a75f00cc6ad2e6dca46b78bcfec5768444e1ce1e195ceb9fdd3ea1ed4bbf881fcacbde8c55d690d4403a1774cbe0b88b4f3a2 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" dependencies: @@ -3246,37 +3393,36 @@ __metadata: languageName: node linkType: hard -"@kubernetes-models/apimachinery@npm:^1.2.1": - version: 1.2.1 - resolution: "@kubernetes-models/apimachinery@npm:1.2.1" +"@kubernetes-models/apimachinery@npm:^1.1.0": + version: 1.1.0 + resolution: "@kubernetes-models/apimachinery@npm:1.1.0" dependencies: - "@kubernetes-models/base": "npm:^4.0.3" - "@kubernetes-models/validate": "npm:^3.1.1" + "@kubernetes-models/base": "npm:^4.0.0" + "@kubernetes-models/validate": "npm:^3.0.0" tslib: "npm:^2.4.0" - checksum: 63fe0c66978bedae88bb2b9f96040dd99ec73c51c49dfa20b04f0468674b59192d24198fdecc0f9a7f356a805985eae93a87ecb29c749fe1566171710627d087 + checksum: 45ed2e4a6810472e65ba8aea72260dfdb0d490921636174878058a965484900db19c825f81ec74051aa820462e422992feaa38b68f4a58e7021db709da285a96 languageName: node linkType: hard -"@kubernetes-models/base@npm:^4.0.3": - version: 4.0.3 - resolution: "@kubernetes-models/base@npm:4.0.3" +"@kubernetes-models/base@npm:^4.0.0": + version: 4.0.0 + resolution: "@kubernetes-models/base@npm:4.0.0" dependencies: - "@kubernetes-models/validate": "npm:^3.1.1" + "@kubernetes-models/validate": "npm:^3.0.0" is-plain-object: "npm:^5.0.0" tslib: "npm:^2.4.0" - checksum: c3059e03590c0c63c8e4af490266b8650178b145010f75ed7914b5e346e06fa9a6b0cfbc57b69223a4aeda52887e03c7ad49208fbd0db77450b1e326d7deb54b + checksum: 7075ee2cb564ad57a6f8ef660e7c8bcc84a399e7ff2fbd612314843cb3989a69f8697fc4811f13894a92f371795ba2964d3a23cc23a7559ee5bf14782c91a2d1 languageName: node linkType: hard -"@kubernetes-models/validate@npm:^3.1.1": - version: 3.1.1 - resolution: "@kubernetes-models/validate@npm:3.1.1" +"@kubernetes-models/validate@npm:^3.0.0": + version: 3.0.0 + resolution: "@kubernetes-models/validate@npm:3.0.0" dependencies: - ajv: "npm:^8.12.0" + ajv: "npm:^8.11.0" ajv-formats: "npm:^2.1.1" - ajv-formats-draft2019: "npm:^1.6.1" tslib: "npm:^2.4.0" - checksum: 2455c2f31013029b7f8b1dd9720f95c49037c19b1c34d7e105e47dc366b82907704f4d85e32892e514dbbdfdca7c8955d454fd4d439d4acee94a8d650297c71a + checksum: 0abbf823008280cdf8101a1a844edc1173c6209f225fff58850bb98531ec38972cda8d02d985c7d2a8ee90a66d6dacc913cdf88aef6ea33425df1175da3991f4 languageName: node linkType: hard @@ -4066,6 +4212,17 @@ __metadata: languageName: node linkType: hard +"@sentry/core@npm:7.30.0": + version: 7.30.0 + resolution: "@sentry/core@npm:7.30.0" + dependencies: + "@sentry/types": "npm:7.30.0" + "@sentry/utils": "npm:7.30.0" + tslib: "npm:^1.9.3" + checksum: d5561d57c0961ceb70dbad64215eb43c31f82b21ff358f4437ce4b2b248baf465f2c2072d079c0eabbabe41bb77a05260582e31ead505037fc496e68d8fdc253 + languageName: node + linkType: hard + "@sentry/core@npm:7.39.0": version: 7.39.0 resolution: "@sentry/core@npm:7.39.0" @@ -4115,7 +4272,7 @@ __metadata: languageName: node linkType: hard -"@sentry/node@npm:^7.20.1, @sentry/node@npm:^7.30.0": +"@sentry/node@npm:^7.20.1": version: 7.39.0 resolution: "@sentry/node@npm:7.39.0" dependencies: @@ -4130,6 +4287,21 @@ __metadata: languageName: node linkType: hard +"@sentry/node@npm:^7.30.0": + version: 7.30.0 + resolution: "@sentry/node@npm:7.30.0" + dependencies: + "@sentry/core": "npm:7.30.0" + "@sentry/types": "npm:7.30.0" + "@sentry/utils": "npm:7.30.0" + cookie: "npm:^0.4.1" + https-proxy-agent: "npm:^5.0.0" + lru_map: "npm:^0.3.3" + tslib: "npm:^1.9.3" + checksum: 3c753b956d0af01e5aec2207ee7706f0f6ffc34becde751fdda5bbfff440a9741604b6b11889397a9b8619d4a7c20f4747582c420e1d7f3645e64131423b1216 + languageName: node + linkType: hard + "@sentry/types@npm:6.19.7": version: 6.19.7 resolution: "@sentry/types@npm:6.19.7" @@ -4137,6 +4309,13 @@ __metadata: languageName: node linkType: hard +"@sentry/types@npm:7.30.0": + version: 7.30.0 + resolution: "@sentry/types@npm:7.30.0" + checksum: d2e6f8cd2735db9522aea8296b88815dbf596803fc8dbd243eaeccdca34a52dc512b29c5f25543101ce3c83b3c191171a47957f71107a416800adfd74f5c04b8 + languageName: node + linkType: hard + "@sentry/types@npm:7.39.0": version: 7.39.0 resolution: "@sentry/types@npm:7.39.0" @@ -4154,6 +4333,16 @@ __metadata: languageName: node linkType: hard +"@sentry/utils@npm:7.30.0": + version: 7.30.0 + resolution: "@sentry/utils@npm:7.30.0" + dependencies: + "@sentry/types": "npm:7.30.0" + tslib: "npm:^1.9.3" + checksum: 77f3c1975c1fc7f78878e5226d6ee7e304e5b7b25683fc3f9c9c6986edd18d2e7f0a03be8ab61d88bb0713d9cb393eb6a56f06c864b85428d29c2102ca441981 + languageName: node + linkType: hard + "@sentry/utils@npm:7.39.0": version: 7.39.0 resolution: "@sentry/utils@npm:7.39.0" @@ -4373,6 +4562,13 @@ __metadata: languageName: node linkType: hard +"@types/braces@npm:*": + version: 3.0.1 + resolution: "@types/braces@npm:3.0.1" + checksum: c0d610f2474b174dc87946b57a8a7ecf5a14a49ef4217fc1134bcd32bcbd8a07eeaee5ea88b861effeee554cf28dc62867008e39049a574a2162985a40586333 + languageName: node + linkType: hard + "@types/bunyan@npm:1.8.7": version: 1.8.7 resolution: "@types/bunyan@npm:1.8.7" @@ -4523,7 +4719,70 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.175": +"@types/lodash.camelcase@npm:^4.3.7": + version: 4.3.7 + resolution: "@types/lodash.camelcase@npm:4.3.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 62d28c280d3907bd712dc555520785a3573358383c6dea0add004072ac5341ec0b52cf28b858b9bd2327526a8eca95cf977652787e5f2eda21717f091c4996d1 + languageName: node + linkType: hard + +"@types/lodash.clonedeep@npm:^4.5.7": + version: 4.5.7 + resolution: "@types/lodash.clonedeep@npm:4.5.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 4ce7a649b08c6fa5612f1021ec1cede9ac63308d6323022286404ef37364e96492c23a739848f63554ccf1a2c651e156747b9a9ee6893281f464a22e1d4febec + languageName: node + linkType: hard + +"@types/lodash.defaults@npm:^4.2.7": + version: 4.2.7 + resolution: "@types/lodash.defaults@npm:4.2.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 83f056f006753de4544c7a22b12660224efa81db2aae055df17ef926fd30e01da148db8d77a98d2c9ab19fe725be5150ae717d7413151f300bc749cf4d31a890 + languageName: node + linkType: hard + +"@types/lodash.get@npm:^4.4.7": + version: 4.4.7 + resolution: "@types/lodash.get@npm:4.4.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 6b7bb35cc05b17ded0eacb134a31f4d313df35ea309a52013b341ad9def38584785a3e46e300d9c5afd93374a412595c877e24c37ee6eed8a73b0f7afacff43f + languageName: node + linkType: hard + +"@types/lodash.omit@npm:^4.5.7": + version: 4.5.7 + resolution: "@types/lodash.omit@npm:4.5.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 447d964c47216f6af9cb6b90a58fac71a20e991808ae81580551de71432400e1397162c69abedfdffd1a3c1f5c8a483a6be43e0fe5641ac664e911ae77afae78 + languageName: node + linkType: hard + +"@types/lodash.pick@npm:^4.4.7": + version: 4.4.7 + resolution: "@types/lodash.pick@npm:4.4.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 513c48bc9962ee61b5a4fef68b49f8ab3d7cdc8a29a236870afaa278469781a9fb9c43cfe042f96a7f21c9105c257a8d198ed0b009a6f1d231c45d495834eb0e + languageName: node + linkType: hard + +"@types/lodash.set@npm:^4.3.7": + version: 4.3.7 + resolution: "@types/lodash.set@npm:4.3.7" + dependencies: + "@types/lodash": "npm:*" + checksum: 06aa3d7c10d85d15ddb381a09e695aef62f0eccec3021ae5e9ded50e1b64d5adc0eedcb2da913527442b2f6c12eca5ac82efff52091a489ac2234681b7915c8c + languageName: node + linkType: hard + +"@types/lodash@npm:*, @types/lodash@npm:^4.14.175": version: 4.14.191 resolution: "@types/lodash@npm:4.14.191" checksum: e8762fec34eec79828b6b1e08243e25703bfad1b53a7032c0293b69f51d222c0a36ae08d3588ab8147c6a3f478096e02186a860b909cdbe29c7c745cefea2442 @@ -4539,6 +4798,15 @@ __metadata: languageName: node linkType: hard +"@types/micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "@types/micromatch@npm:4.0.2" + dependencies: + "@types/braces": "npm:*" + checksum: ac7ec28d57ac61a85bd2859c69d096192e8ef66cc9d3c5fcb4531eeec3b090b1ff1be132e65eff6a16be14b9a30083cf488a402c094890c654db861aafee4669 + languageName: node + linkType: hard + "@types/mime@npm:*": version: 3.0.1 resolution: "@types/mime@npm:3.0.1" @@ -4590,6 +4858,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^18.11.18": + version: 18.11.18 + resolution: "@types/node@npm:18.11.18" + checksum: bd39552701928d4a1613bc46adf8b65f8212064c2b5475a67161b6c4cef21ddb0a5c2ba062673213f8f5301ef6e171241a9e274a9b59c9fc1f5e2b69764740eb + languageName: node + linkType: hard + "@types/node@npm:^20.1.0": version: 20.1.1 resolution: "@types/node@npm:20.1.1" @@ -4604,6 +4879,15 @@ __metadata: languageName: node linkType: hard +"@types/pino@npm:^7.0.5": + version: 7.0.5 + resolution: "@types/pino@npm:7.0.5" + dependencies: + pino: "npm:*" + checksum: 1b0fe47982734322fc9fb054b480d463fa7e9ba98ae8bacc805a801a063e46cca35ddfa78c4e962cb0ff3ea470bc05a2432227a9df671a89dba3735419b2e09e + languageName: node + linkType: hard + "@types/prettier@npm:^2.1.5": version: 2.7.2 resolution: "@types/prettier@npm:2.7.2" @@ -4971,7 +5255,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.8.0": +"acorn@npm:^8.4.1": version: 8.8.2 resolution: "acorn@npm:8.8.2" bin: @@ -4980,6 +5264,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.0": + version: 8.8.1 + resolution: "acorn@npm:8.8.1" + bin: + acorn: bin/acorn + checksum: f8a84cf59173c5c07cb6b8097c716370f799244189b23d58358eadf9729e0d62660bc11339e03f08517fa33d1ef4b69b84b0bdebe0c0d783acaa8d2c44a66345 + languageName: node + linkType: hard + "add-stream@npm:^1.0.0": version: 1.0.0 resolution: "add-stream@npm:1.0.0" @@ -5024,20 +5317,6 @@ __metadata: languageName: node linkType: hard -"ajv-formats-draft2019@npm:^1.6.1": - version: 1.6.1 - resolution: "ajv-formats-draft2019@npm:1.6.1" - dependencies: - punycode: "npm:^2.1.1" - schemes: "npm:^1.4.0" - smtp-address-parser: "npm:^1.0.3" - uri-js: "npm:^4.4.1" - peerDependencies: - ajv: "*" - checksum: aaac64afe3b727b1bf945ef3bd72f0846b4ade9880928788cfce8561d50a1c4326e1172b477f62633fb1842945704a07af805c11a7b254751475fadfd6c171ce - languageName: node - linkType: hard - "ajv-formats@npm:^2.0.2, ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -5064,7 +5343,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.12.0": +"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -6333,20 +6612,27 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.8.1": +"commander@npm:^2.8.1": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: a6cb7ce73cc1db74a2da4bb6b4fc4f9a655ba35beb90f32bf5831d7d3be610dafc01dcc8a17f8204cf4e3f1f434d2115b7db56dfb0b827d42b10d1ba6ae8cbb4 languageName: node linkType: hard -"commander@npm:^9.1.0, commander@npm:^9.4.1": +"commander@npm:^9.1.0": version: 9.5.0 resolution: "commander@npm:9.5.0" checksum: 1d09146ccb60400550629bcded4b72eeb100728207ecb2538dd827b19571dc16d3b0ee5da762d9bdbbe680ed5cca6658cac5bfce262b1b73eabe5ef8c15cdd9d languageName: node linkType: hard +"commander@npm:^9.4.1": + version: 9.4.1 + resolution: "commander@npm:9.4.1" + checksum: 7d4c1f3bd4ad451f43fce51b9c73dc2d61fca00a9249196aa2d3d66fc46f2460c917c73ea9221c278fb8d35f496384f5125806e69108581a8e8bc673752c94e6 + languageName: node + linkType: hard + "commit-and-tag-version@npm:^11.0.0": version: 11.1.0 resolution: "commit-and-tag-version@npm:11.1.0" @@ -6531,25 +6817,25 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-conventionalcommits@npm:5.0.0" +"conventional-changelog-conventionalcommits@npm:4.6.3, conventional-changelog-conventionalcommits@npm:^4.5.0": + version: 4.6.3 + resolution: "conventional-changelog-conventionalcommits@npm:4.6.3" dependencies: compare-func: "npm:^2.0.0" lodash: "npm:^4.17.15" q: "npm:^1.5.1" - checksum: cd39e90a9637925b99c425197436f6cec1257f3ae82b437edeb93390d4cea90702cff31c06ab4d9dde71ea243cf64f7665eafa019bbfd7735ce2e4d30b9362bf + checksum: f8acf6ce04283f46f74ff7f01f768a0f4592b2c75881c73887d48380725a55b2bbaf318b9e67b560c329bef983a1debce8eb761b6654f1e045edfb29dd764198 languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^4.5.0": - version: 4.6.3 - resolution: "conventional-changelog-conventionalcommits@npm:4.6.3" +"conventional-changelog-conventionalcommits@npm:5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-conventionalcommits@npm:5.0.0" dependencies: compare-func: "npm:^2.0.0" lodash: "npm:^4.17.15" q: "npm:^1.5.1" - checksum: f8acf6ce04283f46f74ff7f01f768a0f4592b2c75881c73887d48380725a55b2bbaf318b9e67b560c329bef983a1debce8eb761b6654f1e045edfb29dd764198 + checksum: cd39e90a9637925b99c425197436f6cec1257f3ae82b437edeb93390d4cea90702cff31c06ab4d9dde71ea243cf64f7665eafa019bbfd7735ce2e4d30b9362bf languageName: node linkType: hard @@ -7088,13 +7374,20 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:4.3.0, deepmerge@npm:^4.2.2": +"deepmerge@npm:4.3.0": version: 4.3.0 resolution: "deepmerge@npm:4.3.0" checksum: 2240994bc74955ad60f0e182725b887a50508916824fd7dd750f642a1561749efda958a56fbe6e9778bf297bc0c4401ee281f774565c33afae6bf4d2c162c801 languageName: node linkType: hard +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: f37e1f5e8cfca71833a43a5d14ad1bf533689b1e5acff72eefa9bdd26f1a4fe80153e29238e8b3052e5f8c4169a95992456f3b60cd50a9db94a84680712a9aca + languageName: node + linkType: hard + "defer-to-connect@npm:^2.0.0": version: 2.0.1 resolution: "defer-to-connect@npm:2.0.1" @@ -7245,13 +7538,6 @@ __metadata: languageName: node linkType: hard -"discontinuous-range@npm:1.0.0": - version: 1.0.0 - resolution: "discontinuous-range@npm:1.0.0" - checksum: 85786395546622dae3111890803112c3dd8dc1981a8a5b9632374d49aa7707eac6d709a1fc5fd1d1ba96b9be9c53bdd14ee8143cdf406f2a7182d95b68ba56f9 - languageName: node - linkType: hard - "docsify-cli@npm:^4.4.4": version: 4.4.4 resolution: "docsify-cli@npm:4.4.4" @@ -7371,13 +7657,20 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.0, dotenv@npm:^16.0.2": +"dotenv@npm:^16.0.0": version: 16.0.3 resolution: "dotenv@npm:16.0.3" checksum: abce82d99b45e2ebbd42625a78cadbfafe03072c15e6538b6a3a7ed204b6e091c0de929dd09231edc61f78afbdcd5b8a2f21b9e933e8ab27d75bee865a0e58c9 languageName: node linkType: hard +"dotenv@npm:^16.0.2": + version: 16.0.2 + resolution: "dotenv@npm:16.0.2" + checksum: 5d6641fbee9e169fdea93c4952c9559230418d9de58ce7c9cb49ae8bca5445686fd8222f952a0b916baa1119eaa4be76d096c3db795395bbf3c0bb1c85e33f8c + languageName: node + linkType: hard + "dotgitignore@npm:^2.1.0": version: 2.1.0 resolution: "dotgitignore@npm:2.1.0" @@ -7773,7 +8066,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.5.0": +"eslint-config-prettier@npm:^8.6.0": version: 8.6.0 resolution: "eslint-config-prettier@npm:8.6.0" peerDependencies: @@ -7853,9 +8146,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^27.0.0": - version: 27.2.1 - resolution: "eslint-plugin-jest@npm:27.2.1" +"eslint-plugin-jest@npm:^27.2.0": + version: 27.2.0 + resolution: "eslint-plugin-jest@npm:27.2.0" dependencies: "@typescript-eslint/utils": "npm:^5.10.0" peerDependencies: @@ -7866,7 +8159,7 @@ __metadata: optional: true jest: optional: true - checksum: 9192eb15ac584600d8948680d653fef674e4b99fff8e815053a5b142eec66a444e7923271ee584061b46e3c94972d7aa1153af4b451099a8075c0c1d9abd69da + checksum: cb77760cac454db98e3be5622d811440edc758fd6a88b823222d972079968009d2b7188b9000d827f38b1de739d6258c08eb8737293ab02d9460f4daaac36961 languageName: node linkType: hard @@ -7886,7 +8179,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^4.0.0": +"eslint-plugin-prettier@npm:^4.2.1": version: 4.2.1 resolution: "eslint-plugin-prettier@npm:4.2.1" dependencies: @@ -7962,12 +8255,11 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.26.0": - version: 8.35.0 - resolution: "eslint@npm:8.35.0" +"eslint@npm:^8.31.0": + version: 8.31.0 + resolution: "eslint@npm:8.31.0" dependencies: - "@eslint/eslintrc": "npm:^2.0.0" - "@eslint/js": "npm:8.35.0" + "@eslint/eslintrc": "npm:^1.4.1" "@humanwhocodes/config-array": "npm:^0.11.8" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" @@ -7981,7 +8273,7 @@ __metadata: eslint-utils: "npm:^3.0.0" eslint-visitor-keys: "npm:^3.3.0" espree: "npm:^9.4.0" - esquery: "npm:^1.4.2" + esquery: "npm:^1.4.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" file-entry-cache: "npm:^6.0.1" @@ -8008,7 +8300,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 9e49b49d9f877bcfbf376166e5a870c6a725b1e713e339f05b85a0d70ebd9ab3c72faceac27251b25fbbd53fd06594d6c00b335b5a59de3a36486eeeafa0f2bc + checksum: 2d789efa2ef8b2ae27111107e1796dd78302006618322835e7135afb3e0af5118ba6d2294feb95befe00a3d5feb5c4e1b53435dff15b3e2e91b07016eecc3586 languageName: node linkType: hard @@ -8033,12 +8325,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" +"esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" dependencies: estraverse: "npm:^5.1.0" - checksum: f4f0c6b1c5e2a733ba5a501a3d7847ba56db99cb8b4d76f2a9c57fbf6d282b3e5f7c15ff7178771cc47a863b92a5648ff1b4977b4e9b8d8c36ff9fcb652ebb60 + checksum: 7f287f5390f12feed1b2b4dd42f3a4501774effcbcbb76c340e5b9a3c25a133739dc18657c6103cb520dd4a8814d33ff732587c7de42f0ff51a0deaf4c190428 languageName: node linkType: hard @@ -8307,7 +8599,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.2": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" dependencies: @@ -8320,6 +8612,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.9": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 73b4cb60ed75a9138533f6020f6c3f451a9d8f0e7e7e38e2555f281c93e9dcef1565e4801dd264d766dd5ade870a4ebd32b113c66fce75ea09bd5bc6dc66b939 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -9498,7 +9803,7 @@ __metadata: languageName: node linkType: hard -"husky@npm:^8.0.0": +"husky@npm:^8.0.3": version: 8.0.3 resolution: "husky@npm:8.0.3" bin: @@ -9539,13 +9844,20 @@ __metadata: languageName: node linkType: hard -"ignore@npm:5.2.4, ignore@npm:^5.1.1, ignore@npm:^5.2.0": +"ignore@npm:5.2.4, ignore@npm:^5.1.1": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 55c58d848bb753a2b7e0b4a19352f9212eae2e4a05e4a12753e90b921108a6caa140adf958a5084b144bedd886b44e3bc93f6b4839e5aba1fb4a72c6625da4c1 languageName: node linkType: hard +"ignore@npm:^5.2.0": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 0086b6992b2e2c9ec23f009e5939022323f1b4ad291607507045cc67b0a3b5d9724fc425f5300b3ba6d10ef74311bdf71cd26040227c30a182cf1b2a5971226b + languageName: node + linkType: hard + "immediate@npm:~3.0.5": version: 3.0.6 resolution: "immediate@npm:3.0.6" @@ -9756,13 +10068,20 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.1.5, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.5, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 39d7787a6cd66d620ee4e9d09bb36587c29b39f50550d27dd7bea1d0d46b2a87ad9ac2b3d11f751836f08befc20afc4cb36201de1de26aaf02f298c8c512c102 languageName: node linkType: hard +"is-callable@npm:^1.1.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 6db2b77ca8f98d085e3889dc763b1a39420e6a865a04fc422546c00871c00d8cdfa964d5012011fd6de1d06e375270197565b3437404530fd4d2fc521413c1c0 + languageName: node + linkType: hard + "is-ci@npm:^2.0.0": version: 2.0.0 resolution: "is-ci@npm:2.0.0" @@ -9774,7 +10093,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": +"is-core-module@npm:^2.11.0": version: 2.11.0 resolution: "is-core-module@npm:2.11.0" dependencies: @@ -9783,6 +10102,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": + version: 2.9.0 + resolution: "is-core-module@npm:2.9.0" + dependencies: + has: "npm:^1.0.3" + checksum: ac7e79bde4fe529a7281a2f7e8e7f8128c26a2fe660d248ff91def539c35c4353a5f9ff65c7d61565c4943f2614b0fc9310447680d397e7ca2564f0729ca6429 + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -10872,15 +11200,15 @@ __metadata: languageName: unknown linkType: soft -"kubernetes-models@npm:^4.3.1": - version: 4.3.1 - resolution: "kubernetes-models@npm:4.3.1" +"kubernetes-models@npm:^4.1.0": + version: 4.1.0 + resolution: "kubernetes-models@npm:4.1.0" dependencies: - "@kubernetes-models/apimachinery": "npm:^1.2.1" - "@kubernetes-models/base": "npm:^4.0.3" - "@kubernetes-models/validate": "npm:^3.1.1" + "@kubernetes-models/apimachinery": "npm:^1.1.0" + "@kubernetes-models/base": "npm:^4.0.0" + "@kubernetes-models/validate": "npm:^3.0.0" tslib: "npm:^2.4.0" - checksum: e1d3fa0db4d95faa18ddd46fba0a26ddfba1607c16e588d22359f000b699578b8e9b27ac06555234d7370187f8792e9ad2cb7bd65b9513face2ba0559c2fdcc5 + checksum: f13cbd90ab267b91b4ed5e2b9693df3542630bc74a3e64fc5551d0b93a697912c438fdb3d49326a67b1302f155bc5c8a6ac7abd063d9c5336da6dc69f2026709 languageName: node linkType: hard @@ -10994,9 +11322,9 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^13.0.0": - version: 13.1.2 - resolution: "lint-staged@npm:13.1.2" +"lint-staged@npm:^13.1.0": + version: 13.1.0 + resolution: "lint-staged@npm:13.1.0" dependencies: cli-truncate: "npm:^3.1.0" colorette: "npm:^2.0.19" @@ -11013,7 +11341,7 @@ __metadata: yaml: "npm:^2.1.3" bin: lint-staged: bin/lint-staged.js - checksum: f359c7629a1e94f8c849435aecb6101b4379bfb735d9e9d1ae278b4c640e5c2d0ab640044daebf50a988acd55275c06718654e74d98b76ed7daf57a44f9bc466 + checksum: 7b4aaafc636daea65b3165e6fbc17f88095b86da65ffb32fc81586faf6b61033e42507e5d6f9fc23fe34c6b43c27cfe98d0e308736d53bf133c5fce933ea53e8 languageName: node linkType: hard @@ -11724,7 +12052,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:5.1.6, minimatch@npm:^5.0.1": +"minimatch@npm:5.1.6": version: 5.1.6 resolution: "minimatch@npm:5.1.6" dependencies: @@ -11742,6 +12070,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^5.0.1": + version: 5.1.0 + resolution: "minimatch@npm:5.1.0" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: cf8124b47d19be2d6a4b2cab80114999239ab6a01062e2f0abe666b779de120b6f85ed9a73e3a27b61fa088fb45957929a8fcc727bd20de829d3e4e659ad01ff + languageName: node + linkType: hard + "minimatch@npm:^6.2.0": version: 6.2.0 resolution: "minimatch@npm:6.2.0" @@ -11887,7 +12224,7 @@ __metadata: languageName: node linkType: hard -"moo@npm:0.5.2, moo@npm:^0.5.0": +"moo@npm:0.5.2": version: 0.5.2 resolution: "moo@npm:0.5.2" checksum: 7e242e222112e74ce8e8d7eb879ba22966fcaf2b45884c71111287e600220101f5f8f55c606f36f6b8aed1080f9d05618f26f5e0c879a534dd3f803037b20702 @@ -12016,23 +12353,6 @@ __metadata: languageName: node linkType: hard -"nearley@npm:^2.20.1": - version: 2.20.1 - resolution: "nearley@npm:2.20.1" - dependencies: - commander: "npm:^2.19.0" - moo: "npm:^0.5.0" - railroad-diagrams: "npm:^1.0.0" - randexp: "npm:0.4.6" - bin: - nearley-railroad: bin/nearley-railroad.js - nearley-test: bin/nearley-test.js - nearley-unparse: bin/nearley-unparse.js - nearleyc: bin/nearleyc.js - checksum: 71aa9a1288329a575a7eeb0bba8e3f927357cb7edecd66c18fb6cbece09bf520bd93256eed7969225db10e3dc32aa9378555898639038cb5cc1793d624b5f907 - languageName: node - linkType: hard - "negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -12102,7 +12422,7 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^9.3.0, node-gyp@npm:latest": +"node-gyp@npm:^9.3.0": version: 9.3.1 resolution: "node-gyp@npm:9.3.1" dependencies: @@ -12122,6 +12442,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" + dependencies: + env-paths: "npm:^2.2.0" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^10.0.3" + nopt: "npm:^5.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 74e3ae5ca2d1e5db13239ba9f364ba75ae22a25aaf8fc798adb5121a60773f10ad877663b676ce35016728b016cd9010506279883bac143e1519996e5fd6c38b + languageName: node + linkType: hard + "node-html-parser@npm:6.1.5": version: 6.1.5 resolution: "node-html-parser@npm:6.1.5" @@ -12176,6 +12516,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: "npm:1" + bin: + nopt: bin/nopt.js + checksum: cb0f3672738e989b12d8459f30366e8a89f79462581a09816cbbd575e272bc0ae2a135ac0b60647748be64100787d631cd0ac18157d519021336ae277e3362a3 + languageName: node + linkType: hard + "nopt@npm:^6.0.0": version: 6.0.0 resolution: "nopt@npm:6.0.0" @@ -12990,6 +13341,27 @@ __metadata: languageName: node linkType: hard +"pino@npm:*": + version: 8.8.0 + resolution: "pino@npm:8.8.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + fast-redact: "npm:^3.1.1" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:v1.0.0" + pino-std-serializers: "npm:^6.0.0" + process-warning: "npm:^2.0.0" + quick-format-unescaped: "npm:^4.0.3" + real-require: "npm:^0.2.0" + safe-stable-stringify: "npm:^2.3.1" + sonic-boom: "npm:^3.1.0" + thread-stream: "npm:^2.0.0" + bin: + pino: bin.js + checksum: 2356ad5ab8b85aca7092707a577521c9d3d8ef3ca7b8e70151402cb69cc37ad25f958fdca3ed32eb2da9fae15cb36e41279eeceff7f6cd91bd60706826ab20c6 + languageName: node + linkType: hard + "pino@npm:^7.9.2": version: 7.11.0 resolution: "pino@npm:7.11.0" @@ -13071,7 +13443,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.8.4, prettier@npm:^2.6.2": +"prettier@npm:2.8.4": version: 2.8.4 resolution: "prettier@npm:2.8.4" bin: @@ -13080,6 +13452,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^2.8.1": + version: 2.8.1 + resolution: "prettier@npm:2.8.1" + bin: + prettier: bin-prettier.js + checksum: 06a74a0f7aa5877a3912aeeeae3558014b10e438d945f88bd313222e75e7282eb7f41299d204353ec7d00b208377ddc36ffe4c7d2151f0502e783139b934d66d + languageName: node + linkType: hard + "pretty-bytes@npm:^5.1.0": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" @@ -13257,16 +13638,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: c2b408c805927a6614ef581bd3d00deca1fef9f2da0ec95cecaedf6a985d8596a29e931e31f80f7313f94257895f9ac6cf4c2ae81cdca04964daf9c3c3d221c1 - languageName: node - linkType: hard - -"punycode@npm:^2.1.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 860ab215e7c40a5cd5e8b4f7abe3c860832f26f2b1b3b95a24e45a3771403ef5d2f4248517380bd15aa3dce06fae3aae92080363cd48713f1230cb659d9f8b74 + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: fd728ef9db90e7b4db37d5c4937d6c6302cf4f64748b2dea3abbf1efd21e6193bb670efb7814766c858b2e1ccdb65ce34e44b498d734922e1dcb2a8623a925d8 languageName: node linkType: hard @@ -13323,23 +13697,6 @@ __metadata: languageName: node linkType: hard -"railroad-diagrams@npm:^1.0.0": - version: 1.0.0 - resolution: "railroad-diagrams@npm:1.0.0" - checksum: 9bc31c8ce428f2ae887430de4bafc7b78d552fd8795d5de51e7aeb38a18fb99918b378792eda2c3eb053431d9d618cfb425eacda251f11a5707b5da115dd5d93 - languageName: node - linkType: hard - -"randexp@npm:0.4.6": - version: 0.4.6 - resolution: "randexp@npm:0.4.6" - dependencies: - discontinuous-range: "npm:1.0.0" - ret: "npm:~0.1.10" - checksum: feacb1d577914ad13c672942e2f45699aa1ce0c06dd0efb22d7254ebb32c8eb7c31cc01b557003c0552e6455433f098b128a126e87326ef4c0c8a28f478ae74e - languageName: node - linkType: hard - "range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -13932,13 +14289,6 @@ __metadata: languageName: node linkType: hard -"ret@npm:~0.1.10": - version: 0.1.15 - resolution: "ret@npm:0.1.15" - checksum: d65bd0cc83122e33a284e87ff9b51f553e5da3d05b0643740a0c07189f6025972a70856e794bdae3d8cdfb36bc8c05a3aad3935bdadbd20bdaa1789b70a21e8c - languageName: node - linkType: hard - "ret@npm:~0.2.0": version: 0.2.2 resolution: "ret@npm:0.2.2" @@ -14065,14 +14415,14 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: da8a21b3336a21c152eb3ba8ab41acde5772644f026d4b6e5f9fd8afa4f0cf407c113b19a362580fab9aea8beea295465432fc7684f9ff38aac559bb1b5528cd languageName: node linkType: hard -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:^5.1.1, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: 86939c6de6b62c1d39b7da860a56d5e50ede9b0ab35a91b0620bff8a96f1f798084ff910059f605087c2c500dc23dfdf77ff5bc3bcc8d4d38e3d634de2e3e426 @@ -14106,13 +14456,20 @@ __metadata: languageName: node linkType: hard -"safe-stable-stringify@npm:2.4.2, safe-stable-stringify@npm:^2.1.0, safe-stable-stringify@npm:^2.3.1, safe-stable-stringify@npm:^2.4.1": +"safe-stable-stringify@npm:2.4.2, safe-stable-stringify@npm:^2.4.1": version: 2.4.2 resolution: "safe-stable-stringify@npm:2.4.2" checksum: a5c53e0aa348f3e73b1d8d2853dfec79dae955f7f864e7a3a112079b38e2900c8320d3ae2c5dc6704a2d2143883d4543d6ec14812017cd6c03bc01c10b671559 languageName: node linkType: hard +"safe-stable-stringify@npm:^2.1.0, safe-stable-stringify@npm:^2.3.1": + version: 2.3.1 + resolution: "safe-stable-stringify@npm:2.3.1" + checksum: a796c980e9fcb32651f15d4546af63834bd2b3c0c2724a5978c280891815234b37e1381bad00221b395102c2068d97013c5856288aaeec91b92e748865e27a50 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -14127,15 +14484,6 @@ __metadata: languageName: node linkType: hard -"schemes@npm:^1.4.0": - version: 1.4.0 - resolution: "schemes@npm:1.4.0" - dependencies: - extend: "npm:^3.0.0" - checksum: 3f544b51db85dee01f504e9a7d82868375d66a227dc9f951a8f37b2f9036a6730f29c03bf4ad4e5cd4d813d050dcba5e0b66bc73ddc3360bac06562dadb29a50 - languageName: node - linkType: hard - "secure-json-parse@npm:^2.4.0, secure-json-parse@npm:^2.5.0": version: 2.7.0 resolution: "secure-json-parse@npm:2.7.0" @@ -14196,7 +14544,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.3.8, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": +"semver@npm:7.3.8, semver@npm:^7.0.0, semver@npm:^7.1.2, semver@npm:^7.3.8": version: 7.3.8 resolution: "semver@npm:7.3.8" dependencies: @@ -14216,6 +14564,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.1.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7": + version: 7.3.7 + resolution: "semver@npm:7.3.7" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 67bcf24790dcba9c20b2cd4c8ade19eebbcb10c8868453570749b47b77bd5c7da503478997a7a3f663d5b2976ac39c545f38d2d9e7dfcc693cb87f4068f93f8e + languageName: node + linkType: hard + "semver@npm:~7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -14471,15 +14830,6 @@ __metadata: languageName: node linkType: hard -"smtp-address-parser@npm:^1.0.3": - version: 1.0.10 - resolution: "smtp-address-parser@npm:1.0.10" - dependencies: - nearley: "npm:^2.20.1" - checksum: 2bf31e34e29ab0091c76387a819069e5d86979071321a7cecdfe51f384b1c8e824c62a0cfefdaed831b97b6b7b9fdddf72a0ebb01eb56664abf68909ea2b5936 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -14510,7 +14860,7 @@ __metadata: languageName: node linkType: hard -"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.1.0": +"sonic-boom@npm:^3.0.0": version: 3.2.1 resolution: "sonic-boom@npm:3.2.1" dependencies: @@ -14519,6 +14869,15 @@ __metadata: languageName: node linkType: hard +"sonic-boom@npm:^3.1.0": + version: 3.2.0 + resolution: "sonic-boom@npm:3.2.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + checksum: fcee5153801623d8a95da6cfc654620ec812899f3f5071a03c4e9280fb0e854c70ab7ce71eaef4fc538321a5aba657ee1544a2fe69c19de36a832eaae39e4675 + languageName: node + linkType: hard + "sort-keys@npm:^4.2.0": version: 4.2.0 resolution: "sort-keys@npm:4.2.0" @@ -14664,6 +15023,30 @@ __metadata: languageName: node linkType: hard +"standard-version@npm:^9.5.0": + version: 9.5.0 + resolution: "standard-version@npm:9.5.0" + dependencies: + chalk: "npm:^2.4.2" + conventional-changelog: "npm:3.1.25" + conventional-changelog-config-spec: "npm:2.1.0" + conventional-changelog-conventionalcommits: "npm:4.6.3" + conventional-recommended-bump: "npm:6.1.0" + detect-indent: "npm:^6.0.0" + detect-newline: "npm:^3.1.0" + dotgitignore: "npm:^2.1.0" + figures: "npm:^3.1.0" + find-up: "npm:^5.0.0" + git-semver-tags: "npm:^4.0.0" + semver: "npm:^7.1.1" + stringify-package: "npm:^1.0.1" + yargs: "npm:^16.0.0" + bin: + standard-version: bin/cli.js + checksum: 06d7bdb6115e3760ef6530310c0b63a7091f11f6e2aa81fd53d7cfee490fa4d8cfd2db32b09d386a1e6da44a87b343e79f0c8227118dc61ba23027e2f66d33d2 + languageName: node + linkType: hard + "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -14796,16 +15179,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: c6b892bdb15861a68c4f9599bdff3909c70b1a2cee73d226a235b8fbadfc0aa060bdd265cb3fd86e856cee6d98cd0d657f84098cb51241f4fae19d0cacf9e13e - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" dependencies: @@ -15344,7 +15718,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.5.0, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0": +"tslib@npm:2.5.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0": version: 2.5.0 resolution: "tslib@npm:2.5.0" checksum: 5a6ee935f56cd653af29de928483acbab7323f964b053e98b6b318abc69431fb0e4f660c4f4a396e2e93852510bef25eeb9f1d951d060b2d7bcc313811e5da6f @@ -15358,6 +15732,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.1.0": + version: 2.4.0 + resolution: "tslib@npm:2.4.0" + checksum: 022a70708abbc3491734959effd9a87e6e0af5932b61d0c9f1d07b8b80cabbbfc9fc9e9c0fe86e5ab2d32d766ae30117edf00b02d170ff255ab7e60361a4b711 + languageName: node + linkType: hard + "tslib@npm:^2.4.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -15527,6 +15908,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^4.9.4": + version: 4.9.4 + resolution: "typescript@npm:4.9.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: b142d5e50785d0e5055771e4d9e712b01be58985ff29be3d3acc64f0fddd5fd8ade8b28583ba502f2565783c23bd5b509c5abcc1a93a2d7d4f05b8e4ee731fc9 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^4.7.4#optional!builtin": version: 4.9.5 resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=23ec76" @@ -15537,6 +15928,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^4.9.4#optional!builtin": + version: 4.9.4 + resolution: "typescript@patch:typescript@npm%3A4.9.4#optional!builtin::version=4.9.4&hash=23ec76" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 8944d2310e83395ea5b50a4f3d12fbd8f834a9fd8b0b9a2316f24e78890b04d0015a434d8d825a84971caf3c4bd0d52c79f38d3dce80e05a1892dc9f7fa611f8 + languageName: node + linkType: hard + "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": version: 1.0.6 resolution: "uc.micro@npm:1.0.6" @@ -15786,7 +16187,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": +"uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -16232,6 +16633,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.0.0": + version: 21.0.1 + resolution: "yargs-parser@npm:21.0.1" + checksum: acaedd6c21306da55dfabb5ea5967012a322bb103eab6034cee3ace61cefda1faaac89ea10bdee3bdfed2904f43cf71f346ccecf72e85b5005e6b2b2d17201d5 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -16273,7 +16681,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.6.2": +"yargs@npm:^17.0.0, yargs@npm:^17.6.2": version: 17.7.1 resolution: "yargs@npm:17.7.1" dependencies: @@ -16288,6 +16696,21 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^17.3.1": + version: 17.5.1 + resolution: "yargs@npm:17.5.1" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.0.0" + checksum: 73e3e3f22a5e278bd335bd2c61bbfdae8181ecb178c304ca8438a3f34065e63885639b81e01c6ffee44dfeee7172f224c857feaec0ac2a940580b93b626f5080 + languageName: node + linkType: hard + "yauzl@npm:^2.10.0, yauzl@npm:^2.4.2": version: 2.10.0 resolution: "yauzl@npm:2.10.0" @@ -16412,23 +16835,35 @@ __metadata: version: 0.0.0-use.local resolution: "~dev@workspace:." dependencies: + "@types/lodash.camelcase": "npm:^4.3.7" + "@types/lodash.clonedeep": "npm:^4.5.7" + "@types/lodash.defaults": "npm:^4.2.7" + "@types/lodash.get": "npm:^4.4.7" + "@types/lodash.omit": "npm:^4.5.7" + "@types/lodash.pick": "npm:^4.4.7" + "@types/lodash.set": "npm:^4.3.7" + "@types/micromatch": "npm:^4.0.2" + "@types/node": "npm:^18.11.18" + "@types/pino": "npm:^7.0.5" commit-and-tag-version: "npm:^11.0.0" docsify-cli: "npm:^4.4.4" - eslint: "npm:^8.26.0" + eslint: "npm:^8.31.0" eslint-config-airbnb-base: "npm:^15.0.0" - eslint-config-prettier: "npm:^8.5.0" + eslint-config-prettier: "npm:^8.6.0" eslint-import-resolver-alias: "npm:^1.1.2" eslint-plugin-import: "npm:^2.26.0" - eslint-plugin-jest: "npm:^27.0.0" + eslint-plugin-jest: "npm:^27.2.0" eslint-plugin-node: "npm:^11.1.0" - eslint-plugin-prettier: "npm:^4.0.0" - fs-extra: "npm:^11.1.1" - husky: "npm:^8.0.0" + eslint-plugin-prettier: "npm:^4.2.1" + fs-extra: "npm:^11.1.0" + husky: "npm:^8.0.3" js-yaml: "npm:^4.1.0" - kubernetes-models: "npm:^4.3.1" - lint-staged: "npm:^13.0.0" - prettier: "npm:^2.6.2" + kubernetes-models: "npm:^4.1.0" + lint-staged: "npm:^13.1.0" + prettier: "npm:^2.8.1" renovate: "npm:^35.0.0" + standard-version: "npm:^9.5.0" + typescript: "npm:^4.9.4" ~dev-tools: "workspace:^" languageName: unknown linkType: soft