It is a simple plugin that makes API requests to Digital.ai Deploy
The backend plugin needs to be added to your application. To do so:
yarn --cwd packages/backend add @digital-ai/plugin-dai-deploy-backend
// packages/backend/src/plugins/dai-deploy.ts
import { createRouter } from '@digital-ai/plugin-dai-deploy-backend';
import { Router } from 'express';
import type { PluginEnvironment } from '../types';
export default function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return createRouter({
logger: env.logger,
config: env.config,
permissions: env.permissions
});
}
// packages/backend/src/index.ts
import daiDeploy from './plugins/dai-deploy';
// ...
async function main() {
// ...
// Add this line under the other lines that follow the useHotMemoize pattern
const daiDeployEnv = useHotMemoize(module, () => createEnv('dai-deploy'));
// ...
// Insert this line under the other lines that add their routers to apiRouter in the same way
apiRouter.use('/dai-deploy', await daiDeploy(daiDeployEnv));
daiDeploy:
host: <<deploy-instance-url>> #http://deploy-hostname:4516
username: ${username}
password: ${password}
Note: username and password must be set as environment variables.
6. Finally open http://localhost:7007/api/dai-deploy/health in a browser and returns {"status":"ok"}.
For more information, see Overview and Adding Deploy to Your Backstage IDP
The Dai Deploy backend plugin has support for the new backend system, here's how you can set that up:
In your packages/backend/src/index.ts
make the following changes:
import { createBackend } from '@backstage/backend-defaults';
const backend = createBackend();
// ... other feature additions
+ backend.add(import('@digital-ai/plugin-dai-deploy-backend'));
backend.start();