Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/renderedtext/agent-k8s-controller
A Kubernetes controller that runs Semaphore jobs in Kubernetes.
https://github.com/renderedtext/agent-k8s-controller
Last synced: about 2 months ago
JSON representation
A Kubernetes controller that runs Semaphore jobs in Kubernetes.
- Host: GitHub
- URL: https://github.com/renderedtext/agent-k8s-controller
- Owner: renderedtext
- Created: 2023-12-12T19:31:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-28T19:05:54.000Z (2 months ago)
- Last Synced: 2024-11-28T19:26:25.889Z (2 months ago)
- Language: Go
- Homepage:
- Size: 19.8 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Semaphore agent controller for Kubernetes
A Kubernetes controller that runs Semaphore jobs in Kubernetes.
## Installation
### Requirements
- A Kubernetes cluster
- A Semaphore API token### Configuration
| Environment variable | Description |
|----------------------------------------|-------------|
| SEMAPHORE_ENDPOINT | The Semaphore control plane endpoint, e.g. `.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](https://github.com/semaphoreci/agent) image to use when creating agents. By default, `semaphoreci/agent:latest`. |
| 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](https://github.com/semaphoreci/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](https://docs.semaphoreci.com/ci-cd-environment/configure-self-hosted-agent/) to pass to the agents being created. |
| KEEP_FAILED_JOBS_FOR | A [duration string](https://pkg.go.dev/time#ParseDuration) indicating how long to keep failed Kubernetes jobs. For example, `5m`. Default is 0. |
| KEEP_SUCCESSFUL_JOBS_FOR | A [duration string](https://pkg.go.dev/time#ParseDuration) indicating how long to successful failed Kubernetes jobs. For example, `5m`. Default is 0. |
| JOB_START_TIMEOUT | A [duration string](https://pkg.go.dev/time#ParseDuration) 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`. |