diff --git a/content/en/flux/installation/_index.md b/content/en/flux/installation/_index.md
index f95064d47..2bc60e012 100644
--- a/content/en/flux/installation/_index.md
+++ b/content/en/flux/installation/_index.md
@@ -111,6 +111,26 @@ and configures the controllers to sync the cluster(s) state from a Git repositor
Besides installing the controllers, the bootstrap command pushes the Flux manifests
to the Git repository and configures Flux to update itself from Git.
+```mermaid
+sequenceDiagram
+ actor me as admin
+ participant cli as Flux
CLI
+ participant kube as Kubernetes
API server
+ participant flux as Flux
controllers
+ participant git as Git
repository
+ me->>cli: 1. flux bootstrap
+ cli-->>git: 2. push install config
+ cli->>kube: 3. install controllers
+ cli-->>git: 4. set deploy key
+ cli->>kube: 5. set private key
+ cli-->>git: 6. push sync config
+ cli->>kube: 7. apply sync config
+ git-->>flux: 8. pull config
+ flux->>kube: 9. reconcile
+ kube->>cli: 10. report status
+ cli->>me: 11. return status
+```
+
If the Flux controllers are present on the cluster, the bootstrap command will perform
an upgrade if needed. Bootstrap is idempotent, it's safe to run the command as many times as you want.