question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[RFC] Component visibility level in backstage

See original GitHub issue

Status: Open for comments

Need

A lot of our teams have apis and components that they(and also our organization) want catalogued in backstage. That being said, some of these apis and components are considered private for the team, and clutter for everyone else.

Proposal

Add a visibleTo option at the component level.

It works simmilar to owner, except it determines who can see the component in the catalog. Only the team set as visibleTo, along with all descendant will be able to see the component.

If the value is missing then backstage should use the current behavior, where the component is visible to everyone.

Alternatives

Add a visiblity option at the component level.

visibility would be public, restricted or private. Simmilar to object oriented programming concepts:

  • public - The component is visible to everyone in the org
  • restricted - The component is only visible to the owner team and descendants of the owner team
  • private - The component is only visible to the owner team

Risks

A big rist is that teams could default to making their components private. This goes against one of the core concepts of backstage. To combat this, i suggest that users should always be able to bypass the visiblity settings(with some work) through an option the the ui.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
joeporpegliacommented, May 2, 2022

Hey @Andrei-Predoiu, documentation for the Backstage permission framework is now available here: https://backstage.io/docs/permission/overview

This should support your need through the use of conditions defined in a PermissionPolicy. Currently supported conditions for catalog entities are defined in the catalogConditions export of @backstage/plugin-catalog-backend (see api-report.md). Please open an issue if you find any problems along the way!

1reaction
Andrei-Predoiucommented, Apr 1, 2021

I would like to have this setting for all components

Read more comments on GitHub >

github_iconTop Results From Across the Web

[RFC] Can We Show Component Labels in the UI? · Issue #7653
I need to show the labels of the Component kind in the Backstage UI. Are they shown somewhere already? Proposal. Show them in...
Read more >
System Model · Backstage Software Catalog and Developer ...
APIs have a visibility: they are either public (making them available for any other component to consume), restricted (only available to an allowlisted...
Read more >
Backstage High-level Design RFC - HackMD
Backstage High-level Design RFC Backstage is an Actor model framework which seeks ... Data visible in any parent scope will be visible to...
Read more >
Guide to working with authentication and single sign-on ...
This guide covers concepts, implementation procedures, and customization techniques for working with the authentication and single sign-on features of ...
Read more >
Stretch Opportunities for Engineers - SoundCloud Developers
Write the Request for Comments (RFC) for the project and request and ... some of our Level 3 Engineering Level expectations, in particular:....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found