You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I like to build an inventory plugin that saves items in the software catalog.
It should be possible to use it for 'personal' belongings and be scalable for corporates. Scalable in the way that it supports different optional levels of abstracts and types of locations.
To be 💯% clear: I'm realistic that it will not replace an inventory solution where companies track all their hardware.
I share this here to get initial feedback and maybe people that want contribute from the beginning.
Inventory model
It should have primary two kinds of objects:
Items
Items like a caffee machine, a notebook, etc. The resource should have attributes to save an assignee and/or a location where the item 'should be'. A note, a picture, multiple IDs or serial numbers and when and where it was last seen.
Containers that can contains multiple items and have their own location, for example in a garage or shelf.
Locations
Shelf
Rooms
Floors
Buildings
Campus
You might want to save also movable items like cars, trucks, bikes with their location. But I like to define that out of scope until someone wants help with that. 😏
Initial idea of the catalog types
API Version
Is inventory.backstage.io/v1alpha1 fine?
inventory.community-plugins.backstage.io/v1alpha1 looks too long to me.
Mostly a name and title from the entity and a uni-directional link to a parent location.
Example:
apiVersion: inventory.backstage.io/v1alpha1kind: Locationmetadata:
name: homespec:
type: building
---
apiVersion: inventory.backstage.io/v1alpha1kind: Locationmetadata:
name: kitchenspec:
type: roomparent: home
I noticed already an issue with kind: Location. That would be displayed in the catalog together with backstage.io/Locations which looks be confusing.
Alternative:
apiVersion: inventory.backstage.io/v1alpha1kind: Buildingmetadata:
name: home
---
apiVersion: inventory.backstage.io/v1alpha1kind: Roommetadata:
name: kitchenspec:
parent: building:home # I see this as a pro and con
Relations
Unsure if items could be saved in other items.
Items could be saved in locations.
Locations could be in other locations.
Personal belonging example:
graph LR;
CM[Coffee machine]-->Kitchen-->Home;
ItemA[Personal belonging A]-->ContainerA[Container top left in the first shelf]-->Garage;
ItemB[Personal belonging B]-->ContainerA[Container top left in the first shelf];
ItemC[Personal belonging C]-->ContainerB[Container top right in the first shelf]-->Garage;
ItemD[Personal belonging D]-->ContainerB[Container top right in the first shelf];
Loading
Corporate example:
graph LR;
Keyboard-->Room312[Room 312]-->Floor3[Floor 3]-->Building-->Campus;
Monitor[Monitor with SN ...]-->Room312[Room 312];
PC[PC with SN ...]-->Room312[Room 312];
Loading
🌐 Project website (if applicable)
No response
✌️ Context
No response
👀 Have you spent some time to check if this plugin request has been raised before?
Thanks. Could you share a bit more about who you see using this plugin?
A bit of joking and a bit of truth: You never know at the beginning. I just thought about using Backstage personally for it and thought it's worth doinging it community-driven from the start and OpenSource by default. ;)
I feel like this is a great example of how the catalog can be versatile, however I also think it should exist outside of community-plugins as a starting point to validate its value.
🔖 Summary
I like to build an inventory plugin that saves items in the
softwarecatalog.It should be possible to use it for 'personal' belongings and be scalable for corporates. Scalable in the way that it supports different optional levels of abstracts and types of locations.
To be 💯% clear: I'm realistic that it will not replace an inventory solution where companies track all their hardware.
I share this here to get initial feedback and maybe people that want contribute from the beginning.
Inventory model
It should have primary two kinds of objects:
Items
Locations
You might want to save also movable items like cars, trucks, bikes with their location. But I like to define that out of scope until someone wants help with that. 😏
Initial idea of the catalog types
API Version
Is
inventory.backstage.io/v1alpha1
fine?inventory.community-plugins.backstage.io/v1alpha1
looks too long to me.Item
Will use metadata name, title as defined in https://backstage.io/docs/features/software-catalog/descriptor-format
Spec:
Example:
Location
Mostly a name and title from the entity and a uni-directional link to a parent location.
Example:
I noticed already an issue with
kind: Location
. That would be displayed in the catalog together with backstage.io/Locations which looks be confusing.Alternative:
Relations
Personal belonging example:
Corporate example:
🌐 Project website (if applicable)
No response
✌️ Context
No response
👀 Have you spent some time to check if this plugin request has been raised before?
✍️ Are you willing to maintain the plugin?
🏢 Have you read the Code of Conduct?
Are you willing to submit PR?
Yes I am willing to submit a PR!
The text was updated successfully, but these errors were encountered: