Skip to content
This repository has been archived by the owner on Aug 2, 2023. It is now read-only.

Stack controller appsody/odo mode #747

Open
kaczyns opened this issue Jun 2, 2020 · 0 comments
Open

Stack controller appsody/odo mode #747

kaczyns opened this issue Jun 2, 2020 · 0 comments

Comments

@kaczyns
Copy link
Member

kaczyns commented Jun 2, 2020

This is a child of issue #647.
There is a desire to have the stack controller be in appsody mode or odo mode. The stack controller would only be able to read from the repository type that it is configured for.

Some thoughts about how this can be accomplished (not meant to be demands, just ideas):

  1. It would be good if the stack controller did not have to read the Kabanero CR to figure out what mode it's in. The stack controller has no need for the Kabanero CR today.
  2. One option would be to have the kabanero controller set an environment variable (or some other mark) on the stack controller pod to tell it what mode it should be in. The stack controller can then refuse to act on Stack CRs that are in the wrong mode.

The Kabanero controller will determine what mode the stack controller should be in, by looking at the repositories configuration in the Kabanero CR instance. If there are no repositories configured, it's in odo mode, and if there is at least one repository configured, it is in appsody mode. The reasoning behind this decision is that odo mode will only support a Gitops style configuration where the Stack CR instances are applied from a Gitops repository, rather than being created by the kabanero controller as it is reading a stack hub index.

Care must be taken to ensure the kabanero controller doesn't try to delete Stack CR instances created by the Gitops repository when it is in odo mode. The Stack CR instances created by the Gitops repository should have desiredState: active set in the Stack CR instances. This should cause the Kabanero controller to ignore those instances. We'll need to verify that is the case at some point.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant