Skip to content

feat(collectionagent): add the kubernetes kustomize casting - #176

Open
Nageshbansal wants to merge 11 commits into
fix/casting/kustomize-runnerfrom
feat/ca/k8s
Open

feat(collectionagent): add the kubernetes kustomize casting#176
Nageshbansal wants to merge 11 commits into
fix/casting/kustomize-runnerfrom
feat/ca/k8s

Conversation

@Nageshbansal

@Nageshbansal Nageshbansal commented Aug 7, 2026

Copy link
Copy Markdown
Member

Features

  • Adds the kubernetes/kustomize collection agent casting with two collector kinds: agent runs a DaemonSet on every node, deployment runs a cluster-scoped Deployment behind a service. The SigNoz Kubernetes views need both.
  • Adds docs/examples/collectionagent/kubernetes/kustomize, one directory per kind.

Example

Both collectors in one casting file:

apiVersion: v1alpha1
kind: CollectionAgent
metadata:
  name: signoz
spec:
  deployment:
    mode: kubernetes
    flavor: kustomize
  collector:
    kind: agent
    spec:
      env:
        SIGNOZ_INGESTION_ENDPOINT: <signoz-host>
        K8S_CLUSTER_NAME: <cluster-name>
---
apiVersion: v1alpha1
kind: CollectionAgent
metadata:
  name: signoz
spec:
  deployment:
    mode: kubernetes
    flavor: kustomize
  collector:
    kind: deployment
    spec:
      env:
        SIGNOZ_INGESTION_ENDPOINT: <signoz-host>
        K8S_CLUSTER_NAME: <cluster-name>

Each kind pours its own root under pours/collectionagent/collector/<kind>/, and either kind can be declared on its own.

Related: https://github.com/SigNoz/platform-pod/issues/2754

@Nageshbansal
Nageshbansal changed the base branch from main to feat/runner August 31, 2026 10:46
@Nageshbansal
Nageshbansal changed the base branch from feat/runner to fix/casting/kustomize-runner August 31, 2026 11:07
@Nageshbansal
Nageshbansal force-pushed the fix/casting/kustomize-runner branch from d3bd531 to 8453bd1 Compare September 1, 2026 09:21
The pour follows the installation layout: a root kustomization and the
namespace, with each collector kind's manifests, workload and config together
in collector/<kind>/ behind a kustomization of their own.

The workload manifest is written as workload.yaml, so a kind named for a
workload (deployment) does not collide with its own config file. Per-kind
templates replace the kind conditionals in the shared manifests, and the
casting derives every pour path from ConfigKey rather than spelling the
directory again.
The kubernetes kustomize casting poured a shared root that enumerated the
collector kind's directory. A casting file holding two collection agents
poured both documents over that one root, so the last document won it and
cast applied its tree twice, never the other's.

Every kind now pours a self-contained root under its own directory: the
namespace and the kustomization move in beside the config the
configMapGenerator reads, and cast applies the kind's root. The two per-kind
kustomization templates collapse into the shared one, which names the
generator and its file from the kind it renders against.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant