Skip to content

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