{"_id":"@adamlonsdale/backstage-plugin-armorcode-backend","_rev":"1-b97131fb93ee2bc469e5cdf0df421dee","name":"@adamlonsdale/backstage-plugin-armorcode-backend","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1-alpha":{"name":"@adamlonsdale/backstage-plugin-armorcode-backend","version":"0.0.1-alpha","main":"dist/index.cjs.js","types":"dist/index.d.ts","license":"Apache-2.0","homepage":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend","bugs":{"url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend/issues"},"keywords":["Armorcode","Vulnerability","Backstage"],"repository":{"type":"git","url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend.git"},"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"dependencies":{"@backstage/backend-common":"^0.16.0","@backstage/config":"^1.0.4","@types/express":"^4.17.13","express":"^4.18.1","express-promise-router":"^4.1.0","node-fetch":"^2.6.7","winston":"^3.2.1","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.21.1","@types/node-fetch":"^2.6.2","@types/supertest":"^2.0.12","msw":"^0.47.0","openapi-typescript-codegen":"^0.23.0","supertest":"^6.2.4"},"description":"Welcome to the backstage-plugin-armorcode-backend backend plugin!","_id":"@adamlonsdale/backstage-plugin-armorcode-backend@0.0.1-alpha","dist":{"shasum":"ba4d7904c0a0247dcf1e097c247f65d75ddc0278","integrity":"sha512-L81Yq7fy/iVoSxWkyNFeDt0QMz1YeLu0knEaaHOjFgujfBJ20XzLD7WU9Ftx4WbwGduE1CwW41/an/y61ox8nQ==","tarball":"https://registry.npmjs.org/@adamlonsdale/backstage-plugin-armorcode-backend/-/backstage-plugin-armorcode-backend-0.0.1-alpha.tgz","fileCount":7,"unpackedSize":192853,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlWCxAHLRSHq84MuT513d3mzIJfmeYgxB/9Ff+D4Dm+AIgGcgkWau3od+9jo6L6EP+nMsZX+u7J8EL6Cdlw5O0zXQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFiytACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMxBAAkRicYA0O+EaZ0LaC+B/m7YZBHYtdBBC8B37CjK4Ae2ujE/1z\r\ngDvPUhbYeWHXFSk77W1EF8HcSsN8ctslRJSB40jPgIdUJcYSvZoHJIzUT7zu\r\njdrfobPdOzXVmjg6USFc7jWIYBGpKufE9zcscjKSacLZ7VgZ0Xoqj3EmC8pg\r\nWkAMEg1u2ROn320PnwRj4YRzHKgPR3Gbf+oCOY5EI8zEocBPFz9aKAW7Gfdh\r\nISk10IagNk/qqb66mmG8XNX834mJpoTV8SCWijI2LTnnvVQ9+fqjVzExEsm2\r\nTAZ96zBdbOGxVl2RCOwV1mjz360vpf5699sSAgXza2HkLvf0P7BWzJ+1jOph\r\nhHT/Y16ZvjrtTsUygW4s7GFvLIbWp7Tk6tUKq4ZPpU+l2ylFkqYXoQbR0/lz\r\nB5mfAeHXijHvPdgaTQ9tWSG9b/h39emYtnRTda6AOHmZ1z4GOs4aVa2VQDhi\r\n79MH7haWqqe6eahg+SBtZ0dBf6/Cf5V6hkifbJA3qjEpCF+lQcfSD6vJdq6d\r\nveH8gYBbos90t/iYOxth/BT83zsgU+cE2VrQsN7vvUFQpNX/U//s1MSyBsi1\r\nF3yqOQ8wzJULAYySNGYEKF25f9PgtZfwpeWnOflSg6pRZvx95znjvuk2o/wa\r\niLZhNqdc3O5sho5NLB0xqAoARg+hbd1koRw=\r\n=8byP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"adamlonsdale","email":"adamlonsdale@me.com"},"directories":{},"maintainers":[{"name":"adamlonsdale","email":"adamlonsdale@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-armorcode-backend_0.0.1-alpha_1679174829459_0.17721399841653174"},"_hasShrinkwrap":false},"0.0.4":{"name":"@adamlonsdale/backstage-plugin-armorcode-backend","version":"0.0.4","main":"dist/index.cjs.js","types":"dist/index.d.ts","license":"Apache-2.0","homepage":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend","bugs":{"url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend/issues"},"keywords":["Armorcode","Vulnerability","Backstage"],"repository":{"type":"git","url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend.git"},"publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"dependencies":{"@backstage/backend-common":"^0.16.0","@backstage/config":"^1.0.4","@types/express":"^4.17.13","express":"^4.18.1","express-promise-router":"^4.1.0","node-fetch":"^2.6.7","winston":"^3.2.1","yn":"^4.0.0"},"devDependencies":{"@backstage/cli":"^0.21.1","@types/node-fetch":"^2.6.2","@types/supertest":"^2.0.12","msw":"^0.47.0","openapi-typescript-codegen":"^0.23.0","supertest":"^6.2.4"},"description":"Welcome to the backstage-plugin-armorcode-backend backend plugin!","_id":"@adamlonsdale/backstage-plugin-armorcode-backend@0.0.4","dist":{"shasum":"32e7860aa07e56729e0beb61cd73f3157e5ab551","integrity":"sha512-D/HPpcV13S/TGrTy5FLAwPkfdNFNv8kvhP0z8ZaiRxyASsGtZXDKrSwbTkcej5d/dkNm/qulhpY89bKdRIwW8g==","tarball":"https://registry.npmjs.org/@adamlonsdale/backstage-plugin-armorcode-backend/-/backstage-plugin-armorcode-backend-0.0.4.tgz","fileCount":7,"unpackedSize":232929,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUDlbZEHZaiLzBk4xZRjS/NxaWgkXejoa/r9EWmv0CZwIgSmW0NezLOR4MEjenQJez7A26/Xl6my4RhNH4Xox2PDk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRHWBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/DRAAgWF3cFNEc2xEJ8HpV9gAK69TdyDE2MDO762hlbKYTPkF7R2k\r\noanFPyiqobUsipi6Yq3bKq82K0GOfXmL9O6nzjU/okSHYFL9xpO+OwhUujY3\r\nAGhHd9vtHQh4LOz0jfTxgrlHCSwsLm8lcAtXlNevgpYUQhTjMfnHtule3VIo\r\nN8pESJy7JH+LUsl7b5x5GhLptUvcgBdrrgxkh1mByHu2T3b0RNqbJwdeReT5\r\nnLeDob8xx9XmkUgmvSmJzG3MXsKy7lYp/eWJWQd/AkLdqoiYFcgTA8X7kon+\r\n28lNTQBPULpfM1rNh2ppugxjuGD6xSmL7UPoHXQIsur6Ng5ULoODH09w8TLg\r\nskbBbIm5nHh4dWcxHSZ+9T+rYkRGetSClTZWE0W2zi1g69U2E2J8oZ+9UVp+\r\nBuKrl8Tme9gJd7hNGTi/6wPOcL6z9KhLx966EQiZf6btZRJjXVJavXe1jECT\r\naqMOALfzzVguYyYm3qhoIeEAxf8qaX4IuDMgJXR/5kR7bGUjDfIsAY/yTz7r\r\nDSPRwfQu29fOF1dHI4qxTSmc9f+dm1a5xYsK/Us4lC1JsMetCNyGPSg5lZDX\r\nVYoeXUT95/fVlVk51fTcMZKSU26Ngvm16L76U6p9Y0wl+6I39i77xlMYr9oz\r\nuMM3lnOIX17PdTwurdMwnLcv9Qp5EYr3/eI=\r\n=ILhI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"adamlonsdale","email":"adamlonsdale@me.com"},"directories":{},"maintainers":[{"name":"adamlonsdale","email":"adamlonsdale@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-armorcode-backend_0.0.4_1682208128986_0.7148481260104655"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-18T21:27:09.367Z","0.0.1-alpha":"2023-03-18T21:27:09.639Z","modified":"2023-04-23T00:02:09.293Z","0.0.4":"2023-04-23T00:02:09.174Z"},"maintainers":[{"name":"adamlonsdale","email":"adamlonsdale@me.com"}],"description":"Welcome to the backstage-plugin-armorcode-backend backend plugin!","homepage":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend","keywords":["Armorcode","Vulnerability","Backstage"],"repository":{"type":"git","url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend.git"},"bugs":{"url":"https://github.com/adamlonsdale/backstage-plugin-armorcode-backend/issues"},"license":"Apache-2.0","readme":"# backstage-plugin-armorcode-backend\n\nWelcome to the backstage-plugin-armorcode-backend backend plugin!\n\n\n## Getting started\n\n## Installation\nThis plugin needs to be added to an existing backstage instance.\n\n```bash\n# From your Backstage root directory\nyarn add --cwd packages/backend @adamlonsdale/backstage-plugin-armorcode-backend\n```\n\nCreate a file called armorcode.ts inside `packages/backend/src/plugins/` and add the following:\n\n### armorcode.ts\n```typescript\nimport { createRouter } from '@adamlonsdale/backstage-plugin-armorcode-backend';\nimport { Router } from 'express';\nimport { PluginEnvironment } from '../types';\n\nexport default async function createPlugin(\n  env: PluginEnvironment,\n): Promise<Router> {  \n  return await createRouter({\n    logger: env.logger,\n    config: env.config,\n  });\n}\n```\n\nAnd import the plugin to `packages/backend/src/index.ts`.\n### src/index.ts\n```diff\ndiff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts\nindex c4736a5..5822302 100644\n--- a/packages/backend/src/index.ts\n+++ b/packages/backend/src/index.ts\n@@ -28,6 +28,7 @@ import scaffolder from './plugins/scaffolder';\n import proxy from './plugins/proxy';\n import techdocs from './plugins/techdocs';\n import search from './plugins/search';\n+import armorcode from './plugins/armorcode';\n import { PluginEnvironment } from './types';\n import { ServerPermissionClient } from '@backstage/plugin-permission-node';\n import { DefaultIdentityClient } from '@backstage/plugin-auth-node';\n@@ -85,6 +86,7 @@ async function main() {\n   const techdocsEnv = useHotMemoize(module, () => createEnv('techdocs'));\n   const searchEnv = useHotMemoize(module, () => createEnv('search'));\n   const appEnv = useHotMemoize(module, () => createEnv('app'));\n+  const armorocdeEnv = useHotMemoize(module, () => createEnv('armorocde'));\n\n   const apiRouter = Router();\n   apiRouter.use('/catalog', await catalog(catalogEnv));\n@@ -93,6 +95,7 @@ async function main() {\n   apiRouter.use('/techdocs', await techdocs(techdocsEnv));\n   apiRouter.use('/proxy', await proxy(proxyEnv));\n   apiRouter.use('/search', await search(searchEnv));\n+  apiRouter.use('/armorcode', await armorcode(armorcodeEnv));\n\n   // Add backends ABOVE this line; this 404 handler is the catch-all fallback\n   apiRouter.use(notFoundHandler());\n\n```\n\n## Configuration\n\nAdd the following into your `app-config.yaml`\n### Config\n```yaml\narmorcode:\n  host: https://app.armorocde.com\n  token: YOUR_API_TOKEN\n```\n\nAdd the following into your catalog\n### Catalog\n```yaml\napiVersion: backstage.io/v1alpha1\nkind: Component\nmetadata:\n  name: backstage\n  annotations:\n    armorcode/project: YOUR_PROJECT_NAME/YOUR_PROJECT_VERSION\n```","readmeFilename":"README.md"}