@janus-idp/backstage-scaffolder-backend-module-kubernetes v1.4.5
Kubernetes actions for Backstage
This module provides Backstage template actions for Kubernetes.
The following actions are currently supported in this module:
- Create a kubernetes namespace
Installation
Run the following command to install the action package in your Backstage project
yarn workspace backend add @janus-idp/backstage-scaffolder-backend-module-kubernetes
Installing the action on the legacy backend
Register the Kubenretes actions by modifying the
packages/backend/src/plugins/scaffolder.ts
file from your project with the following changes:import { CatalogClient } from '@backstage/catalog-client'; import { ScmIntegrations } from '@backstage/integration'; import { createBuiltinActions, createRouter, } from '@backstage/plugin-scaffolder-backend'; import { Router } from 'express'; import { createKubernetesNamespaceAction } from '@janus-idp/backstage-scaffolder-backend-module-kubernetes'; import type { PluginEnvironment } from '../types'; export default async function createPlugin( env: PluginEnvironment, ): Promise<Router> { const catalogClient = new CatalogClient({ discoveryApi: env.discovery, }); const integrations = ScmIntegrations.fromConfig(env.config); const builtInActions = createBuiltinActions({ integrations, catalogClient, config: env.config, reader: env.reader, }); const actions = [ ...builtInActions, createKubernetesNamespaceAction(catalogClient), ]; return await createRouter({ actions, logger: env.logger, config: env.config, database: env.database, reader: env.reader, catalogClient, identity: env.identity, }); }
Optional: If you are doing the previous step for the first time, you also have to install the
@backstage/integration
packageyarn workspace backend add @backstage/integration
Installing the action on the new backend
Add the following to your packages/backend/src/index.ts
file:
const backend = createBackend();
// Add the following line
backend.add(
import('@janus-idp/backstage-scaffolder-backend-module-kubernetes/alpha'),
);
backend.start();
Configuration
Add the Kubernetes actions to your templates, see the example file in this repository for complete usage examples
action: kubernetes:create-namespace
id: create-kubernetes-namespace
name: Create kubernetes namespace
input:
namespace: foo
clusterRef: bar
token: TOKEN
skipTLSVerify: false
caData: Zm9v
labels: app.io/type=ns; app.io/managed-by=org;
Usage
Action: kubernetes:create-namespace
Input
Parameter Name | Type | Required | Description | Example |
---|---|---|---|---|
namespace | string | Yes | Kubernetes namespace name | foo |
clusterRef | string | No | Cluster resource entity reference from the catalog | bar |
url | string | No | API url of the kubernetes cluster | https://api.foo.redhat.com:6443 |
token | string | No | Kubernetes API bearer token used for authentication | |
skipTLSVerify | boolean | No | If true, certificate verification is skipped | false |
caData | string | No | Base64 encoded certificate data | |
label | string | No | Labels that will be applied to the namespace | app.io/type=ns; app.io/managed-by=org; |
Output
This action doesn't have any outputs.
7 days ago
7 days ago
9 days ago
9 days ago
14 days ago
24 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
5 months ago
5 months ago
6 months ago
8 months ago
9 months ago
5 months ago
6 months ago
10 months ago
6 months ago
7 months ago
11 months ago
11 months ago
11 months ago
11 months ago