这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@josegonzalez
Copy link
Member

Something that has been a long time coming, but here are official dokku datastores.

Note that all have been marked as beta (because they are!) and their implementations may change wildly. All plugins appear to work fine under docker 1.7. I plan on formalizing a release process for each, as well as guiding their development.

All plugins use the official docker images, and I do not intend to change this. Their interface should stay the same, and in fact the diffs between each plugin should be quite minimal.

One thing I plan on noting in the documentation is that these datastores do not provide any sort of backup solution, and it is up to the developer to implement such a thing for their system (if their data is important enough).

All plugins roughly meet the spec proposed by @miraculixx in #854, with a few changes:

  • Added a service:unexpose command, to remove any exposed ports.
  • Added a service:alias command, which allows users to change the alias in use by a service.
  • Changed service:delete to service:destroy, to match how the core works/
  • Services store their data in /var/lib/dokku/services/DATASTORE/SERVICE_NAME instead of the home directory.
  • Usage of the docker-args pluginhook instead of the dokku:link plugin, to reduce dependencies.

Available datastore plugins

TODO:

  • Add mongo plugin.
  • Add rabbitmq plugin.
  • Add rethinkdb plugin.
  • Finish implementation of expose/unexpose.
  • Ensure services come up on server reboot.
  • Document the services command structure and inner workings

Affexted existing datastore maintainers /cc @Kloadut @ohardy @hughfletcher @jlachowski @jeffutter @Flink @luxifer @sekjun9878 @robv @blag

@Flink
Copy link
Contributor

Flink commented Aug 24, 2015

@josegonzalez Great work it seems! :) There is a typo in your comment, the Postgres link points to the redis plugin.

So about community plugins, what does this mean exactly? I suppose they will be deprecated when those plugins won’t be in beta anymore?
Do you need help? Do we need (as current community plugins maintainers) to merge our work with yours?

@josegonzalez
Copy link
Member Author

Fixed the typo.

I think that we should probably combine forces. If a community plugin maintainer wants to step up and help out with a particular plugin, then I'm all ears. If a developer wants to maintain their own, thats fine too.

The beta thing is there so that people don't instantly flock to them when they have working installations with the existing plugins.

@josegonzalez
Copy link
Member Author

If any existing maintainer would like to join the team for a plugin they currently maintain, let me know and I will add you. I'd like to reduce the amount of work the you all are doing and provide a great experience for our community :)

(@Flink I added you to the plugins)

@Flink
Copy link
Contributor

Flink commented Aug 24, 2015

@josegonzalez thanks, I just joined! 😁
So yeah I think also that we should join forces ;) I’ll still maintain my own plugin for now but I could start to help on the postgres plugin.

How do we proceed?

@josegonzalez
Copy link
Member Author

If you'd like to prototype any of the two remaining tasks on one of the plugins, that would be great. I can do the service writeup. Once that's all done, we merge this branch and are off to the races :)

@Flink
Copy link
Contributor

Flink commented Aug 24, 2015

Ok great. I’ll have to read/understand your code first so I won’t break anything 😁
I’ll try to have something this week.

@michaelshobbs
Copy link
Member

@josegonzalez love it man. I was just having the conversation about "official" datastore plugins on Friday with one of the Ops guys here.

@jeffutter
Copy link
Contributor

Great work! I am really excited to have an official, supported plugin. I maintain one of the mongo and postgresql ones and I don't use them much anymore so it will be really great to have officially supported ones that have more eyes on them.

I would be glad to help maintain the official mongo and postgres ones. I can review code and partake in discussions. However, I don't think I will be using them enough to contribute much code.

@jeffutter
Copy link
Contributor

Thanks! Also, from skimming the docs and the code. It looks like the official plugins support both n apps -> 1 db or 1 app -> 1 db or n apps -> n dbs. Correct? If so 👍

@josegonzalez
Copy link
Member Author

That is correct. Usage of the plugins is totally up to the user installing them. I hope that we stick to this for any further plugins, and that the only thing we do is allow users to easily customize their services :)

@josegonzalez
Copy link
Member Author

Labeling this as bc-break as it will superscede all existing plugins and more or less force our users to use the latest docker, which might break other plugins.

@msjyoo
Copy link
Contributor

msjyoo commented Aug 26, 2015

@josegonzalez Nice :D I'm guessing you would like us to put a redirect to the official dokku plugins for "combining forces"? I would be happy to contribute and provide feedback to the official repos, but I can't say I use it much anymore.

@hhff
Copy link
Contributor

hhff commented Aug 26, 2015

This is so great

@josegonzalez
Copy link
Member Author

@sekjun9878 potentially. Once they get merged in, I would, though that's up to you :)

I'll add you to the repos when I'm in my office.

@josegonzalez
Copy link
Member Author

I think the plugins are currently in a very good place.

  • All support both 0.3.x and 0.4.x dokku
  • Well-tested
  • Using latest versions of all datastores
  • With few exceptions, implement every action that makes sense.

@Flink up to you when we want to tag a 1.0. We should talk about what that workflow looks like (and document it) but otherwise I'm quite comfortable with these plugins.

josegonzalez added a commit that referenced this pull request Sep 15, 2015
Add links to official dokku datastorage plugins
@josegonzalez josegonzalez merged commit 48c6460 into master Sep 15, 2015
@josegonzalez josegonzalez deleted the josegonzalez-patch-1 branch September 15, 2015 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants