CtrlK
BlogDocsLog inGet started
Tessl Logo

nitinjain999/platform-skills

Production-grade platform engineering handbook — Kubernetes, Terraform, Flux CD, GitHub Actions, AWS, and more.

67

Quality

84%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

README.mdexamples/dynatrace/

Status: Stable

Dynatrace Examples

Production-ready Dynatrace OneAgent deployment on Kubernetes via the Dynatrace Operator.

Examples

ExampleTypeDescription
operator/dynakube.yamlKubernetesDynaKube CR — cloudNativeFullStack injection with ActiveGate

Quick Start

# 1. Install the Dynatrace Operator
kubectl create namespace dynatrace
kubectl apply -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes.yaml

# 2. Create the API token secret (never use plain values)
kubectl -n dynatrace create secret generic dynakube \
  --from-literal=apiToken="${DT_API_TOKEN}" \
  --from-literal=dataIngestToken="${DT_DATA_INGEST_TOKEN}"

# 3. Edit operator/dynakube.yaml — replace ENVIRONMENT_ID with your Dynatrace environment ID
#    apiUrl: "https://ENVIRONMENT_ID.live.dynatrace.com/api"

# 4. Apply the DynaKube CR
kubectl apply -f operator/dynakube.yaml

# 5. Verify deployment
kubectl -n dynatrace get dynakube dynakube
kubectl -n dynatrace get pods

What dynakube.yaml Provides

FeatureSettingEffect
cloudNativeFullStackEnabledAutomatic OneAgent injection — no pod restarts required
Control-plane tolerationsnode-role.kubernetes.io/control-planeOneAgent runs on control-plane nodes
ActiveGate2 replicasHigh-availability routing, Kubernetes monitoring, API gateway
metadataEnrichmentEnabledAll telemetry enriched with k8s namespace, pod, node labels

URL Conventions

Use caseURL formatExample
DynaKube.spec.apiUrl (Operator)live.dynatrace.comhttps://abc12345.live.dynatrace.com/api
DT_ENVIRONMENT (MCP server)apps.dynatrace.comhttps://abc12345.apps.dynatrace.com

These are different URLs — the Operator uses the classic API URL; the MCP server requires the Platform URL.

Required Token Scopes

TokenRequired scopes
apiTokenReadConfig, WriteConfig, DataExport, LogExport, ReadSyntheticData, WriteAnomalyDetection
dataIngestTokenmetrics.ingest, logs.ingest

Store both tokens in a Kubernetes Secret — never in plain Helm values or committed files.

Verify Injection

# OneAgent should appear as an init container in application pods
kubectl describe pod <app-pod> -n <app-namespace> | grep -A5 "Init Containers"

# Check OneAgent status
kubectl -n dynatrace get oneagent

Checklist

  • ENVIRONMENT_ID replaced with real environment ID in apiUrl
  • API token secret created before applying DynaKube CR
  • Both token scopes verified in Dynatrace UI before deployment
  • cloudNativeFullStack chosen over fullStack for zero-restart injection
  • metadataEnrichment: true — enriches all signals with k8s metadata
  • ActiveGate replicas ≥ 2 for high availability

See Also

  • references/dynatrace.md — Operator setup, code-level instrumentation, custom metrics, SLOs, Terraform provider, Davis AI
  • /platform-skills:dynatrace — setup, instrument, monitor, SLO, dashboard, investigate incidents

examples

dynatrace

BEFORE_AFTER.md

CHANGELOG.md

CODE_OF_CONDUCT.md

COMMANDS.md

CONTRIBUTING.md

EDITOR_INTEGRATIONS.md

GETTING_STARTED.md

HOW_IT_WORKS.md

install.sh

INSTALLATION.md

LAUNCH.md

PROMPTS.md

QUICKSTART.md

README.md

renovate.json

SECURITY.md

SKILL.md

tessl.json

tile.json