Search code examples
kubernetescontinuous-integrationyamldeclarativepodspec

What are YAML config files referred to as in the Kubernetes ecosystem?


Declarative definitions for resources in a kubernetes cluster such as Deployments, Pods, Services etc.. What are they referred to as in the Kubernetes eco-system?

Possibilities i can think of:

  • Specifications (specs)
  • Objects
  • Object configurations
  • Templates

Is there a consensus standard?


Background

I'm writing a small CI tool that deploys single or multiple k8s YAML files. I can't think of what to name these in the docs and actual code.


Solution

  • The YAML form is generally a manifest. In a Helm chart they are templates for manifests (or more often just "templates"). When you send them to the API you parse the manifest and it becomes an API object. Most types/kinds (you can use either term) have a sub-struct called spec (eg. DeploymentSpec) that contains the declarative specification of whatever that type is for. However that is not required and some core types (ConfigMap, Secret) do not follow that pattern.