Giter Site home page Giter Site logo

Comments (3)

rm3l avatar rm3l commented on August 11, 2024

Notes from last meeting:

  • before the first version of the Operator is released, we need to support the case where Backstage Config is changed (but not CR), as this is a common use case to update an app-config ConfigMap. We should document that the user needs to restart the Backstage pod in case of a config change (until #74 is implemented).
    We also need to support the case where CR itself is updated (scope of this issue). This is part of the user workflow: installing RHDH, then updating CR to include their app-config files, dynamic plugins config and/or env vars..

from operator.

gazarenkov avatar gazarenkov commented on August 11, 2024

@rm3l
I probably missed that (being on PTO)

we need to support the case where Backstage Config is changed (but not CR)

Not sure I understand terminology here but I suppose it means changes in app-config's (and extra) ConfigMaps etc, right?

I think we need carefully investigate the cases and understand and document limitations.
For example, as I understand https://kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically it says it will be refreshed, but not for env variables and "A container using a ConfigMap as a subPath volume mount will not receive ConfigMap updates."

I would like we investigate, understand and document these limitations (what is supported by K8s and what we need to take care in the Operator) before we make a decision about making it supported user-friendly way.

Meanwhile, I agree, we need to mention that all the configuration changes "guaranteed" only after Backstage resource reconciliation (pod deleting or down/up scaling of replicas would be sufficient I guess)

from operator.

rm3l avatar rm3l commented on August 11, 2024

@rm3l I probably missed that (being on PTO)

we need to support the case where Backstage Config is changed (but not CR)

Not sure I understand terminology here but I suppose it means changes in app-config's (and extra) ConfigMaps etc, right?

Yes, that's the (quite common) use case Tomas mentioned: making changes to app-config should be handled by the operator.

I think we need carefully investigate the cases and understand and document limitations. For example, as I understand kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically it says it will be refreshed, but not for env variables and "A container using a ConfigMap as a subPath volume mount will not receive ConfigMap updates."

I would like we investigate, understand and document these limitations (what is supported by K8s and what we need to take care in the Operator) before we make a decision about making it supported user-friendly way.

Meanwhile, I agree, we need to mention that all the configuration changes "guaranteed" only after Backstage resource reconciliation (pod deleting or down/up scaling of replicas would be sufficient I guess)

Indeed, Tomas said that we are not sure Backstage would be able to hot-reload itself upon configuration changes; so we would need to restart Backstage even if K8s automatically refreshes the mounted files.

I agree we need to investigate. #74 includes a research part to evaluate this. That's why we broke down the parent Epic (#12) into two cases (updates to the CR itself vs updates to resources linked to the CR).
For now, we'll document how to "restart" the Backstage resources upon configuration changes (that's what I documented in #118 - deleting the Backstage Deployment makes the operator recreate it with the updated information).

from operator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.