public class KafkaConnectController extends Object
| Modifier and Type | Field and Description |
|---|---|
private io.fabric8.openshift.api.model.Route |
apiRoute |
private okhttp3.OkHttpClient |
http |
private HttpUtils |
httpUtils |
private io.strimzi.api.kafka.model.KafkaConnect |
kafkaConnect |
private static org.slf4j.Logger |
LOGGER |
private io.fabric8.openshift.api.model.Route |
metricsRoute |
private String |
name |
private io.fabric8.openshift.client.OpenShiftClient |
ocp |
private OpenShiftUtils |
ocpUtils |
private String |
project |
private boolean |
useConnectorResources |
| Constructor and Description |
|---|
KafkaConnectController(io.strimzi.api.kafka.model.KafkaConnect kafkaConnect,
io.fabric8.openshift.client.OpenShiftClient ocp,
okhttp3.OkHttpClient http,
boolean useConnectorResources) |
| Modifier and Type | Method and Description |
|---|---|
io.fabric8.kubernetes.api.model.networking.NetworkPolicy |
allowServiceAccess()
Creates network policy allowing access to ports exposed by Kafka Connect
|
void |
deployConnector(String name,
ConnectorConfigBuilder config)
Deploys Kafka connector with given name and configuration via REST
|
private void |
deployConnectorCr(String name,
ConnectorConfigBuilder config) |
private void |
deployConnectorJson(String name,
ConnectorConfigBuilder config) |
void |
destroy()
Crashes Kafka Connect by force deleting all pods.
|
void |
disable()
Disables Kafka Connect by scaling it to ZERO
NOTICE: cluster operator needs to be disabled first!
|
io.fabric8.openshift.api.model.Route |
exposeApi()
Exposes a route for kafka connect API associated with given KafkaConnect resource
|
io.fabric8.openshift.api.model.Route |
exposeMetrics()
Exposes a route for prometheus metrics for kafka connect associated with given KafkaConnect resource
|
okhttp3.HttpUrl |
getApiURL() |
List<String> |
getConnectMetrics() |
okhttp3.HttpUrl |
getMetricsURL() |
private io.fabric8.kubernetes.client.dsl.NonNamespaceOperation<io.strimzi.api.kafka.model.KafkaConnector,io.strimzi.api.kafka.KafkaConnectorList,io.strimzi.api.kafka.model.DoneableKafkaConnector,io.fabric8.kubernetes.client.dsl.Resource<io.strimzi.api.kafka.model.KafkaConnector,io.strimzi.api.kafka.model.DoneableKafkaConnector>> |
kafkaConnectorOperation() |
boolean |
undeployCluster()
Undeploy this Kafka Connect cluster by deleted related KafkaConnect CR
|
void |
undeployConnector(String name)
Deletes Kafka connector with given name
|
private void |
undeployConnectorCr(String name) |
private void |
undeployConnectorJson(String name) |
io.strimzi.api.kafka.model.KafkaConnect |
waitForConnectCluster()
Wait until KafkaConnect instance is back and ready
|
io.strimzi.api.kafka.model.KafkaConnector |
waitForKafkaConnector(String name)
Waits until connector is properly deployed.
|
void |
waitForMongoSnapshot(String connectorName)
Waits until snapshot phase of given MongoDB connector completes
|
void |
waitForMySqlSnapshot(String connectorName)
Waits until snapshot phase of given MySQL connector completes
|
void |
waitForPostgreSqlSnapshot(String connectorName)
Waits until snapshot phase of given PostgreSQL connector completes
|
void |
waitForSnapshot(String connectorName,
String metricName)
Waits until Snapshot phase of given connector completes
|
void |
waitForSqlServerSnapshot(String connectorName)
Waits until snapshot phase of given SQL Server connector completes
|
private static final org.slf4j.Logger LOGGER
private final io.fabric8.openshift.client.OpenShiftClient ocp
private final okhttp3.OkHttpClient http
private final String project
private final OpenShiftUtils ocpUtils
private final HttpUtils httpUtils
private final boolean useConnectorResources
private final String name
private io.strimzi.api.kafka.model.KafkaConnect kafkaConnect
private io.fabric8.openshift.api.model.Route apiRoute
private io.fabric8.openshift.api.model.Route metricsRoute
public KafkaConnectController(io.strimzi.api.kafka.model.KafkaConnect kafkaConnect,
io.fabric8.openshift.client.OpenShiftClient ocp,
okhttp3.OkHttpClient http,
boolean useConnectorResources)
public void disable()
public void destroy()
disable()
NOTICE: cluster operator needs to be disabled first!public io.strimzi.api.kafka.model.KafkaConnect waitForConnectCluster()
throws InterruptedException
KafkaConnect resource instanceInterruptedExceptionpublic io.fabric8.kubernetes.api.model.networking.NetworkPolicy allowServiceAccess()
public io.fabric8.openshift.api.model.Route exposeApi()
Route objectpublic io.fabric8.openshift.api.model.Route exposeMetrics()
Route objectpublic void deployConnector(String name, ConnectorConfigBuilder config) throws IOException, InterruptedException
name - connector nameconfig - connector configIOException - or request errorInterruptedExceptionprivate void deployConnectorJson(String name, ConnectorConfigBuilder config) throws IOException
IOExceptionprivate void deployConnectorCr(String name, ConnectorConfigBuilder config) throws InterruptedException
InterruptedExceptionpublic io.strimzi.api.kafka.model.KafkaConnector waitForKafkaConnector(String name) throws InterruptedException
name - name of the connectorInterruptedException - on wait errorIllegalArgumentException - when deployment doesn't use custom resourcesprivate io.fabric8.kubernetes.client.dsl.NonNamespaceOperation<io.strimzi.api.kafka.model.KafkaConnector,io.strimzi.api.kafka.KafkaConnectorList,io.strimzi.api.kafka.model.DoneableKafkaConnector,io.fabric8.kubernetes.client.dsl.Resource<io.strimzi.api.kafka.model.KafkaConnector,io.strimzi.api.kafka.model.DoneableKafkaConnector>> kafkaConnectorOperation()
public void undeployConnector(String name) throws IOException
name - connector nameIOException - on request errorprivate void undeployConnectorJson(String name) throws IOException
IOExceptionprivate void undeployConnectorCr(String name)
public List<String> getConnectMetrics() throws IOException
IOExceptionpublic void waitForSnapshot(String connectorName, String metricName) throws IOException
connectorName - name of the connectmetricName - name of the metric used to determine the stateIOException - on metric request errorpublic void waitForMySqlSnapshot(String connectorName) throws IOException
connectorName - connector nameIOException - on metric request errorpublic void waitForPostgreSqlSnapshot(String connectorName) throws IOException
connectorName - connector nameIOException - on metric request errorpublic void waitForSqlServerSnapshot(String connectorName) throws IOException
connectorName - connector nameIOException - on metric request errorpublic void waitForMongoSnapshot(String connectorName) throws IOException
connectorName - connector nameIOException - on metric request errorpublic okhttp3.HttpUrl getApiURL()
public okhttp3.HttpUrl getMetricsURL()
public boolean undeployCluster()
Copyright © 2020 JBoss by Red Hat. All rights reserved.