-
Notifications
You must be signed in to change notification settings - Fork 134
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
ContainerPilot v3.0 Roadmap #283
Comments
@tgross Is the new unix socket based control plane still in need of dev? I thought your spec was extremely straight forward and would like to take a crack at it. |
@cheapRoc I'd love to have a contribution from you on this. I'll be able to work on some of the configuration work in parallel to that. I'd recommend opening a PR early so we can chat about the work and you can get any questions answered quickly. I have an internal timeline that I'm working under which has plenty of room in it but if things are going to get stalled as other work comes up please feel free to reach out and I'll carry the PR if we need to. |
First pre-release with current work-in-progress https://github.com/joyent/containerpilot/releases/tag/3.0.0-dev |
Sounds good to me. I'll try and init the PR later today. |
I've been working thru the implementation details and there's a good chance this will have to be atomic if we want to do it sanely. That's my next major task. |
Work on the control plane/socket has initiated over at #289. |
#290 has been merged, which messed up the order of operations a bit with this roadmap. I was really hoping to wait to refactor how the config stuff is tested until we did the big config update, but swapping out the underlying mechanism for running services and health checks made this too hairy -- we'd end up having to do the work twice. Coming up next:
|
It makes perfect sense to iron out and refactor the work from #290 then continue pursuing extra 3.0 features like control plane. I've started integrating my first PR and will open a second now that I'm based on top of an updated master. |
@cheapRoc I want to make sure you know we'd be happy to take a PR that implements only a subset of the control plane and leaves "dummy" handlers for the rest. Your call, but please don't feel obligated to take it all on at once! 😀 |
Another note: I've split the |
@tgross Fair enough. I realized the spec was still in draft so I also thought of releasing this iteratively. I'll wrap up the server init again, cut a new PR, and we can move forward with that. |
Posted the latest rework into PR #300, closed the old PR. |
I'm going to close this as all the checklist items here are done. I'm in the process of testing and debugging and documenting now. |
RFD86 for ContainerPilot 3 has a lot of moving parts, so this issue is an attempt to set up an order-of-operations on what needs to be done. This includes parallel testing of each phase of work using the Consul, MySQL, and Nginx Autopilot Pattern blueprints.
remove live Consul server dependency for unit tests (mock it out except for integration tests)(Not entirely removed but the situation is improved: Use Hashicorp testutil for testing vs Consul API #286)go get
-able) (Improve development environment #282)onStart
, special chars in service names, etc. (Remove deprecated features #284)RunWithTimeout
to simplify and reduce test surface for remaining workMySQLblueprints to use this (no config changes, just testing)MySQLblueprints to use this in their hooksMySQLblueprints to use this in their configsMySQLblueprints to use this in their configs (moving main app into a service stanza)MySQLblueprints to use this in their configsThe Mariposa status endpoint can be added at any point along the way once the spec for that is better-defined.
We'll want to ship pre-release versions of this so we can test it out with Nginx, Consul, and MySQL blueprints without having to bump the major version of ContainerPilot n times along the way as we add new major backwards-incompatible features as per the RFD.
So we will tag releases as
3.0.0-dev
(and ultimately3.0.0-rc1
,3.0.0-rc2
, etc.) until we make the big config syntax change at the end of this window. And we can have a similar split for the Nginx, Consul, and MySQL repos during this window.The text was updated successfully, but these errors were encountered: