Create a single UI flow for dynamically adding entities without duplicates along with sub properties
O
Omer Leibovich
Today, we maintain two separate flows—one for dev and one for prod—because each Kafka cluster requires a different number of partitions.
This means developers need to enter the topic name twice, which creates opportunities for typos and generally leads to frustration.
What we would like to achieve is a single flow where the user builds an object that looks something like:
{
"kafka-dev": 5,
"kafka-prod": 10
}
What we want from the UI:
1. The keys should be selected from an entity picker, where the entities are our Kafka clusters registered in the IDP in this example.
2. The value should be a number field for partitions in this example.
3. Once the user selects an entity (e.g., kafka-dev), it should no longer appear in the next entity picker—essentially preventing duplicate selections.
4. The user should be able to add multiple cluster → partition entries dynamically (similar to “add item” behavior in forms).
We’ve implemented something similar using Backstage, and we’re hoping to recreate this experience in Port.
O
Omer Leibovich
I’d like to add more context about why this feature would be highly valuable for us.
This requirement isn’t limited to the Kafka topic creation flow. We have several self-service actions where the user needs to provide a dynamic set of key–value pairs, but the amount of pairs is not known in advance—for example:
• Adding environment variables
• Creating secrets
• Defining configuration objects with flexible structure
Right now, the only option is to open an IDE-style text editor and manually write a JSON object. While this works technically, the UX is not ideal: it’s easy to make mistakes, and it’s not approachable for all developers or users.
What we would really like is the ability to define a schema behind the scenes, and have the self-service UI render an interface that lets users add, remove, and fill out key–value pairs in a structured way. Essentially, a dynamic object builder with a clean UI.
This would significantly improve usability and reduce errors across many of our self-service flows.
Thanks again for considering this—this functionality would have a major impact on how we design user-friendly self-service actions.