MCPcopy Index your code
hub / github.com/fabric8io/kubernetes-client

github.com/fabric8io/kubernetes-client @v7.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v7.8.0 ↗ · + Follow
93,071 symbols 224,484 edges 7,407 files 51,266 documented · 55%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Kubernetes & OpenShift Java Client Join the chat at https://gitter.im/fabric8io/kubernetes-client

This client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.

Build Sonar Scanner Bugs E2E Tests Release Twitter

Module Maven Central Javadoc
kubernetes-client Maven Central Javadocs
openshift-client Maven Central Javadocs
Extensions Maven Central Javadoc
knative-client Maven Central Javadocs
tekton-client Maven Central Javadocs
chaosmesh-client Maven Central Javadocs
volumesnapshot-client Maven Central Javadocs
volcano-client Maven Central Javadocs
istio-client Maven Central Javadocs
open-cluster-management-client Maven Central Javadocs

Contents

Usage

Creating a client

The easiest way to create a client is:

KubernetesClient client = new KubernetesClientBuilder().build();

DefaultOpenShiftClient implements both the KubernetesClient & OpenShiftClient interface so if you need the OpenShift extensions, such as Builds, etc then simply do:

OpenShiftClient osClient = new KubernetesClientBuilder().build().adapt(OpenShiftClient.class);

Configuring the client

This will use settings from different sources in the following order of priority:

  • System properties
  • Environment variables
  • Kube config file
  • Service account token & mounted CA certificate

System properties are preferred over environment variables. The following system properties & environment variables can be used for configuration:

Property / Environment Variable Description Default value
kubernetes.disable.autoConfig / KUBERNETES_DISABLE_AUTOCONFIG Disable automatic configuration (KubernetesClient would not look in ~/.kube/config, mounted ServiceAccount, environment variables or System properties for Kubernetes cluster information) false
kubernetes.master / KUBERNETES_MASTER Kubernetes master URL https://kubernetes.default.svc
kubernetes.api.version / KUBERNETES_API_VERSION API version v1
openshift.url / OPENSHIFT_URL OpenShift master URL Kubernetes master URL value
kubernetes.oapi.version / KUBERNETES_OAPI_VERSION OpenShift API version v1
kubernetes.trust.certificates / KUBERNETES_TRUST_CERTIFICATES Trust all certificates false
kubernetes.disable.hostname.verification / KUBERNETES_DISABLE_HOSTNAME_VERIFICATION false
kubernetes.certs.ca.file / KUBERNETES_CERTS_CA_FILE
kubernetes.certs.ca.data / KUBERNETES_CERTS_CA_DATA
kubernetes.certs.client.file / KUBERNETES_CERTS_CLIENT_FILE
kubernetes.certs.client.data / KUBERNETES_CERTS_CLIENT_DATA
kubernetes.certs.client.key.file / KUBERNETES_CERTS_CLIENT_KEY_FILE
kubernetes.certs.client.key.data / KUBERNETES_CERTS_CLIENT_KEY_DATA
kubernetes.certs.client.key.algo / KUBERNETES_CERTS_CLIENT_KEY_ALGO Client key encryption algorithm RSA
kubernetes.certs.client.key.passphrase / KUBERNETES_CERTS_CLIENT_KEY_PASSPHRASE
kubernetes.auth.basic.username / KUBERNETES_AUTH_BASIC_USERNAME
kubernetes.auth.basic.password / KUBERNETES_AUTH_BASIC_PASSWORD
kubernetes.auth.serviceAccount.token / KUBERNETES_AUTH_SERVICEACCOUNT_TOKEN Name of the service account token file /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes.auth.tryKubeConfig / KUBERNETES_AUTH_TRYKUBECONFIG Configure client using Kubernetes config true
kubeconfig / KUBECONFIG Name of the kubernetes config file to read ~/.kube/config
kubernetes.auth.tryServiceAccount / KUBERNETES_AUTH_TRYSERVICEACCOUNT Configure client from Service account true

Extension points exported contracts — how you extend this code

HasMetadata (Interface)
Represents any KubernetesResource which possesses a ObjectMeta and is associated with a kind and API ver [611 implementers]
kubernetes-model-generator/kubernetes-model-core/src/main/java/io/fabric8/kubernetes/api/model/HasMetadata.java
Interceptor (Interface)
A collection of callback methods invoked through the various stages of the HTTP request lifecycle. Each invocation of {@ [6 …
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/http/Interceptor.java
BodyProvider (Interface)
A class that allows returning the body of a response given a certain request. [16 implementers]
junit/mockwebserver/src/main/java/io/fabric8/mockwebserver/utils/BodyProvider.java
CertManagerClient (Interface)
Main interface for CertManager Client library. [23 implementers]
extensions/certmanager/client/src/main/java/io/fabric8/certmanager/client/CertManagerClient.java
Foo (Interface)
(no doc) [7 implementers]
kubernetes-model-generator/kubernetes-model-common/src/test/java/io/fabric8/kubernetes/model/jackson/JsonUnwrappedDeserializerTest.java
CRDPostProcessor (Interface)
(no doc) [11 implementers]
crd-generator/api-v2/src/main/java/io/fabric8/crdv2/generator/CRDPostProcessor.java
HasKubernetesClient (Interface)
(no doc) [10 implementers]
junit/kubernetes-junit-jupiter/src/main/java/io/fabric8/junit/jupiter/HasKubernetesClient.java
CustomResourceAware (Interface)
(no doc) [6 implementers]
junit/kubernetes-server-mock/src/main/java/io/fabric8/kubernetes/client/server/mock/CustomResourceAware.java

Core symbols most depended-on inside this repo

put
called by 5577
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/http/HttpRequest.java
build
called by 3631
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/http/HttpRequest.java
get
called by 3484
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/dsl/Gettable.java
withName
called by 3102
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/dsl/Nameable.java
expect
called by 1708
junit/mockwebserver/src/main/java/io/fabric8/mockwebserver/MockServer.java
withPath
called by 1660
junit/mockwebserver/src/main/java/io/fabric8/mockwebserver/dsl/Pathable.java
andReturn
called by 1525
junit/mockwebserver/src/main/java/io/fabric8/mockwebserver/dsl/Returnable.java
size
called by 1388
kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/informers/cache/ItemStore.java

Shape

Method 85,098
Class 7,442
Interface 395
Enum 89
Function 37
Struct 10

Languages

Java100%
Go1%

Modules by API surface

kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1/PrometheusSpec.java259 symbols
kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1alpha1/PrometheusAgentSpec.java215 symbols
kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1/CommonPrometheusFields.java213 symbols
kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1/ThanosRulerSpec.java141 symbols
kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1/AlertmanagerSpec.java133 symbols
kubernetes-model-generator/openshift-model-monitoring/src/generated/java/io/fabric8/openshift/api/model/monitoring/v1alpha1/ScrapeConfigSpec.java129 symbols
kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/BaseOperation.java120 symbols
extensions/chaosmesh/model/src/generated/java/io/fabric8/chaosmesh/v1alpha1/PhysicalMachineChaosSpec.java107 symbols
extensions/knative/model/src/generated/java/io/fabric8/knative/serving/v1/RevisionSpec.java99 symbols
extensions/chaosmesh/model/src/generated/java/io/fabric8/chaosmesh/v1alpha1/ExpInfo.java93 symbols
kubernetes-model-generator/kubernetes-model-apiextensions/src/generated/java/io/fabric8/kubernetes/api/model/apiextensions/v1beta1/JSONSchemaProps.java92 symbols
kubernetes-model-generator/kubernetes-model-apiextensions/src/generated/java/io/fabric8/kubernetes/api/model/apiextensions/v1/JSONSchemaProps.java92 symbols

For agents

$ claude mcp add kubernetes-client \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page