@backstage-community/plugin-puppetdb
Version:
Backstage plugin to visualize resource information and Puppet facts from PuppetDB.
64 lines (42 loc) • 2.38 kB
Markdown
# PuppetDB Plugin
A frontend plugin to integrate PuppetDB with Backstage. When combined with the
[catalog-backend-module-puppetdb](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) plugin, this
frontend plugin allows viewing PuppetDB reports, including their logs and events, of Backstage resource entities.
## Getting started
### Prerequisites
To get started, you need a running instance of PuppetDB. You can find instructions on how to install it
[here](https://www.puppet.com/docs/puppetdb/7/install_via_module.html).
The PuppetDB [should be configured](https://www.puppet.com/docs/puppetdb/7/configure.html#host) to allow being accessed from your Backstage instance.
In addition, your Backstage instance need to either have
[catalog-backend-module-puppetdb](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) plugin installed
or you need to ensure your Resource entities have `puppet.com/certname` annotation set to the PuppetDB node name in some other way.
### Installation
1. Install the plugin with `yarn` in the root of your Backstage application directory:
```bash
yarn --cwd packages/app add @backstage-community/plugin-puppetdb
```
1. Import and use the plugin in `packages/app/src/App.tsx`:
```tsx
import { PuppetDbPage } from '@backstage-community/plugin-puppetdb';
const routes = (
<FlatRoutes>
{/* ...other routes */}
<Route path="/puppetdb" element={<PuppetDbPage />} />
</FlatRoutes>
);
```
### Configuration
1. Configure `puppetdb` proxy. As this plugin uses the Backstage proxy to securely communicate with PuppetDB API,
add the following to your `app-config.yaml` to enable this configuration:
```yaml
proxy:
'/puppetdb':
target: https://your.puppetdb.instance.com
```
## Screenshots
#### Main page with the reports list:

#### Events for the specific report:

#### Logs of the specific report:
