Workflows
Enabling a service in the CatalogItem
CR
flowchart LR
startNode((START))
startNode --> catalogCR{Exists catalog CR?}
catalogCR -- no --> createFile
catalogCR -- yes --> openEdit
subgraph createCR[create catalog CR]
createFile[Create file with catalog CR specification] --> enableSvc
enableSvc[Set enable field to true for services] --> saveFile
saveFile[Save changes in file] --> applyCR
applyCR[Apply file into shoot cluster 'kubectl apply -f yourFile'] --> endNode
end
subgraph editCR[edit catalog CR]
openEdit[Edit deployed CR 'kubectl edit catalog catalog'] --> setEnable
setEnable[Set enable field to true for services] --> saveCR
saveCR[Save changes] --> endNode
end
endNode((END))
Disabling a service in the CatalogItem
CR
flowchart LR
startNode((START)) --> openEdit
openEdit[Edit deployed CR 'kubectl edit catalog catalog'] --> setDisable
setDisable[Set enable field to true for services] --> saveCR
saveCR[Save changes] --> endNode
endNode((END))
Deleting CatalogItem
CR
flowchart LR
startNode((START)) --> areSvcDisabled
areSvcDisabled{Are services disabled?}
areSvcDisabled -- yes --> deleteCatalog
areSvcDisabled -- no --> disableSvc
disableSvc[Disable all services in catalog] --> waitForReconcilation
waitForReconcilation[Wait for reconcilation] --> deleteCatalog
deleteCatalog[Delete catalog] --> endNode
endNode((END))
Updating deployed service operators in a shoot cluster
The controller-shoot fetches the available helm charts for the configured release channel (see release channel docs) from the local storage periodically and checks if the deployed service operators can or must be updated.
flowchart TB
subgraph controller-shoot[Controller shoot]
trigger>Every 15 minutes]
trigger --> diff1[Compare installed operator <br> version with available versions]
diff1 --> newVersions{New versions <br> available?}
newVersions -- no --> endNode((END))
newVersions -- yes --> deprecatedFlag{useDeprecatedFlag <br> active?}
deprecatedFlag -- yes --> versionSupported{deployed version <br> still supported?}
versionSupported -- no --> upgrade
versionSupported -- yes --> endNode
deprecatedFlag -- no --> upgrade[Upgrade Operator Version]
upgrade --> endNode
end