public class KubernetesResourceUtil extends Object
Modifier and Type | Field and Description |
---|---|
static String |
API_APPS_VERSION |
static String |
API_EXTENSIONS_VERSION |
static String |
API_VERSION |
static String |
CONTAINER_NAME_REGEX |
protected static String |
DATE_TIME_FORMAT |
static ResourceVersioning |
DEFAULT_RESOURCE_VERSIONING |
static String |
JOB_VERSION |
static HashSet<Class<?>> |
SIMPLE_FIELD_TYPES |
Constructor and Description |
---|
KubernetesResourceUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
addPort(List<io.fabric8.kubernetes.api.model.ContainerPort> ports,
String portNumberText,
String portName,
io.fabric8.maven.docker.util.Logger log) |
static boolean |
checkForKind(io.fabric8.kubernetes.api.model.KubernetesListBuilder builder,
String... kinds) |
static String |
extractContainerName(org.apache.maven.project.MavenProject project,
io.fabric8.maven.docker.config.ImageConfiguration imageConfig) |
static <T> T |
findResourceByName(Iterable<io.fabric8.kubernetes.api.model.HasMetadata> entities,
Class<T> clazz,
String name)
Returns the resource of the given kind and name from the collection or null
|
static String |
getBuildStatusPhase(io.fabric8.openshift.api.model.Build build) |
static String |
getBuildStatusReason(io.fabric8.openshift.api.model.Build build) |
static Date |
getCreationTimestamp(io.fabric8.kubernetes.api.model.HasMetadata hasMetadata) |
static String |
getDockerContainerID(io.fabric8.kubernetes.api.model.Pod pod) |
static String |
getEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList,
String name,
String defaultValue) |
static String |
getNameWithSuffix(String name,
String kind) |
static io.fabric8.kubernetes.api.model.Pod |
getNewestPod(Collection<io.fabric8.kubernetes.api.model.Pod> pods) |
static io.fabric8.kubernetes.api.model.LabelSelector |
getPodLabelSelector(io.fabric8.kubernetes.api.model.HasMetadata entity) |
static io.fabric8.kubernetes.api.model.LabelSelector |
getPodLabelSelector(Set<io.fabric8.kubernetes.api.model.HasMetadata> entities) |
static io.fabric8.kubernetes.api.model.HasMetadata |
getResource(ResourceVersioning apiVersions,
File file,
String appName)
Read a Kubernetes resource fragment and add meta information extracted from the filename
to the resource descriptor.
|
static String |
getSourceUrlAnnotation(io.fabric8.kubernetes.api.model.HasMetadata item) |
static void |
handleKubernetesClientException(io.fabric8.kubernetes.client.KubernetesClientException e,
io.fabric8.maven.docker.util.Logger logger) |
static boolean |
isAppCatalogResource(io.fabric8.kubernetes.api.model.HasMetadata templateOrConfigMap) |
static boolean |
isNewerResource(io.fabric8.kubernetes.api.model.HasMetadata newer,
io.fabric8.kubernetes.api.model.HasMetadata older) |
static File[] |
listResourceFragments(File resourceDir) |
static Set<io.fabric8.kubernetes.api.model.HasMetadata> |
loadResources(File manifest) |
protected static io.fabric8.kubernetes.api.model.HasMetadata |
mergeConfigMaps(io.fabric8.kubernetes.api.model.ConfigMap cm1,
io.fabric8.kubernetes.api.model.ConfigMap cm2,
io.fabric8.maven.docker.util.Logger log,
boolean switchOnLocalCustomisation) |
protected static io.fabric8.kubernetes.api.model.HasMetadata |
mergeDeployments(io.fabric8.kubernetes.api.model.apps.Deployment resource1,
io.fabric8.kubernetes.api.model.apps.Deployment resource2,
io.fabric8.maven.docker.util.Logger log,
boolean switchOnLocalCustomisation) |
protected static void |
mergeMetadata(io.fabric8.kubernetes.api.model.HasMetadata item1,
io.fabric8.kubernetes.api.model.HasMetadata item2) |
static void |
mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder,
io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec,
String defaultName) |
static io.fabric8.kubernetes.api.model.HasMetadata |
mergeResources(io.fabric8.kubernetes.api.model.HasMetadata item1,
io.fabric8.kubernetes.api.model.HasMetadata item2,
io.fabric8.maven.docker.util.Logger log,
boolean switchOnLocalCustomisation)
Merges the given resources together into a single resource.
|
static void |
mergeSimpleFields(Object targetValues,
Object defaultValues)
Uses reflection to copy over default values from the defaultValues object to the targetValues
object similar to the following:
\ * if( values.get${FIELD}() == null ) {
values.(with|set){FIELD}(defaultValues.get${FIELD});
}
Only fields that which use primitives, boxed primitives, or String object are copied. |
static Date |
parseDate(String text) |
static boolean |
podHasContainerImage(io.fabric8.kubernetes.api.model.Pod pod,
String imageName) |
static io.fabric8.kubernetes.api.model.KubernetesListBuilder |
readResourceFragmentsFrom(ResourceVersioning apiVersions,
String defaultName,
File[] resourceFiles)
Read all Kubernetes resource fragments from a directory and create a
KubernetesListBuilder which
can be adapted later. |
static boolean |
removeEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList,
String name) |
static Map<String,String> |
removeVersionSelector(Map<String,String> selector) |
static boolean |
setEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList,
String name,
String value) |
static io.fabric8.kubernetes.api.model.EnvVar |
setEnvVarNoOverride(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList,
String name,
String value)
Try to set an environment variable in the list or return the old value
if present and different from the current one.
|
static void |
setSourceUrlAnnotationIfNotSet(io.fabric8.kubernetes.api.model.HasMetadata item,
String sourceUrl) |
static String |
toJson(Object resource) |
static String |
toYaml(Object resource) |
static void |
validateKubernetesMasterUrl(URL masterUrl) |
static File |
writeResource(Object resource,
File target,
ResourceFileType resourceFileType) |
static File |
writeResourceFile(Object resource,
File outputFile,
ResourceFileType resourceFileType) |
public static final String API_VERSION
public static final String API_EXTENSIONS_VERSION
public static final String API_APPS_VERSION
public static final String JOB_VERSION
public static final ResourceVersioning DEFAULT_RESOURCE_VERSIONING
public static final String CONTAINER_NAME_REGEX
protected static final String DATE_TIME_FORMAT
public static io.fabric8.kubernetes.api.model.KubernetesListBuilder readResourceFragmentsFrom(ResourceVersioning apiVersions, String defaultName, File[] resourceFiles) throws IOException
KubernetesListBuilder
which
can be adapted later.apiVersions
- the api versions to usedefaultName
- the default name to use when none is givenresourceFiles
- files to add.IOException
public static io.fabric8.kubernetes.api.model.HasMetadata getResource(ResourceVersioning apiVersions, File file, String appName) throws IOException
apiVersions
- the API versions to add if not given.file
- file to read, whose name must match FILENAME_PATTERN
. @return map holding the fragmentappName
- resource name specifying resources belonging to this applicationIOException
public static String toYaml(Object resource) throws com.fasterxml.jackson.core.JsonProcessingException
com.fasterxml.jackson.core.JsonProcessingException
public static String toJson(Object resource) throws com.fasterxml.jackson.core.JsonProcessingException
com.fasterxml.jackson.core.JsonProcessingException
public static File writeResource(Object resource, File target, ResourceFileType resourceFileType) throws IOException
IOException
public static File writeResourceFile(Object resource, File outputFile, ResourceFileType resourceFileType) throws IOException
IOException
public static String extractContainerName(org.apache.maven.project.MavenProject project, io.fabric8.maven.docker.config.ImageConfiguration imageConfig)
public static Map<String,String> removeVersionSelector(Map<String,String> selector)
public static boolean checkForKind(io.fabric8.kubernetes.api.model.KubernetesListBuilder builder, String... kinds)
public static boolean addPort(List<io.fabric8.kubernetes.api.model.ContainerPort> ports, String portNumberText, String portName, io.fabric8.maven.docker.util.Logger log)
public static io.fabric8.kubernetes.api.model.EnvVar setEnvVarNoOverride(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList, String name, String value)
envVarList
- the list of environment variablesname
- the environment variablevalue
- the value to setpublic static boolean setEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList, String name, String value)
public static String getEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList, String name, String defaultValue)
public static boolean removeEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList, String name)
public static void validateKubernetesMasterUrl(URL masterUrl) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
public static void handleKubernetesClientException(io.fabric8.kubernetes.client.KubernetesClientException e, io.fabric8.maven.docker.util.Logger logger) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
public static <T> T findResourceByName(Iterable<io.fabric8.kubernetes.api.model.HasMetadata> entities, Class<T> clazz, String name)
public static String getBuildStatusPhase(io.fabric8.openshift.api.model.Build build)
public static String getBuildStatusReason(io.fabric8.openshift.api.model.Build build)
public static io.fabric8.kubernetes.api.model.Pod getNewestPod(Collection<io.fabric8.kubernetes.api.model.Pod> pods)
public static Date getCreationTimestamp(io.fabric8.kubernetes.api.model.HasMetadata hasMetadata)
public static boolean podHasContainerImage(io.fabric8.kubernetes.api.model.Pod pod, String imageName)
public static String getDockerContainerID(io.fabric8.kubernetes.api.model.Pod pod)
public static boolean isNewerResource(io.fabric8.kubernetes.api.model.HasMetadata newer, io.fabric8.kubernetes.api.model.HasMetadata older)
public static void mergeSimpleFields(Object targetValues, Object defaultValues)
\ * if( values.get${FIELD}() == null ) {
values.(with|set){FIELD}(defaultValues.get${FIELD});
}
Only fields that which use primitives, boxed primitives, or String object are copied.targetValues
- defaultValues
- public static void mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder, io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec, String defaultName)
public static String getSourceUrlAnnotation(io.fabric8.kubernetes.api.model.HasMetadata item)
public static void setSourceUrlAnnotationIfNotSet(io.fabric8.kubernetes.api.model.HasMetadata item, String sourceUrl)
public static boolean isAppCatalogResource(io.fabric8.kubernetes.api.model.HasMetadata templateOrConfigMap)
public static Set<io.fabric8.kubernetes.api.model.HasMetadata> loadResources(File manifest) throws IOException
IOException
public static io.fabric8.kubernetes.api.model.LabelSelector getPodLabelSelector(Set<io.fabric8.kubernetes.api.model.HasMetadata> entities)
public static io.fabric8.kubernetes.api.model.LabelSelector getPodLabelSelector(io.fabric8.kubernetes.api.model.HasMetadata entity)
public static io.fabric8.kubernetes.api.model.HasMetadata mergeResources(io.fabric8.kubernetes.api.model.HasMetadata item1, io.fabric8.kubernetes.api.model.HasMetadata item2, io.fabric8.maven.docker.util.Logger log, boolean switchOnLocalCustomisation)
protected static io.fabric8.kubernetes.api.model.HasMetadata mergeConfigMaps(io.fabric8.kubernetes.api.model.ConfigMap cm1, io.fabric8.kubernetes.api.model.ConfigMap cm2, io.fabric8.maven.docker.util.Logger log, boolean switchOnLocalCustomisation)
protected static io.fabric8.kubernetes.api.model.HasMetadata mergeDeployments(io.fabric8.kubernetes.api.model.apps.Deployment resource1, io.fabric8.kubernetes.api.model.apps.Deployment resource2, io.fabric8.maven.docker.util.Logger log, boolean switchOnLocalCustomisation)
protected static void mergeMetadata(io.fabric8.kubernetes.api.model.HasMetadata item1, io.fabric8.kubernetes.api.model.HasMetadata item2)
Copyright © 2020. All rights reserved.