What is Kubernetes manifest? • The definition of Kubernetes resource • Generally written as YAML file • Deployment, Service, DaemonSet, Namespace, ConfigMap… • Used to create a resource on the Kubernetes via kubectl • kubectl create -f manifest.yaml • There are so many examples in the Kubernetes repos • https://github.com/kubernetes/kubernetes/tree/master/examples
What is Spruce? • Spruce is a domain-specific YAML merging tool • It has been developed to generate the BOSH manifest • However, it can also be used in any YAML file ! • It's a single binary, written in Go • https://github.com/geofffranks/spruce
Managing Kubernetes manifest with Spruce • We usually use the multiple environments • Production, Staging, Testing, Development... • Use multiple manifests for each environment • Merge the base manifest and the environment-specific manifest when creating a resource • It is inspired by Ruby on Rails
Conclusion • Kubernetes Manifest is the definition of the Kubernetes Resource • Spruce is a easy and flexible YAML merging tool • Spruce will simplify the management of Kubernetes Manifest