diff --git a/README.md b/README.md index 3c4f042d..03ad85b9 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,16 @@ spec: ``` +### Architecture + +The Deployment `config-policy-controller` contains two main controllers: Configuration Policy Controller and Operator Policy Controller. Both evaluate policy rules and support Golang text templates. + +**Configuration Policy Controller** - Watches for `ConfigurationPolicy` resources and evaluates Kubernetes objects against desired state specifications. + +**Operator Policy Controller** - Manages the lifecycle of Operator Lifecycle Manager (OLM) operators through `OperatorPolicy` resources. Handles `Subscriptions`, `OperatorGroups`, and monitors the health of operator deployments and `ClusterServiceVersions`. The controller can manage operator installation, upgrades, and removal with configurable behaviors for resource cleanup. + +![Config Policy Controller Architecture](images/config-policy-controller-architecture-diagram.png) + ## Getting started Go to the diff --git a/images/config-policy-controller-architecture-diagram.png b/images/config-policy-controller-architecture-diagram.png new file mode 100644 index 00000000..3126eb9c Binary files /dev/null and b/images/config-policy-controller-architecture-diagram.png differ diff --git a/images/config-policy-controller-architecture-diagram.svg b/images/config-policy-controller-architecture-diagram.svg new file mode 100644 index 00000000..d108ce45 --- /dev/null +++ b/images/config-policy-controller-architecture-diagram.svg @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + Config Policy Controller Architecture + + + ConfigurationPolicy custom resources + + + Spec + + Status + + + OperatorPolicy custom resources + + + Spec + + Status + + + Config Policy Controller Pod + + + Configuration PolicyController + + + Operator PolicyController + + + Target Kubernetes Resources + + + Spec + + Status + + + OLM Resources + + + Spec + + Status + + + + + + + + + + Events for policy + + + + + Watch + + + Watch + + + Create/Update + + + Manage + + + Update Status + + Update Status + + + + + + + + + + + + Generate Events +