Table of Contents
Table of Contents
Further Reading
How a manifest works
Engineers write manifests declaratively. Kubernetes then works to make the cluster match what the file describes.
Manifests are a cornerstone of Infrastructure-as-Code and GitOps. They keep infrastructure consistent, reproducible, and easy to review.
- Write a manifest that declares the kind, metadata, and spec of a resource.
- Store the file in Git and review changes through pull requests.
- Apply it with kubectl apply or a GitOps tool such as Argo CD.
- Kubernetes compares desired state with actual state and reconciles.
- Later edits to the manifest roll out as updates.
Key parts of a manifest
- apiVersion: the API group and version of the resource
- kind: the resource type, such as Deployment or Job
- metadata: name, namespace, labels, and annotations
- spec: the desired state, such as replicas or container images
Manifests vs. Helm charts
Both describe Kubernetes resources. Helm adds templating and packaging on top of plain manifests.
Why manifests matter in Kubernetes
Manifests are the foundation for managing clusters at scale. Without them, changes are hard to reproduce, audit, or automate.
- Declarative configuration: define what should exist, not how to create it
- Version control: history, rollback, and collaboration through Git
- Reproducibility: identical environments deploy anywhere
- Automation: fits naturally into CI/CD and GitOps workflows
- Fewer manual errors: reviewable files replace one-off commands
Consider a SaaS team that rebuilds a staging cluster after an outage. With manifests in Git, one sync restores every service. Without them, engineers piece together commands from memory.
Common challenges with manifests
- Configuration drift: manual changes make clusters differ from declared files
- Duplication: near-identical manifests for each environment
- Complexity: large or nested configurations are hard to maintain
- Validation errors: small YAML mistakes block deployments
- Version mismatches: resource definitions change between Kubernetes versions
Templating tools like Helm or Kustomize reduce duplication and keep manifests manageable.
How manifests relate to Testkube
Testkube relies on Kubernetes manifests for installation, configuration, and test execution. This keeps Testkube aligned with Kubernetes-native practices.
- Installation: deploy Testkube with prebuilt YAML files or Helm charts
- Declarative tests: test workflows and settings are Kubernetes custom resources
- GitOps: test definitions, triggers, and configuration live in Git
- CI/CD: pipelines apply manifests automatically during builds or deploys
- Repeatability: identical Testkube setups across clusters
Real-world examples
- Git-reviewed changes: a DevOps engineer applies all cluster changes through pull requests
- Consistent tests: a QA team defines Testkube test workflows as YAML manifests
- Automated sync: a platform team uses Argo CD to sync Testkube manifests from Git
- Quick setup: a developer runs kubectl apply on a manifest to deploy Testkube in a new cluster



