Skip to main content

Kubernetes Setup

Prerequisites

  • Kubernetes 1.16+
  • Helm 3.x
  • An Overmind API key with request:receive scope

Installation

Create an API Key with request:receive scope in Overmind under Account settings > API Keys

account settings api key

Install the source into your Kubernetes cluster using Helm:

helm repo add overmind https://dl.cloudsmith.io/public/overmind/tools/helm/charts
helm install overmind-kube-source overmind/overmind-kube-source \
--set source.apiKey.value=YOUR_API_KEY \
--set source.clusterName=my-cluster-name

Uninstalling

helm uninstall overmind-kube-source

Upgrading

helm upgrade overmind-kube-source overmind/overmind-kube-source

Configuration

The following table lists the configurable parameters and their default values.

Image Configuration

ParameterDescriptionDefault
image.repositoryImage repositoryghcr.io/overmindtech/workspace/k8s-source
image.pullPolicyImage pull policyAlways
image.tagImage tag (defaults to appVersion)""
imagePullSecretsImage pull secrets[]

Deployment Configuration

ParameterDescriptionDefault
replicaCountNumber of replicas1
nameOverrideOverride chart name""
fullnameOverrideOverride full name""
podAnnotationsPod annotations{}
podSecurityContextPod security context{}
securityContextContainer security context{}
nodeSelectorNode selector{}
tolerationsPod tolerations[]
affinityPod affinity rules{}

Source Configuration

ParameterDescriptionDefault
source.logLog level (info, debug, trace)info
source.apiKey.valueDirect API key value (not recommended for production)""
source.apiKey.existingSecretNameName of existing secret containing API key""
source.appOvermind instance URLhttps://app.overmind.tech
source.maxParallelMax parallel requests20
source.rateLimitQPSK8s API rate limit QPS10
source.rateLimitBurstK8s API rate limit burst30
source.clusterNameCluster name""
source.honeycombApiKeyHoneycomb API key""

Autoscaling Configuration

ParameterDescriptionDefault
autoscaling.enabledEnable autoscalingfalse
autoscaling.minReplicasMinimum replicas1
autoscaling.maxReplicasMaximum replicas3
autoscaling.targetCPUUtilizationPercentageTarget CPU utilization80
autoscaling.targetMemoryUtilizationPercentageTarget memory utilizationnil

Example values.yaml

source:
apiKey: 'your-api-key'
clusterName: 'production-cluster'
log: 'debug'
maxParallel: 30
rateLimitQPS: 20
rateLimitBurst: 40

autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 5
targetCPUUtilizationPercentage: 70

resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi

API Key Management

The chart provides two methods for managing the required Overmind API key:

Using an Existing Secret

  1. Create a Kubernetes secret containing your API key:

    kubectl create secret generic overmind-api-key \
    --from-literal=API_KEY=your-api-key-here
  2. Install the chart:

    helm install overmind-kube-source overmind/overmind-kube-source \
    --set source.apiKey.existingSecretName=overmind-api-key

Important Notes:

  • The secret MUST contain a key named API_KEY
  • The secret must exist in the same namespace as the chart
  • Installation will fail if:
    • The secret doesn't exist
    • The secret exists but doesn't contain an API_KEY key
    • Neither source.apiKey.existingSecretName nor source.apiKey.value is provided

Using Direct Value

helm install overmind-kube-source overmind/overmind-kube-source \
--set source.apiKey.value=YOUR_API_KEY
--set source.clusterName=my-cluster-name

Warning: This method stores the API key in clear text in your values file. Only use for development/testing.

Support

This source will support all Kubernetes versions that are currently maintained in the kubernetes project. The list can be found here