Planning for changes in your Operator
Over any software project's lifespan, changes will be made to the code base. These include bug fixes, refactors, new features, and old features being removed. This is true for Kubernetes, its subprojects, and projects that are built on the platform, such as Operators.
While it's impossible to predict the future of what your Operator will evolve into one day, there are a few ideas that can help you during the design phase to ease transitions and new developments later. These are as follows:
- Start small.
- Iterate effectively.
- Deprecate gracefully.
These decisions have significant benefits in practice when you're maintaining an Operator. However, these are not definitive or strictly specific to Kubernetes Operators. Consider them as general suggestions for developing any software project. But here, we will be examining them in the context of writing an Operator.
Starting small
When planning the original...