Commit Graph

27 Commits

Author SHA1 Message Date
Fraser Waters
d7f9eb9a2e Fix format of ClientCertificate[Key]Data from auth plugins (#480)
* Fix format of ClientCertificate[Key]Data from auth plugins

* Add external certificate tests to AuthTests

* format
2020-09-25 09:45:12 -07:00
Fraser Waters
c47babf203 Parse clientCertificateData/clientKeyData from auth plugins (#479)
* Parse clientCertificateData/clientKeyData from auth plugins

Currently ExecuteExternalCommand crashes with a key not found error if
it runs a certificate based (rather than token based) plugin. This
commit will now return either the token string, or the certificate and
key strings which are then used to set the relevant fields on the
configuration object.

* Fix formatting

* Use new return style
2020-09-18 21:56:28 -07:00
Richard Semmens
b5f5681b21 Fix declaration of authentication environment variables and add test. (#459)
* Fix declaration of authentication environment variables and add test.

* Run dotnet format

* Run dotnet format
2020-06-27 22:44:14 -07:00
Kyle J. Fischer
187ec8fb18 Removed NETSTANDARD2_0 IFDefs and added Brackets (#451)
* Removed NETSTANDARD2_0 IFDefs and Fixed some brackets it wouldn't let me build if I didn't fix them

* Removed bracket changes

* Fixed Formatting hopefully

* Updated StartInfo.EnvironmentVariables from StartInfo.Environment so it is compatiable with 4.5.2

* Forgot I had changed this and didn't check git diff till now. My Bad

* Missed a spot where it was referencing Envrionment and not EnvironmentVariables
2020-05-29 11:32:34 -07:00
Alexey Golub
914c78b5f9 Fix reading incorrect stream in ExecuteExternalCommand (#444) 2020-05-11 14:14:22 -07:00
Andrew Stakhov
ae9dd04a2e Allow token refresh for GCP (#402) 2020-04-28 15:34:25 -07:00
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
Brendan Burns
c1de779933 Add in formatting pre-check. (#431) 2020-04-22 12:15:45 -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
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
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
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
Brendan Burns
ba9755b626 Improve async config loading. (#353) 2020-02-09 13:17:53 -08:00
Gaz Iqbal
fd1736f3e7 fixed KubernetesClientConfiguration.BuildConfigFromConfigFile not respecting the currentContext parameter (#269) 2019-03-22 17:00:09 -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
Brendan Burns
de99b2b6b4 Improve the default client loading code. (#251)
* Improve the default client loading code.

* Address comments.
2019-03-06 01:26:04 -08:00
Cengiz Ilerler
05273b7db7 added support for GCP (#227)
fixes #226

neither GCP one nor Azure one supports renew expired token feature
2018-12-23 21:09:23 -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
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
Jonathan Harrison
3cee7fbd93 Changes to support xamarin. (#200) 2018-09-09 20:00:45 -07:00
Brendan Burns
3551f03258 Add support for Azure AAD based authentication. (#193) 2018-07-19 08:07: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
Brendan Burns
9312370f44 Fix examples by re-adding the no-arg config file builder. (#137) 2018-04-20 08:40:01 -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