# Anatomy of an Operator

A package bundles all files needed to describe an operator. The structure of a package looks following:

├── operator.yaml
├── params.yaml
└── templates
    ├── deployment.yaml
    └── ...

operator.yaml is the main YAML file defining both operator metadata as well as the whole lifecycle of the operator. Tasks and plans are defined in this file. Metadata that provide the name, version and maintainers of the operator are set here as well.


params.yaml defines parameters of the operator. During installation, these parameters can be overridden allowing customization.


The templates folder contains all templated Kubernetes objects that will be applied to your cluster after installation based on the workflow defined in operator.yaml. Templating is described here