/kustomize-wavefront-proxy

Add kustomized configuration to Wavefront proxy

Wavefront Proxy Kustomization

CI

This repository consolidates advanced configuration of Wavefront proxy through Kustomize. This allows easy reference of configuration parameters and deployment of a customised Wavefront proxy in Kubernetes. This is a good starting point to modify Wavefront proxy deployment to existing automation pipelines, especially if not using the Wavefront Helm chart.

Source: Wavefront Proxy Advanced Configuration Guide

Getting Started

This guide assumes that you are familiar with Kustomize and have a ready cluster (e.g. minikube) with kubectl to run/test the kustomizations.

  • Install Kustomize on your machine
  • Clone this repository and note the structure as follows:

base/ - adds wavefront.conf and log4j.xml advanced configuration to upstream K8s proxy manifest. Environment variables override configuration files.

overlays/memory-limit/ - overlays, or "inherits" base/ and limits memory use of Wavefront proxy by adjusting Java heap size and patching the K8s container resource limits.

overlays/tcpdump-sidecar - injects a tcpdump sidecar to the wavefront proxy pod for troubleshooting.

  • Add your own WAVEFRONT_TOKEN and WAVEFRONT_URL credentials to base/kustomization.yaml

  • To preview the generated manifest, run in base/ or memory-limit/ directory:

$ kustomize build

  • To apply the generated manifest:

$ kustomize build | kubectl apply --namespace wavefront -f -

Alternatively, you may use built-in support for Kustomize: kubectl apply -k .

  • To cleanup and remove the applied manifests, replace apply with delete

Note about secrets management

This kustomization does not integrate K8s secrets management. For non-trivial deployments, it is recommended to keep your Wavefront tokens safe. For more details, please visit Vault or SealedSecrets, depending on your environment and security needs.

Future Improvements

  • Add native remote loading of upstream resources when this feature stabilises in Kustomize. 1, 2
  • Add preprocessor rules configuration