Administrator
|
On 19-08-17 17:50, paroga [via foodsoft] wrote:
Doing system updates inside a container is the complete wrong way. You ALWAYS regenerate the whole container. Building is usually automated, e.g. on Docker hub. Okay, that's clear :) Sounds good. Would be great to have docker-compose auto-deploy on repository change. Do you have that running? I would be interested. What do others think, is this a good setup?I can add this to the sample docker-compose too, if there is an interest. This brings up a new question: how do we manage database credentials for each foodcoop? I currently give each coop its own database user for security. So then we'd generate a new environment variable with a password for each new coop.app_config.yml is a configuration file, which should be version controlled. So a Docker volume is the wrong way IMHO. What kind of sensitive data do you see in the app_config.yml? In Austria we pass our database passwords via environment variables. So no sensitive data is stored in the file. There are also mail and physical addresses in the config file, which might be privacy sensitive. Because these can be set in the admin interface, it could be omitted in app_config. (Though I do like to have contact details from all foodcoops, perhaps they can be stored elsewhere/otherwise.) I do like to make as much as possible publically viewable :) - Willem |
Administrator
|
No, I didn't have the time to set it up until now. I created a small demo project (didn't test it) to show the basic idea of how we do it in Austria: https://github.com/paroga/foodcoops.net Do we need different passwords? I see the benefit of having different users to prevent switching the database via an SQL injection, but what additional security do we get out of different passwords? I'd keep app_config.yml as small as possible. Foodcoops move to different locations, change their contact information and maybe someone will update it in the admin interface, but nobody will updated that information in the app_config.yml, since there in no functional difference. So I would avoid it completely. |
Administrator
|
On 20-08-17 21:50, paroga [via foodsoft] wrote:
Ok, this could be part of https://github.com/foodcoops/foodcoops.net/issues/5No, I didn't have the time to set it up until now. Awesome, I've forked it to foodcoops (letsencrypt pending - https://github.com/foodcoops/foodcoops.net/issues/1 ).I created a small demo project (didn't test it) to show the basic idea of how we do it in Austria: https://github.com/paroga/foodcoops.net Certificates should definitely on a volume. If you use a different container, I suppose you're forwarding .well-known to that in haproxy? Good point. I would even consider one account per instance (could even get rid of the db reconnect call when selecting a different foodcoop if db details don't change), what do you think? I would like to give foodcoops only read access to the sharedlists databases, so sharedlists should certainly have different connection details (and preferably a different password, but that's a different container anyway).Do we need different passwords? I see the benefit of having different users to prevent switching the database via an SQL injection, but what additional security do we get out of different passwords? Agree. Then we can make app_config.yml public as well.I'd keep app_config.yml as small as possible. Foodcoops move to different locations, change their contact information and maybe someone will update it in the admin interface, but nobody will updated that information in the app_config.yml, since there in no functional difference. So I would avoid it completely. I'm happy that step by step there's more clarity on what needs to be done (at least for me). Please see the first milestone in the foodcoops.net repo - https://github.com/foodcoops/foodcoops.net/milestone/1 Anything important missing? Next step would be to work on this collectively! - Willem |
Administrator
|
Looks promising. Where do you need help?
|
Administrator
|
On 12-09-17 18:47, before [via foodsoft] wrote:
> Looks promising. Where do you need help? All of those in https://github.com/foodcoops/foodcoops.net/milestone/1 It would be great if we can divide the tasks across the team. If you start with something, self-assign the issue so others know you're working on it (and unassign if you're moving on to something else). And if you have an idea, already know how to implement something, or a relevant question, leave a comment (on any issue). I think we could work together like this, loosely but with clarity. - Willem |
Free forum by Nabble | Edit this page |