A Kubernetes controller that runs Semaphore jobs in Kubernetes.
- A Kubernetes cluster
- A Semaphore API token
| Environment variable | Description | 
|---|---|
| SEMAPHORE_ENDPOINT | The Semaphore control plane endpoint, e.g. <your-organization>.semaphoreci.com. | 
| KUBERNETES_NAMESPACE | The Kubernetes namespace where the resources for Semaphore jobs will be created. By default, the default namespace is used. | 
| SEMAPHORE_AGENT_IMAGE | The Semaphore agent image to use when creating agents. By default, semaphoreci/agent:latest. | 
| SEMAPHORE_AGENT_LOG_LEVEL | The log level for the Semaphore agent. By default, info. | 
| MAX_PARALLEL_JOBS | The max number of Semaphore jobs to run in parallel. By default, 10. | 
| KUBERNETES_SERVICE_ACCOUNT | The Kubernetes service account to attach to the pods created for the Semaphore agent. | 
| SEMAPHORE_AGENT_LABELS | A comma-separated list of Kubernetes labels to apply on all resources created by the controller. | 
| SEMAPHORE_AGENT_STARTUP_PARAMETERS | Any additional Semaphore agent configuration parameters to pass to the agents being created. | 
| KEEP_FAILED_JOBS_FOR | A duration string indicating how long to keep failed Kubernetes jobs. For example, 5m. Default is 0. | 
| KEEP_SUCCESSFUL_JOBS_FOR | A duration string indicating how long to successful failed Kubernetes jobs. For example, 5m. Default is 0. | 
| JOB_START_TIMEOUT | A duration string indicating how long to wait for a Kubernetes job created to start; after the timeout has passed, the Kubernetes job is deleted. Default is 5m. |