Skip to content

Commit 9558b87

Browse files
authored
docs: add external state tracking into FAQ (#2614)
* docs: add external state tracking into FAQ Signed-off-by: Attila Mészáros <[email protected]> * wip Signed-off-by: Attila Mészáros <[email protected]> --------- Signed-off-by: Attila Mészáros <[email protected]>
1 parent b2fb1ec commit 9558b87

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

Diff for: docs/content/en/docs/faq/_index.md

+18
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,24 @@ is `true` (`false` by default). To disable, set it to `false` at [Operator-level
7474
Operator operator = new Operator( override -> override.checkingCRDAndValidateLocalModel(false));
7575
```
7676

77+
### Q: I'm managing an external resource that has a generated ID, where should I store that?
78+
79+
It is common that a non-Kubernetes or external resource is managed from a controller. Those external resources might
80+
have a generated ID, so are not simply addressable based on the spec of a custom resources. Therefore, the
81+
generated ID needs to be stored somewhere in order to address the resource during the subsequent reconciliations.
82+
83+
Usually there are two options you can consider to store the ID:
84+
85+
1. Create a separate resource (usually ConfigMap, Secret or dedicated CustomResource) where you store the ID.
86+
2. Store the ID in the status of the custom resource.
87+
88+
Note that both approaches are a bit tricky, since you have to guarantee the resources are cached for the next
89+
reconciliation. For example if you patch the status at the end of the reconciliation (`UpdateControl.patchStatus(...)`)
90+
it is not guaranteed that during the next reconciliation you will see the fresh resource. Therefore, controllers
91+
which do this, usually cache the updated status in memory to make sure it is present for next reconciliation.
92+
93+
Dependent Resources feature supports the [first approach](../dependent-resources/_index.md#external-state-tracking-dependent-resources).
94+
7795
### Q: How to fix `sun.security.provider.certpath.SunCertPathBuilderException` on Rancher Desktop and k3d/k3s Kubernetes
7896

7997
It's a common issue when using k3d and the fabric8 client tries to connect to the cluster an exception is thrown:

0 commit comments

Comments
 (0)