Package io.skodjob.testframe.clients
Class KubeClient
java.lang.Object
io.skodjob.testframe.clients.KubeClient
Provides functionality to interact with Kubernetes and OpenShift clusters.
This includes creating clients, reading resources from files, and managing kubeconfig for authentication.
-
Constructor Summary
ConstructorsConstructorDescriptionInitializes the Kubernetes client with configuration derived from environment variables or default context. -
Method Summary
Modifier and TypeMethodDescriptionvoidcreate(String namespace, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Creates resource and apply modifiervoidcreate(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Creates resource and apply modifiervoidcreateOrUpdate(String ns, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Create or update resources from file and apply modifiervoidcreateOrUpdate(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Create or update resources from file and apply modifiervoidDeletes resourcesvoidDelete resourcesio.fabric8.kubernetes.client.KubernetesClientReturns the Kubernetes client.getDeploymentNameByPrefix(String namespace, String namePrefix) Returns list of deployments with prefix nameReturns the path to the kubeconfig file used for authentication.getLogsFromContainer(String namespaceName, String podName, String containerName) Return log from pods specific containergetLogsFromPod(String namespaceName, String podName) Return log from pod with one containerio.fabric8.openshift.client.OpenShiftClientAdapts the Kubernetes client to an OpenShift client.List<io.fabric8.kubernetes.api.model.Pod>Get all pods from namespaceList<io.fabric8.kubernetes.api.model.Pod>Get all pods with prefix nanmeList<io.fabric8.kubernetes.api.model.Pod>listPodsByPrefixInName(String namespaceName, String podNamePrefix) Returns list of pods by prefix in pod namebooleannamespaceExists(String namespace) Check if namespace exists in current clusterList<io.fabric8.kubernetes.api.model.HasMetadata>Reads Kubernetes resources from an InputStream.List<io.fabric8.kubernetes.api.model.HasMetadata>readResourcesFromFile(Path file) Reads Kubernetes resources from a file at the specified path.voidupdate(String namespace, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Updates resources and apply modifiervoidupdate(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Updates resources and apply modifier
-
Constructor Details
-
KubeClient
public KubeClient()Initializes the Kubernetes client with configuration derived from environment variables or default context.
-
-
Method Details
-
getClient
public io.fabric8.kubernetes.client.KubernetesClient getClient()Returns the Kubernetes client.- Returns:
- The initialized Kubernetes client.
-
getOpenShiftClient
public io.fabric8.openshift.client.OpenShiftClient getOpenShiftClient()Adapts the Kubernetes client to an OpenShift client.- Returns:
- An instance of OpenShiftClient.
-
getKubeconfigPath
Returns the path to the kubeconfig file used for authentication.- Returns:
- The kubeconfig file path.
-
readResourcesFromFile
public List<io.fabric8.kubernetes.api.model.HasMetadata> readResourcesFromFile(Path file) throws IOException Reads Kubernetes resources from a file at the specified path.- Parameters:
file- The path to the file containing Kubernetes resources.- Returns:
- A list of
HasMetadataresources defined in the file. - Throws:
IOException- If an I/O error occurs reading from the file.
-
readResourcesFromFile
public List<io.fabric8.kubernetes.api.model.HasMetadata> readResourcesFromFile(InputStream is) throws IOException Reads Kubernetes resources from an InputStream.- Parameters:
is- The InputStream containing Kubernetes resources.- Returns:
- A list of
HasMetadataresources defined in the stream. - Throws:
IOException- If an I/O error occurs.
-
namespaceExists
Check if namespace exists in current cluster- Parameters:
namespace- namespace name- Returns:
- true if namespace exists
-
create
public void create(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Creates resource and apply modifier- Parameters:
resources- resourcesmodifier- modifier
-
update
public void update(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Updates resources and apply modifier- Parameters:
resources- resourcesmodifier- modifier
-
create
public void create(String namespace, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Creates resource and apply modifier- Parameters:
namespace- namespaceresources- resourcesmodifier- modifier
-
update
public void update(String namespace, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Updates resources and apply modifier- Parameters:
namespace- namespaceresources- resourcesmodifier- modifier
-
createOrUpdate
public void createOrUpdate(List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Create or update resources from file and apply modifier- Parameters:
resources- resourcesmodifier- modifier method
-
createOrUpdate
public void createOrUpdate(String ns, List<io.fabric8.kubernetes.api.model.HasMetadata> resources, Function<io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.HasMetadata> modifier) Create or update resources from file and apply modifier- Parameters:
ns- namespaceresources- resourcesmodifier- modifier method
-
delete
Deletes resources- Parameters:
resources- resources
-
delete
Delete resources- Parameters:
resources- resourcesnamespace- namespace
-
listPods
Get all pods from namespace- Parameters:
namespaceName- namespace- Returns:
- list of pods
-
listPods
public List<io.fabric8.kubernetes.api.model.Pod> listPods(String namespaceName, io.fabric8.kubernetes.api.model.LabelSelector selector) Get all pods with prefix nanme- Parameters:
namespaceName- namespaceselector- prefix- Returns:
- lust of pods
-
listPodsByPrefixInName
public List<io.fabric8.kubernetes.api.model.Pod> listPodsByPrefixInName(String namespaceName, String podNamePrefix) Returns list of pods by prefix in pod name- Parameters:
namespaceName- Namespace namepodNamePrefix- prefix with which the name should begin- Returns:
- List of pods
-
getLogsFromPod
Return log from pod with one container- Parameters:
namespaceName- namespace of the podpodName- pod name- Returns:
- logs
-
getLogsFromContainer
Return log from pods specific container- Parameters:
namespaceName- namespace of the podpodName- pod namecontainerName- container name- Returns:
- logs
-
getDeploymentNameByPrefix
Returns list of deployments with prefix name- Parameters:
namespace- namespacenamePrefix- prefix- Returns:
- list of deployments
-