use of io.strimzi.api.kafka.model.TlsSidecar in project strimzi-kafka-operator by strimzi.
the class EntityOperator method fromCrd.
/**
* Create a Entity Operator from given desired resource
*
* @param reconciliation The reconciliation
* @param kafkaAssembly desired resource with cluster configuration containing the Entity Operator one
* @param versions The versions.
* @return Entity Operator instance, null if not configured in the ConfigMap
*/
public static EntityOperator fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions) {
EntityOperator result = null;
EntityOperatorSpec entityOperatorSpec = kafkaAssembly.getSpec().getEntityOperator();
if (entityOperatorSpec != null) {
result = new EntityOperator(reconciliation, kafkaAssembly);
result.setOwnerReference(kafkaAssembly);
EntityTopicOperator topicOperator = EntityTopicOperator.fromCrd(reconciliation, kafkaAssembly);
EntityUserOperator userOperator = EntityUserOperator.fromCrd(reconciliation, kafkaAssembly);
TlsSidecar tlsSidecar = entityOperatorSpec.getTlsSidecar();
if (entityOperatorSpec.getTemplate() != null) {
EntityOperatorTemplate template = entityOperatorSpec.getTemplate();
if (template.getDeployment() != null && template.getDeployment().getMetadata() != null) {
result.templateDeploymentLabels = template.getDeployment().getMetadata().getLabels();
result.templateDeploymentAnnotations = template.getDeployment().getMetadata().getAnnotations();
}
ModelUtils.parsePodTemplate(result, template.getPod());
if (template.getTopicOperatorContainer() != null && template.getTopicOperatorContainer().getEnv() != null) {
topicOperator.setContainerEnvVars(template.getTopicOperatorContainer().getEnv());
}
if (template.getTopicOperatorContainer() != null && template.getTopicOperatorContainer().getSecurityContext() != null) {
topicOperator.setContainerSecurityContext(template.getTopicOperatorContainer().getSecurityContext());
}
if (template.getUserOperatorContainer() != null && template.getUserOperatorContainer().getEnv() != null) {
userOperator.setContainerEnvVars(template.getUserOperatorContainer().getEnv());
}
if (template.getUserOperatorContainer() != null && template.getUserOperatorContainer().getSecurityContext() != null) {
userOperator.setContainerSecurityContext(template.getUserOperatorContainer().getSecurityContext());
}
if (template.getTlsSidecarContainer() != null && template.getTlsSidecarContainer().getEnv() != null) {
result.templateTlsSidecarContainerEnvVars = template.getTlsSidecarContainer().getEnv();
}
if (template.getTlsSidecarContainer() != null && template.getTlsSidecarContainer().getSecurityContext() != null) {
result.templateTlsSidecarContainerSecurityContext = template.getTlsSidecarContainer().getSecurityContext();
}
if (template.getServiceAccount() != null && template.getServiceAccount().getMetadata() != null) {
result.templateServiceAccountLabels = template.getServiceAccount().getMetadata().getLabels();
result.templateServiceAccountAnnotations = template.getServiceAccount().getMetadata().getAnnotations();
}
}
result.setTlsSidecar(tlsSidecar);
result.setTopicOperator(topicOperator);
result.setUserOperator(userOperator);
result.setDeployed(result.getTopicOperator() != null || result.getUserOperator() != null);
String tlsSideCarImage = tlsSidecar != null ? tlsSidecar.getImage() : null;
if (tlsSideCarImage == null) {
KafkaClusterSpec kafkaClusterSpec = kafkaAssembly.getSpec().getKafka();
tlsSideCarImage = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
result.tlsSidecarImage = tlsSideCarImage;
result.templatePodLabels = Util.mergeLabelsOrAnnotations(result.templatePodLabels, DEFAULT_POD_LABELS);
}
return result;
}
use of io.strimzi.api.kafka.model.TlsSidecar in project strimzi by strimzi.
the class CruiseControl method fromCrd.
public static CruiseControl fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions, Storage storage) {
CruiseControl cruiseControl = null;
CruiseControlSpec spec = kafkaAssembly.getSpec().getCruiseControl();
KafkaClusterSpec kafkaClusterSpec = kafkaAssembly.getSpec().getKafka();
if (spec != null) {
cruiseControl = new CruiseControl(reconciliation, kafkaAssembly);
cruiseControl.isDeployed = true;
cruiseControl.setReplicas(DEFAULT_REPLICAS);
String image = spec.getImage();
if (image == null) {
image = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
cruiseControl.setImage(image);
TlsSidecar tlsSidecar = spec.getTlsSidecar();
if (tlsSidecar == null) {
tlsSidecar = new TlsSidecar();
}
String tlsSideCarImage = tlsSidecar.getImage();
if (tlsSideCarImage == null) {
tlsSideCarImage = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_TLS_SIDECAR_CRUISE_CONTROL_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
tlsSidecar.setImage(tlsSideCarImage);
cruiseControl.tlsSidecarImage = tlsSideCarImage;
cruiseControl.setTlsSidecar(tlsSidecar);
cruiseControl = cruiseControl.updateConfiguration(spec);
CruiseControlConfiguration ccConfiguration = (CruiseControlConfiguration) cruiseControl.getConfiguration();
cruiseControl.sslEnabled = isApiSslEnabled(ccConfiguration);
cruiseControl.authEnabled = isApiAuthEnabled(ccConfiguration);
KafkaConfiguration configuration = new KafkaConfiguration(reconciliation, kafkaClusterSpec.getConfig().entrySet());
if (configuration.getConfigOption(MIN_INSYNC_REPLICAS) != null) {
cruiseControl.minInsyncReplicas = configuration.getConfigOption(MIN_INSYNC_REPLICAS);
}
// To avoid illegal storage configurations provided by the user,
// we rely on the storage configuration provided by the KafkaAssemblyOperator
cruiseControl.capacity = new Capacity(kafkaAssembly.getSpec(), storage);
// Parse different types of metrics configurations
ModelUtils.parseMetrics(cruiseControl, spec);
if (spec.getReadinessProbe() != null) {
cruiseControl.setReadinessProbe(spec.getReadinessProbe());
}
if (spec.getLivenessProbe() != null) {
cruiseControl.setLivenessProbe(spec.getLivenessProbe());
}
Logging logging = spec.getLogging();
cruiseControl.setLogging(logging == null ? new InlineLogging() : logging);
cruiseControl.setGcLoggingEnabled(spec.getJvmOptions() == null ? DEFAULT_JVM_GC_LOGGING_ENABLED : spec.getJvmOptions().isGcLoggingEnabled());
cruiseControl.setJvmOptions(spec.getJvmOptions());
if (spec.getJvmOptions() != null) {
cruiseControl.setJavaSystemProperties(spec.getJvmOptions().getJavaSystemProperties());
}
cruiseControl.setResources(spec.getResources());
cruiseControl.setOwnerReference(kafkaAssembly);
cruiseControl = updateTemplate(spec, cruiseControl);
cruiseControl.templatePodLabels = Util.mergeLabelsOrAnnotations(cruiseControl.templatePodLabels, DEFAULT_POD_LABELS);
}
return cruiseControl;
}
use of io.strimzi.api.kafka.model.TlsSidecar in project strimzi by strimzi.
the class EntityOperator method fromCrd.
/**
* Create a Entity Operator from given desired resource
*
* @param reconciliation The reconciliation
* @param kafkaAssembly desired resource with cluster configuration containing the Entity Operator one
* @param versions The versions.
* @return Entity Operator instance, null if not configured in the ConfigMap
*/
public static EntityOperator fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions) {
EntityOperator result = null;
EntityOperatorSpec entityOperatorSpec = kafkaAssembly.getSpec().getEntityOperator();
if (entityOperatorSpec != null) {
result = new EntityOperator(reconciliation, kafkaAssembly);
result.setOwnerReference(kafkaAssembly);
EntityTopicOperator topicOperator = EntityTopicOperator.fromCrd(reconciliation, kafkaAssembly);
EntityUserOperator userOperator = EntityUserOperator.fromCrd(reconciliation, kafkaAssembly);
TlsSidecar tlsSidecar = entityOperatorSpec.getTlsSidecar();
if (entityOperatorSpec.getTemplate() != null) {
EntityOperatorTemplate template = entityOperatorSpec.getTemplate();
if (template.getDeployment() != null && template.getDeployment().getMetadata() != null) {
result.templateDeploymentLabels = template.getDeployment().getMetadata().getLabels();
result.templateDeploymentAnnotations = template.getDeployment().getMetadata().getAnnotations();
}
ModelUtils.parsePodTemplate(result, template.getPod());
if (template.getTopicOperatorContainer() != null && template.getTopicOperatorContainer().getEnv() != null) {
topicOperator.setContainerEnvVars(template.getTopicOperatorContainer().getEnv());
}
if (template.getTopicOperatorContainer() != null && template.getTopicOperatorContainer().getSecurityContext() != null) {
topicOperator.setContainerSecurityContext(template.getTopicOperatorContainer().getSecurityContext());
}
if (template.getUserOperatorContainer() != null && template.getUserOperatorContainer().getEnv() != null) {
userOperator.setContainerEnvVars(template.getUserOperatorContainer().getEnv());
}
if (template.getUserOperatorContainer() != null && template.getUserOperatorContainer().getSecurityContext() != null) {
userOperator.setContainerSecurityContext(template.getUserOperatorContainer().getSecurityContext());
}
if (template.getTlsSidecarContainer() != null && template.getTlsSidecarContainer().getEnv() != null) {
result.templateTlsSidecarContainerEnvVars = template.getTlsSidecarContainer().getEnv();
}
if (template.getTlsSidecarContainer() != null && template.getTlsSidecarContainer().getSecurityContext() != null) {
result.templateTlsSidecarContainerSecurityContext = template.getTlsSidecarContainer().getSecurityContext();
}
if (template.getServiceAccount() != null && template.getServiceAccount().getMetadata() != null) {
result.templateServiceAccountLabels = template.getServiceAccount().getMetadata().getLabels();
result.templateServiceAccountAnnotations = template.getServiceAccount().getMetadata().getAnnotations();
}
}
result.setTlsSidecar(tlsSidecar);
result.setTopicOperator(topicOperator);
result.setUserOperator(userOperator);
result.setDeployed(result.getTopicOperator() != null || result.getUserOperator() != null);
String tlsSideCarImage = tlsSidecar != null ? tlsSidecar.getImage() : null;
if (tlsSideCarImage == null) {
KafkaClusterSpec kafkaClusterSpec = kafkaAssembly.getSpec().getKafka();
tlsSideCarImage = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
result.tlsSidecarImage = tlsSideCarImage;
result.templatePodLabels = Util.mergeLabelsOrAnnotations(result.templatePodLabels, DEFAULT_POD_LABELS);
}
return result;
}
use of io.strimzi.api.kafka.model.TlsSidecar in project strimzi-kafka-operator by strimzi.
the class CruiseControl method fromCrd.
public static CruiseControl fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions, Storage storage) {
CruiseControl cruiseControl = null;
CruiseControlSpec spec = kafkaAssembly.getSpec().getCruiseControl();
KafkaClusterSpec kafkaClusterSpec = kafkaAssembly.getSpec().getKafka();
if (spec != null) {
cruiseControl = new CruiseControl(reconciliation, kafkaAssembly);
cruiseControl.isDeployed = true;
cruiseControl.setReplicas(DEFAULT_REPLICAS);
String image = spec.getImage();
if (image == null) {
image = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
cruiseControl.setImage(image);
TlsSidecar tlsSidecar = spec.getTlsSidecar();
if (tlsSidecar == null) {
tlsSidecar = new TlsSidecar();
}
String tlsSideCarImage = tlsSidecar.getImage();
if (tlsSideCarImage == null) {
tlsSideCarImage = System.getenv().getOrDefault(ClusterOperatorConfig.STRIMZI_DEFAULT_TLS_SIDECAR_CRUISE_CONTROL_IMAGE, versions.kafkaImage(kafkaClusterSpec.getImage(), versions.defaultVersion().version()));
}
tlsSidecar.setImage(tlsSideCarImage);
cruiseControl.tlsSidecarImage = tlsSideCarImage;
cruiseControl.setTlsSidecar(tlsSidecar);
cruiseControl = cruiseControl.updateConfiguration(spec);
CruiseControlConfiguration ccConfiguration = (CruiseControlConfiguration) cruiseControl.getConfiguration();
cruiseControl.sslEnabled = isApiSslEnabled(ccConfiguration);
cruiseControl.authEnabled = isApiAuthEnabled(ccConfiguration);
KafkaConfiguration configuration = new KafkaConfiguration(reconciliation, kafkaClusterSpec.getConfig().entrySet());
if (configuration.getConfigOption(MIN_INSYNC_REPLICAS) != null) {
cruiseControl.minInsyncReplicas = configuration.getConfigOption(MIN_INSYNC_REPLICAS);
}
// To avoid illegal storage configurations provided by the user,
// we rely on the storage configuration provided by the KafkaAssemblyOperator
cruiseControl.capacity = new Capacity(kafkaAssembly.getSpec(), storage);
// Parse different types of metrics configurations
ModelUtils.parseMetrics(cruiseControl, spec);
if (spec.getReadinessProbe() != null) {
cruiseControl.setReadinessProbe(spec.getReadinessProbe());
}
if (spec.getLivenessProbe() != null) {
cruiseControl.setLivenessProbe(spec.getLivenessProbe());
}
Logging logging = spec.getLogging();
cruiseControl.setLogging(logging == null ? new InlineLogging() : logging);
cruiseControl.setGcLoggingEnabled(spec.getJvmOptions() == null ? DEFAULT_JVM_GC_LOGGING_ENABLED : spec.getJvmOptions().isGcLoggingEnabled());
cruiseControl.setJvmOptions(spec.getJvmOptions());
if (spec.getJvmOptions() != null) {
cruiseControl.setJavaSystemProperties(spec.getJvmOptions().getJavaSystemProperties());
}
cruiseControl.setResources(spec.getResources());
cruiseControl.setOwnerReference(kafkaAssembly);
cruiseControl = updateTemplate(spec, cruiseControl);
cruiseControl.templatePodLabels = Util.mergeLabelsOrAnnotations(cruiseControl.templatePodLabels, DEFAULT_POD_LABELS);
}
return cruiseControl;
}
Aggregations