Commit Graph

328 Commits

Author SHA1 Message Date
Boshi Lian
cfc4306528 stylecop fix followup, enforce SA1503 (#432)
* enforce SA1503

* fix spacing

* fix SA1413

* fix spacing

* fix SA1013
2020-04-23 11:40:06 -07:00
Justin Kotalik
324a3e72fd Allow KUBECONFIG environment variable to point to multiple files (#411)
* Allow KUBECONFIG environment variable to point to multiple files

* Add more tests, add API (can make internal if necessary)

* test

* allow passing in env var

* small amount of feedback

* Feedback

* Nits

* Some extra tests and comments
2020-04-22 15:17:45 -07:00
Boshi Lian
8e7bf0b6f2 Stylecop (#428)
* add auto generate header

* run gen

* introduce first style analyizer

* fix tab
2020-04-22 13:41:45 -07:00
Brendan Burns
c1de779933 Add in formatting pre-check. (#431) 2020-04-22 12:15:45 -07:00
Boshi Lian
56b7f76d6c path combine instead of string concat (#429) 2020-04-22 09:09:52 -07:00
Boshi Lian
732653096d remove travis related files (#430) 2020-04-22 09:07:54 -07:00
Andrew Stakhov
2dd9f60dbc Fix issue with WatchDispose test that had a race condition that may result in test failing (#427) 2020-04-20 15:30:12 -07:00
admilazz
233dc03ac8 Share code to create ServiceClientCredentials (#425) 2020-04-20 09:39:40 -07:00
admilazz
392ebcf10c Override ToString on V1Status (#424) 2020-04-20 09:37:39 -07:00
admilazz
f2e1c4b883 Remove Microsoft.AspNetCore.WebUtilities dependency (#419)
* Remove Microsoft.AspNetCore.WebUtilities dependency

* Fix more query-string handling

* Add unit test

* Merge with master
2020-04-20 09:33:40 -07:00
Andrew Stakhov
b0e7d9979a Allow testing of the internal methods (#421) 2020-04-17 15:31:36 -07:00
Andreas Häber
0fe237f3d6 Improve documentation for BuildDefaultConfig (#423)
The current documentation only mentions that it uses a default config file. However, it actually works with a lot more than that and it is helpful to see that in the documentation.
2020-04-17 02:19:52 -07:00
admilazz
fcfeeedba2 Remove retry (#415)
* Remove RetryDelegatingHandler

* Slightly optimize WatcherDelegatingHandler

* Fix tests; remove WatcherDelegatingHandler changes
2020-04-16 10:54:47 -07:00
admilazz
33e0b28138 Add WatchEventType.Bookmark (#414)
* Add WatchEventType.Bookmark

* Avoid changing value order
2020-04-16 10:52:46 -07:00
Andrew Stakhov
4da6b657e0 Fix test project namespace inconsistency (#413) 2020-04-14 17:08:03 -07:00
Boshi Lian
4ce6e876e2 Gen v1.18.0 (#385)
* gen v1.18.0

* Update version.json

* add missing files

* bump to 2.0
2020-04-10 19:17:47 -07:00
Andrew Stakhov
326243b5b0 Add gitattributes to properly process some filetypes and exclude autogenerated code from LOC statistics (#407) 2020-04-09 15:15:48 -07:00
admilazz
7ea11a75f6 Add IKubernetesObject<TMetadata> (#404) 2020-04-09 15:13:48 -07:00
Andy Kernahan
e90be77e42 Fix nuget's "Setup SxS dotnet" not being run. (#401) 2020-04-06 05:25:33 -07:00
Andy Kernahan
944622dd65 Upgrade to .NET Core SDK 3.1. (#395)
* Upgrade to .NET Core SDK 3.1.

* Add workaround for setup-dotnet not supporting SxS dotnet installs.

* Specify explicit fetch depth of 0 for Nerdbank.GitVersioning.

* Make step names consistent across workflows.

* Coerce robocopy's exit code when it does not indicate an error.

* Make robocopy as quiet as possible.
2020-04-06 02:51:48 -07:00
Nicholas Steicke
3164e9234c introduce CreateWatchHandle for use with HttpClientFactory (#379) 2020-04-05 21:27:46 -07:00
Tyler Jensen
4e1c9bd20c Test exception type expected for .NET Standard 2.0 (#389)
* different exception type expected for 2.0

* remove net452 as tests cannot run for Framework

* Eliminate build target in test. Use common type.
2020-04-03 13:21:51 -07:00
Andy Kernahan
3e94068d43 Improve Watcher thread utilisation. (#386)
* Add Watcher constructor overload which accepts the more general TextReader.

* Make CancelableStream delegate the async methods to the inner stream.

* Make CancelableStream dispose of the inner stream.

* Make PeekableStreamReader a decorator enabling direct delegation to the inner's asynchronous methods.

* Make CancelableStream.Flush respect the cancellation token.

* Rename CancellationTokenSourceSlim -> LinkedCancellationTokenSource.

* Specify 7.3 language version.
2020-03-31 19:45:27 -07:00
Tyler Jensen
ddb4b21aeb Remove dupe null check (#384) 2020-03-25 14:45:41 -07:00
Andrew Stakhov
c48fc0dc56 Add interfaces for generated Kubernetes objects (#378)
* Add interfaces for generated Kubernetes objects that can allow working with them without using concrete types. This work is needed for future shared informers / controllers components being developed

* Add metadata for plural names. This opens up a path for many generic  operations as plural name is needed to construct path
2020-03-22 21:22:45 -07:00
Boshi Lian
40026e40a5 update source link to release (#377) 2020-03-22 21:20:45 -07:00
Boshi Lian
d55a333bed fix watch=true doesn't respect cancellation token (#376)
* fix watch=true doesn't respect cancellation token

* use exp body where can

* address comments
2020-03-22 21:18:45 -07:00
Andy Kernahan
3e6815ad4c Ensure that awaits do not continue on the captured context. (#370)
* Ensure that awaits do not continue on the captured context.

* Make functions async for maintainability.

* Add documentation detailing the use of UIFact.
2020-03-18 21:54:44 -07:00
Boshi Lian
af741302de fix watch generator uses different name pattern from gen project (#369)
* fix watch generator uses different name pattern from gen project

* run generator to refresh bad files

* fix npe when not x-kind
2020-03-17 13:57:26 -07:00
Ryan Nowak
da3bff5b3e Use value from ContextDetails to populate Namespace (#373)
* Use value from ContextDetails to populate Namespace

This is a fix for: #372

This change uses the value from ContextDetails.Namespace to populate
KubernetesClientConfiguration.Namespace.

The issue is there's a Namespace property on both Context and ContextDetails
 - The property on Context is used today
 - The property on ContextDetails is not
 - The property on ContextDetails maps to the actual yaml config

* Obsolete Context.Namespace

This property doesn't map to anything in the YAML and thus will never be
set. Other clients I checked (java, golang) don't look for a property
at this level.

I think this was likely a mistake, and it should be obsoleted because
it will never be populated.

Example:

```yaml
contexts:
- context:
    cluster: ...
    namespace: ... # this is ContextDetails.Namespace
    user: ...
  name: foo
```

```yaml
contexts:
- context:
    cluster: ...
    namespace: ...
    user: ...
  name: foo
  namespace: ... # this is Context.Namespace
```
2020-03-17 09:48:23 -07:00
Boshi Lian
c1bab3caed following up after switching to gh action (#367)
* disable az pipeline

* disable ci coverage report

* do test before push

* remove push nuget from travis

* fix coverage ignore
2020-03-13 21:58:34 -07:00
Boshi Lian
c8de0ca263 Introduce githuh action (#364)
* gh build and test

* fix dotnet env

* fix DisposeWatch test fickle

* mini 0??

* nuget push from gh
2020-03-10 15:19:57 -07:00
Boshi Lian
7749ae07c8 revert move fraction internal (#366) 2020-03-10 15:19:37 -07:00
Boshi Lian
0468a66de4 fix DisposeWatch test fickle (#365) 2020-03-09 14:35:36 -07:00
Boshi Lian
435ab5cd15 [breaking changes] cleanup targets (#361)
* remove target xamarin ios and android (supported by netstandard)

* remove 1.4

* build warning cleared

* remove bom

* fix ci failed
2020-03-08 15:57:34 -07:00
Kubernetes Prow Robot
b07e78afa4 Out-of-tree client authentication providers (UserCredentials exec option) for asp.net core applications (#359)
* Adding the user credentials exec abillity
	new file:   src/KubernetesClient/KubeConfigModels/ExecCredentialResponse.cs
	new file:   src/KubernetesClient/KubeConfigModels/ExternalExecution.cs
	modified:   src/KubernetesClient/KubeConfigModels/UserCredentials.cs
	modified:   src/KubernetesClient/KubernetesClientConfiguration.ConfigFile.cs

* Fixed a few issues with the process spawning and some null references issues

* Removed unused import that caused the build to fail (Mail)

* Added preprocessor directive that will disable out-of-tree client authentication in case it is not a asp.net core app

* Added tests to the new external execution (out-of-tree client authentication) extension

* Trying to fix failing tests that fail apparently due to the preprocessor symbol

* Trying to fix failing macos tests

* Added the -n (do not output trailing newline) and the -E options to the echo command in OSX

* initializing arguments variable

* Changes according to tg123 comments
Changed OSX testing command to printf to try and solve the JSON
parsing errors

* Added missing references

* Environment.UserInteractive and Process applies to .NET Standard >= 2.0 according to Microsoft documentation
2020-03-05 09:12:38 -08:00
Pragya Mehta
e11cc58e56 Upgrade Microsoft.AspNetCore.WebUtilities to 2.2.0 for netstandard2.0 (#358)
* Upgrade Microsoft.AspNetCore.WebUtilities to 2.2.0 for netstandard2.0 and netcoreapp2.1

* Mking the change only for netstandard2.0
2020-02-13 16:50:18 -08:00
Brendan Burns
ba9755b626 Improve async config loading. (#353) 2020-02-09 13:17:53 -08:00
Leonardo
fa515869e2 Updated Nerdbank.GitVersioning to 3.0.5 (#350)
The old version had an issue with Mono on MacOSX which caused the build to fail. Now the build flows flawlessly
2020-01-22 16:34:49 -08:00
jurgyy
5ecbfc24f6 File.Open changed to File.OpenRead (#348) 2020-01-21 00:51:36 -08:00
Brendan Burns
67be97e74b Add a loadAll to load multiple objects from a single YAML. (and tests) (#344) 2020-01-10 13:59:37 -08:00
Brandon Sharp
3a30033090 Prevent NullReferenceException when using HttpClient to initialize Kubernetes client. Fixes #335 (#336)
* Preventing null ref exception when initializing with HttpClient and adding support for generating a default client handler from a config object

* Updating example to make use of config-based client handler generation
2020-01-06 21:28:17 -08:00
David Robson
3c3c6cab91 Use Path.DirectorySeparatorChar to have ServiceAccountPath start from root, instead of a relative path. (#342)
This should work fine on Linux containers, but it still assumes the Windows container working drive is "C:"
2020-01-06 12:44:16 -08:00
Boshi Lian
03491df7fa Update test.yaml (#337) 2019-12-20 21:41:33 -08:00
Brendan Burns
06380095b4 Remove forward slashes from paths. (#323) 2019-12-19 16:45:32 -08:00
idubnori
f67aaec566 Fix - Not applied patch if path contains Uppercase (#330)
* Add JsonPatchTests

* Upgrade JsonPatch and Json.net, if netstandard2.0 or netcoreapp2.1
2019-12-05 17:42:49 -08:00
Brendan Burns
8a615c275a Add an exception for certs known not to work. (#322) 2019-11-21 20:29:28 -08:00
Brendan Burns
aadeb74af9 Add an initial github action. (#324)
* Add a new workflow.

* Update gitignore.
2019-11-08 22:03:39 -08:00
Boshi Lian
35f54a779f make windows happy (#314) 2019-10-22 16:04:12 -07:00
Boshi Lian
a95400bd50 watcher to support empty response (#313)
* Add a WatchAsync method.

* proposal for watcher async

* fix and add testcase for async watch

* try fix build
2019-10-22 16:02:13 -07:00