
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
github.com/google/go-containerregistry/pkg/authn/k8schain
k8schain
This is an implementation of the authn.Keychain
interface loosely based on the authentication semantics used by the Kubelet when performing the pull of a Pod's images.
This keychain supports passing a Kubernetes Service Account and some ImagePullSecrets which may represent registry credentials.
In addition to those, the keychain also includes cloud-specific credential helpers for Google Container Registry (and Artifact Registry), Azure Container Registry, and Amazon AWS Elasic Container Registry. This means that if the keychain is used from within Kubernetes services on those clouds (GKE, AKS, EKS), any available service credentials will be discovered and used.
In general this keychain should be used when the code is expected to run in a Kubernetes cluster, and especially when it will run in one of those clouds.
To get a cloud-agnostic keychain, use pkg/authn/kubernetes
instead.
To get only cloud-aware keychains, use google.Keychain
, or pkg/authn.NewKeychainFromHelper
with a cloud credential helper implementation -- see the implementation of k8schain.NewNoClient
for more details.
A k8schain
keychain can be built via one of:
// client is a kubernetes.Interface
kc, err := k8schain.New(ctx, client, k8schain.Options{})
...
// This method is suitable for use by controllers or other in-cluster processes.
kc, err := k8schain.NewInCluster(ctx, k8schain.Options{})
...
The k8schain
keychain can be used directly as an authn.Keychain
, e.g.
auth, err := kc.Resolve(registry)
if err != nil {
...
}
Or, with the remote.WithAuthFromKeychain
option:
img, err := remote.Image(ref, remote.WithAuthFromKeychain(kc))
if err != nil {
...
}
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.