This commit is contained in:
Manabu McCloskey 2024-03-07 11:26:01 -08:00
parent 4b61eaef59
commit 22731f4bc1
6 changed files with 670 additions and 127 deletions

View file

@ -0,0 +1,17 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: game-demo
data:
# property-like keys; each key maps to a simple value
player_initial_lives: "3"
ui_properties_file_name: "user-interface.properties"
# file-like keys
game.properties: |
enemy.types=aliens,monsters
player.maximum-lives=5
user-interface.properties: |
color.good=purple
color.bad=yellow
allow.textmode=true

View file

@ -0,0 +1,30 @@
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: deploy-resources
title: Deploy Resources
description: Deploy Resource to Kubernetes
spec:
owner: guest
type: service
# these are the steps which are rendered in the frontend with the form input
parameters:
- title: file name
properties:
path:
type: string
description: file name
default: cm.yaml
steps:
- id: template
name: Generating component
action: fetch:template
input:
url: ./skeleton
- id: apply
name: apply-manifest
action: cnoe:kubernetes:apply
input:
namespaced: true
manifestPath: cm.yaml
clusterName: local

View file

@ -41,6 +41,7 @@
"@backstage/plugin-search-backend-node": "~1.2.13",
"@backstage/plugin-techdocs-backend": "~1.9.2",
"@backstage/types": "~1.1.1",
"@kubernetes/client-node": "~0.20.0",
"@roadiehq/backstage-plugin-argo-cd-backend": "~2.14.0",
"@roadiehq/scaffolder-backend-module-utils": "~1.13.1",
"app": "link:../app",
@ -48,6 +49,7 @@
"dockerode": "^3.3.1",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
"fs-extra": "~11.2.0",
"node-gyp": "^9.0.0",
"pg": "^8.11.3",
"winston": "^3.2.1"
@ -57,6 +59,7 @@
"@types/dockerode": "^3.3.0",
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "^4.17.5",
"@types/fs-extra": "^11.0.4",
"@types/luxon": "^2.0.4"
},
"files": [

View file

@ -0,0 +1,171 @@
import { createTemplateAction, executeShellCommand} from '@backstage/plugin-scaffolder-node';
import { dumpYaml } from '@kubernetes/client-node';
import YAML from 'yaml';
import { Config } from '@backstage/config';
import { resolveSafeChildPath } from '@backstage/backend-common';
import fs from 'fs-extra';
export const createKubernetesApply = (config: Config) => {
return createTemplateAction<{
manifestString?: string;
manifestObject?: any;
manifestPath?: string;
namespaced: boolean;
clusterName?: string;
}>({
id: 'cnoe:kubernetes:apply',
schema: {
input: {
type: 'object',
required: ['namespaced'],
properties: {
manifestString: {
type: 'string',
title: 'Manifest',
description:
'The manifest to apply in the cluster. Must be a string',
},
manifestObject: {
type: 'object',
title: 'Manifest',
description:
'The manifest to apply in the cluster. Must be an object',
},
manifestPath: {
type: 'string',
title: 'Path to the manifest file',
description: 'The path to the manifest file.',
},
namespaced: {
type: 'boolean',
title: 'Namespaced',
description: 'Whether the API is namespaced or not',
},
clusterName: {
type: 'string',
title: 'Cluster Name',
description: 'The name of the cluster to apply this',
},
},
},
output: {
type: 'object',
title: 'Returned object',
description:
'The object returned by Kubernetes by performing this operation',
},
},
async handler(ctx) {
let obj: any;
if (ctx.input.manifestString) {
obj = YAML.parse(ctx.input.manifestString);
} else if (ctx.input.manifestObject) {
obj = ctx.input.manifestObject;
} else {
const filePath = resolveSafeChildPath(
ctx.workspacePath,
ctx.input.manifestPath!,
);
const fileContent = fs.readFileSync(filePath, 'utf8');
obj = YAML.parse(fileContent);
}
if (ctx.input.clusterName) {
// Supports SA token authentication only
const targetCluster = getClusterConfig(ctx.input.clusterName!, config);
const confFile = {
apiVersion: 'v1',
kind: 'Config',
'current-context': ctx.input.clusterName,
contexts: [
{
name: ctx.input.clusterName,
context: {
cluster: ctx.input.clusterName,
user: ctx.input.clusterName,
},
},
],
clusters: [
{
name: ctx.input.clusterName,
cluster: {
'certificate-authority-data': targetCluster.getOptionalString('caData'),
server: targetCluster.getString('url'),
'insecure-skip-tls-verify': !!targetCluster.getOptionalBoolean('skipTLSVerify'),
},
},
],
users: [
{
name: ctx.input.clusterName,
user: {
token: targetCluster.getString('serviceAccountToken'),
},
},
],
};
if (!confFile.clusters[0].cluster["insecure-skip-tls-verify"]) {
let caDataRaw = targetCluster.getOptionalString('caData')
if (caDataRaw?.startsWith('-----BEGIN CERTIFICATE-----')) {
caDataRaw = Buffer.from(targetCluster.getString('caData'), 'utf8').toString(
'base64',
);
}
confFile.clusters[0].cluster['certificate-authority-data'] = caDataRaw
}
const confString = dumpYaml(confFile);
const confFilePath = resolveSafeChildPath(ctx.workspacePath, 'config');
fs.writeFileSync(confFilePath, confString, {
encoding: 'utf8',
mode: '600',
});
const manifestPath = resolveSafeChildPath(
ctx.workspacePath,
ctx.input.manifestPath!,
);
if (obj.metadata.generateName !== undefined) {
await executeShellCommand({
command: 'kubectl',
args: ['--kubeconfig', confFilePath, 'create', '-f', manifestPath],
logStream: ctx.logStream,
});
return;
}
await executeShellCommand({
command: 'kubectl',
args: ['--kubeconfig', confFilePath, 'apply', '-f', manifestPath],
logStream: ctx.logStream,
});
return;
}
throw new Error("please specify a valid cluster name")
},
});
};
// Finds the first cluster that matches the given name.
function getClusterConfig(name: string, config: Config): Config {
const clusterConfigs = config
.getConfigArray('kubernetes.clusterLocatorMethods')
.filter((val: Config) => {
return val.getString('type') === 'config';
});
const clusters = new Array<Config>();
clusterConfigs.filter((conf: Config) => {
const cluster = conf.getConfigArray('clusters').find((val: Config) => {
return val.getString('name') === name;
});
if (cluster) {
clusters.push(cluster);
}
});
if (clusters.length === 0) {
throw new Error(`Cluster with name ${name} not found`);
}
return clusters[0];
}

View file

@ -21,6 +21,7 @@ import {
createJsonJSONataTransformAction,
createReplaceInFileAction
} from '@roadiehq/scaffolder-backend-module-utils';
import {createKubernetesApply} from "./k8s-apply";
export default async function createPlugin(
env: PluginEnvironment,
@ -48,7 +49,8 @@ export default async function createPlugin(
const cnoeActions = [
createPublishGiteaAction(options),
createArgoCDApp(argocdOptions)
createArgoCDApp(argocdOptions),
createKubernetesApply(env.config)
]
const roadieUtilActions = [

572
yarn.lock
View file

@ -2064,21 +2064,21 @@
"@material-ui/core" "^4.12.2"
"@material-ui/icons" "^4.9.1"
"@backstage/backend-app-api@^0.5.10", "@backstage/backend-app-api@^0.5.8":
version "0.5.10"
resolved "https://registry.npmmirror.com/@backstage/backend-app-api/-/backend-app-api-0.5.10.tgz#ec0cbebe9c2aebdfce6605bcafb8696bb1959a02"
integrity sha512-eD6CeHWaNsSjs3zHgQ8qio4kzqtnIgzAH71aUwaiOiiibtsBiueRCCmYNbibbEh/9eSZEm6nl0eIk0bKCDvnHQ==
"@backstage/backend-app-api@^0.5.10", "@backstage/backend-app-api@^0.5.14", "@backstage/backend-app-api@^0.5.8":
version "0.5.14"
resolved "https://registry.npmmirror.com/@backstage/backend-app-api/-/backend-app-api-0.5.14.tgz#a110bdbebc3b8b1b302b0726b7c92b2742fb5e3f"
integrity sha512-Sqd5WRkp5x0JxK0ms5shes+VXmJ/t9++Z88CR8N3oBtp3H0t+iKewxOlgHhvYZKPyPiVCXZqKu7eCWH9UZ+Gqg==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-plugin-api" "^0.6.9"
"@backstage/backend-tasks" "^0.5.14"
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/backend-tasks" "^0.5.18"
"@backstage/cli-common" "^0.1.13"
"@backstage/cli-node" "^0.2.2"
"@backstage/cli-node" "^0.2.3"
"@backstage/config" "^1.1.1"
"@backstage/config-loader" "^1.6.1"
"@backstage/config-loader" "^1.6.2"
"@backstage/errors" "^1.2.3"
"@backstage/plugin-auth-node" "^0.4.3"
"@backstage/plugin-permission-node" "^0.7.20"
"@backstage/plugin-auth-node" "^0.4.8"
"@backstage/plugin-permission-node" "^0.7.24"
"@backstage/types" "^1.1.1"
"@manypkg/get-packages" "^1.1.3"
"@types/cors" "^2.8.6"
@ -2087,7 +2087,7 @@
cors "^2.8.5"
express "^4.17.1"
express-promise-router "^4.1.0"
fs-extra "10.1.0"
fs-extra "^11.2.0"
helmet "^6.0.0"
lodash "^4.17.21"
logform "^2.3.2"
@ -2222,10 +2222,71 @@
yauzl "^2.10.0"
yn "^4.0.0"
"@backstage/backend-dev-utils@^0.1.2", "@backstage/backend-dev-utils@^0.1.3":
version "0.1.3"
resolved "https://registry.npmmirror.com/@backstage/backend-dev-utils/-/backend-dev-utils-0.1.3.tgz#31412b8e14027718a7cf229474e032acd862a1a3"
integrity sha512-vq0zdpiAuMMAsaWavpCwmA4psi2EFoYmDEP5Kk9xU+jcDMTAH+ArNY+sn6fZ/6cA7IJEYNu6pFFEAXfn+dh6yg==
"@backstage/backend-common@^0.21.3":
version "0.21.3"
resolved "https://registry.npmmirror.com/@backstage/backend-common/-/backend-common-0.21.3.tgz#67d757d1ff81a79121bdbe80b3032542f5ff571f"
integrity sha512-kqJ5p/Cd3dRcvVoVLIo6kYi5MMy5/uQBibt92o4QKHclagPJ2KLKJOUXwDpAtCw8MLe4Dtms9hj19SoU+wsFCQ==
dependencies:
"@aws-sdk/abort-controller" "^3.347.0"
"@aws-sdk/client-s3" "^3.350.0"
"@aws-sdk/credential-providers" "^3.350.0"
"@aws-sdk/types" "^3.347.0"
"@backstage/backend-app-api" "^0.5.14"
"@backstage/backend-dev-utils" "^0.1.4"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/cli-common" "^0.1.13"
"@backstage/config" "^1.1.1"
"@backstage/config-loader" "^1.6.2"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/integration-aws-node" "^0.1.9"
"@backstage/types" "^1.1.1"
"@google-cloud/storage" "^7.0.0"
"@keyv/memcache" "^1.3.5"
"@keyv/redis" "^2.5.3"
"@kubernetes/client-node" "0.20.0"
"@manypkg/get-packages" "^1.1.3"
"@octokit/rest" "^19.0.3"
"@types/cors" "^2.8.6"
"@types/dockerode" "^3.3.0"
"@types/express" "^4.17.6"
"@types/luxon" "^3.0.0"
"@types/webpack-env" "^1.15.2"
archiver "^6.0.0"
base64-stream "^1.0.0"
compression "^1.7.4"
concat-stream "^2.0.0"
cors "^2.8.5"
dockerode "^4.0.0"
express "^4.17.1"
express-promise-router "^4.1.0"
fs-extra "^11.2.0"
git-url-parse "^14.0.0"
helmet "^6.0.0"
isomorphic-git "^1.23.0"
jose "^4.6.0"
keyv "^4.5.2"
knex "^3.0.0"
lodash "^4.17.21"
logform "^2.3.2"
luxon "^3.0.0"
minimatch "^5.0.0"
mysql2 "^2.2.5"
node-fetch "^2.6.7"
p-limit "^3.1.0"
pg "^8.11.3"
raw-body "^2.4.1"
tar "^6.1.12"
uuid "^8.3.2"
winston "^3.2.1"
winston-transport "^4.5.0"
yauzl "^2.10.0"
yn "^4.0.0"
"@backstage/backend-dev-utils@^0.1.2", "@backstage/backend-dev-utils@^0.1.3", "@backstage/backend-dev-utils@^0.1.4":
version "0.1.4"
resolved "https://registry.npmmirror.com/@backstage/backend-dev-utils/-/backend-dev-utils-0.1.4.tgz#65d204939c49b5df6a2148e8ad4dc718ccd1df07"
integrity sha512-5YgAPz4CRtnqdaUlYCHwGmXvpkGQ1jaUMoDtiQ81WDxQrf+0iYZCwS4ftVyQmB0Ga6BaGOUf6GG/OuFA56Y5mA==
"@backstage/backend-openapi-utils@^0.1.2":
version "0.1.2"
@ -2244,32 +2305,32 @@
openapi-merge "^1.3.2"
openapi3-ts "^3.1.2"
"@backstage/backend-plugin-api@^0.6.7", "@backstage/backend-plugin-api@^0.6.9":
version "0.6.9"
resolved "https://registry.npmmirror.com/@backstage/backend-plugin-api/-/backend-plugin-api-0.6.9.tgz#da43371efb576079dc51a023db8075ea14ba2870"
integrity sha512-NKRft/mK8SqNQw01QHGpwaAc4MhRh8HaAFtWrcQex746vMr8dqwspvr8KVALIkOodVrsS9oq4VnNDSVtnCBmUA==
"@backstage/backend-plugin-api@^0.6.13", "@backstage/backend-plugin-api@^0.6.7", "@backstage/backend-plugin-api@^0.6.9":
version "0.6.13"
resolved "https://registry.npmmirror.com/@backstage/backend-plugin-api/-/backend-plugin-api-0.6.13.tgz#26bb86cb4565fead2424faa42ac603ae98a85e5b"
integrity sha512-7SAAjx2YuZvsJHokkhh9U/cCV3az25DyqWse9BQJS4UTwDsWyebGmubtFI4SOXQKKR6U5t3ogtezYJXz+9K2Yw==
dependencies:
"@backstage/backend-tasks" "^0.5.14"
"@backstage/backend-tasks" "^0.5.18"
"@backstage/config" "^1.1.1"
"@backstage/plugin-auth-node" "^0.4.3"
"@backstage/plugin-auth-node" "^0.4.8"
"@backstage/plugin-permission-common" "^0.7.12"
"@backstage/types" "^1.1.1"
"@types/express" "^4.17.6"
express "^4.17.1"
knex "^3.0.0"
"@backstage/backend-tasks@^0.5.14", "@backstage/backend-tasks@~0.5.14":
version "0.5.14"
resolved "https://registry.npmmirror.com/@backstage/backend-tasks/-/backend-tasks-0.5.14.tgz#0c0022339daf528ecd6d39fca891642b5ed7ddb5"
integrity sha512-bVRAOM86lhOk/tG0z+oXvPdIqtusgPxMO93WaayXbr0R7Tx4Ogp8pg49s7XU4WB7Mdq+fmyiqp1VQt0NR3FCwQ==
"@backstage/backend-tasks@^0.5.14", "@backstage/backend-tasks@^0.5.18", "@backstage/backend-tasks@~0.5.14":
version "0.5.18"
resolved "https://registry.npmmirror.com/@backstage/backend-tasks/-/backend-tasks-0.5.18.tgz#fd0aeea5f8b7fca3c1434c24ba885559124390dc"
integrity sha512-uYH/qj9OIc1Iupqf4N31HKEpTzbnNavysUkcoJFGR4+vV17gvuw3JSaLUXMK1z/soansAZHliRPktsQQ51nAqQ==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-common" "^0.21.3"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/types" "^1.1.1"
"@opentelemetry/api" "^1.3.0"
"@types/luxon" "^3.0.0"
cron "^2.0.0"
cron "^3.0.0"
knex "^3.0.0"
lodash "^4.17.21"
luxon "^3.0.0"
@ -2277,7 +2338,17 @@
winston "^3.2.1"
zod "^3.22.4"
"@backstage/catalog-client@^1.4.6", "@backstage/catalog-client@^1.5.2", "@backstage/catalog-client@~1.5.2":
"@backstage/catalog-client@^1.4.6", "@backstage/catalog-client@^1.5.2", "@backstage/catalog-client@^1.6.0":
version "1.6.0"
resolved "https://registry.npmmirror.com/@backstage/catalog-client/-/catalog-client-1.6.0.tgz#d4ba505f84a58f03177d0998becc6eb8ed54f40e"
integrity sha512-O6yoBX/BcKy89AwXmXVxNPlk0mX7jbgqYUCeIxGZr7n10A9oJx1iRj1XMub+V67yuqdfILPmh8WW+jd0N98+JA==
dependencies:
"@backstage/catalog-model" "^1.4.4"
"@backstage/errors" "^1.2.3"
cross-fetch "^4.0.0"
uri-template "^2.0.0"
"@backstage/catalog-client@~1.5.2":
version "1.5.2"
resolved "https://registry.npmmirror.com/@backstage/catalog-client/-/catalog-client-1.5.2.tgz#f75e14e4e3aa473fc5db47841f531d1833e611e8"
integrity sha512-hWP1Zb2KZ7owSvHdOhP+VB8eSOYbnsXz+l2OdTgMhKQS8ulGZXUW1SzA+N9PZupnQLYmZP2+2DXTpKhSEzQnnQ==
@ -2287,10 +2358,10 @@
cross-fetch "^4.0.0"
uri-template "^2.0.0"
"@backstage/catalog-model@^1.4.3", "@backstage/catalog-model@~1.4.3":
version "1.4.3"
resolved "https://registry.npmmirror.com/@backstage/catalog-model/-/catalog-model-1.4.3.tgz#64abf34071d1cad6372f905b92e1d831e480750c"
integrity sha512-cfbTPWLVma/ZKxRh76aLWqSFozzXMxHoGK+Tn50dOxHHp2xmdcx5jWBtOszNJs560rR7KScD7YnImUPkNn5DWQ==
"@backstage/catalog-model@^1.4.3", "@backstage/catalog-model@^1.4.4", "@backstage/catalog-model@~1.4.3":
version "1.4.4"
resolved "https://registry.npmmirror.com/@backstage/catalog-model/-/catalog-model-1.4.4.tgz#53ebbe754c72a0e01bb7ea025af0358dc459db9c"
integrity sha512-JiCeAgUdRMQTjO0+34QeKDxYh/UQrXtDUvVic5z11uf8WuX3L9N7LiPOqJG+3t9TAyc5side21nDD7REdHoVFA==
dependencies:
"@backstage/errors" "^1.2.3"
"@backstage/types" "^1.1.1"
@ -2302,17 +2373,17 @@
resolved "https://registry.npmmirror.com/@backstage/cli-common/-/cli-common-0.1.13.tgz#cbeda6a359ca4437fc782f0ac51bb957e8d49e73"
integrity sha512-UMgNAIJSeEPSMkzxiWCP8aFR8APsG21XczDnzwHdL/41F7g2C+KA6UeQc/3tzbe8XQo+PxbNLpReZeKSSnSPSQ==
"@backstage/cli-node@^0.2.2":
version "0.2.2"
resolved "https://registry.npmmirror.com/@backstage/cli-node/-/cli-node-0.2.2.tgz#f7a6062da90a20ce9d1af161ed841fbeb96337b8"
integrity sha512-YsEeT3sAF2sxNXv7IyI/d73TEZnivSBpyiJ4STnVpFi00woN440NeRWZfqaabS1XiuGbQibxJT3xTxORw1tMFA==
"@backstage/cli-node@^0.2.2", "@backstage/cli-node@^0.2.3":
version "0.2.3"
resolved "https://registry.npmmirror.com/@backstage/cli-node/-/cli-node-0.2.3.tgz#76d31a0ccd44326d110fb3a38c0db507b79e3ddf"
integrity sha512-gSsRds/xm9nh6jV/XoOipOA8rFwlMPOAoy3vkUyB5+Z5bfEM56NSccYjPdPMt52R9zZhVWhnsMNBHVoaqr+zeg==
dependencies:
"@backstage/cli-common" "^0.1.13"
"@backstage/errors" "^1.2.3"
"@backstage/types" "^1.1.1"
"@manypkg/get-packages" "^1.1.3"
"@yarnpkg/parsers" "^3.0.0-rc.4"
fs-extra "10.1.0"
fs-extra "^11.2.0"
semver "^7.5.3"
zod "^3.22.4"
@ -2431,10 +2502,10 @@
yn "^4.0.0"
zod "^3.22.4"
"@backstage/config-loader@^1.5.3", "@backstage/config-loader@^1.6.1":
version "1.6.1"
resolved "https://registry.npmmirror.com/@backstage/config-loader/-/config-loader-1.6.1.tgz#bd5bc282cddc3b26dd0346962f814bad5dbe164b"
integrity sha512-wWbM7LGrN559HPzAKMczpv2mv1OXvhtgBMCgFw0jHZx5IrR3bdRZRapFQ8rmZAtj76vSLZv58qZfpOkSR6cWVQ==
"@backstage/config-loader@^1.5.3", "@backstage/config-loader@^1.6.1", "@backstage/config-loader@^1.6.2":
version "1.6.2"
resolved "https://registry.npmmirror.com/@backstage/config-loader/-/config-loader-1.6.2.tgz#b3dea400ec18dc64e1f1236e450668fb5d27e221"
integrity sha512-RFFK1NGhg2n6OKRxkBPCO8qRmuRJ8gtEwjQdMv17V8AuaituOVDIduKW7omrq2RNr1CNJFodhGmpkHxqSkpkiQ==
dependencies:
"@backstage/cli-common" "^0.1.13"
"@backstage/config" "^1.1.1"
@ -2443,14 +2514,14 @@
"@types/json-schema" "^7.0.6"
ajv "^8.10.0"
chokidar "^3.5.2"
fs-extra "10.1.0"
fs-extra "^11.2.0"
json-schema "^0.4.0"
json-schema-merge-allof "^0.8.1"
json-schema-traverse "^1.0.0"
lodash "^4.17.21"
minimist "^1.2.5"
node-fetch "^2.6.7"
typescript-json-schema "^0.62.0"
typescript-json-schema "^0.63.0"
yaml "^2.0.0"
"@backstage/config@^1.1.1", "@backstage/config@~1.1.1":
@ -2605,10 +2676,10 @@
zod "^3.22.4"
zod-to-json-schema "^3.21.4"
"@backstage/integration-aws-node@^0.1.8":
version "0.1.8"
resolved "https://registry.npmmirror.com/@backstage/integration-aws-node/-/integration-aws-node-0.1.8.tgz#c0582a63e2348a42bbe172bdcd4609f024cc0051"
integrity sha512-WD/ahhk1d92ycjBOIRK2gtvuoP1nt5lNMKkfR1qsRBlgZFUPRCe7rkdELGpmRgrGBzU7ZyWfWGjLUh/Qpfva9Q==
"@backstage/integration-aws-node@^0.1.8", "@backstage/integration-aws-node@^0.1.9":
version "0.1.9"
resolved "https://registry.npmmirror.com/@backstage/integration-aws-node/-/integration-aws-node-0.1.9.tgz#66d6898e855a6a8d495d7d1bcb3bb79b6c61479c"
integrity sha512-nr3LHM9vFGtWPqWSp1lutm5+/1H6pBcMCZ2bkTn7qy/Y5Ds7l9qY+0LSMxPbIyPoaQMM2D1x/gDPEMr/pNwPAA==
dependencies:
"@aws-sdk/client-sts" "^3.350.0"
"@aws-sdk/credential-provider-node" "^3.350.0"
@ -2630,7 +2701,22 @@
"@material-ui/icons" "^4.9.1"
"@types/react" "^16.13.1 || ^17.0.0"
"@backstage/integration@^1.7.2", "@backstage/integration@^1.8.0", "@backstage/integration@~1.8.0":
"@backstage/integration@^1.7.2", "@backstage/integration@^1.8.0", "@backstage/integration@^1.9.0":
version "1.9.0"
resolved "https://registry.npmmirror.com/@backstage/integration/-/integration-1.9.0.tgz#c60b33a7ec9b3970ccd4e8d54662b686b7ad27bf"
integrity sha512-lqZcjcfLeDyHxDdmTKxiko3GX+vQCyhoNM/lgPFLJFih9TiE3V+hTc9isEfkpQqRE9dCEy1w7rgUrNHXlz0pTA==
dependencies:
"@azure/identity" "^4.0.0"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@octokit/auth-app" "^4.0.0"
"@octokit/rest" "^19.0.3"
cross-fetch "^4.0.0"
git-url-parse "^14.0.0"
lodash "^4.17.21"
luxon "^3.0.0"
"@backstage/integration@~1.8.0":
version "1.8.0"
resolved "https://registry.npmmirror.com/@backstage/integration/-/integration-1.8.0.tgz#affc54e1c12c5a4e68a92de4e42c6cf001bdf6ec"
integrity sha512-FCFOubvpKK2dt38sNATrImHrS0pkmvS2LPzvLQ01JzRy5F/QxsdRGxJmzB9irpLOUh7F3/Ilr7cBdG5nYyYVOA==
@ -2841,15 +2927,15 @@
winston "^3.2.1"
yn "^4.0.0"
"@backstage/plugin-auth-node@^0.4.3", "@backstage/plugin-auth-node@~0.4.3":
version "0.4.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-auth-node/-/plugin-auth-node-0.4.3.tgz#87522b4a29824f9f160cf4087a6b02ae7adb735d"
integrity sha512-dIavrhNjsgxSLgm7CP+sc6YdoA6J4eVuS8Jl5vmt1jhX6Gc2DZMjPRglO2QVotWa3Ucl1tBa+GZxLGOwDetAWg==
"@backstage/plugin-auth-node@^0.4.3", "@backstage/plugin-auth-node@^0.4.8", "@backstage/plugin-auth-node@~0.4.3":
version "0.4.8"
resolved "https://registry.npmmirror.com/@backstage/plugin-auth-node/-/plugin-auth-node-0.4.8.tgz#4fcc9a22ce6b9eabbe5053a51204852e5719ea65"
integrity sha512-UXk6ke1BZQKsrKRAGm0oi1ncMimIcY0KNasLtuSnqFkboHHUPzGxco57S5rK4GC1chxF8pKHZ9MTzygMAb/xeg==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-plugin-api" "^0.6.9"
"@backstage/catalog-client" "^1.5.2"
"@backstage/catalog-model" "^1.4.3"
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/catalog-client" "^1.6.0"
"@backstage/catalog-model" "^1.4.4"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/types" "^1.1.1"
@ -2864,16 +2950,16 @@
zod "^3.22.4"
zod-to-json-schema "^3.21.4"
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@^0.1.6", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@~0.1.6":
version "0.1.6"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-backend-module-scaffolder-entity-model/-/plugin-catalog-backend-module-scaffolder-entity-model-0.1.6.tgz#0ea62233a916b86bf3ae8ba09fd93ff007bac0f0"
integrity sha512-aGawWFUjoJAbITPUdKzF4fzTTJk5hn/bLMF33Ks5iIW1EWokPoVmDR/qErjxKXXChnVTzPwvPdBejV6HPVcs8Q==
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@^0.1.10", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@^0.1.6", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@~0.1.6":
version "0.1.10"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-backend-module-scaffolder-entity-model/-/plugin-catalog-backend-module-scaffolder-entity-model-0.1.10.tgz#cd54fee56c0ef105cd762584adcf24c22846b34a"
integrity sha512-6iJMQzcMHJcfFyIJNbMkWIDpqNuyXWzRzAgES45Pe4ywuiHQ3Nvhrtce+4e4p7+WSZzK1smZrZOh5nkglfCvlw==
dependencies:
"@backstage/backend-plugin-api" "^0.6.9"
"@backstage/catalog-model" "^1.4.3"
"@backstage/plugin-catalog-common" "^1.0.20"
"@backstage/plugin-catalog-node" "^1.6.1"
"@backstage/plugin-scaffolder-common" "^1.4.5"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/catalog-model" "^1.4.4"
"@backstage/plugin-catalog-common" "^1.0.21"
"@backstage/plugin-catalog-node" "^1.7.3"
"@backstage/plugin-scaffolder-common" "^1.5.0"
"@backstage/plugin-catalog-backend@~1.16.1":
version "1.16.2"
@ -2919,12 +3005,12 @@
yn "^4.0.0"
zod "^3.22.4"
"@backstage/plugin-catalog-common@^1.0.20", "@backstage/plugin-catalog-common@~1.0.20":
version "1.0.20"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-common/-/plugin-catalog-common-1.0.20.tgz#84050135b29b0690aff613b31a427277a2c18169"
integrity sha512-jHMzUBPDqieri/psW1H0ylR57ofzPLLjlSSVbvzLAVc63DDQMWunb6UdjARAGRceeV4ea+shrhlvEx5tdG9eEQ==
"@backstage/plugin-catalog-common@^1.0.20", "@backstage/plugin-catalog-common@^1.0.21", "@backstage/plugin-catalog-common@~1.0.20":
version "1.0.21"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-common/-/plugin-catalog-common-1.0.21.tgz#1dba78e151079cab0137158b71427276799d4104"
integrity sha512-7VA76TRzeVkfyefDVR01lAfTQnaHw2ZtlvOjIo+tSlteivZ+wEzJVq9af/ekHYlOGuDsYzDzGgc/P/eRwY67Ag==
dependencies:
"@backstage/catalog-model" "^1.4.3"
"@backstage/catalog-model" "^1.4.4"
"@backstage/plugin-permission-common" "^0.7.12"
"@backstage/plugin-search-common" "^1.2.10"
@ -2978,18 +3064,18 @@
react-use "^17.2.4"
yaml "^2.0.0"
"@backstage/plugin-catalog-node@^1.6.1":
version "1.6.1"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-node/-/plugin-catalog-node-1.6.1.tgz#9a872dfdc562f79cb1e3a5873028abaf5ae0b4f9"
integrity sha512-mYNzcCUy9s28/SymS0p1mPmjtRQBfICAS2lFUKfKFT6pXQ7sqnC0Cxcn9ln1XjS3+ikxFC7jfYs4EOrv2DVm7w==
"@backstage/plugin-catalog-node@^1.6.1", "@backstage/plugin-catalog-node@^1.7.3":
version "1.7.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-catalog-node/-/plugin-catalog-node-1.7.3.tgz#a7369ed5bebddd82adb7417b86f1670a1a9f14d8"
integrity sha512-Y6DgN2PSdUMndWjx+a8Vm6AU7NS40hzgbDfeVR50rRNMhL4g3SyTXKgiSxiijdl6eRnnUHaqt+ux5/iy/B7jCQ==
dependencies:
"@backstage/backend-plugin-api" "^0.6.9"
"@backstage/catalog-client" "^1.5.2"
"@backstage/catalog-model" "^1.4.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/catalog-client" "^1.6.0"
"@backstage/catalog-model" "^1.4.4"
"@backstage/errors" "^1.2.3"
"@backstage/plugin-catalog-common" "^1.0.20"
"@backstage/plugin-catalog-common" "^1.0.21"
"@backstage/plugin-permission-common" "^0.7.12"
"@backstage/plugin-permission-node" "^0.7.20"
"@backstage/plugin-permission-node" "^0.7.24"
"@backstage/types" "^1.1.1"
"@backstage/plugin-catalog-react@^1.9.1", "@backstage/plugin-catalog-react@^1.9.3", "@backstage/plugin-catalog-react@~1.9.3":
@ -3276,16 +3362,16 @@
uuid "^8.0.0"
zod "^3.22.4"
"@backstage/plugin-permission-node@^0.7.20", "@backstage/plugin-permission-node@~0.7.20":
version "0.7.20"
resolved "https://registry.npmmirror.com/@backstage/plugin-permission-node/-/plugin-permission-node-0.7.20.tgz#172b1d36e5cf3cf2ead992fa495d054eea45fb11"
integrity sha512-OQD6R+n0AYC+o/jdAePrjdIYKNhssuimfx7plx7wcsTF9xz6Mpxj1zUvVp+zgDoNub2prG0Bd9H+tw0ATtAGgw==
"@backstage/plugin-permission-node@^0.7.20", "@backstage/plugin-permission-node@^0.7.24", "@backstage/plugin-permission-node@~0.7.20":
version "0.7.24"
resolved "https://registry.npmmirror.com/@backstage/plugin-permission-node/-/plugin-permission-node-0.7.24.tgz#2aba208d9fe0d7a554c024a9fce45c95ecbd4ed2"
integrity sha512-auNQ6Lbo8/fZTYXbeHv+0pWSKiFTgaBhJbKhIEIvi96LdL3AdlalIsd7EdEDsVqs+Vrcf0Y0xpQiNGdi7ciylQ==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-plugin-api" "^0.6.9"
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/plugin-auth-node" "^0.4.3"
"@backstage/plugin-auth-node" "^0.4.8"
"@backstage/plugin-permission-common" "^0.7.12"
"@types/express" "^4.17.6"
express "^4.17.1"
@ -3323,19 +3409,50 @@
yn "^4.0.0"
yup "^0.32.9"
"@backstage/plugin-scaffolder-backend-module-azure@^0.1.1":
version "0.1.1"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-azure/-/plugin-scaffolder-backend-module-azure-0.1.1.tgz#c8ba1b4daae3cf9afe2950ac3cd366aa64c1959f"
integrity sha512-p0lbtVSiG5Z/4Mp9++RVjtJDexcxsZtHt/e89vRLueU9OdqFvacILJeB92WT6C9LR5ddT3+wBNajN2dhCz0yjg==
"@backstage/plugin-scaffolder-backend-module-azure@^0.1.1", "@backstage/plugin-scaffolder-backend-module-azure@^0.1.5":
version "0.1.5"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-azure/-/plugin-scaffolder-backend-module-azure-0.1.5.tgz#bad0ac4459379956ab4da4863cd65fb6f72c0751"
integrity sha512-fNIDA/Cf17dJZwzrHx/9BxY/88C0xWemiN9IYqJtgshSjDxmaDXeWBa8nc/easFFSqNob/u9JVcEO+uAZ584zQ==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.8.0"
"@backstage/plugin-scaffolder-node" "^0.2.10"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
azure-devops-node-api "^12.0.0"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@^0.1.3":
version "0.1.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-bitbucket-cloud/-/plugin-scaffolder-backend-module-bitbucket-cloud-0.1.3.tgz#7643b3353a042db439f1d109d298b41762d2ef36"
integrity sha512-KspnbjM2CV2lqSEH9+9f4l5kXRZKIi//WkXgt8pHnlZZH+a82iQHIUloOYOIVacU1QUsDc4pIp/H2Qai8ReWtg==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
fs-extra "^11.2.0"
node-fetch "^2.6.7"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-bitbucket-server@^0.1.3":
version "0.1.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-bitbucket-server/-/plugin-scaffolder-backend-module-bitbucket-server-0.1.3.tgz#a3bab3df4e71a98bbca68e0c32957160a28abec4"
integrity sha512-HFjLh/ovboMqsI0Ud4ycixSXLNDAX12feTFYkzntoI3aj/6mSKkSkXjVZ8K6uatcAvxKNweyoLI1V3oJUWs49Q==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
fs-extra "^11.2.0"
node-fetch "^2.6.7"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-bitbucket@^0.1.1":
version "0.1.1"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-bitbucket/-/plugin-scaffolder-backend-module-bitbucket-0.1.1.tgz#5b56f8f3e35c20bd380285f8e4ab6bc94dfa99dc"
@ -3349,15 +3466,46 @@
node-fetch "^2.6.7"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-gerrit@^0.1.1":
version "0.1.1"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-gerrit/-/plugin-scaffolder-backend-module-gerrit-0.1.1.tgz#a52161f1b8e1980ef485f835ae1875ff35438a83"
integrity sha512-5ShekdtgmDDDOLnzJraEGZmYBWvGGV5cCwhPCnZWsgXU4I6PUiY37XbaAv4t6kN4YnzhFELTeDHqDSlk6RRXKQ==
"@backstage/plugin-scaffolder-backend-module-bitbucket@^0.2.3":
version "0.2.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-bitbucket/-/plugin-scaffolder-backend-module-bitbucket-0.2.3.tgz#3005b6a862fc6edd336063bbc8708a688d660210"
integrity sha512-bDPgMlYzUQdcFP0/PNEs71/wl3tb7FO6CY5At4AQkEI8VRxfL4NLiXnHLQZwB76c+QJ/8n/2Zkgnz7VTkZTLuw==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.8.0"
"@backstage/plugin-scaffolder-node" "^0.2.10"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud" "^0.1.3"
"@backstage/plugin-scaffolder-backend-module-bitbucket-server" "^0.1.3"
"@backstage/plugin-scaffolder-node" "^0.3.3"
fs-extra "^11.2.0"
node-fetch "^2.6.7"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-gerrit@^0.1.1", "@backstage/plugin-scaffolder-backend-module-gerrit@^0.1.5":
version "0.1.5"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-gerrit/-/plugin-scaffolder-backend-module-gerrit-0.1.5.tgz#6e03d30bdc0d1770b953fb1ce8fb12eecd056e54"
integrity sha512-1rWqfNU+rZU6gDireUqsXFCWRgkS63Z0kUjbmzZgy+rl6zbaepBnz/oKpBsNnySQhl7HDIytBs6hs+t5TdZBiA==
dependencies:
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
node-fetch "^2.6.7"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-gitea@^0.1.3":
version "0.1.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-gitea/-/plugin-scaffolder-backend-module-gitea-0.1.3.tgz#33dc67cc0bd31fab4bbea148083f4ae0ed494b76"
integrity sha512-ZfblBeL6KD1Nu3oomuHynI+eQFh6N1QgpVbRuh9pc7aJjNNVAYPVd35Lenx6pwP3mqtSCebOOwtdbZQ6WVBWsg==
dependencies:
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
node-fetch "^2.6.7"
yaml "^2.0.0"
@ -3378,23 +3526,94 @@
winston "^3.2.1"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-gitlab@^0.2.12":
version "0.2.12"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-gitlab/-/plugin-scaffolder-backend-module-gitlab-0.2.12.tgz#10cf7f69be0379c1e221fc82a177816969f01190"
integrity sha512-20VW3fAk4xkyE4bRwRz9rd5S2p9W3Tgmu9ITX7RB1qmEUTqWfAVIRQdkt18gN459srxpypwm7Kh97/I7o7X8KQ==
"@backstage/plugin-scaffolder-backend-module-github@^0.2.3":
version "0.2.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-github/-/plugin-scaffolder-backend-module-github-0.2.3.tgz#f5d35b501021661bb91ee9bb0ac2ff7971317a63"
integrity sha512-Azzu058i8V5TXEk6UG5JUE5fSsp9fY+7BDbVaBmaqYiyeilyXguKz1iBRAVp4JJlH8Ko8WcQY9vxdNNc/R1VIA==
dependencies:
"@backstage/backend-common" "^0.20.1"
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.8.0"
"@backstage/plugin-scaffolder-node" "^0.2.10"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
"@octokit/webhooks" "^10.0.0"
libsodium-wrappers "^0.7.11"
octokit "^3.0.0"
octokit-plugin-create-pull-request "^3.10.0"
winston "^3.2.1"
yaml "^2.0.0"
"@backstage/plugin-scaffolder-backend-module-gitlab@^0.2.12", "@backstage/plugin-scaffolder-backend-module-gitlab@^0.2.16":
version "0.2.16"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend-module-gitlab/-/plugin-scaffolder-backend-module-gitlab-0.2.16.tgz#32f129c28dce0650042d3079910fb1bb0fa5c2a0"
integrity sha512-zkI0QMdG1JqT3dW6ObL3vXkxwmRIcKoV8cGpZFrPa7UWys1RIe53bk/+JL6HcrFRxNt5ZvmdpmEcRm+VmooXaA==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
"@gitbeaker/core" "^35.8.0"
"@gitbeaker/node" "^35.8.0"
"@gitbeaker/rest" "^39.25.0"
luxon "^3.0.0"
yaml "^2.0.0"
zod "^3.22.4"
"@backstage/plugin-scaffolder-backend@^1.19.1", "@backstage/plugin-scaffolder-backend@~1.20.0":
"@backstage/plugin-scaffolder-backend@^1.21.3":
version "1.21.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend/-/plugin-scaffolder-backend-1.21.3.tgz#fdb5eb91e700c8af07b11a96580b0e7145fa16e4"
integrity sha512-YnDeEDXebsDYHYNAPlxuPvovFGb4hEs1F4ObvDFV7sG7DbAdHoEBVZNZHa/QpgiD9KKzrmwRJXUTbEFKMnJ7NQ==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/backend-tasks" "^0.5.18"
"@backstage/catalog-client" "^1.6.0"
"@backstage/catalog-model" "^1.4.4"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-auth-node" "^0.4.8"
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model" "^0.1.10"
"@backstage/plugin-catalog-node" "^1.7.3"
"@backstage/plugin-permission-common" "^0.7.12"
"@backstage/plugin-permission-node" "^0.7.24"
"@backstage/plugin-scaffolder-backend-module-azure" "^0.1.5"
"@backstage/plugin-scaffolder-backend-module-bitbucket" "^0.2.3"
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud" "^0.1.3"
"@backstage/plugin-scaffolder-backend-module-bitbucket-server" "^0.1.3"
"@backstage/plugin-scaffolder-backend-module-gerrit" "^0.1.5"
"@backstage/plugin-scaffolder-backend-module-gitea" "^0.1.3"
"@backstage/plugin-scaffolder-backend-module-github" "^0.2.3"
"@backstage/plugin-scaffolder-backend-module-gitlab" "^0.2.16"
"@backstage/plugin-scaffolder-common" "^1.5.0"
"@backstage/plugin-scaffolder-node" "^0.3.3"
"@backstage/types" "^1.1.1"
"@types/express" "^4.17.6"
"@types/luxon" "^3.0.0"
express "^4.17.1"
express-promise-router "^4.1.0"
fs-extra "^11.2.0"
globby "^11.0.0"
isbinaryfile "^5.0.0"
isolated-vm "^4.5.0"
jsonschema "^1.2.6"
knex "^3.0.0"
lodash "^4.17.21"
luxon "^3.0.0"
nunjucks "^3.2.3"
p-limit "^3.1.0"
p-queue "^6.6.2"
prom-client "^15.0.0"
uuid "^8.2.0"
winston "^3.2.1"
yaml "^2.0.0"
zen-observable "^0.10.0"
zod "^3.22.4"
"@backstage/plugin-scaffolder-backend@~1.20.0":
version "1.20.0"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-backend/-/plugin-scaffolder-backend-1.20.0.tgz#016d41d2dce8d128d632e5c81f3e31195ac9abfe"
integrity sha512-LUhMgH58VNsUa/yBX0GOwwAkb9q0O6CA6p9PzCH5SeOnkJ6v6dMhkgzWgrfjsy0yktmSRb1d0PNdQFdGMzvszA==
@ -3442,16 +3661,16 @@
zen-observable "^0.10.0"
zod "^3.22.4"
"@backstage/plugin-scaffolder-common@^1.4.5":
version "1.4.5"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-common/-/plugin-scaffolder-common-1.4.5.tgz#4e578416ff3648d8cfad0acd5eb4ef8f6811d7d6"
integrity sha512-JSOpUpLxwvYpjqTRPjcFLxa7Z1ngAnwV5ijI06ASboB+dai9IPIGATW57CfvF2u5Vn+wxaXQ6Tc8Pr9gwCdp4A==
"@backstage/plugin-scaffolder-common@^1.4.5", "@backstage/plugin-scaffolder-common@^1.5.0":
version "1.5.0"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-common/-/plugin-scaffolder-common-1.5.0.tgz#c599271c685514de9fb2701062d5a0b3a29e8928"
integrity sha512-byj0crG5rlH5JsiJdywi2DdR7qGe+OptIxERRImTSHTto8fa7z+f+1qeFW0/2oXIo7KFvS9uQ3g5+LSVqz58ug==
dependencies:
"@backstage/catalog-model" "^1.4.3"
"@backstage/catalog-model" "^1.4.4"
"@backstage/plugin-permission-common" "^0.7.12"
"@backstage/types" "^1.1.1"
"@backstage/plugin-scaffolder-node@^0.2.10", "@backstage/plugin-scaffolder-node@^0.2.8", "@backstage/plugin-scaffolder-node@~0.2.9":
"@backstage/plugin-scaffolder-node@^0.2.10", "@backstage/plugin-scaffolder-node@~0.2.9":
version "0.2.10"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-node/-/plugin-scaffolder-node-0.2.10.tgz#ba0b97e4e8e86d48b991bc4233d64d3d9f389c5c"
integrity sha512-3/JQL5JKhRchd/N2gTLTSEnHFhkfCcbSUdZoQDSj4bTkTALl7vNeR6XpW4QqOuKhnaDGndrLORtUiNiCugjRCA==
@ -3471,6 +3690,26 @@
zod "^3.22.4"
zod-to-json-schema "^3.20.4"
"@backstage/plugin-scaffolder-node@^0.3.3":
version "0.3.3"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-node/-/plugin-scaffolder-node-0.3.3.tgz#debce42879e6e8bc0235a856d3dbdbedb0108296"
integrity sha512-+g6FDcog99AkVp1RQwF8XowjDSU/cjHSawVi9kIB8b34CUJNDSX2IISjmK55BUiSpoTrJy73h1fUp8CcMiCxiQ==
dependencies:
"@backstage/backend-common" "^0.21.3"
"@backstage/backend-plugin-api" "^0.6.13"
"@backstage/catalog-model" "^1.4.4"
"@backstage/errors" "^1.2.3"
"@backstage/integration" "^1.9.0"
"@backstage/plugin-scaffolder-common" "^1.5.0"
"@backstage/types" "^1.1.1"
fs-extra "^11.2.0"
globby "^11.0.0"
jsonschema "^1.2.6"
p-limit "^3.1.0"
winston "^3.2.1"
zod "^3.22.4"
zod-to-json-schema "^3.20.4"
"@backstage/plugin-scaffolder-react@^1.7.1":
version "1.7.1"
resolved "https://registry.npmmirror.com/@backstage/plugin-scaffolder-react/-/plugin-scaffolder-react-1.7.1.tgz#3731fa9f82dbcfd36610e2db6dfe9d856a7f8e9f"
@ -5274,7 +5513,7 @@
optionalDependencies:
openid-client "^5.3.0"
"@kubernetes/client-node@0.20.0", "@kubernetes/client-node@^0.20.0":
"@kubernetes/client-node@0.20.0", "@kubernetes/client-node@^0.20.0", "@kubernetes/client-node@~0.20.0":
version "0.20.0"
resolved "https://registry.npmmirror.com/@kubernetes/client-node/-/client-node-0.20.0.tgz#4447ae27fd6eef3d4830a5a039f3b84ffd5c5913"
integrity sha512-xxlv5GLX4FVR/dDKEsmi4SPeuB49aRc35stndyxcC73XnUEEwF39vXbROpHOirmDse8WE9vxOjABnSVS+jb7EA==
@ -6376,6 +6615,11 @@
resolved "https://registry.npmmirror.com/@opentelemetry/api/-/api-1.7.0.tgz#b139c81999c23e3c8d3c0a7234480e945920fc40"
integrity sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==
"@opentelemetry/api@^1.4.0":
version "1.8.0"
resolved "https://registry.npmmirror.com/@opentelemetry/api/-/api-1.8.0.tgz#5aa7abb48f23f693068ed2999ae627d2f7d902ec"
integrity sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==
"@parcel/watcher@2.0.4":
version "2.0.4"
resolved "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b"
@ -6856,24 +7100,24 @@
moment "^2.29.1"
react-use "^17.2.4"
"@roadiehq/scaffolder-backend-module-utils@^1.13.1":
version "1.13.1"
resolved "https://registry.npmmirror.com/@roadiehq/scaffolder-backend-module-utils/-/scaffolder-backend-module-utils-1.13.1.tgz#a4bfbc3a0ea4bbb98744958187713b020f0df951"
integrity sha512-fM3R4p8bI71ZgTGWi7uA3hxaG9VN+pZU3aUIa6cDawdOVcfyQrbi00QVd9nyrkIh011obAssQ8Wi4m5WVR3Jsg==
"@roadiehq/scaffolder-backend-module-utils@~1.13.1":
version "1.13.7"
resolved "https://registry.npmmirror.com/@roadiehq/scaffolder-backend-module-utils/-/scaffolder-backend-module-utils-1.13.7.tgz#53e0214316f42170612ad2a7fcc625da979ced67"
integrity sha512-IeKCOsVbISfdnbLxSOwS95APOPVjvjUVMiI0teMokxY081QGcF28oJoM5fNv2qQ2r50BiQoJnfoTfs9PMzpa2g==
dependencies:
"@backstage/backend-common" "^0.19.9"
"@backstage/backend-common" "^0.21.3"
"@backstage/config" "^1.1.1"
"@backstage/errors" "^1.2.3"
"@backstage/plugin-scaffolder-backend" "^1.19.1"
"@backstage/plugin-scaffolder-node" "^0.2.8"
"@backstage/plugin-scaffolder-backend" "^1.21.3"
"@backstage/plugin-scaffolder-node" "^0.3.3"
adm-zip "^0.5.9"
cross-fetch "^3.1.4"
detect-indent "^6.1.0"
fs-extra "^10.0.0"
js-yaml "^4.0.0"
jsonata "^1.8.6"
lodash "^4.17.21"
winston "^3.2.1"
yaml "^2.3.4"
"@rollup/plugin-commonjs@^25.0.0":
version "25.0.7"
@ -8721,6 +8965,14 @@
"@types/qs" "*"
"@types/serve-static" "*"
"@types/fs-extra@^11.0.4":
version "11.0.4"
resolved "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45"
integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==
dependencies:
"@types/jsonfile" "*"
"@types/node" "*"
"@types/graceful-fs@^4.1.3":
version "4.1.9"
resolved "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4"
@ -8835,6 +9087,13 @@
resolved "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
"@types/jsonfile@*":
version "6.1.4"
resolved "https://registry.npmmirror.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702"
integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==
dependencies:
"@types/node" "*"
"@types/jsonwebtoken@^9.0.0":
version "9.0.5"
resolved "https://registry.npmmirror.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588"
@ -11833,6 +12092,14 @@ cron@^2.0.0:
"@types/luxon" "~3.3.0"
luxon "~3.3.0"
cron@^3.0.0:
version "3.1.6"
resolved "https://registry.npmmirror.com/cron/-/cron-3.1.6.tgz#e7e1798a468e017c8d31459ecd7c2d088f97346c"
integrity sha512-cvFiQCeVzsA+QPM6fhjBtlKGij7tLLISnTSvFxVdnFGLdz+ZdXN37kNe0i2gefmdD17XuZA6n2uPVwzl4FxW/w==
dependencies:
"@types/luxon" "~3.3.0"
luxon "~3.4.0"
cronstrue@^2.2.0, cronstrue@^2.32.0:
version "2.47.0"
resolved "https://registry.npmmirror.com/cronstrue/-/cronstrue-2.47.0.tgz#3cf447c2a3a070d5bad2cedd6383e7cc16f5a308"
@ -12528,6 +12795,16 @@ docker-modem@^3.0.0:
split-ca "^1.0.1"
ssh2 "^1.11.0"
docker-modem@^5.0.3:
version "5.0.3"
resolved "https://registry.npmmirror.com/docker-modem/-/docker-modem-5.0.3.tgz#50c06f11285289f58112b5c4c4d89824541c41d0"
integrity sha512-89zhop5YVhcPEt5FpUFGr3cDyceGhq/F9J+ZndQ4KfqNvfbJpPMfgeixFgUj5OjCYAboElqODxY5Z1EBsSa6sg==
dependencies:
debug "^4.1.1"
readable-stream "^3.5.0"
split-ca "^1.0.1"
ssh2 "^1.15.0"
dockerode@^3.3.1:
version "3.3.5"
resolved "https://registry.npmmirror.com/dockerode/-/dockerode-3.3.5.tgz#7ae3f40f2bec53ae5e9a741ce655fff459745629"
@ -12537,6 +12814,15 @@ dockerode@^3.3.1:
docker-modem "^3.0.0"
tar-fs "~2.0.1"
dockerode@^4.0.0:
version "4.0.2"
resolved "https://registry.npmmirror.com/dockerode/-/dockerode-4.0.2.tgz#dedc8529a1db3ac46d186f5912389899bc309f7d"
integrity sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w==
dependencies:
"@balena/dockerignore" "^1.0.2"
docker-modem "^5.0.3"
tar-fs "~2.0.1"
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
@ -14034,7 +14320,7 @@ fs-extra@10.1.0, fs-extra@^10.0.0, fs-extra@^10.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@^11.1.0, fs-extra@^11.1.1:
fs-extra@^11.1.0, fs-extra@^11.1.1, fs-extra@^11.2.0, fs-extra@~11.2.0:
version "11.2.0"
resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
@ -14321,6 +14607,13 @@ git-url-parse@^13.0.0:
dependencies:
git-up "^7.0.0"
git-url-parse@^14.0.0:
version "14.0.0"
resolved "https://registry.npmmirror.com/git-url-parse/-/git-url-parse-14.0.0.tgz#18ce834726d5fbca0c25a4555101aa277017418f"
integrity sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==
dependencies:
git-up "^7.0.0"
gitconfiglocal@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
@ -17319,7 +17612,7 @@ lunr@^2.3.9:
resolved "https://registry.npmmirror.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
luxon@^3.0.0, luxon@^3.4.3:
luxon@^3.0.0, luxon@^3.4.3, luxon@~3.4.0:
version "3.4.4"
resolved "https://registry.npmmirror.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af"
integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==
@ -20225,6 +20518,14 @@ prom-client@^14.0.1:
dependencies:
tdigest "^0.1.1"
prom-client@^15.0.0:
version "15.1.0"
resolved "https://registry.npmmirror.com/prom-client/-/prom-client-15.1.0.tgz#816a4a2128da169d0471093baeccc6d2f17a4613"
integrity sha512-cCD7jLTqyPdjEPBo/Xk4Iu8jxjuZgZJ3e/oET3L+ZwOuap/7Cw3dH/TJSsZKs1TQLZ2IHpIlRAKw82ef06kmMw==
dependencies:
"@opentelemetry/api" "^1.4.0"
tdigest "^0.1.1"
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@ -22116,7 +22417,7 @@ sqlstring@^2.3.2:
resolved "https://registry.npmmirror.com/sqlstring/-/sqlstring-2.3.3.tgz#2ddc21f03bce2c387ed60680e739922c65751d0c"
integrity sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==
ssh2@^1.11.0:
ssh2@^1.11.0, ssh2@^1.15.0:
version "1.15.0"
resolved "https://registry.npmmirror.com/ssh2/-/ssh2-1.15.0.tgz#2f998455036a7f89e0df5847efb5421748d9871b"
integrity sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==
@ -23326,6 +23627,20 @@ typescript-json-schema@^0.62.0:
typescript "~5.1.0"
yargs "^17.1.1"
typescript-json-schema@^0.63.0:
version "0.63.0"
resolved "https://registry.npmmirror.com/typescript-json-schema/-/typescript-json-schema-0.63.0.tgz#55ef6c4dde71625425b169d37e0de3d2ea14e093"
integrity sha512-vBfMBq4U/rZ5FIRi7u4o/YAdeRHsSabdGHogUlCPi0cYU0CGvS4Bdu8bSzyUsF+Kf5PTQUGh2TictJuQTDK6eQ==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/node" "^16.9.2"
glob "^7.1.7"
path-equal "^1.2.5"
safe-stable-stringify "^2.2.0"
ts-node "^10.9.1"
typescript "~5.1.0"
yargs "^17.1.1"
"typescript@>=3 < 6":
version "5.3.3"
resolved "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37"
@ -24419,6 +24734,11 @@ yaml@^2.0.0, yaml@^2.2.1, yaml@^2.2.2:
resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
yaml@^2.3.4:
version "2.4.1"
resolved "https://registry.npmmirror.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed"
integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==
yargs-parser@20.2.4:
version "20.2.4"
resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"