Commit Graph

228 Commits

Author SHA1 Message Date
Frederik Carlier
9ae3cb38fc Fix build warnings in the StreamDemuxerTests (#259)
* Make sure StreamDemuxer.Start() returns immediately.

* Make MockWebSocket.RecieveAsync cancellable

* Fix staging
2019-03-20 08:53:04 -07:00
etchang
9bdaf132d4 Add bundle certificate support (#253)
* initial

* add some comments

* cleanup

* var

* Use X509Certificate2cCollection

* add missing asset files

* address comments
2019-03-11 06:39:28 -07:00
Boshi Lian
e0db2ae8bd add az pipepline yaml (#247)
* add az pipepline yaml

* use az pipeline versioning

* build on vsts condition
2019-03-04 16:12:39 -08:00
Brendan Burns
948d78c1bd Fix elliptic curve certs and add a unit test (#243)
* Fix a elipitic curve certs and add a unit test.

* Address comments.

* Change the key to be OSX compatible.
2019-02-27 10:45:21 -08:00
Boshi Lian
406df57f9d pretend to support chain (#245) 2019-02-15 11:57:24 -08:00
itowlson
9f1669b0cb Fix up YAML serialisation to understand AutoRest property renaming (#209) 2019-02-11 21:07:00 -08:00
Xin Yan
5adf9a3841 bug fix - remove port bytes during port forwarding (#233)
* fix a race condition.
when multiple call to GetStream happens around the same time, on the
same inputIndex, a race condition will cause this.buffers.Add() to throw
exception.

* add WebSocket server certificate validation support for net 452

* port forwarding bug fix

In StreamDemuxer, if the buffer is created before connection is established, the port bytes are not removed when
the bytes are delivering to the client. Repro code looks like (the key is to call remoteStreams.Start AFTER
GetStream):

  var ws = await kubernetesClient.WebSocketNamespacedPodPortForwardAsync (... )
  var remoteStreams = new StreamDemuxer(ws);
  var stream = remoteStreams.GetStream(0, 0);
  remoteStreams.Start();

This change filters out the port bytes which are the 2nd and 3rd bytes sent in all cases.

* incorporate review feedbacks.
add an enum StreamType to StreamDemuxer so it knows whether / how
the data stream should be handled.

* add tests, fix skip bytes scenario for multiple streams

* add more tests for verifying content.

* simplify code a bit
2019-02-01 14:57:09 -08:00
Boshi Lian
1600e44b00 generate for 1.13 (#223)
* generate for 1.13 and bump ver to 1.4

* fix examples for 1.13

* update outdated cert
2018-12-11 21:10:39 -08:00
Aaron Roney
b7f79c924f Remove requirement for certificate authority and certificate authority data in kubeconfig. (#222)
* Remove requirement for certificate authority data in kubeconfig.

* Update src/KubernetesClient/KubernetesClientConfiguration.ConfigFile.cs

Update casing of `URL` at @itowlson suggestion.

Co-Authored-By: twitchax <twitchax@gmail.com>
2018-12-11 21:08:55 -08:00
itowlson
7c9cc88d38 Create KubernetesClientConfiguration from pre-loaded K8SConfiguration (#213)
* Create KubernetesClientConfiguration from pre-loaded K8SConfiguration

* Tweaked a couple more doc strings

* Fix duplicated tests

* Give the new method a more informative name
2018-10-26 23:25:22 -07:00
Brendan Burns
0b1669d5a5 Rev ASPNetCore version (#216) 2018-10-26 23:03:19 -07:00
Brendan Burns
aa1c880301 Disable a test on OS X because it started failing for unknown reasons (#218) 2018-10-26 22:50:22 -07:00
Boshi Lian
9372e3291f align files to .editorconfig (#203)
* align files to .editorconfig

* fix space cause build failed
2018-09-27 10:50:39 -07:00
Brendan Burns
3551f03258 Add support for Azure AAD based authentication. (#193) 2018-07-19 08:07:47 -07:00
Hossam Barakat
dae6d62cba Update tests namespaces for consistency (#191) 2018-07-09 06:52:17 -07:00
Hossam Barakat
8c3152af97 Update WatcherDelegatingHandler to stop eating first line (#183) (#190)
* Update WatcherDelegatingHandler to stop eating first line (#183)

* Override Read methods in PeekableStreamReader to avoid unpredicted behaviour (#183)

Override Read methods in PeekableStreamReader to avoid unpredicted behaviour (#183)
2018-07-09 06:51:49 -07:00
Frederik Carlier
bc1cb6205c Watcher: notify the caller when the server closes the connection (#184)
* Watcher: Add onClosed event and callback

* Update the code generators to accept the onClose callback

* Re-generate API

* Update unit tests

* Fix unit test

* Watcher fixes/improvements:
- Run Task.Yield at the beginning to make sure we're running async
- Set Watching = false before invoking OnClosed, to make sure the callers see a consistent state.
2018-06-27 14:38:28 -07:00
Frederik Carlier
de916f6390 Additional watcher tests (#178) 2018-06-25 07:14:02 -07:00
Boshi Lian
7723604b7e fix test case fail on windows (#177)
* fix test case fail on windows

* fix cert not working on windows

* changed to RuntimeInformation to see if osx

* change to a more common way to deal with line ending (due to git autocrlf)
2018-06-25 07:13:09 -07:00
David Orbelian
6eb5555145 Fix issue with X509VerificationFlags.AllowUnknownCertificateAuthority behavior (#174)
* Fix issue with X509VerificationFlags.AllowUnknownCertificateAuthority behavior

* Add CertificateValidationTests
2018-06-13 10:55:41 -07:00
Adam Friedman
a358cb9afd Remove hacky WebSocket connection factory. (#171)
Replace it with the new (officially-supported) ClientWebSocket
SSL functionality in .NET Core 2.1.

kubernetes-client/csharp#130
2018-06-07 16:47:39 -07:00
Frederik Carlier
6f38b7299e Fix an issue where growing the ByteBuffer would fail (#167)
* Fix an issue where growing a buffer when the read water mark = 0 would fail

* Simplify fix
2018-06-01 11:26:49 -07:00
Frederik Carlier
0f2832b86c Allow callers to specify which WebSocket subprotocol to use (#154)
* Allow callers to specify which WebSocket subprotocol to use.

* Update unit tests

* Update unit test

* Fix ordering

* Trace CancellationToken
2018-05-02 22:02:05 -07:00
Frederik Carlier
29a9c22644 Handle error messages in the watcher (#150)
* Handle error messages in the watcher

* Fix documentation

* Fix typo
2018-04-27 20:51:02 -07:00
Frederik Carlier
194211b370 Fix flakey tests by making them async (#144)
* Fix flakey tests by converting them to async and synchronizing code blocks

* Use the same timeout for all tests

* Use signals to gracefully shut down the mock server
2018-04-27 20:40:47 -07:00
Frederik Carlier
d90289a094 Support relative paths in Kubernetes configuration files (#141)
* Support relative paths in Kubernetes configuration files

* Filename -> FileName

* Filename -> FileName

* KuberentesClientConfiguration: Allow the user to opt-out of the mechanism which resolves relative paths in the configuration file.

* Update unit tests

* Fix test
2018-04-26 21:13:48 -07:00
Bill Pratt
df4d5dc31a Make LoadKubeConfig public and refactor to use YAML helper methods (#133)
* Made LoadKubeConfig public and refactored to use YAML helper methods

* Addressing Code review feedback
2018-04-18 21:52:19 -07:00
Adam Friedman
ea62ca00e0 Move projects to subdirectories of /src and /tests (#134)
kubernetes-client/csharp#127
2018-04-04 22:13:45 -07:00