-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No way to reasonably customize core and horizon configuration files #469
Comments
In core's case, this might be done most easily by separating core configuration (which is key/value pairs) from quorum set configuration (which is a more complex set of structured data). |
Instead of quickstart, we are using this for soroban directly |
Hello, wanted to mention another alternative to consider in deployment, if it can leverage kubernetes, there are helm charts available, one for core, horizon, soroban-rpc here: https://github.com/stellar/helm-charts/tree/main/charts if kubernetes not an option, the manifests in those charts may still be good references for showing how to run the docker containers and the configurations. |
Absolutely; i used exactly that to do our own configs. |
I don't think quickstart is suitable for production environments. |
Yes, we do not recommend it for production environments, which is why issues like this tend to fall in priority and not get a lot of engagement. That said, I think we could do more to make that explicit/clear in the |
This issue is stale because it has been open for 30 days with no activity. It will be closed in 30 days unless the stale label is removed. |
In #487 we removed the instructions for customizing the image. The instructions weren't consistent with what was actually possible. The image isn't maintained in such a way that customizing is really practical. Changes to the images routinely break any customization. Very likely custom setups would benefit from setups such as what is being used here: #469 (comment). Please feel free to comment with alternatives if any occur. I'm going to close it since this aspect of the image is likely not to be improved. |
https://github.com/stellar/quickstart#customizing-configurations reads
We cannot deploy this way. We need a way to be able to reasonably configure every one of these files, but
/start
copy_defaults
does not copy any of the critical files if their corresponding/etc
dirs already exist (e.g. by providing a docker volume mount on the corresponding/etc
directory). This makes it impossible to build custom configurations without a ton of work.There should be a better way to merge the three following types of settings cleanly, and in the following order:
Many other programs provide various ways of doing this.
The ones that work the best are the ones where 2 and 3 are as minimal as possible, such that they only include the relevant differences from the default behavior.
The canonical way in many unix apps is by utilizing a
config.d/
directory, which has a number of configuration files, possibly prefixed by an integer, e.g.1-
or01-
or99-
etc. such they can be parsed in a deterministic order.Unfortunately, toml (let alone yaml/json) isn't very conducive to this approach.
Environment variables, however, are ideal for this as they are simple k/v pairs.
The hack of using sed to create toml files (from, say, a template) is one approach, but that requires that every possible user configurable option has a corresponding env var to go with it, which is probably impractical.
The text was updated successfully, but these errors were encountered: