@@ -46,13 +46,14 @@ involved in writing a controller.
46
46
47
47
## Crossplane components
48
48
49
- Crossplane has three major components:
49
+ Crossplane has four major components:
50
50
51
51
* [ Composition] ( #composition )
52
52
* [ Managed resources] ( #managed-resources )
53
+ * [ Operations] ( #operations )
53
54
* [ Package manager] ( #package-manager )
54
55
55
- You can use all three components to build your control plane, or pick only the
56
+ You can use all four components to build your control plane, or pick only the
56
57
ones you need.
57
58
58
59
### Composition
@@ -223,6 +224,62 @@ GCP, Terraform, Helm, GitHub, etc to support Crossplane v2 soon.
223
224
<!-- vale gitlab.FutureTense = YES -->
224
225
{{</hint >}}
225
226
227
+ ### Operations
228
+
229
+ Operations let you run operational tasks using function pipelines.
230
+
231
+ While composition and managed resources focus on creating and managing
232
+ infrastructure, operations handle tasks that don't fit the typical resource
233
+ creation pattern - like certificate monitoring, rolling upgrades, or scheduled
234
+ maintenance.
235
+
236
+ ** Operations run function pipelines to completion like a Kubernetes Job.**
237
+ Instead of continuously managing resources, they perform specific tasks and
238
+ report the results.
239
+
240
+ ``` mermaid
241
+ flowchart TD
242
+ user(User)
243
+
244
+ subgraph control [Control Plane]
245
+ operation(SSL Monitor Operation API)
246
+
247
+ subgraph crossplane [Operation Engine]
248
+ fn(Python Function)
249
+ end
250
+
251
+ ingress(Ingress API)
252
+ end
253
+
254
+ subgraph ext [External System]
255
+ cert(SSL Certificate)
256
+ end
257
+
258
+ user -- create --> operation
259
+ crossplane watch@<-- watch --> operation
260
+ crossplane -- read --> ingress
261
+ crossplane -- check --> cert
262
+ crossplane -- annotate --> ingress
263
+
264
+ watch@{animate: true}
265
+ ```
266
+
267
+ Operations support three modes:
268
+
269
+ * ** Operation** - Run once to completion
270
+ * ** CronOperation** - Run on a scheduled basis
271
+ * ** WatchOperation** - Run when resources change
272
+
273
+ You can use operations alongside composition and managed resources to build
274
+ complete operational workflows for your control plane.
275
+
276
+ Follow [ Get Started with Operations] ({{<ref "../get-started/get-started-with-operations">}})
277
+ to see how operations work.
278
+
279
+ {{<hint "note">}}
280
+ Operations are an alpha feature available in Crossplane v2.
281
+ {{</hint >}}
282
+
226
283
### Package manager
227
284
228
285
The Crossplane package manager lets you install new managed resources and
0 commit comments