Commit Graph

229 Commits

Author SHA1 Message Date
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Davanum Srinivas
43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
k8s-ci-robot
a49e4e128e
Merge pull request #69708 from mcrute/fix-aws-imports
Fix AWS volume and cloud provider import order
2018-10-30 13:44:50 -07:00
Mike Crute
49df100af9 fix AWS volume and cloud provider import order 2018-10-30 08:18:45 -07:00
k8s-ci-robot
dad07683b1
Merge pull request #69013 from ibrasho-forks/switch-to-http.Error
Update usages of http.ResponseWriter.WriteHeader to use http.Error
2018-10-23 15:31:55 -07:00
Ibrahim AshShohail
2fb3ba71f1
Update usages of http.ResponseWriter.WriteHeader to use http.Error
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>
2018-10-14 05:58:00 +03:00
Yu-Ju Hong
ed92397eff GCP: Remove the deprecated google-json-key support
The flag was deprecated in 1.10. According to the deprecation policy, it
is safe to remove the flag now.
2018-10-02 16:53:28 -07:00
Clayton Coleman
7e398dc31f
Remove dependency on docker daemon for core credential types
We are removing dependencies on docker types where possible in the core
libraries. credentialprovider is generic to Docker and uses a public API
(the config file format) that must remain stable. Create an equivalent type
and use a type cast (which would error if we ever change the type) in the
dockershim. We already perform a transformation like this for CRI and so
we aren't changing much.
2018-09-07 16:36:14 -04:00
Kubernetes Submit Queue
152de38825
Merge pull request #65043 from brendandburns/todo4
Automatic merge from submit-queue (batch tested with PRs 64564, 65043). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make CredentialProvider config loading deterministic.

@mattmoor fixed an old TODO :)
2018-08-26 14:07:04 -07:00
andyzhangx
a7e328c211 fix acr sp access issue 2018-07-20 08:39:31 +00:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Brendan Burns
804ee25b1e Make CredentialProvider config loading deterministic. 2018-06-12 21:39:46 -07:00
Pengfei Ni
471d00c929 Use new clients in Azure credential provider 2018-04-26 09:38:48 +08:00
Jeff Grafton
ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
Pengfei Ni
4b453fb3ed update azure API for auth 2018-02-12 14:07:05 +08:00
Davanum Srinivas
0f5013b715 Better check for GCE VM
we should do what is being done in GoogleCloudPlatform/google-cloud-go:
https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/compute/metadata/metadata.go#L259-L267

Looks like folks are reusing appliances which end up with
```
$ cat /sys/class/dmi/id/product_name
Google Search Appliance
```
2018-01-17 18:35:51 -05:00
Michael Taufen
8ec1958667 All Kubelet flags should be explicitly registered
This explicitly registers Kubelet flags from libraries that were
registering flags globally, and stops parsing the global flag set.
In general, we should always be explicit about flags we register
and parse, so that we maintain control over our command-line API.
2018-01-09 17:37:34 -08:00
Kubernetes Submit Queue
738fcdd111
Merge pull request #57179 from chrislovecnm/aws-creds-owners
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adding myself as a reviewer to aws credentialprovider

/assign @justinsb 
/release-note-none
2018-01-07 09:08:31 -08:00
Clayton Coleman
5210e6fefd
Remove dependency on v1 API in base credential provider
Credential provider is useful without the v1 API, move the only
dependency out so that we can more easily move credential provider to a
utility library in the future (other callers besides Kubelet may need to
load pull secrets like Docker).
2018-01-05 17:52:06 -05:00
Dong Liu
7eafa215f5 Split auth related config for Azure 2018-01-03 10:23:26 +08:00
Jeff Grafton
efee0704c6 Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
andyzhangx
8d99c55bba add Dong Liu as approver and add OWNERS in credentialprovider 2017-12-19 09:31:43 +00:00
chrislovecnm
20a465ee4a Adding myself as a reviewer to aws credentialprovider 2017-12-13 22:53:49 -07:00
Zeqing Zhang
65bed1d982 fix awsStandardDNSSuffix 2017-11-15 16:39:48 +08:00
Zeqing Zhang
be7c0bdce2 add testcase for aws china region 2017-11-15 16:39:47 +08:00
Zeqing Zhang
6a1b31323e swap the return statements 2017-11-15 16:39:47 +08:00
Zeqing Zhang
45ae5bf1e5 Support AWS ECR credentials in China 2017-11-15 16:39:46 +08:00
Jeff Grafton
aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Jeff Grafton
a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton
33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Cole Mickens
8e093b9e23 azure: acr: support auth to preview ACR w/ MSI+AAD 2017-07-18 15:22:34 -07:00
Kubernetes Submit Queue
23e60ac9ad Merge pull request #48308 from yguo0905/docker-api
Automatic merge from submit-queue

Update Docker API in Kubelet

Ref: https://github.com/kubernetes/kubernetes/issues/34308

The Kubelet currently uses deprecated docker API (https://godoc.org/github.com/docker/engine-api). This PR changes it to use the new one (https://godoc.org/github.com/moby/moby/client).

This PR updated the docker package from 1.11 to 1.13.1-rc2.

**Release note**:
```
None
```

/assign @Random-Liu 
/cc @yujuhong
2017-07-14 15:30:59 -07:00
Cole Mickens
931002ec1f azure: acr docker cred provider reuses auth 2017-07-13 14:27:37 -07:00
Yang Guo
bf2ced837c Updates Docker Engine API 2017-07-13 12:55:07 -07:00
Brendan Burns
29a0c6f56a Code updates for new SDK. 2017-07-12 06:09:31 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kubernetes Submit Queue
e1423acc50 Merge pull request #45056 from ericchiang/update-oauth2
Automatic merge from submit-queue

bump(golang.org/x/oauth2): a6bd8cefa1811bd24b86f8902872e4e8225f74c4

As I tackle https://github.com/kubernetes/kubernetes/issues/42654 kubectl's OpenID Connect plugin will start using golang.org/x/oauth2 for refreshing, instead of go-oidc's own hand rolled oauth2 implementation. In preparation, update golang.org/x/oauth2 to include 7374b3f1ec which fixes refreshing with Okta.

We also somehow removed the dependency on `google.golang.org/appengine`. Maybe 8cf58155e4?

cc @kubernetes/sig-auth-pr-reviews
2017-05-03 19:34:14 -07:00
Yu-Ju Hong
51188e6f70 Update bazel files 2017-05-03 11:22:06 -07:00
Yu-Ju Hong
607bdd574d Move docker keyring lookup test to pkg/credentailprovider
Also remove unused image tests in docker_test.go
2017-05-03 11:22:06 -07:00
Eric Chiang
3f888f2edf GCP credential provider: add "type" field to fake JSON key in unit test 2017-04-28 16:16:53 -07:00
Mike Danese
a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00
wlan0
3d58d79669 add vendor dirs for rancher credential provider 2017-03-27 16:44:15 -07:00
wlan0
38988fec78 add rancher credential provider 2017-03-27 16:22:53 -07:00
Kris
ee4227f4bf Remove krousey from some OWNERS files 2017-03-10 11:12:29 -08:00
Kubernetes Submit Queue
d62fca231e Merge pull request #40142 from colemickens/colemickens-acr-login-server
Automatic merge from submit-queue (batch tested with PRs 37055, 40142)

azure: azure container registry: fix login server

**What this PR does / why we need it**:

Fixes the Azure Container Registry integration

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
n/a

**Special notes for your reviewer**:

Before this change, if I created an ACR with name `colemicktest`, then the login server would be `colemicktest-microsoft.azurecr.io`. This code was concating to form `colemicktest.azurecr.io` which does not work.

The fix is to reach into RegistryProperties and read out the login server domain name directly.

Also, this should eliminate that existed when ACR gets to sovereign clouds.

**Release note**:

```release-note
azure: fix Azure Container Registry integration
```
2017-01-25 00:40:02 -08:00
Cole Mickens
1c72f2b9de azure: acr fix login server 2017-01-19 05:08:16 -08:00
Justin Santa Barbara
04b787b946 AWS: trust region if found from AWS metadata
Means we can run in newly announced regions without a code change.

We don't register the ECR provider in new regions, so we will still need
a code change for now.

This also means we do trust config / instance metadata, and don't reject
incorrectly configured zones.

Fix #35014
2017-01-18 09:17:55 -05:00
Kubernetes Submit Queue
c3b897d930 Merge pull request #36516 from apelisse/owners-pkg-credentialprovider
Automatic merge from submit-queue

Curating Owners: pkg/credentialprovider

cc @liggitt @erictune

In an effort to expand the existing pool of reviewers and establish a
two-tiered review process (first someone lgtms and then someone
experienced in the project approves), we are adding new reviewers to
existing owners files.


If You Care About the Process:
------------------------------

We did this by algorithmically figuring out who’s contributed code to
the project and in what directories.  Unfortunately, that doesn’t work
well: people that have made mechanical code changes (e.g change the
copyright header across all directories) end up as reviewers in lots of
places.

Instead of using pure commit data, we generated an excessively large
list of reviewers and pruned based on all time commit data, recent
commit data and review data (number of PRs commented on).

At this point we have a decent list of reviewers, but it needs one last
pass for fine tuning.

Also, see https://github.com/kubernetes/contrib/issues/1389.

TLDR:
-----

As an owner of a sig/directory and a leader of the project, here’s what
we need from you:

1. Use PR https://github.com/kubernetes/kubernetes/pull/35715 as an example.

2. The pull-request is made editable, please edit the `OWNERS` file to
remove the names of people that shouldn't be reviewing code in the
future in the **reviewers** section. You probably do NOT need to modify
the **approvers** section. Names asre sorted by relevance, using some
secret statistics.

3. Notify me if you want some OWNERS file to be removed.  Being an
approver or reviewer of a parent directory makes you a reviewer/approver
of the subdirectories too, so not all OWNERS files may be necessary.

4. Please use ALIAS if you want to use the same list of people over and
over again (don't hesitate to ask me for help, or use the pull-request
above as an example)
2017-01-13 14:34:02 -08:00
deads2k
6a4d5cd7cc start the apimachinery repo 2017-01-11 09:09:48 -05:00
Kubernetes Submit Queue
7a198a9368 Merge pull request #38746 from justinsb/aws_eu_west_2
Automatic merge from submit-queue (batch tested with PRs 39628, 39551, 38746, 38352, 39607)

AWS: recognize eu-west-2 region
2017-01-10 11:54:17 -08:00
Jeff Grafton
20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
Mike Danese
161c391f44 autogenerated 2016-12-29 13:04:10 -08:00
Jordan Liggitt
75d5bfdbf6 Update OWNERS 2016-12-22 09:57:56 -05:00
Kubernetes Submit Queue
1bfd4f0a71 Merge pull request #38410 from justinsb/aws_region_ca_central
Automatic merge from submit-queue

AWS: Recognize ca-central-1 region

Recognize the newly announced ca-central-1 region
2016-12-20 09:54:01 -08:00
Justin Santa Barbara
e8b4875348 AWS: recognize eu-west-2 region
London calling...
2016-12-13 23:14:41 -05:00
Mike Danese
c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
Brendan Burns
91f19e3dfc Add an azure container registry credential provider. 2016-12-08 21:38:11 -08:00
Justin Santa Barbara
e2342eb3bf AWS: Recognize ca-central-1 region 2016-12-08 16:27:23 -05:00
Kubernetes Submit Queue
84f03ef957 Merge pull request #36140 from guangxuli/k8s_extend_get_docker_auth
Automatic merge from submit-queue

make invocation ReadDockerConfigFile can handle .dockerconfigjson file

**What this PR does / why we need it**:

When **.docker/config.json** is used to authenticate docker registry, the data key **.dockerconfigjson** should be used if we want to save this kind of docker auth data into a secret. So this PR is mainly to make invocation `ReadDockerConfigFile `have ability to read  **.dockerconfigjson** file.
@liggitt
2016-12-07 12:55:47 -08:00
Chao Xu
bcc783c594 run hack/update-all.sh 2016-11-23 15:53:09 -08:00
Chao Xu
4f3d0e3bde more dependencies packages:
pkg/metrics
pkg/credentialprovider
pkg/security
pkg/securitycontext
pkg/serviceaccount
pkg/storage
pkg/fieldpath
2016-11-23 15:53:09 -08:00
guangxuli
032e450ec4 make invocation ReadDockerConfigFile can handle .dockerconfigjson file
only extract ReadSpecificDockerConfigJsonFile from function ReadDockerConfigJSONFile

put error checking and logging in the loop above

godoc gofmt and return dockecfg directly
2016-11-17 09:32:32 +08:00
Antoine Pelisse
23b95d9f5e Update OWNERS approvers and reviewers: pkg/credentialprovider 2016-11-09 10:17:14 -08:00
Kubernetes Submit Queue
7760c2f5fa Merge pull request #35013 from justinsb/us_east_2
Automatic merge from submit-queue

AWS: recognize us-east-2 region
2016-11-01 18:47:07 -07:00
Mike Danese
3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Justin Santa Barbara
80d4391d87 AWS: recognize us-east-2 region
The newly announced region must be added to our list of known regions.
2016-10-17 23:20:45 -04:00
mbohlool
25afcc5522 Add +optional tag to all fields with omitempty json tag 2016-10-17 08:52:13 -07:00
Kubernetes Submit Queue
609b9e5124 Merge pull request #31881 from guangxuli/get_docker_auth
Automatic merge from submit-queue

make function ReadDockerConfigFile more flexible

In our code, the public function `ReadDockerConfigFile` looks like not enough flexible:
when I want to use this function to get docker config info from a specific path, I have to call  `SetPreferredDockercfgPath`, and then the setting preferredPath will be valid in function  `ReadDockerConfigFile`.  I know in our code, we call  `SetPreferredDockercfgPath` in one place ,then call `ReadDockerConfigFile` in another place, it was not in same context. But it looks like not thread safety. 
 I think if user who use our code want to get docker config from a specific path, it is reasonable to call directly `ReadDockerConfigFile ` with a dockerconfigPath argument, and it can avoid some scenarios that thread is not safety . 
I add a test case for this function.
2016-10-16 11:41:08 -07:00
guangxuli
8a9cfdf86a make function ReadDockerConfigFile more flexible
rename the variable

make parameter more flexible

handle docker config file path

use a single set of paths

delete debug print

gofmt

delete the empty line

comment is not correct

move the comment to the correct place

keep original signature

godoc
2016-10-14 23:23:46 +08:00
guangxuli
a68812d954 remove the tmp file 2016-09-22 23:37:27 +08:00
lixiaobing10051267
b67b98601c Wrong path for log_handler.go 2016-07-27 16:04:20 +08:00
k8s-merge-robot
75689dd4d2 Merge pull request #28539 from derekwaynecarr/credential_provider_timeout
Automatic merge from submit-queue

Fix httpclient setup for gcp credential provider to have timeout

The default http client has no timeout.

This could cause problems when not on GCP environments.

This PR changes to use a 10s timeout, and ensures the transport has our normal defaults applied.

/cc @ncdc @liggitt
2016-07-22 18:01:41 -07:00
k8s-merge-robot
8eb0cf5039 Merge pull request #28871 from vishh/gce-cp
Automatic merge from submit-queue

Do not query the metadata server to find out if running on GCE.  Retry metadata server query for gcr if running on gce.

Retry the logic for determining is gcr is enabled to workaround metadata unavailability.

Note: This patch does not retry fetching registry credentials.
2016-07-18 14:32:04 -07:00
Davanum Srinivas
2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
Vishnu kannan
ea1a459a80 Check if service accounts exist in gcr credential provider
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-15 11:41:02 -07:00
Vishnu kannan
ee9cded79a do not query the metadata server to find out if running on GCE. Retry docker registry fetches on GCP
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-15 11:41:02 -07:00
k8s-merge-robot
7be82496eb Merge pull request #28428 from justinsb/aws_region_ap_south
Automatic merge from submit-queue

AWS: Add ap-south-1 to list of known AWS regions

Adding the new ap-south-1 region (Mumbai)
2016-07-14 20:28:53 -07:00
derekwaynecarr
5366bfe08d Fix httpclient setup for gcp credential provider to have timeout 2016-07-06 13:37:22 -04:00
Justin Santa Barbara
60c37a0a87 AWS: Add ap-south-1 to list of known AWS regions
Adding the new ap-south-1 region (Mumbai)
2016-07-02 21:47:09 -04:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Rudi Chiarito
684517f74f Add ap-northeast-2 2016-05-10 12:03:41 -04:00
Rudi Chiarito
6e6ea46182 Include changes from feedback
Use constructor for ecrProvider
Rename package to "credentials" like golint requests
Don't wrap the lazy provider with a caching provider
Add immedita compile-time interface conformance checks for the interfaces
Added comments
2016-05-10 12:03:40 -04:00
Rudi Chiarito
eea29e8851 Allow cross-region image pulling with AWS' ECR
This is step two. We now create long-lived, lazy ECR providers in all regions.
When first used, they will create the actual ECR providers doing the work
behind the scenes, namely talking to ECR in the region where the image lives,
rather than the one our instance is running in.

Also:

- moved the list of AWS regions out of the AWS cloudprovider and into the
credentialprovider, then exported it from there.
- improved logging

Behold, running in us-east-1:

```
aws_credentials.go:127] Creating ecrProvider for us-west-2
aws_credentials.go:63] AWS request: ecr:GetAuthorizationToken in us-west-2
aws_credentials.go:217] Adding credentials for user AWS in us-west-2
Successfully pulled image 123456789012.dkr.ecr.us-west-2.amazonaws.com/test:latest"
```

*"One small step for a pod, one giant leap for Kube-kind."*
2016-05-10 12:03:39 -04:00
zhouhaibing089
bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08:00
Harry Zhang
a3939473d3 Refactor PullImage RemoveImage methods
Refactor image remove
2016-04-23 10:33:47 -04:00
Rudi Chiarito
ca6bdba014 Allow lazy binding in credential providers; don't use it in AWS yet
This is step one for cross-region ECR support and has no visible effects yet.
I'm not crazy about the name LazyProvide. Perhaps the interface method could
remain like that and the package method of the same name could become
LateBind(). I still don't understand why the credential provider has a
DockerConfigEntry that has the same fields but is distinct from
docker.AuthConfiguration. I had to write a converter now that we do that in
more than one place.

In step two, I'll add another intermediate, lazy provider for each AWS region,
whose empty LazyAuthConfiguration will have a refresh time of months or years.
Behind the scenes, it'll use an actual ecrProvider with the usual ~12 hour
credentials, that will get created (and later refreshed) only when kubelet is
attempting to pull an image. If we simply turned ecrProvider directly into a
lazy provider, we would bypass all the caching and get new credentials for
each image pulled.
2016-03-29 15:39:30 -04:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
deads2k
ab03317d96 support CIDRs in NO_PROXY 2016-03-16 16:22:54 -04:00
Clayton Coleman
31e3265317 Credential providers are not newsworthy
Move the info to debugging level.
2016-03-07 21:50:39 -05:00
Yu-Ju Hong
fd7e323cc6 Revert "Set timeout for accessing credential provider's URL"
This reverts commit 9d3806bceb.
2016-03-04 12:37:30 -08:00
Jeff Lowdermilk
9c20848af7 Merge pull request #22318 from yujuhong/read_url
Set timeout for accessing credential provider's URL
2016-03-03 15:21:01 -08:00
Eric Paris
5e5a823294 Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
Yu-Ju Hong
9d3806bceb Set timeout for accessing credential provider's URL
This changes sets the timeout and also adds the retry mechanism.
2016-03-01 15:41:16 -08:00
Clayton Coleman
8c27314915 Unqualified host:port pairs are valid Docker auth fields
The dockercfg and .docker/config.json files can contain host:path
combos, which are not correctly parsed by the keyring.
2016-02-18 13:18:34 -05:00
Rudi Chiarito
76e29ed455 Register ECR credential plugin only when an AWS cloud instance is created 2016-01-25 22:18:45 -05:00
Rudi Chiarito
bc0dd97a70 ECR credential provider 2016-01-22 15:03:25 -05:00
David Oppenheimer
8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Tim Hockin
9698e957a6 Merge pull request #12717 from tamnd/fixdockercfg
Fix new docker config format for private registries
2015-09-18 14:43:38 -07:00
tummychow
78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Vanya Tarasov
d6c43b0606 Recognize cloud-platform scope on GCP
GCP credential provider currently requires presence of 'devstorage.*' scope, however it fails to recognize 'cloud-platform' scope that implies it.
2015-09-01 16:04:53 -07:00
tamnd
906b279080 Support new docker config format for private registries 2015-08-22 15:37:25 +07:00
Kris Rousey
565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Mike Danese
17defc7383 run gofmt on everything we touched 2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Quinton Hoole
988a413acf Merge pull request #9058 from deads2k/serialize-with-auth
serialize dockercfg with matching auth field
2015-06-05 11:26:14 -07:00
deads2k
ac2c43fc87 serialize dockercfg with matching auth field 2015-06-05 11:14:10 -04:00
Eric Tune
760caea187 Merge pull request #8863 from mfojtik/fix-default-registry-matcher
Add 'docker.io' and 'index.docker.io' to default registry matcher
2015-06-01 10:28:34 -07:00
Michal Fojtik
9a94f7cc38 Add 'docker.io' and 'index.docker.io' to default registry matcher
Signed-off-by: Michal Fojtik <mfojtik@redhat.com>
2015-05-30 12:59:18 +02:00
Nghia Tran
8b57b6fea6 Support glob wildcards for gcr.io credentials 2015-05-29 10:44:59 -07:00
deads2k
72c0709f18 reduce scope of DockerConfigEntryWithAuth 2015-05-19 12:41:03 -04:00
deads2k
0c14e0cbdb add pull secret references to pods 2015-05-18 16:18:16 -04:00
deads2k
be0f2d2930 add dockercfg secret types 2015-05-18 08:25:27 -04:00
deads2k
2ecb0ebd73 make the dockerkeyring handle mutiple matching credentials 2015-05-11 09:54:03 -04:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Paul Morie
b3a613c6c3 Fix typo in provider.go 2015-04-27 21:42:45 -04:00
Tim Hockin
a3d45fada8 Change flags to use dashes in help 2015-04-27 15:11:03 -07:00
Matt Moore
d5e0054eb0 Enable usage of a "json key" for authenticating with gcr.io.
With this change, you can add --google_json_key=/path/to/key.json to the DAEMON_ARGS of the kubelet, e.g.
   nano /etc/default/kubelet
   ... # Add the flag
   service kubelet restart

With this setting, minions will be able to authenticate with gcr.io repositories nearly as smoothly as if K8s were running on GCE.

NOTE: This private key can be used to access most project resources, consider dropping the service account created through this flow to a project READER, or restricting its access to just the GCS bucket containing the container images.
2015-03-15 09:24:33 -07:00
Brendan Burns
0532c46217 Add a more detailed error message for potential auth fails in docker pull. 2015-02-12 17:00:59 -08:00
Mike Danese
33f158073b Check other dirs for .dockercfg 2015-01-27 15:54:20 -08:00
Matt Moore
2d396797a9 Fix for issue 3797.
Docker's logic for resolving credentials from .dockercfg accepts two kinds of matches:
1. an exact match between the dockercfg entry and the image prefix
2. a hostname match between the dockercfg entry and the image prefix

This change implements the latter, which permits the docker client to take .dockercfg entries of the form:
   https://quay.io/v1/
and use them for images of the form:
   quay.io/foo/bar
even though they are not a prefix-match.
2015-01-26 14:06:12 -08:00
Dawn Chen
0962b86ce3 Remove useless and duplicate call. 2015-01-22 15:00:21 -08:00
Daniel Smith
ffcbe2fa10 Merge pull request #2674 from mattmoor/quiet-credentialprovider
Make credentialprovider less verbose about benign errors.
2014-12-02 18:25:03 -08:00
Matt Moore
65c246d45a Make credentialprovider less verbose about benign errors.
In particular, a few of the utilities used within the credentialprovider had the pattern:
   glog.Errorf("while blah %s: %v", s, err)
   return nil, err

This change propagates those error message and puts the burden of logging on the caller.

In particular, this allows us to squelch all output during kubelet startup when we are detecting whether certain credentialprovider plugins should even be enabled.

Fixes: https://github.com/GoogleCloudPlatform/kubernetes/issues/2673
2014-12-01 11:54:50 -08:00
Matt Moore
5c35af5810 add another registry URL 2014-11-29 15:56:25 -08:00
Tim Hockin
95a9098311 fix 'go vet' warnings 2014-11-21 09:45:28 +08:00
Tim Hockin
ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Clayton Coleman
2afa12073c Do not log an error when file does not exist 2014-11-19 22:04:36 -05:00
Matt Moore
0c5d9ed0d2 Implements a credentialprovider library for use by DockerPuller.
This change refactors the way Kubelet's DockerPuller handles the docker config credentials to utilize a new credentialprovider library.

The credentialprovider library is based on several of the files from the Kubelet's dockertools directory, but supports a new pluggable model for retrieving a .dockercfg-compatible JSON blob with credentials.

With this change, the Kubelet will lazily ask for the docker config from a set of DockerConfigProvider extensions each time it needs a credential.

This change provides common implementations of DockerConfigProvider for:
 - "Default": load .dockercfg from disk
 - "Caching": wraps another provider in a cache that expires after a pre-specified lifetime.

GCP-only:
 - "google-dockercfg": reads a .dockercfg from a GCE instance's metadata
 - "google-dockercfg-url": reads a .dockercfg from a URL specified in a GCE instance's metadata.
 - "google-container-registry": reads an access token from GCE metadata into a password field.
2014-11-17 21:46:54 -08:00