Package io.debezium.testing.system.tools
Class OpenShiftUtils
java.lang.Object
io.debezium.testing.system.tools.OpenShiftUtils
Utility methods for working with OpenShift
- Author:
- Jakub Cechacek
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionio.fabric8.kubernetes.api.model.networking.v1.NetworkPolicycreateNetworkPolicy(String project, String name, Map<String, String> podSelectorLabels, List<io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPort> ports) Creates new NetworkPolicy in given namespace allowing public accessio.fabric8.openshift.api.model.RouteCreates route in given namespaceio.fabric8.kubernetes.api.model.ServicecreateService(String project, String name, String portName, int port, Map<String, String> selector, Map<String, String> labels) Optional<io.fabric8.kubernetes.api.model.apps.Deployment>deploymentsWithPrefix(String project, String... prefixes) Finds the first deployment with name matching given prefixesvoidensureHasEnv(io.fabric8.kubernetes.api.model.apps.Deployment deployment, io.fabric8.kubernetes.api.model.EnvVar envVar) Ensures each container of given deployment has a environment variablevoidensureHasEnv(io.fabric8.kubernetes.api.model.Container container, io.fabric8.kubernetes.api.model.EnvVar envVar) Ensures container has environment variablevoidensureHasPullSecret(io.fabric8.kubernetes.api.model.apps.Deployment deployment, String secret) voidensureNoEnv(io.fabric8.kubernetes.api.model.apps.Deployment deployment, String envVar) Ensures each container of given deployment has a environment variablevoidensureNoEnv(io.fabric8.kubernetes.api.model.Container container, String envVar) Ensures container does not have environment variablestatic booleanio.fabric8.kubernetes.api.model.ServiceAccountlinkPullSecret(String project, String account, io.fabric8.kubernetes.api.model.Secret secret) Links pull secret to service accountio.fabric8.kubernetes.api.model.ServiceAccountlinkPullSecret(String project, String account, String secret) Links pull secret to service accountList<io.fabric8.kubernetes.api.model.Pod>podsForDeployment(io.fabric8.kubernetes.api.model.apps.Deployment deployment) List<io.fabric8.kubernetes.api.model.Pod>podsWithLabels(String project, Map<String, String> labels) Finds pods with given labelsvoidwaitForPods(String project, Map<String, String> labels) Waits until all pods with given labels are ready
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
client
private io.fabric8.openshift.client.OpenShiftClient client
-
-
Constructor Details
-
OpenShiftUtils
public OpenShiftUtils(io.fabric8.openshift.client.OpenShiftClient client)
-
-
Method Details
-
createRoute
public io.fabric8.openshift.api.model.Route createRoute(String project, String name, String service, String port, Map<String, String> labels) Creates route in given namespace- Parameters:
project- project where this route will be createdname- name of the routeservice- target serviceport- target portlabels- labels set to set on this route- Returns:
Routeobject for created route
-
createService
-
createNetworkPolicy
public io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy createNetworkPolicy(String project, String name, Map<String, String> podSelectorLabels, List<io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyPort> ports) Creates new NetworkPolicy in given namespace allowing public access- Parameters:
project- project where this network policy will be createdname- name of the policypodSelectorLabels- labels used as pod selectorsports- ports for which access will be allowed- Returns:
NetworkPolicyobject for created policy
-
linkPullSecret
public io.fabric8.kubernetes.api.model.ServiceAccount linkPullSecret(String project, String account, String secret) Links pull secret to service account- Parameters:
project- project where this operation happensaccount- service account namesecret- secret name- Returns:
- Service account object to which this secret was linked
-
linkPullSecret
public io.fabric8.kubernetes.api.model.ServiceAccount linkPullSecret(String project, String account, io.fabric8.kubernetes.api.model.Secret secret) Links pull secret to service account- Parameters:
project- project where this operation happensaccount- service account namesecret- secret object- Returns:
- Service account object to which this secret was linked
-
ensureHasEnv
public void ensureHasEnv(io.fabric8.kubernetes.api.model.apps.Deployment deployment, io.fabric8.kubernetes.api.model.EnvVar envVar) Ensures each container of given deployment has a environment variable- Parameters:
deployment- deploymentenvVar- environment variable
-
ensureNoEnv
Ensures each container of given deployment has a environment variable- Parameters:
deployment- deploymentenvVar- environment variable
-
ensureHasEnv
public void ensureHasEnv(io.fabric8.kubernetes.api.model.Container container, io.fabric8.kubernetes.api.model.EnvVar envVar) Ensures container has environment variable- Parameters:
container- containerenvVar- environment variable
-
ensureNoEnv
Ensures container does not have environment variable- Parameters:
container- containerenvVar- environment variable
-
ensureHasPullSecret
public void ensureHasPullSecret(io.fabric8.kubernetes.api.model.apps.Deployment deployment, String secret) -
podsWithLabels
public List<io.fabric8.kubernetes.api.model.Pod> podsWithLabels(String project, Map<String, String> labels) Finds pods with given labels- Parameters:
project- project where to look for podslabels- labels used to identify pods- Returns:
PodListof matching pods
-
podsForDeployment
public List<io.fabric8.kubernetes.api.model.Pod> podsForDeployment(io.fabric8.kubernetes.api.model.apps.Deployment deployment) -
waitForPods
Waits until all pods with given labels are ready- Parameters:
project- project where to look for podslabels- labels used to identify pods
-
isRunningFromOcp
public static boolean isRunningFromOcp() -
deploymentsWithPrefix
public Optional<io.fabric8.kubernetes.api.model.apps.Deployment> deploymentsWithPrefix(String project, String... prefixes) Finds the first deployment with name matching given prefixes- Parameters:
project- project where to searchprefixes- acceptable prefixes- Returns:
- first deployment with name matching any given prefix
-