Search in sources :

Example 1 with DistributedLogsSpec

use of io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpec in project stackgres by ongres.

the class DistributedLogsTransformer method getResourceSpec.

private DistributedLogsSpec getResourceSpec(StackGresDistributedLogsSpec source) {
    DistributedLogsSpec transformation = new DistributedLogsSpec();
    transformation.setPersistentVolume(getResourcePersistentVolume(source.getPersistentVolume()));
    transformation.setNonProduction(getResourceNonProduction(source.getNonProduction()));
    transformation.setPostgresServices(new DistributedLogsPostgresServicesConverter().from(source.getPostgresServices()));
    transformation.setScheduling(Optional.ofNullable(source.getScheduling()).map(sourcePodScheduling -> {
        DistributedLogsPodScheduling podScheduling = new DistributedLogsPodScheduling();
        podScheduling.setNodeSelector(sourcePodScheduling.getNodeSelector());
        podScheduling.setTolerations(sourcePodScheduling.getTolerations());
        return podScheduling;
    }).orElse(null));
    Optional.ofNullable(source.getMetadata()).map(StackGresDistributedLogsSpecMetadata::getAnnotations).ifPresent(sourceAnnotations -> {
        transformation.setMetadata(new DistributedLogsSpecMetadata());
        final DistributedLogsSpecAnnotations targetAnnotations = new DistributedLogsSpecAnnotations();
        transformation.getMetadata().setAnnotations(targetAnnotations);
        if (sourceAnnotations.getAllResources() != null) {
            targetAnnotations.setAllResources(sourceAnnotations.getAllResources());
        }
        if (sourceAnnotations.getPods() != null) {
            targetAnnotations.setPods(sourceAnnotations.getPods());
        }
        if (sourceAnnotations.getServices() != null) {
            targetAnnotations.setServices(sourceAnnotations.getServices());
        }
    });
    if (source.getToInstallPostgresExtensions() != null) {
        transformation.setToInstallPostgresExtensions(source.getToInstallPostgresExtensions().stream().map(this::getClusterInstalledExtension).collect(ImmutableList.toImmutableList()));
    }
    return transformation;
}
Also used : StackGresDistributedLogsSpecMetadata(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpecMetadata) DistributedLogsSpecMetadata(io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpecMetadata) DistributedLogsPostgresServicesConverter(io.stackgres.apiweb.transformer.distributedlogs.DistributedLogsPostgresServicesConverter) DistributedLogsSpecAnnotations(io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpecAnnotations) StackGresDistributedLogsSpecAnnotations(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpecAnnotations) DistributedLogsSpec(io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpec) StackGresDistributedLogsSpec(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpec) DistributedLogsPodScheduling(io.stackgres.apiweb.dto.distributedlogs.DistributedLogsPodScheduling) StackGresDistributedLogsPodScheduling(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsPodScheduling)

Example 2 with DistributedLogsSpec

use of io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpec in project stackgres by ongres.

the class DistributedLogsTransformer method toCustomResource.

@Override
public StackGresDistributedLogs toCustomResource(DistributedLogsDto source, StackGresDistributedLogs original) {
    StackGresDistributedLogs transformation = Optional.ofNullable(original).orElseGet(StackGresDistributedLogs::new);
    transformation.setMetadata(getCustomResourceMetadata(source, original));
    final DistributedLogsSpec spec = source.getSpec();
    if (spec != null) {
        transformation.setSpec(getCustomResourceSpec(spec));
    }
    return transformation;
}
Also used : StackGresDistributedLogs(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs) DistributedLogsSpec(io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpec) StackGresDistributedLogsSpec(io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpec)

Aggregations

DistributedLogsSpec (io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpec)2 StackGresDistributedLogsSpec (io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpec)2 DistributedLogsPodScheduling (io.stackgres.apiweb.dto.distributedlogs.DistributedLogsPodScheduling)1 DistributedLogsSpecAnnotations (io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpecAnnotations)1 DistributedLogsSpecMetadata (io.stackgres.apiweb.dto.distributedlogs.DistributedLogsSpecMetadata)1 DistributedLogsPostgresServicesConverter (io.stackgres.apiweb.transformer.distributedlogs.DistributedLogsPostgresServicesConverter)1 StackGresDistributedLogs (io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs)1 StackGresDistributedLogsPodScheduling (io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsPodScheduling)1 StackGresDistributedLogsSpecAnnotations (io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpecAnnotations)1 StackGresDistributedLogsSpecMetadata (io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogsSpecMetadata)1