coder / coder-logstream-kube

Stream Kubernetes Pod events to the Coder startup logs
GNU Affero General Public License v3.0
10 stars 4 forks source link

coder-logstream-kube

discord release godoc license

Stream Kubernetes Pod events to the Coder startup logs.

Log Stream

Usage

Apply the Helm chart to start streaming logs into your Coder instance:

helm repo add coder-logstream-kube https://helm.coder.com/logstream-kube
helm install coder-logstream-kube coder-logstream-kube/coder-logstream-kube \
    --namespace coder \
    --set url=<your-coder-url-including-http-or-https>

Note For additional customization (such as customizing the image, pull secrets, annotations, etc.), you can use the values.yaml file directly.

Your Coder template should be using a kubernetes_deployment resource with wait_for_rollout set to false.

resource "kubernetes_deployment" "hello_world" {
  count = data.coder_workspace.me.start_count
  wait_for_rollout = false
  ...
}

This ensures all pod events will be sent during initialization and startup.

How?

Kubernetes provides an informers API that streams pod and event data from the API server.

coder-logstream-kube listens for pod creation events with containers that have the CODER_AGENT_TOKEN environment variable set. All pod events are streamed as logs to the Coder API using the agent token for authentication.

Custom Certificates