Backstage Weekly 80 - Automatic orphaned cleanup, Scaffolder permissions
By Jorge Lainfiesta • April 24th, 2023Hi y’all! While some of us were having a fantastic time in KubeCon Amsterdam, one of the most impressive releases of Backstage was dropped. Let’s recap what’s new:
- New: built-in support for deletion of orphaned entities
- New: Scaffolder permissions and filters
- Heads-up: 3 breaking changes
- Recap: KubeCon + CloudNative Amsterdam
Automated orphaned entity cleanup in the catalog
Entities typically become orphaned when their corresponding repository was moved, deleted, or renamed (there are other cases for orphaning). In the latest Backstage release, 1.13, you’ll find a new, optional catalog.orphanStrategy
app-config parameter. The parameter can be defined as 'keep'
(default) or 'delete'
. Keep
means nothing changes in the way orphan entities are managed, while delete
will attempt to clean out orphaned entities automatically.
To learn more, check out the feature release notes.
Using managed Backstage lets you focus on building value for your team instead of learning internals and upgrading your instance. Get a Roadie Backstage demo
Finer permissions for the Scaffolder
The permissions framework can let you set which templates users with a specific role can see in the frontend, but it doesn’t have any finer controls than that. Thanks to vinzscam and HHogg, you’ll be able to add a backstage:permissions
key to your template steps to control who can see them. This will allow admins managing different levels of permissions to specify more specifically how the templates are used.
To help you learn how to use the new permissions, a PR with comprehensive docs is about to land. For further details into understanding the reasoning behind the chosen API, check out the PRFC.
Nunjucks filters for the Scaffolder
Another new feature in the Scaffolder is the ability to define filters to extract a value from a property in a template. For example, you can now define things like:
${{ parameters.entity | parseEntityRef | pick('name') }}
Which lets you get an entity ref from a parameter, parse it, and pick the name attribute from the object in a single line. The PR also fixes a bug that I covered last week.
You can get started with filters as soon as you’ve upgraded to 1.13, for additional context check out the PR.
Amsterdam: A week immersed in the Cloud native world
By far, KubeCon + Cloud Native Conf EU 2023 has been the most impressive since the re-start of the conference series after the p*ndemic. With 10 thousand people in attendance and fascinating talks, not being able to enter the room—even if you arrived 10 mins earlier—became commonplace.
There were five talks dedicated to Backstage and several others referencing the framework. It’s safe to say it was in everyone’s mouth as people explored its role in Platform Engineering and Developer Experience.
Check out my vibe report of the conference for more pics!
Heads-up: Breaking changes in 1.13
The Backstage 1.13 release has so many features, but they come with—hopefully small—breaking changes.
- First, the
Tabs
component was removed from@backstage/core-components
- Next, the
GitlabDiscoveryEntityProvider
changed the way it handles branches. - Finally, the Kubernetes plugin backend is getting a revamp and therefore requires a few changes in its APIs.
For more information on each of these changes, please review the 1.13 Release Notes (you’ll also learn more of the great stuff packed in this release).