RBAC, the new Backend, Scaling, Notifications and new Catalog customisation options
By Sam Nixon • October 31st, 2024The latest features and updates from Roadie.
🚨👮 RBAC with Fine-Grained Control
Earlier this year we launched our Role-based Access Control (RBAC) feature to help our customers have greater control over who does what within Roadie.
That started off at a fairly coarse-grain, with the ability to restrict basic CRUD actions within the application to a subset of users.
The ultimate goal was always to have much tighter and more specific controls than that though, so we built a new layer for our RBAC controls.
Now, with our RBAC plugin you can:
- Create and surface custom permissions for your Custom Plugins
- Create custom permissions policies to group those permissions together, either using our built-in permissions or Custom Plugin permissions you’ve created
- Attach ALLOW or DENY options to those permissions policies so that you can more flexibily articulate the policy you’d like to create
- Target annotations and other entity metadata to attach permissions
That means you’ll be able to:
- Target specific catalog items
- Block scaffolder templates that you only want certain users to be able to see or run
🏛️ New Backstage Backend (and we’re now on v1.30)
We’ve made the jump to the new Backend now that it’s officially stable. It wasn’t a trivial thing though, and there are a few potholes that we hit along the way. To help others making the transition we even wrote a blog about it.
We also took the opportunity to upgrade to v1.30 of the core project, so that’s fun.
🎨 Notifications have come to Roadie
A set of Notifications plugins landed with Backstage v1.28 and they’ve recently been integrated into Roadie. There’s still some way to go for Notifications to mature in the OSS project (for example, individual plugins are responsible for emitting notifications and there currently isn’t a way to really manage those - they’re all just transparently sent to users 😅) but it’s moving fast. There should be some notification management in the next release for example.
We’ll be working in the next few months on integrating Notifications into various plugins that we manage, including Tech Insights. Exciting stuff!
💈 Scaling, scaling, scaling
Roadie customers have pushed the limits of Backstage lately.
Multiple Roadie customers now have:
- Catalogs with 200k+ Component and Resource entities
- Catlaogs with 10k+ users and groups entities
- Tech Insights facts with millions of data points captured
That presented some major scaling challenges for our infrastructure and the way we have architected our version of Backstage.
After a lot of work to identify bottlenecks, scale cloud resources where required, and signficant engineering time introducing performance improvements, we’re now able to comfortably handle even the largest Backstage installations in the world.
🧘♂️ Custom Columns v2 & Fact Tables(in beta)
Software Catalogs tend to be tables. They’re the most intuitive mechanism for displaying large quantities of information.
Making those tables super-flexible is top-of-mind for Roadie at the moment. So much so that we have not one but two features in beta-testing to help introduce much more flexibility into our tables.
The first is Custom Columns v2. The first cut of Custom Columns allows you to take arbitrary metadata from each Catalog entity and add it to your Catalog tab as a new column. The values were rendered as strings though, so we’re adding a whole bunch more types to allow easier comprehension of the information. Think: numbers, colourful ranges, links and Catalog entities, all accessible and filterable from within a Custom Catalog Tab.
The second is Fact Tables, which allow you to display Fact data that you’ve ingested for your entities from Tech Insights Data Sources (either built-in ones that we provide or custom ones you’ve created). You can filter it by team and display multiple Data Sources side-by-side.
Soon the two worlds will collide 🌚 🌝, with facts accessible inside Custom Columns. That means you’ll be able to have a Catalog tab with data from any configured source alongside existing Catalog data.
🔌 Plugins & Integrations roundup
- Wiz plugin: we made a new plugin! The new Wiz security frontend plugin now surfaces Wiz data inside Backstage. It’s available both inside Roadie and as an OSS plugin. Wiz certification for this plugin is ongoing but should happen soon. We’ll be working on a Wiz Tech Insights data source after that. Watch this space 👩🚀🚀
- LaunchDarkly plugin: we also made a LaunchDarkly plugin for managing feature flags and surfacing configuration inside your Backstage instance.
- Shortcut plugin: we made a Shortcut plugin. It’s not quite as widespread as Jira (that’s a pretty high bar…) but Shortcut is gaining some traction as a nicer way to engage with software development tickets and workflows. We use Shortcut internaly and we’re big fans. Check it out.
- Okta & Jira plugins: we’ve refreshed our Okta and Jira plugins to make them more seamlessly work with the new Backstage backend. Enjoy.
- AWS account creation: last but by no not least, on the topic of catalog data sources this time rather than plugins - our AWS provider has been modified to ingest EKS clusters and containers auto-magically. This is the first step in allowing a one-hit configuration of both AWS and the Kubernetes plugin (we’re currently modifying the K8s plugin to ingest these resources and take the config from AWS).