Search in sources :

Example 1 with JmxTransSpec

use of io.strimzi.api.kafka.model.JmxTransSpec in project strimzi by strimzi.

the class JmxTrans method fromCrd.

public static JmxTrans fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions) {
    JmxTrans result = null;
    JmxTransSpec spec = kafkaAssembly.getSpec().getJmxTrans();
    if (spec != null) {
        if (kafkaAssembly.getSpec().getKafka().getJmxOptions() == null) {
            String error = String.format("Can't start up JmxTrans '%s' in '%s' as Kafka spec.kafka.jmxOptions is not specified", JmxTransResources.deploymentName(kafkaAssembly.getMetadata().getName()), kafkaAssembly.getMetadata().getNamespace());
            LOGGER.warnCr(reconciliation, error);
            throw new InvalidResourceException(error);
        }
        result = new JmxTrans(reconciliation, kafkaAssembly);
        result.isDeployed = true;
        if (kafkaAssembly.getSpec().getKafka().getJmxOptions().getAuthentication() instanceof KafkaJmxAuthenticationPassword) {
            result.isJmxAuthenticated = true;
        }
        result.loggingLevel = spec.getLogLevel() == null ? "" : spec.getLogLevel();
        result.setResources(spec.getResources());
        String image = spec.getImage();
        if (image == null) {
            image = System.getenv().getOrDefault(STRIMZI_DEFAULT_JMXTRANS_IMAGE, "quay.io/strimzi/jmxtrans:latest");
        }
        result.setImage(image);
        result.setOwnerReference(kafkaAssembly);
        if (spec.getTemplate() != null) {
            JmxTransTemplate template = spec.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.getContainer() != null && template.getContainer().getEnv() != null) {
                result.templateContainerEnvVars = template.getContainer().getEnv();
            }
            if (template.getContainer() != null && template.getContainer().getSecurityContext() != null) {
                result.templateContainerSecurityContext = template.getContainer().getSecurityContext();
            }
            if (template.getServiceAccount() != null && template.getServiceAccount().getMetadata() != null) {
                result.templateServiceAccountLabels = template.getServiceAccount().getMetadata().getLabels();
                result.templateServiceAccountAnnotations = template.getServiceAccount().getMetadata().getAnnotations();
            }
        }
        result.templatePodLabels = Util.mergeLabelsOrAnnotations(result.templatePodLabels, DEFAULT_POD_LABELS);
    }
    return result;
}
Also used : JmxTransSpec(io.strimzi.api.kafka.model.JmxTransSpec) KafkaJmxAuthenticationPassword(io.strimzi.api.kafka.model.KafkaJmxAuthenticationPassword) IntOrString(io.fabric8.kubernetes.api.model.IntOrString) JmxTransTemplate(io.strimzi.api.kafka.model.template.JmxTransTemplate)

Example 2 with JmxTransSpec

use of io.strimzi.api.kafka.model.JmxTransSpec in project strimzi-kafka-operator by strimzi.

the class JmxTrans method fromCrd.

public static JmxTrans fromCrd(Reconciliation reconciliation, Kafka kafkaAssembly, KafkaVersion.Lookup versions) {
    JmxTrans result = null;
    JmxTransSpec spec = kafkaAssembly.getSpec().getJmxTrans();
    if (spec != null) {
        if (kafkaAssembly.getSpec().getKafka().getJmxOptions() == null) {
            String error = String.format("Can't start up JmxTrans '%s' in '%s' as Kafka spec.kafka.jmxOptions is not specified", JmxTransResources.deploymentName(kafkaAssembly.getMetadata().getName()), kafkaAssembly.getMetadata().getNamespace());
            LOGGER.warnCr(reconciliation, error);
            throw new InvalidResourceException(error);
        }
        result = new JmxTrans(reconciliation, kafkaAssembly);
        result.isDeployed = true;
        if (kafkaAssembly.getSpec().getKafka().getJmxOptions().getAuthentication() instanceof KafkaJmxAuthenticationPassword) {
            result.isJmxAuthenticated = true;
        }
        result.loggingLevel = spec.getLogLevel() == null ? "" : spec.getLogLevel();
        result.setResources(spec.getResources());
        String image = spec.getImage();
        if (image == null) {
            image = System.getenv().getOrDefault(STRIMZI_DEFAULT_JMXTRANS_IMAGE, "quay.io/strimzi/jmxtrans:latest");
        }
        result.setImage(image);
        result.setOwnerReference(kafkaAssembly);
        if (spec.getTemplate() != null) {
            JmxTransTemplate template = spec.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.getContainer() != null && template.getContainer().getEnv() != null) {
                result.templateContainerEnvVars = template.getContainer().getEnv();
            }
            if (template.getContainer() != null && template.getContainer().getSecurityContext() != null) {
                result.templateContainerSecurityContext = template.getContainer().getSecurityContext();
            }
            if (template.getServiceAccount() != null && template.getServiceAccount().getMetadata() != null) {
                result.templateServiceAccountLabels = template.getServiceAccount().getMetadata().getLabels();
                result.templateServiceAccountAnnotations = template.getServiceAccount().getMetadata().getAnnotations();
            }
        }
        result.templatePodLabels = Util.mergeLabelsOrAnnotations(result.templatePodLabels, DEFAULT_POD_LABELS);
    }
    return result;
}
Also used : JmxTransSpec(io.strimzi.api.kafka.model.JmxTransSpec) KafkaJmxAuthenticationPassword(io.strimzi.api.kafka.model.KafkaJmxAuthenticationPassword) IntOrString(io.fabric8.kubernetes.api.model.IntOrString) JmxTransTemplate(io.strimzi.api.kafka.model.template.JmxTransTemplate)

Aggregations

IntOrString (io.fabric8.kubernetes.api.model.IntOrString)2 JmxTransSpec (io.strimzi.api.kafka.model.JmxTransSpec)2 KafkaJmxAuthenticationPassword (io.strimzi.api.kafka.model.KafkaJmxAuthenticationPassword)2 JmxTransTemplate (io.strimzi.api.kafka.model.template.JmxTransTemplate)2