whatisgithub

What is kubernetes-client?

fabric8io/kubernetes-client — explained in plain English

Analysis updated 2026-05-18

3,649JavaAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A Java library with a readable, sentence-like syntax for controlling Kubernetes and OpenShift clusters from code, with extensions for Istio, Knative, and Tekton.

Mindmap

mindmap
  root((repo))
    What it does
      Fluent Kubernetes API
      Auto config loading
      Mock server testing
    Tech stack
      Java
      Kubernetes
      OpenShift
      Istio
    Use cases
      Automate cluster resources
      Test without a real cluster
    Audience
      Java developers
      Platform engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Write Java code that creates, queries, or deletes Kubernetes resources instead of using kubectl

USE CASE 2

Automatically load an existing kubeconfig file to connect a Java app to a cluster in one line

USE CASE 3

Write automated tests for Kubernetes-interacting Java code using the built-in mock server, no real cluster needed

What is it built with?

JavaKubernetesOpenShiftKnativeTektonIstio

How does it compare?

fabric8io/kubernetes-clientkunminx/linkage-recyclerviewhuburt-hu/newbieguide
Stars3,6493,6503,641
LanguageJavaJavaJava
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs a running Kubernetes or OpenShift cluster (or the mock server) and an existing kubeconfig for real use.

So what is it?

This is a Java library that lets developers write code to control Kubernetes and OpenShift clusters. Kubernetes is a system that manages where and how software applications run across groups of computers. Normally you interact with Kubernetes through command-line tools or configuration files. This library lets Java programs do those same things directly in code: create or delete resources, query what is running, watch for changes, and more. The library provides what the README calls a fluent DSL, meaning the Java code reads almost like a sentence. For example, you can write code that says: get this client, find all deployments in this namespace, list them. You do not have to manually construct HTTP requests or parse JSON responses, the library handles that for you. Creating a connection to a cluster is a single line of code. The library automatically reads your existing Kubernetes configuration file if one is present, so you do not have to specify credentials manually in most cases. Configuration can also be passed through environment variables or system properties. In addition to standard Kubernetes, the library includes extensions for several related platforms and tools: OpenShift (a Kubernetes distribution from Red Hat), Knative (a system for running event-driven workloads), Tekton (a pipeline system), and Istio (a networking layer for services). Each extension ships as a separate module. The repository also includes a built-in mock server for testing. This lets you write automated tests for your Java code that interacts with Kubernetes without needing a real cluster running. The README lists a cheat sheet of equivalents between common kubectl command-line operations and the corresponding Java code in this library. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
How do I connect to my Kubernetes cluster from Java using this library's fluent DSL?
Prompt 2
Show me the Java equivalent of 'kubectl get deployments -n my-namespace' using this library.
Prompt 3
How do I write a unit test for my Kubernetes Java code using this library's mock server?
Prompt 4
How do I use the Istio or Knative extension modules with this Kubernetes client?

Frequently asked questions

What is kubernetes-client?

A Java library with a readable, sentence-like syntax for controlling Kubernetes and OpenShift clusters from code, with extensions for Istio, Knative, and Tekton.

What language is kubernetes-client written in?

Mainly Java. The stack also includes Java, Kubernetes, OpenShift.

How hard is kubernetes-client to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kubernetes-client for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.