๐ Assets Plugin for Backstage
February 8, 2025 ยท View on GitHub
An asset/inventory plugin that allows you to save physical items and their locations.
Status: ๐งช early stage
Current status
Currently it supports different items and locations (without any kind of validation yet!). There is no custom UI yet.
Personal belongings (example)
apiVersion: assets.backstage.io/v1alpha1
kind: Building
metadata:
name: home
---
apiVersion: assets.backstage.io/v1alpha1
kind: Room
metadata:
name: kitchen
spec:
parent: building:home
---
apiVersion: assets.backstage.io/v1alpha1
kind: Item
metadata:
name: coffee-machine
spec:
location: room:kitchen
Default catalog types and kinds:
- Item kinds:
ItemandContainer - Location kinds:
Shelf,Room,Floor,Building,Campus
Data center (example)
apiVersion: assets.backstage.io/v1alpha1
kind: Building
metadata:
name: west-1
---
apiVersion: assets.backstage.io/v1alpha1
kind: Rack
metadata:
name: r-32-231
spec:
location: building:west-1
---
apiVersion: assets.backstage.io/v1alpha1
kind: Server
metadata:
name: svr-4711
spec:
location: rack:r-32-231
mac: x2:xx:xx:xx:xx:xx
---
apiVersion: assets.backstage.io/v1alpha1
kind: Harddrive
metadata:
name: hd-1234-0000
spec:
location: server:svr-4711
installed: '2024-10-10'
- Item kinds:
Rack,Server,Harddrive - Location kinds:
Building
Expect additional, custom catalog plugins could show information based on these data.
Contributions
This plugin looks for any kind of feedback, input and contributions. Feel free to open an issue or pull request.
Roadmap
- Catalog module to enable asset types.
- Repository tooling (run tests, release plugins and modules)
- Custom UI, backend and DB schema to create and edit items.
- Support for pictures (save them in the local FS, DB, S3?)
- Mark items as rented by an user
- Permissions framework
- Audit logs
Architecture goal
-
Reuse the catalog
This will allow users to start using the assets 'the Backstage GitOps' way.
Similar to the catalog, and other catalog-driven plugins, users can import items and locations from YAML files (see current status below).
Other plugins (incl. the own assets backend, see 3) have then the opportuniy to add, link or extend this items and locations.
-
Frontend
The catalog UI is a great start to use the assets.
But this plugin will have a UI with a focus on seeing items together with pictures, creating and editing items and locations.
-
Backend
The catalog itself will not allow users to store data, upload pictures, add notes.
For all this a custom backend will be required.