---
# System prepended metadata

title: Operator Lifecycle Book
tags: [Book]

---

Operator Lifecycle Book
===

# Foundational Concepts
[What is an Operator?]()
[Why would I use OLM?]()
[What does OLM allow me to do?]()
[Operators on cluster]()

# Under the hood
[Operands]()
[Operator bundles]()
[Operator catalogs]()
[Subscriptions]()
[Operator dependencies and requirements]()
[Operator update graphs and channels]()
[Operator versioning and release strategies]()
[Operand support matrices]()
[Operator install modes]()
[Operator scoping]()

# Basic Use Cases
How do I install OLM?
How do I package my Operator for OLM?
How do I validate the package?
How do I install my Operator with OLM?
How do I make my Operator part of a catalog?
How do I list Operators available to install?
How do I uninstall an Operator?
How do I discover the presence/availability of an Operator?
How do I troubleshoot a failing installation?
How do I uninstall OLM?

# Advanced Use Cases
When do I need to update my Operator?
How do I create an updated version of my Operator?
How do I test an update before shipping?
How do I ship an updated version of my Operator?
How do I approve an update?
How do I scope down an Operator?
How can I install an Operator when I am not cluster admin?
How do I rely on other Operators with my Operator?
How can I configure / customize my Operator deployment?
How can I set / override defaults to amend runtime behavior of my Operator?
What annotations can I use to drive UIs?
How do I change which users are able to use an Operator?
How do I “hide” particular CRDs not intended for consumption by an end-user?
How do I ship webhooks?
When and how should a running Operator express that it is not upgradeable?
When should an Operator upgrade its Operands?
How should an Operator Author create and package an Operator for a singleton operand?



## Running it


###### tags: `Book`
