Class DeploymentDependent
java.lang.Object
io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource<R,P>
io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource<R,P,io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource<R,P>>
io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource<R,P>
io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource<io.fabric8.kubernetes.api.model.apps.Deployment,DebeziumServer>
io.debezium.operator.core.dependent.DeploymentDependent
- All Implemented Interfaces:
io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter<DebeziumServer>,io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource<io.fabric8.kubernetes.api.model.apps.Deployment,,DebeziumServer> io.javaoperatorsdk.operator.api.reconciler.dependent.EventSourceReferencer<DebeziumServer>,io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected<DebeziumServer>,io.javaoperatorsdk.operator.api.reconciler.dependent.managed.DependentResourceConfigurator<io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfig<io.fabric8.kubernetes.api.model.apps.Deployment>>,io.javaoperatorsdk.operator.processing.dependent.Creator<io.fabric8.kubernetes.api.model.apps.Deployment,,DebeziumServer> io.javaoperatorsdk.operator.processing.dependent.Matcher<io.fabric8.kubernetes.api.model.apps.Deployment,,DebeziumServer> io.javaoperatorsdk.operator.processing.dependent.Updater<io.fabric8.kubernetes.api.model.apps.Deployment,DebeziumServer>
public class DeploymentDependent
extends io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource<io.fabric8.kubernetes.api.model.apps.Deployment,DebeziumServer>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classJMX auth file copy and permission command representationNested classes/interfaces inherited from interface io.javaoperatorsdk.operator.processing.dependent.Matcher
io.javaoperatorsdk.operator.processing.dependent.Matcher.Result<R extends Object> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringprivate static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final intstatic final String(package private) Stringstatic final Stringprivate static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String(package private) VersionProviderFields inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource
eventSourceNameToUse, genericFilter, onAddFilter, onDeleteFilter, onUpdateFilterFields inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource
creator, updater -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddExternalEnvVariablesToContainer(Runtime runtime, io.fabric8.kubernetes.api.model.Container container) Adds external environment variables to container in requiredprivate voidaddExternalVolumeMountsToContainer(Runtime runtime, io.fabric8.kubernetes.api.model.Container container) Adds external volume mounts to container if requiredprivate voidaddExternalVolumesToPod(Runtime runtime, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Adds external volume definitions to pod if requiredprivate voidaddJmxConfigurationToContainer(JmxConfig jmx, io.fabric8.kubernetes.api.model.Container container) Adds JMX configuration to container if requiredprivate voidaddJmxConfigurationToPod(DebeziumServer primary, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Adds JMX configuration to pod if requiredprivate voidaddTemplateConfigurationToContainer(ContainerTemplate template, io.fabric8.kubernetes.api.model.Container container) private voidaddTemplateConfigurationToPod(PodTemplate template, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Applies pod template configuration to pod if requiredprotected io.fabric8.kubernetes.api.model.apps.Deploymentdesired(DebeziumServer primary, io.javaoperatorsdk.operator.api.reconciler.Context<DebeziumServer> context) private io.fabric8.kubernetes.api.model.VolumedesiredDataVolume(DebeziumServer primary) Creates desired data volumeprivate Optional<io.fabric8.kubernetes.api.model.Container>desiredJmxInitContainer(JmxConfig jmx, String image) Creates desired JMX init containerprivate io.fabric8.kubernetes.api.model.ContainerdesiredServerContainer(DebeziumServer primary) Creates desired server containerprivate StringgetTaggedImage(DebeziumServer primary) Determines the debezium server image tagprivate voidmergeJavaOptsEnvVar(Map<String, ?> newValue, io.fabric8.kubernetes.api.model.Container container) Adds JAVA_OPTS environment variable is not set on container.Methods inherited from class io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource
addMetadata, addOwnerReference, addReferenceHandlingMetadata, addSecondaryToPrimaryMapperAnnotations, addSecondaryToPrimaryMapperAnnotations, configuration, configureWith, configureWith, create, createEventSource, deleteTargetResource, handleDelete, isDeletable, match, match, match, prepare, update, useSSAMethods inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource
applyFilters, eventSource, eventSource, initEventSource, onCreated, onUpdated, resolveEventSource, resourceType, setEventSource, setOnAddFilter, setOnDeleteFilter, setOnUpdateFilter, useEventSourceWithNameMethods inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource
delete, getSecondaryResource, handleCreate, handleUpdate, isCreatable, isUpdatable, reconcile, reconcile, setResourceDiscriminatorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.javaoperatorsdk.operator.processing.dependent.Creator
createMethods inherited from interface io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter
deleteMethods inherited from interface io.javaoperatorsdk.operator.processing.dependent.Matcher
matchMethods inherited from interface io.javaoperatorsdk.operator.processing.dependent.Updater
update
-
Field Details
-
DEFAULT_IMAGE
- See Also:
-
CONFIG_VOLUME_NAME
- See Also:
-
CONFIG_FILE_NAME
- See Also:
-
CONFIG_DIR_PATH
- See Also:
-
CONFIG_FILE_PATH
- See Also:
-
JMX_CONFIG_VOLUME_NAME
- See Also:
-
JMX_CONFIG_VOLUME_INIT_NAME
- See Also:
-
JMX_CONFIG_VOLUME_PATH
- See Also:
-
JMX_CONFIG_VOLUME_INIT_PATH
- See Also:
-
DATA_VOLUME_NAME
- See Also:
-
DATA_VOLUME_PATH
- See Also:
-
EXTERNAL_VOLUME_PATH
- See Also:
-
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORT- See Also:
-
CONFIG_MD5_ANNOTATION
- See Also:
-
INIT_CONTAINER_IMAGE
- See Also:
-
defaultImage
String defaultImage -
version
-
-
Constructor Details
-
DeploymentDependent
public DeploymentDependent()
-
-
Method Details
-
desired
protected io.fabric8.kubernetes.api.model.apps.Deployment desired(DebeziumServer primary, io.javaoperatorsdk.operator.api.reconciler.Context<DebeziumServer> context) - Overrides:
desiredin classio.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource<io.fabric8.kubernetes.api.model.apps.Deployment,DebeziumServer>
-
addTemplateConfigurationToPod
private void addTemplateConfigurationToPod(PodTemplate template, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Applies pod template configuration to pod if required- Parameters:
template- pod template configurationpod- actual pod template spec
-
addExternalVolumesToPod
private void addExternalVolumesToPod(Runtime runtime, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Adds external volume definitions to pod if required- Parameters:
runtime- runtime configurationpod- actual pod template spec
-
addJmxConfigurationToPod
private void addJmxConfigurationToPod(DebeziumServer primary, io.fabric8.kubernetes.api.model.PodTemplateSpec pod) Adds JMX configuration to pod if required- Parameters:
primary- primary resourcepod- target pod
-
addTemplateConfigurationToContainer
private void addTemplateConfigurationToContainer(ContainerTemplate template, io.fabric8.kubernetes.api.model.Container container) -
desiredDataVolume
Creates desired data volume- Parameters:
primary- primary CR- Returns:
- desired data volume
-
desiredServerContainer
Creates desired server container- Parameters:
primary- primary CR- Returns:
- desired server container
-
desiredJmxInitContainer
private Optional<io.fabric8.kubernetes.api.model.Container> desiredJmxInitContainer(JmxConfig jmx, String image) Creates desired JMX init container- Parameters:
jmx- jmx configuration- Returns:
- init container or empty optional
-
addExternalVolumeMountsToContainer
private void addExternalVolumeMountsToContainer(Runtime runtime, io.fabric8.kubernetes.api.model.Container container) Adds external volume mounts to container if required- Parameters:
runtime- runtime configurationcontainer- target container
-
addExternalEnvVariablesToContainer
private void addExternalEnvVariablesToContainer(Runtime runtime, io.fabric8.kubernetes.api.model.Container container) Adds external environment variables to container in required- Parameters:
runtime- runtime configurationcontainer- target container
-
addJmxConfigurationToContainer
private void addJmxConfigurationToContainer(JmxConfig jmx, io.fabric8.kubernetes.api.model.Container container) Adds JMX configuration to container if required- Parameters:
jmx- jmx configurationcontainer- target container
-
mergeJavaOptsEnvVar
private void mergeJavaOptsEnvVar(Map<String, ?> newValue, io.fabric8.kubernetes.api.model.Container container) Adds JAVA_OPTS environment variable is not set on container. If JAVA_OPTS already exists then new (and only new) options are added- Parameters:
newValue- additional JAVA_OPTS in form of a mapcontainer- target container
-
getTaggedImage
Determines the debezium server image tag- Parameters:
primary- primary CR- Returns:
- image tag
-