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 |
static String |
CRONJOB_VERSION |
protected static String |
DATE_TIME_FORMAT |
static ResourceVersioning |
DEFAULT_RESOURCE_VERSIONING |
protected static Map<String,String> |
FILENAME_TO_KIND_MAPPER |
static String |
JOB_VERSION |
protected static Map<String,String> |
KIND_TO_FILENAME_MAPPER |
static String |
OPENSHIFT_V1_VERSION |
static String |
RBAC_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 List<io.fabric8.kubernetes.api.model.EnvVar> |
convertToEnvVarList(Map<String,String> envVars)
Convert a map of env vars to a list of K8s EnvVar objects.
|
static String |
extractContainerName(GroupArtifactVersion groupArtifactVersion,
io.fabric8.maven.docker.config.ImageConfiguration imageConfig) |
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(PlatformMode platformMode,
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) |
protected static void |
initializeKindFilenameMapper() |
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[] |
listRemoteResourceFragments(List<String> remotes,
io.fabric8.maven.docker.util.Logger log) |
static File[] |
listResourceFragments(File resourceDir) |
static File[] |
listResourceFragments(File localResourceDir,
List<String> remotes,
io.fabric8.maven.docker.util.Logger log) |
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 String |
mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder,
io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec,
String defaultName) |
static String |
mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder,
io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec,
String defaultName,
boolean sidecarEnabled) |
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(PlatformMode platformMode,
ResourceVersioning apiVersions,
String defaultName,
File[] resourceFiles)
Read all Kubernetes resource fragments from a directory and create a
KubernetesListBuilder which
can be adapted later. |
protected static void |
remove(String kind,
String filename) |
static boolean |
removeEnvVar(List<io.fabric8.kubernetes.api.model.EnvVar> envVarList,
String name) |
static void |
removeItemFromKubernetesBuilder(io.fabric8.kubernetes.api.model.KubernetesListBuilder builder,
io.fabric8.kubernetes.api.model.HasMetadata item) |
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 void |
setSourceUrlAnnotationIfNotSet(io.fabric8.kubernetes.api.model.HasMetadata item,
String sourceUrl) |
static void |
updateKindFilenameMapper(Map<String,List<String>> mappings) |
static void |
validateKubernetesMasterUrl(URL masterUrl) |
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 String OPENSHIFT_V1_VERSION
public static final String CRONJOB_VERSION
public static final String RBAC_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(PlatformMode platformMode, 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(PlatformMode platformMode, 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 File[] listResourceFragments(File localResourceDir, List<String> remotes, io.fabric8.maven.docker.util.Logger log)
public static File[] listRemoteResourceFragments(List<String> remotes, io.fabric8.maven.docker.util.Logger log)
protected static final void initializeKindFilenameMapper()
public static final void updateKindFilenameMapper(Map<String,List<String>> mappings)
public static void removeItemFromKubernetesBuilder(io.fabric8.kubernetes.api.model.KubernetesListBuilder builder, io.fabric8.kubernetes.api.model.HasMetadata item)
public static String extractContainerName(GroupArtifactVersion groupArtifactVersion, 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 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 List<io.fabric8.kubernetes.api.model.EnvVar> convertToEnvVarList(Map<String,String> envVars)
envVars
- the name-value map containing env vars which must not be nullpublic 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 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 String mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder, io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec, String defaultName)
public static String mergePodSpec(io.fabric8.kubernetes.api.model.PodSpecBuilder builder, io.fabric8.kubernetes.api.model.PodSpec defaultPodSpec, String defaultName, boolean sidecarEnabled)
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 © 2021. All rights reserved.