Comments (3)
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.
@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 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)
- Permission issues on mounted Volumes for RHDH container HOT 6
- Helm releases HOT 6
- RFE: Add OpenShift OAuth as an authentication option OOTB HOT 1
- [Proposal] More user-friendly Sidecar containers support HOT 1
- Rolling deployment restart doesn't restart the pod HOT 4
- Generate and store the deployment manifest in the repo HOT 4
- Support k8s ingress HOT 2
- Make possible to configure the path for mounting extra ConfigMaps/Secrets individually HOT 1
- Improve Backstage CRD to simplify k8s runtime customization HOT 2
- Make options to define/generate app-config's baseUrls and backendSecret in CR HOT 2
- Potential breaking change between 1.1.x and main (1.2) for the default Route URL naming pattern
- Extra Config's CM/Secret references to particular Backstage instance even if it is deleted HOT 1
- Consider adding health checks for operator's kube-rbac-proxy container HOT 1
- Setting custom `spec.application.route.host` not working using the RHDH Operator on OpenShift, due to inconsistent permissions between downstream and upstream CSVs
- Generate CSV for RHDH HOT 2
- `spec.serviceName` field in local DB StatefulSet operand is hardcoded and not correct HOT 1
- Existing Backstage operand not upgraded (stuck on mounting a ConfigMap) after upgrading operator from 1.1.x to 1.2.x
- Make logic for testing the operator upgrade paths extensible
- Nightly check failed HOT 3
- Add the tests requiring real cluster to CI as a part of PR check HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from operator.