diff --git a/packages/backend/package.json b/packages/backend/package.json index 749ac8e..fbe0218 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -48,7 +48,7 @@ "@backstage/plugin-techdocs-backend": "^1.11.6", "@backstage/types": "^1.2.1", "@kubernetes/client-node": "~0.20.0", - "@roadiehq/backstage-plugin-argo-cd-backend": "3.0.2", + "@roadiehq/backstage-plugin-argo-cd-backend": "3.1.0", "@roadiehq/scaffolder-backend-module-http-request": "^4.3.5", "@roadiehq/scaffolder-backend-module-utils": "^1.17.0", "app": "link:../app", diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 80b77fc..e158066 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -1,12 +1,6 @@ - -//import { legacyPlugin } from '@backstage/backend-common'; - import { createBackend } from '@backstage/backend-defaults'; - -import { authModuleKeycloakOIDCProvider } from './plugins/auth'; import { cnoeScaffolderActions } from './plugins/scaffolder'; - const backend = createBackend(); // core plugins @@ -14,32 +8,35 @@ backend.add(import('@backstage/plugin-app-backend')); backend.add(import('@backstage/plugin-catalog-backend')); backend.add(import('@backstage/plugin-proxy-backend')); backend.add(import('@backstage/plugin-techdocs-backend/alpha')); + // auth plugins backend.add(import('@backstage/plugin-auth-backend')); backend.add(import('@backstage/plugin-auth-backend-module-guest-provider')); + // scaffolder plugins backend.add(import('@backstage/plugin-scaffolder-backend/alpha')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); backend.add(import('@backstage/plugin-scaffolder-backend-module-github')); + // search plugins backend.add(import('@backstage/plugin-search-backend/alpha')); backend.add(import('@backstage/plugin-search-backend-module-catalog')); backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha')); -// other @backstage plugins +// other @backstage plugins backend.add(import('@backstage/plugin-kubernetes-backend')); -// non-core plugins + // roadie plugins //backend.add(import('@roadiehq/scaffolder-backend-module-utils/new-backend')); //TODO: incompatible? why?? -//backend.add(legacyPlugin('argocd', import('./plugins/argocd'))); //TODO: createRouter has no call signatures +backend.add(import('./plugins/argocd_index')); + backend.add( import('@roadiehq/scaffolder-backend-module-http-request/new-backend'), ); // cnoe plugins -backend.add(authModuleKeycloakOIDCProvider); backend.add(cnoeScaffolderActions); backend.start(); diff --git a/packages/backend/src/plugins/argocd.ts b/packages/backend/src/plugins/argocd.ts index 5ef83fc..3a96f32 100644 --- a/packages/backend/src/plugins/argocd.ts +++ b/packages/backend/src/plugins/argocd.ts @@ -2,13 +2,11 @@ import { Config } from '@backstage/config'; import { createTemplateAction } from '@backstage/plugin-scaffolder-node'; import { examples } from './gitea-actions'; import { Logger } from 'winston'; - import { ArgoService } from '@roadiehq/backstage-plugin-argo-cd-backend'; - -//import { createRouter } from '@roadiehq/backstage-plugin-argo-cd-backend'; //TODO: createRouter has no call signatures -//import createRouter from '@roadiehq/backstage-plugin-argo-cd-backend'; +import { createRouter } from '@roadiehq/backstage-plugin-argo-cd-backend'; //import { PluginEnvironment } from '../types'; + /*export default async function createPlugin({ logger, config, @@ -16,6 +14,44 @@ import { ArgoService } from '@roadiehq/backstage-plugin-argo-cd-backend'; return await createRouter({ logger, config }); }*/ +import { loggerToWinstonLogger } from '@backstage/backend-common'; + +import { + coreServices, + createBackendPlugin, +} from '@backstage/backend-plugin-api'; + +export const argocdPlugin = createBackendPlugin({ + pluginId: 'argocd', + register(env) { + env.registerInit({ + deps: { + logger: coreServices.logger, + config: coreServices.rootConfig, + reader: coreServices.urlReader, + discovery: coreServices.discovery, + auth: coreServices.auth, + //tokenManager: coreServices.tokenManager, + httpRouter: coreServices.httpRouter, + }, + async init({ + logger, + config, + httpRouter, + }) { + httpRouter.use( + await createRouter({ + logger: loggerToWinstonLogger(logger), + config, + }), + ); + }, + }); + }, +}); + + + export function createArgoCDApp(options: { config: Config; logger: Logger }) { const { config, logger } = options; diff --git a/yarn.lock b/yarn.lock index 9e59cf6..d59aee8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4012,7 +4012,7 @@ __metadata: languageName: node linkType: hard -"@backstage/catalog-client@npm:^1.6.4, @backstage/catalog-client@npm:^1.6.5": +"@backstage/catalog-client@npm:^1.6.5": version: 1.6.5 resolution: "@backstage/catalog-client@npm:1.6.5" dependencies: @@ -4024,7 +4024,7 @@ __metadata: languageName: node linkType: hard -"@backstage/catalog-client@npm:^1.9.1": +"@backstage/catalog-client@npm:^1.6.6, @backstage/catalog-client@npm:^1.9.1": version: 1.9.1 resolution: "@backstage/catalog-client@npm:1.9.1" dependencies: @@ -11866,12 +11866,13 @@ __metadata: languageName: node linkType: hard -"@roadiehq/backstage-plugin-argo-cd-backend@npm:3.0.2": - version: 3.0.2 - resolution: "@roadiehq/backstage-plugin-argo-cd-backend@npm:3.0.2" +"@roadiehq/backstage-plugin-argo-cd-backend@npm:3.1.0": + version: 3.1.0 + resolution: "@roadiehq/backstage-plugin-argo-cd-backend@npm:3.1.0" dependencies: - "@backstage/backend-common": "npm:^0.21.7" - "@backstage/catalog-client": "npm:^1.6.4" + "@backstage/backend-common": "npm:^0.24.0" + "@backstage/backend-plugin-api": "npm:^0.8.0" + "@backstage/catalog-client": "npm:^1.6.6" "@backstage/config": "npm:^1.2.0" "@types/express": "npm:^4.17.6" cross-fetch: "npm:^3.1.4" @@ -11879,7 +11880,7 @@ __metadata: express-promise-router: "npm:^4.1.0" winston: "npm:^3.2.1" yn: "npm:^4.0.0" - checksum: 10c0/b6131e0108a1a644e20fdc25e6b963a606f92ddff5c7742370661da032c8d323f1c1deac231dec16fe6bca7a4a6dfe3b2866c479277ee5a8cee08fcf70b1a5bd + checksum: 10c0/0401893607947152f4663b658d79645e1fc2f6db7c806d9b2f512b034b78b98153bb4998aa09eabf995cf4605f3fd689321e43ea286a80270c201d3c84c0cf8c languageName: node linkType: hard @@ -17460,7 +17461,7 @@ __metadata: "@backstage/plugin-techdocs-backend": "npm:^1.11.6" "@backstage/types": "npm:^1.2.1" "@kubernetes/client-node": "npm:~0.20.0" - "@roadiehq/backstage-plugin-argo-cd-backend": "npm:3.0.2" + "@roadiehq/backstage-plugin-argo-cd-backend": "npm:3.1.0" "@roadiehq/scaffolder-backend-module-http-request": "npm:^4.3.5" "@roadiehq/scaffolder-backend-module-utils": "npm:^1.17.0" "@types/dockerode": "npm:^3.3.0"