Kubernetes Executor plugin for Screwdriver
This is an executor for the Screwdriver continuous delivery solution that interacts with Kubernetes.
npm install screwdriver-executor-k8s
The class provides a couple options that are configurable in the instantiation of this Executor
Parameter | Type | Default | Description |
---|---|---|---|
config | Object | Configuration Object | |
config.kubernetes | Object | {} | Kubernetes configuration Object |
config.kubernetes.token | String | '' | The JWT token used for authenticating to the Kubernetes cluster. (If not passed in, we will read from /var/run/secrets/kubernetes.io/serviceaccount/token .) |
config.kubernetes.host | String | 'kubernetes.defaults' | The hostname for the Kubernetes cluster (kubernetes) |
config.kubernetes.serviceAccount | String | 'default' | The service account to use in Kubernetes (default) |
config.ecosystem | Object | Screwdriver Ecosystem (ui, api, store, etc.) | |
config.launchImage | String | 'screwdrivercd/launcher' | Launcher image to use |
config.launchVersion | String | 'stable' | Launcher container version to use (stable) |
config.prefix | String | '' | Prefix to container names ("") |
config.kubernetes.dnsPolicy | String | 'ClusterFirst' | DNS Policy for build pod |
config.kubernetes.imagePullPolicy | String | 'Always' | Image Pull Policy for build pod |
config.kubernetes.imagePullSecretName | String | '' | Name of image pull secret |
config.kubernetes.jobsNamespace | String | 'default' | Kubernetes namespace where builds are running on |
config.kubernetes.nodeSelectors | Object | {} | Object representing node label-value pairs |
config.kubernetes.preferredNodeSelectors | Object | {} | Object representing preferred node label-value pairs |
config.kubernetes.podLabels | Object | { app: 'screwdriver', tier: 'builds', sdbuild: buildContainerName } | Object representing custom pod label key-value pairs |
config.kubernetes.resources.memory.turbo | Number | 16 | Value for TURBO memory (in GB) |
config.kubernetes.resources.memory.high | Number | 12 | Value for HIGH memory (in GB) |
config.kubernetes.resources.memory.low | Number | 2 | Value for LOW memory (in GB) |
config.kubernetes.resources.memory.micro | Number | 1 | Value for MICRO memory (in GB) |
config.kubernetes.resources.cpu.turbo | Number | 12 | Value for TURBO CPU (in cores) |
config.kubernetes.resources.cpu.high | Number | 6 | Value for HIGH CPU (in cores) |
config.kubernetes.resources.cpu.low | Number | 2 | Value for LOW CPU (in cores) |
config.kubernetes.resources.cpu.micro | Number | 0.5 | Value for MICRO CPU (in cores) |
config.kubernetes.runtimeClass | String | '' | Runtime class |
For more information on start
, stop
, verify
and stats
please see the executor-base-class.
npm test
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.