4.10. Appendices
4.10.1. Operator project scaffolding layout
The operator-sdk
CLI generates a number of packages for each Operator project. The following sections describes a basic rundown of each generated file and directory.
4.10.1.1. Go-based projects
Go-based Operator projects (the default type) generated using the operator-sdk new
command contain the following directories and files:
File/folders | Purpose |
---|---|
|
Contains |
|
Contains the directory tree that defines the APIs of the CRDs. Users are expected to edit the |
|
This |
| Contains the Dockerfile and build scripts used to build the Operator. |
| Contains various YAML manifests for registering CRDs, setting up RBAC, and deploying the Operator as a deployment. |
| The Go Dep manifests that describe the external dependencies of this Operator. |
| The Golang vendor folder that contains the local copies of the external dependencies that satisfy the imports of this project. Go Dep manages the vendor directly. |
4.10.1.2. Helm-based projects
Helm-based Operator projects generated using the operator-sdk new --type helm
command contain the following directories and files:
File/folders | Purpose |
---|---|
| Contains various YAML manifests for registering CRDs, setting up RBAC, and deploying the Operator as a Deployment. |
|
Contains a Helm chart initialized using the equivalent of the |
| Contains the Dockerfile and build scripts used to build the Operator. |
| Contains group/version/kind (GVK) and Helm chart location. |