-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[RFC] Consolidated dokku app and plugin configuration #1558
Comments
Overall I'm in agreement. Some questions and comments
|
I guess moving it to a separate binary would allow us to iterate on that quicker than we would on the config plugin. As well, handling input/output in bash is kind of annoying, and it would be nice to be able to use a higher-level language to handle this (not to mention it could also decrease the amount of logging output if we write it correctly). |
Interesting ideas as I think also that we need some sort of central repository for managing config. Indeed it needs to be versioned somehow with git for example. We need to have a way to bind a revision of an application config with a tagged image to be able to do rollbacks and things like that (like Heroku) :) Otherwise 👍 :) |
@josegonzalez so looking this over, I have a few questions:
Moving the location of the apps is simply handful of greps, is there an advantage to a new location or is it just to force adoption for thirdparty plugin authors? In the same line of light, excluding all backup abilities (manual or automated), what other advantages are gained by the dokku community with these changes? One less part written in bash is a good answer too. 😉 |
The advantage is separating all our config from the bare git directory, which allows us to both simplify backup/copies of applications, but also removes any doubt about what files go where. In the past we just never gave anyone any direction on where to put stuff, so shit has gone everywhere. |
I started giving this a good, hard look. I believe once the I'm not sure how data migration would work - maybe some sort of read-through layer that allowed us to fallback to a |
The way forward here is the |
Whats the status on this? Looking for a way to backup and restore my dokku apps,plugins and configurations. |
@mcohen9 Hi! Any "status" would likely be posted on this issue - either in the form of a comment, linked pr, or issue closure. As this is an open source project, any change in "status" to an issue will have to be contributed by our users - this includes you! - or project maintainers at their leisure. If you'd like to sponsor the work on this, it's probably ~20 hours of my time to move everything over to the new system, so feel free to email me if thats something you want to consider. As always, pull requests welcome! |
Open question: Where should application repositories be stored? |
@josegonzalez anything I could do to help? |
Biggest thing would be to see what files are being read from the |
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
…volume This simplifies cache referencing and also paves the way for removing more from the app git directory. Refs #1558
Update:
I'm going to try and move the ENV/docker options files and refactor the ip/port stuff in the next PR, after which we can close this issue as everything else is tracked separately. |
One thing we've been sorely lacking is a single way to refer and store configuration in the dokku world.
/home/dokku
/var/lib/dokku/services/SERVICE/
/home/dokku/.o_mysql
/home/dokku
Because of all the random ways in which data can be stored, there isn't exactly a simple way to save the state of an existing dokku installation. You can very easily push the container images to a registry and have backups occur from datastores, but actual config? Fffft.
Our
backup
plugin has been more or less ignored in the0.3.x
line - totally my fault - and i think we need to start getting serious about this.At one point, there was a note in a roadmap to store everything in a git directory. I think it's time we head down that road for 0.5.x.
generic spec
/var/lib/dokku/config
./var/lib/dokku/config/apps
- stores application data. Each application should get it's own directory, corresponding to the application name./var/lib/dokku/config/plugins
- stores plugin data. Each plugin should get it's own directory, corresponding to the plugin name.dokku-config
binary that is aware of the above paths and can interact with them.--app APP
flag, and can perform general crud actions against their own config.--plugin PLUGIN
flag. Ditto on crud actionsDOKKU_
prefix. For instance,DOCKER_OPTIONS_*
becomesDOKKU_DOCKER_OPTIONS*
. Inconsistent config files conventions #2199open questions
@Flink @michaelshobbs thoughts?
The text was updated successfully, but these errors were encountered: