docker: make settings fully configurable via env vars#3873
docker: make settings fully configurable via env vars#3873muxator merged 6 commits intoether:developfrom
Conversation
|
Wow, nice work, thanks! In the weekend I'll test it and merge ASAP. |
|
Yeah! Very nice! Thank you so much 🎉 🙌 |
|
What is wrong with the CI tests? |
|
Now that #3744 is merged I'll have to do a small rework. |
|
@muxator I've updated the PR to include the skin variants. |
Now every setting in the official Etherpad container will be configurable via environment variables.
Thanks, it's not common seeing such attention. Really appreciated. |
412d66c to
a7ddf26
Compare
I am going to split this in a dedicated commit immediately before your change. |
a7ddf26 to
1140daf
Compare
| if (stringValue === "null") { | ||
| /* | ||
| * There is already a way of setting a default value to null, and it is | ||
| * by using the syntax ${VAR_NAME}. This allows to use ${VAR_NAME:null} as | ||
| * well. | ||
| */ | ||
| return null; | ||
| } |
There was a problem hiding this comment.
I have split this modification in a dedicated commit (55dd44c) and tried to document it.
However, I am not sure if it's better to include this or not, because it introduces an edge case (the string "null" would become special, and a crazy admin would no longer be able to call his user "null").
In theory, there is already complete syntactic support for "null" values without introducing special strings. See for example:
On the other side, I understand that ${VAR_NAME:null} is more explicit than ${VAR_NAME}.
My questions for you are:
- did you introduce this snippet because the documentation was not evident enough? In this case, I would prefer to drop this change & improve the documentation;
- or did you do it because you were aware of the existing support but found it uncomfortable? In this case, let's discuss. I do not like the edge case, but user ergonomics is important.
There was a problem hiding this comment.
Super useful PR. I have a doubt about introducing coercition of ${VAR_NAME:null}, since we already support it via ${VAR_NAME}.
I'd prefer to improve the documentation without introducing a potential brittleness. But I understand the proposed syntax may seem more ergonomic.
…"${VAR_NAME}"
Using "${VAR_NAME:null}", instead, would define the literal string "null".
…parameters No functional changes. This is in preparation of a future commit by Paul Tiedke.
|
I am going without introducing the coercition I am adding this snippet in The |
4065d0b to
c7a3ba5
Compare
…lude every single variable a driver may want
In this way, we also gain an explicit place for the default setting (still not filled in). No functional changes. This is in preparation of a future commit by Paul Tiedke.
c7a3ba5 to
a259c5b
Compare
|
Mentioned in |
|
This PR is really useful. Many thanks for taking the time to prepare and update it. Pulled in. |
|
@sapkra: I have discovered that the documentation generator that Etherpad uses (https://github.com/markedjs/marked) is an ancient version, and does not render Markdown tables at all. See what happens to your wonderful docker documentation: Updating the library helps, but it's still horrible: I stumbled on this issue while working on another documentation PR (#3921). If you are willing to help, you are welcome to drop a line there. |
|
Sorry but I have to say that I'm not even using etherpad yet. But I may will in the future and will create a few PRs then. I just created these PRs to cleanup the docker-jitsi-meet repository a bit. |
|
Ok no problem, thanks! Consider this just a follow-up while we are moving towards the release. |
|
Maybe you can use something like docusaurus 2.0 to prettify the docs and/or website. |
This change is needed because in 1.8.3 we are going to introduce Markdown tables in the documentation (#3873 and #3921), and the old marked version did not support generating them. Instead of committing the marked source code here, we live install from npm if needed via the Makefile. n.b.: at the time of this change, marked latest version is 1.0.0, released a few days ago. I am updating to the version immediately before that (0.8.2), because in 1.0.0 the hyperlinks in the Table of Contents do not work (probably a bug in that version).


nullusing env varsPlease note: I was not able to test everything. Theoretically everything should work.