Este conteúdo não está disponível no idioma selecionado.

Chapter 10. Kubernetes custom actions in Red Hat Developer Hub


You can create and manage Kubernetes resources by using custom scaffolder actions in Red Hat Developer Hub templates. The Kubernetes custom actions plugin is preinstalled in a disabled state.

10.1. Enable Kubernetes custom actions plugin in Red Hat Developer Hub

Enable the preinstalled Kubernetes custom actions plugin by updating the Helm chart configuration.

In Red Hat Developer Hub, the Kubernetes custom actions are provided as a preinstalled plugin, which is disabled by default. You can enable the Kubernetes custom actions plugin by updating the disabled key value in your Helm chart.

Prerequisites

  • You have installed Red Hat Developer Hub with the Helm chart.

Procedure

  • In your Helm chart, add a package with the Kubernetes custom action plugin name and update the disabled field to enable the plugin. For example:

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic
            disabled: false
    Note

    The default configuration for a plugin is extracted from the dynamic-plugins.default.yaml file, however, you can use a pluginConfig entry to override the default configuration.

10.2. Use Kubernetes custom actions plugin in Red Hat Developer Hub

Add Kubernetes actions to your custom templates to create namespaces and manage cluster resources.

In Red Hat Developer Hub, the Kubernetes custom actions enable you to run template actions for Kubernetes.

Procedure

  • To use a Kubernetes custom action in your custom template, add the following Kubernetes actions to your template:

    action: kubernetes:create-namespace
    id: create-kubernetes-namespace
    name: Create kubernetes namespace
    input:
      namespace: my-rhdh-project
      clusterRef: bar
      token: TOKEN
      skipTLSVerify: false
      caData: Zm9v
      labels: app.io/type=ns; app.io/managed-by=org;

10.3. Create a template using Kubernetes custom actions in Red Hat Developer Hub

Define a Template object with Kubernetes actions to automate namespace creation and resource management.

Procedure

  • To create a template, define a Template object as a YAML file.

    The Template object describes the template and its metadata. It also contains required input variables and a list of actions that are executed by the scaffolding service.

    apiVersion: scaffolder.backstage.io/v1beta3
    kind: Template
    metadata:
      name: create-kubernetes-namespace
      title: Create a kubernetes namespace
      description: Create a kubernetes namespace
    spec:
      type: service
      parameters:
        - title: Information
          required: [namespace, token]
          properties:
            namespace:
              title: Namespace name
              type: string
              description: Name of the namespace to be created
            clusterRef:
              title: Cluster reference
              type: string
              description: Cluster resource entity reference from the catalog
              ui:field: EntityPicker
              ui:options:
                catalogFilter:
                  kind: Resource
            url:
              title: Url
              type: string
              description: Url of the kubernetes API, will be used if clusterRef is not provided
            token:
              title: Token
              type: string
              ui:field: Secret
              description: Bearer token to authenticate with
            skipTLSVerify:
              title: Skip TLS verification
              type: boolean
              description: Skip TLS certificate verification, not recommended to use in production environment, default to false
            caData:
              title: CA data
              type: string
              ui:field: Secret
              description: Certificate Authority base64 encoded certificate
            labels:
              title: Labels
              type: string
              description: Labels to be applied to the namespace
              ui:widget: textarea
              ui:options:
                rows: 3
              ui:help: 'Hint: Separate multiple labels with a semicolon!'
              ui:placeholder: 'kubernetes.io/type=namespace; app.io/managed-by=org'
      steps:
        - id: create-kubernetes-namespace
          name: Create kubernetes namespace
          action: kubernetes:create-namespace
          input:
            namespace: ${ parameters.namespace }
            clusterRef: ${ parameters.clusterRef }
            url: ${ parameters.url }
            token: ${ secrets.token }
            skipTLSVerify: ${ parameters.skipTLSVerify }
            caData: ${ secrets.caData }
            labels: ${ parameters.labels }

10.4. Supported Kubernetes custom actions in Red Hat Developer Hub

Access parameter specifications and requirements for the kubernetes:create-namespace scaffolder action.

In Red Hat Developer Hub, you can use custom Kubernetes actions in Scaffolder templates.

Action: kubernetes:create-namespace
Creates a namespace for the Kubernetes cluster in the Developer Hub.
Expand
Parameter nameTypeRequirementDescriptionExample

namespace

string

Required

Name of the Kubernetes namespace

my-rhdh-project

clusterRef

string

Required only if url is not defined. You cannot specify both url and clusterRef.

Cluster resource entity reference from the catalog

bar

url

string

Required only if clusterRef is not defined. You cannot specify both url and clusterRef.

API url of the Kubernetes cluster

https://api.example.com:6443

token

String

Required

Kubernetes API bearer token used for authentication

 

skipTLSVerify

boolean

Optional

If true, certificate verification is skipped

false

caData

string

Optional

Base64 encoded certificate data

 

label

string

Optional

Labels applied to the namespace

app.io/type=ns; app.io/managed-by=org;

Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a documentação da Red Hat

Legal Notice

Theme

© 2026 Red Hat
Voltar ao topo