Skip to content

screwdriver-cd/executor-k8s

Repository files navigation

Screwdriver Kubernetes Executor

Version Downloads Build Status Open Issues License

Kubernetes Executor plugin for Screwdriver

This is an executor for the Screwdriver continuous delivery solution that interacts with Kubernetes.

Usage

npm install screwdriver-executor-k8s

Initialization

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

Methods

For more information on start, stop, verify and stats please see the executor-base-class.

Testing

npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.