Scaffolder: dynamic drop-downs and randomized values. Plus, a new way to authenticate k8s
You can now define drop-down fields with options coming from an external API in your software templates, as well as use randomized valued based on a timestamp in your Scaffolder values. We also added the ability to set up authentication via a service token in the k8s plugin.
Dynamic drop-downs in the Scaffolder
Let’s say your software templates include a step in which the user has to select a database. Instead of having them figure out the DB reference and write it down, you can now give them a drop-down with valid values. We’ve added the ability for you to define drop-down fields in your software templates that show options fetched from an external API. Get started with drop-downs fed from external APIs.
Use randomized values in your Scaffolder template
If you’re writing a software template that generates, for example, a PR in a repo, you want to be sure the name of the branch you generate is unique. You can now use timestamp-based values to randomize data in the Scaffolder using ${{ '' | now }}
. Check the following template for reference on how to use it:
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: test-now-filter
description: test the new now filter
spec:
type: service
owner: user:default/kissmikijr
steps:
- id: fetch
name: Fetch Skeleton + Template
action: fetch:template
input:
url: template-url
values:
component_id: ${{ '' | now }}
description: ${{ '' | now }}
Authenticate k8s via a service token
Previously, we only supported AWS EKS and Google Cloud’s GKE for configuring the k8s plugin. However, if you’re self-deploying k8s, the usual mechanism for authenticating is a service account token. Roadie now supports this mechanism in the plugin’s admin panel.