We want to add a attribute “trace_format=json” in the configuration file of foundationdb in the K8S environment. It seems we need to modify the configmap of apple foundationdb operator.
We have designed an operator to invoke apple foundationdb operator, we don’t want to change apple foundationdb operator, we want to implement adding the attribute “trace_format=json” to the configmap by our operator. Is it feasible? Any suggestion? Thanks!
And I also wonder if there is any possible for us to modify the configmap of apply foundationdb operator dynamically? E.g if we want to modify the log file size or other parameter in the configuration file.
You simply have to add the
trace_format=json to the custom parameters for the process class: fdb-kubernetes-operator/operations.md at main · FoundationDB/fdb-kubernetes-operator · GitHub, the operator will add the knob to the ConfigMap and rollout that change. You should be able to change any parameter with that approach that affects fdbserver. For the second part of you question, you can set a ConfigMap in the cluster spec: fdb-kubernetes-operator/cluster_spec.md at main · FoundationDB/fdb-kubernetes-operator · GitHub those keys will overwrite any generated keys in the ConfigMap e.g. if you set a key
"running-version" with a value the operator won’t update that specific key. As you can see using this approach can break some assumptions in the operator and may lead to unexpected behaviour or the operator stuck in a reconciliation because the desired state can’t be reached. I would recommend not using this feature and instead make use of the custom parameter field, which should cover most of the use cases. If you have a specific use case in mind that is currently not covered by the operator please raise an issue with some information + an example about the missing piece.