# 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

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

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

templates/

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