Comments (30)
Hi tintoy,
of course. Thanks for the fast response. If you need help or suggestions, don't hesitate to ask.
Cheers,
Andy
from dotnet-kube-client.
Will do so
from dotnet-kube-client.
No problem. Take the time you need. Private life has priority.
If you have any comments or change requests, just let me know. Then I can adjust this.
from dotnet-kube-client.
FYI, since you reference the preview version.
Netcore 2.1 has been released yesterday.
from dotnet-kube-client.
Hi! I'd love to help you guys out - can you give me a day or so to think about the best way to do this?
from dotnet-kube-client.
(adding interfaces should be easy enough to do, but I just want to make sure that they will interact well with the client API's use of extension methods)
from dotnet-kube-client.
Ok, will put together a prototype this morning; would you be willing to install the new package from a myget feed and try it out once it's ready?
from dotnet-kube-client.
Ok, I'm working on this but there are a couple of places where the KubeApiClient
/ IKubeApiClient
abstraction leaks a bit; I'll keep playing around - just want to make sure the API winds up being consistent :)
from dotnet-kube-client.
Can you give this version a go:
https://www.myget.org/feed/dotnet-kube-client/package/nuget/KubeClient/2.0.0-interfaces0129
from dotnet-kube-client.
(had to break binary compatibility because of inheritance changes)
from dotnet-kube-client.
The package does not seem to exists.
from dotnet-kube-client.
Oops, sorry! Do you mean you can't view that page or you can't install the package?
You'll need to add that feed to nuget.config if you haven't already (the feed URL is listed in the README). Sorry for the late reply BTW, for some reason I missed the notification email.
from dotnet-kube-client.
No problem. I've already added the feed URL. But the package cannot be found. Besides that, the package isn't listed at https://www.myget.org/feed/dotnet-kube-client/package/nuget/KubeClient
from dotnet-kube-client.
That's bizarre! It was visible right after the build but seems to have gone missing. Let me check the archive settings for that feed...
from dotnet-kube-client.
I've retriggered the latest build - can you try installing once it's complete? I think myget is archiving the package because it's never been downloaded...
https://travis-ci.org/tintoy/dotnet-kube-client
from dotnet-kube-client.
(the real problem is that gitversion has decided to use an older version prefix which made the package eligible for archiving). I'll fix that when I get home tonight but in the meanwhile that new build should do the trick (package version will be in the build log). Sorry, but I'm posting this on my phone at the moment :)
from dotnet-kube-client.
Yep, will do so.
from dotnet-kube-client.
BTW, will add interfaces for specific resource clients first thing tomorrow morning (I'm in AU).
from dotnet-kube-client.
Oops! Small screen on my phone :)
from dotnet-kube-client.
The introduced interfaces looks good. I've made some adjustments to your feature branch to provide more abstraction, especially for unittesting for the KubeClient itself and to be compliant to the Single Responsibility Principle
The major changes are targeting netstandard2 (needed for IOptions) and refactoring the KubeApiClient as you can see in the commits.
You can have a look at the changes here: https://github.com/tintoy/dotnet-kube-client/compare/feature/interfaces...AndreasBieber:feature/interfaces?expand=1
If you're okay with that, I'd do a PR (including unit tests).
Cheers,
Andy
from dotnet-kube-client.
Awesome, thanks! Will give this a look as soon as I get to my computer :)
from dotnet-kube-client.
There are a fair number of changes in here (many of which I want to merge regardless) - do you mind if I use this weekend to properly review them? I've just started a new job which is taking up a lot of my time and I want to give this the attention it deserves :)
from dotnet-kube-client.
(I'll also add interfaces for the resource clients, e.g. IPodsV1Client
) which will make mocking a lot easier for consumers of this library (no need to mock HttpClient
then)
from dotnet-kube-client.
Thanks - and thanks for taking the time to contribute!
from dotnet-kube-client.
I'm still going to have a proper look at this over the weekend but I've at least made an initial pass at reviewing the changes (have left some comments, keen to hear what you think).
I definitely like the idea of an injectible factory, so it'd be good to open a PR for that regardless. Some of the other changes may break existing clients, so we might need to have a closer look at them.
Thanks again for taking the time to produce this contribution, I appreciate it :)
from dotnet-kube-client.
In the meanwhile, the latest set of interface-related changes are now in packages for version 2.1.0-interfaces0056
if you want to have a play with them.
from dotnet-kube-client.
522b9e6 😁
from dotnet-kube-client.
Sorry to keep you waiting @AndreasBieber, it's been a busy start to the week, but I'll be publishing a build this morning that will hopefully at least unblock you in terms of being able to mock the client for tests (the client can be used and resolved purely via interface if required)!
As for the client factory and other ideas we've been discussing, I'll keep working on porting that stuff over. I'll create a new branch and if you can then open a PR against that branch I'll pull your changes in (want you to get credit for them) and then cherry-pick into master as appropriate. Sound fair? :-)
from dotnet-kube-client.
Ok, v2.1.2 has been published to NuGet (it may take up to an hour for that new version to become visible). It's also available immediately on the MyGet feed.
from dotnet-kube-client.
Great! We will evaluate this next week I guess. Regarding the PR---will do so. Thanks for all
from dotnet-kube-client.
Related Issues (20)
- Project direction / contributions HOT 7
- How is the ApiEndPoint configured for this parameter HOT 5
- Can I debug and load configMap locally? HOT 26
- IEventClientV1 fails to convert time value HOT 15
- Error while trying to create HorizontalPodAutoscaler with DynamicResourceClient HOT 7
- Aysnc methods on resource clients do not use standard Async naming conventions HOT 3
- Access full details of STATUS column from "kubectl get pod" HOT 1
- No authentication needed for url HOT 2
- KubeClient.Models.ObjectMetaV1.Annotations Should not be read-only
- Metadata doesn't get built for write-only models HOT 3
- WatchAll is missing for some resources HOT 4
- Field selectors for pods not implemented HOT 6
- Credential Plugins (AKS / AAD) Support HOT 1
- Detect current Pod namespace HOT 4
- Cannot find resource API for kind for Istio CRD HOT 6
- Upgrade to a newer version of YamlDotNet HOT 1
- CVE-2018-8292 | System.Net.Http HOT 2
- ExecAndConnect example yields 403 Forbidden HOT 1
- Cannot get output when using ExecAndConnect HOT 3
- Periods in ConfigMap keys get replaced by colons without any possibility of escape. HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dotnet-kube-client.