2021-01-22 09:30:56
• Users may have configurations they may want to keep separate.
• The docker implementation will need it to clearly and explicitly define storage.
GitHub
2021-01-22 09:35:17
I marked it a higher priority simply because I'm in a mood to spend more time on it. :)
Clueless
2021-01-22 16:56:37
just don't break my docker installs. :wink:
Fireduck
2021-01-22 17:16:08
be aware that when you declare a VOLUME, it’s then sealed in the build context and can only be manipulated in the runtime context
Rotonen
2021-01-22 23:37:37
@Rotonen did I do something incorrectly?
`The docker run command initializes the newly created volume with any data that exists at the specified location within the base image. For example, consider the following Dockerfile snippet:`
Clueless
2021-01-22 23:39:39
not parsing what you ask
Rotonen
2021-01-22 23:41:15
i mean
```...
VOLUME /foo
RUN touch /foo/bar.txt
...```
and the volume will not containe bar.txt at runtime, only at build time
Rotonen
2021-01-22 23:44:03
ah, yeah, I always specify volume last.
"set things up"
"run configuration"
Clueless
2021-01-22 23:46:02
from time to time i see people trip up on that as it's not the most intuitive
also from time to time i see people abuse that, as it's convenient
Rotonen
2021-01-22 23:46:58
How do you think configuration should be handled?
Clueless
2021-01-22 23:47:06
I don't like just outright overwriting files.
Clueless
2021-01-22 23:47:29
define 'configuration'`?
Rotonen
2021-01-22 23:48:08
My thinking is:
load_config_file
override_with_env_variables
override_with_cli_arguments
-> /tmp/conf and run against the conf
Clueless
2021-01-22 23:48:28
oh - that, yes, that's sane and common
Rotonen
2021-01-22 23:48:53
just don't roll your own, there's plenty of preexisting work on that
Rotonen
2021-01-22 23:48:57
The idea being I'm specifying sane docker defaults for each component, but also I never want to overwrite the user's files for them.
Clueless
2021-01-22 23:49:28
if you want to look at something well done for inspiration, ZConfig is a python classic on that front
Rotonen
2021-01-22 23:50:30
well, I tend to roll my own for easy simple and minimal usage.
load config file keys as -> `SNOWBLOSSOM_key=value`
override with env vars -> `SNOWBLOSSOM_key=value`
-> /tmp/conf as key=value
Run component /tmp/conf
Clueless
2021-01-22 23:51:08
there's a lot of value to picking up and sticking to a generalized solution
Rotonen
2021-01-22 23:51:09
There is already a mechanism to override config values via environment
Fireduck
2021-01-22 23:52:29
https://github.com/fireduck64/duckutil/blob/master/src/ConfigFile.java#L18 ```
if (get("env_override_prefix") != null)
```
Fireduck
2021-01-22 23:54:09
by heritage i can only assume java also comes out of the box with a hypergeneralized configuration scheme thingamabob
Rotonen
2021-01-22 23:54:45
Yeah, iceleaf uses that
Fireduck
2021-01-22 23:55:43
i was wondering what made you use the windows registry - seems you did not have to actually do anything - very good
Rotonen
2021-01-22 23:57:50
With the env_override_prefix, you set that to something like snownode_
Fireduck
2021-01-22 23:58:21
Then you can override the db path with and env variable like snownode_db_path
Fireduck
2021-01-22 23:58:50
Works for everything that takes a config file
Fireduck
2021-01-22 23:58:55
Not iceleaf
Fireduck