Skip to content
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

Moving forward with Docker.DotNet / Contributions #143

Closed
galvesribeiro opened this issue Jan 8, 2017 · 16 comments
Closed

Moving forward with Docker.DotNet / Contributions #143

galvesribeiro opened this issue Jan 8, 2017 · 16 comments

Comments

@galvesribeiro
Copy link
Member

Hello guys,

I'm using this library today but I'm struggling to decide if I should keep it or start one on my own.

The major reason is the number of old and open issues so I don't know the size of the commitment on keep this library updated.

I want to contribute to it by doing the following improvements:

  • Migrate projects to new MSBuild-based tooling
  • Add test projects so we can have a CI (given that on README there is a mention that a private instance will be provided so the tests can run against it)
  • Make all stream events (from Monitoring or long running methods) to report progress instead of Stream (by making them return Task and notify by IProgress<T>.Report(T) or make them return IObservable<T>)
  • Add support to all missing Swarm APIs
  • Fix some wrong/unnecessary types like in Filters

If those items make sense and the PRs for it would be (after review ofc) accepted, I'll do them otherwise, please let me know if there is no interest on support those items and I'll roll it on my own.

Thanks!
Best regards

@jterry75
Copy link
Contributor

jterry75 commented Jan 9, 2017

@galvesribeiro - Thanks for your interest in the repo. We are more than happy to take your contributions as they come and incorporate them into our project. Many of the items you listed above already have tasks associated with them but were not a high priority. Let me outline some of them so you can understand the reasoning but if you are willing to contribute I am happy to review/add where we can.

  • Migrate to MSBuild -> Absolutely, this just isn't released yet so not a huge priority over dotnet cli as is.
  • Add tests -> No problem that sounds great. Mostly this project is to aid in our cmdlets Docker-PowerShell which do have tests so we didn't add more here. But this is a good idea for better unit style tests.
  • Stream events -> Task 108 lets do it!
  • Swarm API's -> Task 119. The reason this isnt a high pri for us is because again, we are using this for Docker-PowerShell. But happy to have this library be bigger than what we need there. If you want to write the endpoints I can get the models updated.
  • Filters -> These are an absolute trick in Docker how they do them. Open for ideas.

Feel free to add any other items to the list or open issues. Happy to tackle them as we can.

@galvesribeiro
Copy link
Member Author

@jterry75 Great to hear that! :) The initial use case is for Microsoft Orleans. We are building a cluster membership provider for it that uses docker so I need Swarm objects in the library.

The second use is a new Orchestration engine (like swarm and kubernetes) that I'm working as a side project which will use Orleans and Docker.DotNet.

Regarding the task I agree with all them, and will engage on each one right after we get the new tooling stuff merged, since it is a blocker for me (I can't open the old projects here).

If you want to write the endpoints I can get the models updated.

Please do, I'll be working on it as soon as we get that netstandard PR done.

Thanks! Glad to know people are alive here!

@jterry75
Copy link
Contributor

@galvesribeiro - Take a look at branch: docker-v1.13.0. This has the updated models. If you add the swarm API's here we can merge them all at once. Let me know if anything is missing.

@galvesribeiro
Copy link
Member Author

@jterry75 ok thanks. So basically I should create a branch from that branch with the models and submit the PR against that same, right?

@jterry75
Copy link
Contributor

Yep. My workflow is typically to create a topic branch from master and then submit PR's that way. But because Docker is not done with v1.13 (they are in RC5) I dont want to mainline it quite yet. So just create a topic branch off of docker-v1.13.0 in your fork (you can even call it the same name). And then submit PR's from there. I will merge it if there are any final updates when docker goes RC5 -> finished.

@galvesribeiro
Copy link
Member Author

Ok good. For now let me first focus on the things that don't rely on those RC code. First finish that MSBuild thing, and later the streams and filter. After that complete the tests and then we get to swarm. Hopfuly it will be finished by.

@jterry75
Copy link
Contributor

@galvesribeiro - Also just merged your MSBuild work into the docker-v1.13.0 branch so you have the latest there too.

@galvesribeiro
Copy link
Member Author

Thank you @jterry75. Let me finish this progress issue in main branch and when I start the swarm one, I'll move to that branch and PR against it. Thanks

@jterry75
Copy link
Contributor

@galvesribeiro - Want to take a stab at some first tests? Or the filters work you had ideas on? I will try to get the rest of Services/Nodes API's in the works

@galvesribeiro
Copy link
Member Author

When you merge 1.3 to master I'll go thru the filters.

@jterry75
Copy link
Contributor

@galvesribeiro - Just added #157, #158, #159 to finish what I think is the complete swarm API but the majority of the functions are there now. Can we close this and just track those or are there other outstanding requests we need single items for?

@galvesribeiro
Copy link
Member Author

@jterry75 do you need my help on those or you will takle it yourself?

According to the new API 1.25, need only Volumes and Network if I understood correctly.

Btw, once that is complete, I'll put Docker.Net here https://docs.docker.com/engine/api/ on their SDK pages. Already spoke with some docker guys.

@jterry75
Copy link
Contributor

@galvesribeiro - Added all of the sections as issues that were missing from documentation as well as updated any reorganization we need to make to better align with the docs. Please feel free to tackle any of these issues if you have the bandwidth.

As for Network we have INetworkOperations that has all the functionality, what am I missing?

@galvesribeiro
Copy link
Member Author

@jterry75 perfect! I'll check each one of the issues and make a PR for each...

Did you updated the models for 1.25?

Yes, lets close this issue as we are moving to the others.

Thanks!

@jterry75
Copy link
Contributor

Yep should be full v1.25 update. If anything is missing (because there were no references the generator will skip some of the types sometimes) I'll make some additions on just the GO side and you can tackle the C# side

@galvesribeiro
Copy link
Member Author

Perfect! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants