* support async enum watch
* honor ct and catch more exception
* fix format
* better flaky
* ct to for should throw
* make sure no npe
* fix nuget build
* fix watcher test
* check close before dispose
* port autorest to watch generator
* rename KubernetesWatchGenerator -> KubernetesGenerator
* add validate
* fix format
* fix generate code warnings
* fix line ending
* fix missing property found by comp check
* do not new http method
* Initial port of cache functions from java client
* Move lock in Cache.Replace to be less disruptive
* Remove IListerWatcher as it's not used at the moment
* Added todo in Cache.Get as reminder
* TApiType implement IKubernetesObject
* TApiType implement IKubernetesObject
* TApiType implement class along with IKubernetesObject
* Disable failing test until it can be figured out
* Ran `dotnet format --fix-whitespace --fix-style` to put formatting in compliance
* Moved contents of KubernetesClient.Util into KubernetesClient project
* Moved contents of KubernetesClient.Util into KubernetesClient project #2 :(
* Update LICENSE
Update the copyright notice within the licence agreement, as per the instructions under "APPENDIX: How to apply the Apache License to your work."
* Update LICENSE
Updated the date and licence holder for the copyright notice
* Affects Yaml.LoadAllFrom* methods
* Doesn't require user to explicitly pass a mapping for known types
* Allows user to specify a mapping for custom types, if required
Some tools can generate kubeconfig files which use wildcard IPv4 or IPv6 addresses. For example, using k3d with --api-server=https://0.0.0.0:6433/ would generate a kubeconfig file like this:
```
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: (...)
server: https://0.0.0.0:6433
name: k3d-k3s-default
```
Standard Kubernetes tools (like kubectl or Helm) correctly parse the 0.0.0.0 IP address and transform it 127.0.0.1; 3rd party tools like curl or wget will do the same on Unix systems.
This is default behavior on Unix but not on Windows. As a result, the .NET Kubernetes client will fail to work with kubeconfig files like this and you'll get HTTP exceptions.
Go has explicit workarounds for this (see 1a0b1cca4c), and this PR attemps to replicate these workarounds in the .NET client.
* add minimal oidc support
* add OidcTokenProvider
* add null check for accessToken
* deal with missing client-secret in config
* fix formatting, typos
* remove commented line
* trigger github actions to check for non-deterministic test behavior
* Update src/KubernetesClient/Authentication/OidcTokenProvider.cs
Co-authored-by: Boshi Lian <farmer1992@gmail.com>
* Update src/KubernetesClient/Authentication/OidcTokenProvider.cs
Co-authored-by: Boshi Lian <farmer1992@gmail.com>
* cleanup
* add CA1723 to exceptions
* remove exception for CA1723, add CA1724 instead
Co-authored-by: Boshi Lian <farmer1992@gmail.com>
* fix delay ignored
* fix retry delay in ms
* fix retry delay in ms
* do not wait if timeout
* fix flasky test case
* delay to be timespan
* Revert "delay to be timespan"
This reverts commit 3a004b6a6904747fa5475adeadbf6e654082d809.
* remove most net452 related code
* first net4 remove
* migrate test proj to net5 base
* fix format
* update sta xunit to fix platform not support
* Squashed commit of the following:
commit 16e1f819058ad281e1571b356c10d4d6ce77cf38
Author: Boshi Lian <farmer1992@gmail.com>
Date: Tue Dec 8 22:42:57 2020 -0800
temp disable some version converter
commit 7d1a651f4e7d27d1e61c91f46f73ac8d04ea8ab9
Author: Boshi Lian <farmer1992@gmail.com>
Date: Tue Dec 8 20:55:44 2020 -0800
add missing watcher generator files
commit 3f3199aad269bf89406ea71d0bc63f1a7ec23245
Author: Boshi Lian <farmer1992@gmail.com>
Date: Tue Dec 8 22:14:47 2020 +0000
gen v1.20.0
* bump version to 4.0
* support empty spec
* fix version converter for generator
* add generated header
* fix warning
* rerun generator