Search in sources :

Example 1 with StackGresDbOpsRepack

use of io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack in project stackgres by ongres.

the class DbOpsRepackJob method getRunEnvVars.

@Override
protected List<EnvVar> getRunEnvVars(StackGresDbOpsContext context) {
    StackGresDbOps dbOps = context.getSource();
    StackGresDbOpsRepack repack = dbOps.getSpec().getRepack();
    List<EnvVar> runEnvVars = ImmutableList.<EnvVar>builder().add(new EnvVarBuilder().withName("CLUSTER_NAMESPACE").withValue(context.getSource().getMetadata().getNamespace()).build(), new EnvVarBuilder().withName("CLUSTER_NAME").withValue(context.getSource().getMetadata().getName()).build(), new EnvVarBuilder().withName("CLUSTER_PRIMARY_POD_LABELS").withValue(labelFactory.patroniPrimaryLabels(context.getCluster()).entrySet().stream().map(e -> e.getKey() + "=" + e.getValue()).collect(Collectors.joining(","))).build(), new EnvVarBuilder().withName("PATRONI_CONTAINER_NAME").withValue(StackgresClusterContainers.PATRONI).build()).addAll(getRepackConfigEnvVar(repack)).add(new EnvVarBuilder().withName("DATABASES").withValue(Seq.seq(Optional.ofNullable(repack).map(StackGresDbOpsRepack::getDatabases).stream()).flatMap(List::stream).map(database -> Seq.seq(getRepackConfigEnvVar(repack)).map(envVar -> envVar.getName() + "=" + envVar.getValue()).toString(";") + " " + database.getName()).toString("\n")).build()).build();
    return runEnvVars;
}
Also used : PodSecurityContext(io.fabric8.kubernetes.api.model.PodSecurityContext) EnvVar(io.fabric8.kubernetes.api.model.EnvVar) StackGresCluster(io.stackgres.common.crd.sgcluster.StackGresCluster) StackGresVersion(io.stackgres.operator.common.StackGresVersion) Singleton(javax.inject.Singleton) Seq(org.jooq.lambda.Seq) StackgresClusterContainers(io.stackgres.common.StackgresClusterContainers) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) Inject(javax.inject.Inject) StackGresDbOpsContext(io.stackgres.operator.conciliation.dbops.StackGresDbOpsContext) ImmutableList(com.google.common.collect.ImmutableList) DbOpsEnvironmentVariables(io.stackgres.operator.cluster.factory.DbOpsEnvironmentVariables) ClusterStatefulSetPath(io.stackgres.common.ClusterStatefulSetPath) Duration(java.time.Duration) LabelFactoryForDbOps(io.stackgres.common.LabelFactoryForDbOps) ResourceFactory(io.stackgres.operator.conciliation.factory.ResourceFactory) LabelFactoryForCluster(io.stackgres.common.LabelFactoryForCluster) StackGresDbOpsRepackConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackConfig) EnvVarBuilder(io.fabric8.kubernetes.api.model.EnvVarBuilder) Collectors(java.util.stream.Collectors) JsonMapper(com.fasterxml.jackson.databind.json.JsonMapper) OperatorVersionBinder(io.stackgres.operator.conciliation.OperatorVersionBinder) CdiUtil(io.stackgres.common.CdiUtil) StackGresComponent(io.stackgres.common.StackGresComponent) List(java.util.List) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) Optional(java.util.Optional) EnvVar(io.fabric8.kubernetes.api.model.EnvVar) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) ImmutableList(com.google.common.collect.ImmutableList) List(java.util.List) EnvVarBuilder(io.fabric8.kubernetes.api.model.EnvVarBuilder)

Example 2 with StackGresDbOpsRepack

use of io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack in project stackgres by ongres.

the class DbOpsTransformer method getResourceRepack.

private DbOpsRepack getResourceRepack(StackGresDbOpsRepack source) {
    if (source == null) {
        return null;
    }
    DbOpsRepack transformation = new DbOpsRepack();
    setResourceRepackConfig(source, transformation);
    transformation.setDatabases(Seq.seq(Optional.ofNullable(source.getDatabases()).stream()).flatMap(List::stream).map(database -> Tuple.tuple(database, new DbOpsRepackDatabase())).peek(t -> t.v2.setName(t.v1.getName())).peek(t -> setResourceRepackConfig(t.v1, t.v2)).map(Tuple2::v2).toList());
    return transformation;
}
Also used : DbOpsSecurityUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgrade) DbOpsVacuum(io.stackgres.apiweb.dto.dbops.DbOpsVacuum) StackGresDbOpsSecurityUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsSecurityUpgrade) DbOpsSecurityUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgradeStatus) DbOpsRestart(io.stackgres.apiweb.dto.dbops.DbOpsRestart) StackGresDbOpsCondition(io.stackgres.common.crd.sgdbops.StackGresDbOpsCondition) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) Tuple2(org.jooq.lambda.tuple.Tuple2) DbOpsRepackConfig(io.stackgres.apiweb.dto.dbops.DbOpsRepackConfig) DbOpsVacuumDatabase(io.stackgres.apiweb.dto.dbops.DbOpsVacuumDatabase) StackGresDbOpsRepackDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackDatabase) DbOpsPgbenchStatus(io.stackgres.apiweb.dto.dbops.DbOpsPgbenchStatus) StackGresDbOpsRestartStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsRestartStatus) StackGresDbOpsSpec(io.stackgres.common.crd.sgdbops.StackGresDbOpsSpec) DbOpsPgbench(io.stackgres.apiweb.dto.dbops.DbOpsPgbench) StackGresDbOpsSecurityUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsSecurityUpgradeStatus) StackGresDbOpsMajorVersionUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsMajorVersionUpgradeStatus) DbOpsRepackDatabase(io.stackgres.apiweb.dto.dbops.DbOpsRepackDatabase) DbOpsMinorVersionUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgrade) Collectors(java.util.stream.Collectors) List(java.util.List) DbOpsRestartStatus(io.stackgres.apiweb.dto.dbops.DbOpsRestartStatus) Tuple(org.jooq.lambda.tuple.Tuple) DbOpsPgbenchStatusTransactionsPerSecondConverter(io.stackgres.apiweb.transformer.dbops.converter.DbOpsPgbenchStatusTransactionsPerSecondConverter) DbOpsMajorVersionUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgradeStatus) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) Optional(java.util.Optional) ApplicationScoped(javax.enterprise.context.ApplicationScoped) StackGresDbOpsBenchmarkStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsBenchmarkStatus) StackGresDbOpsPgbench(io.stackgres.common.crd.sgdbops.StackGresDbOpsPgbench) StackGresDbOpsPgbenchStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsPgbenchStatus) DbOpsPgbenchStatusLatencyConverter(io.stackgres.apiweb.transformer.dbops.converter.DbOpsPgbenchStatusLatencyConverter) StackGresDbOpsRestart(io.stackgres.common.crd.sgdbops.StackGresDbOpsRestart) Seq(org.jooq.lambda.Seq) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) StackGresDbOpsVacuumConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumConfig) DbOpsStatus(io.stackgres.apiweb.dto.dbops.DbOpsStatus) StackGresDbOpsMajorVersionUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsMajorVersionUpgrade) StackGresDbOpsStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsStatus) DbOpsDto(io.stackgres.apiweb.dto.dbops.DbOpsDto) DbOpsSpec(io.stackgres.apiweb.dto.dbops.DbOpsSpec) DbOpsBenchmark(io.stackgres.apiweb.dto.dbops.DbOpsBenchmark) DbOpsCondition(io.stackgres.apiweb.dto.dbops.DbOpsCondition) StackGresDbOpsMinorVersionUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsMinorVersionUpgrade) StackGresDbOpsRepackConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackConfig) DbOpsRepack(io.stackgres.apiweb.dto.dbops.DbOpsRepack) StackGresDbOpsVacuumDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumDatabase) StackGresDbOpsMinorVersionUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsMinorVersionUpgradeStatus) DbOpsMinorVersionUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgradeStatus) StackGresDbOpsBenchmark(io.stackgres.common.crd.sgdbops.StackGresDbOpsBenchmark) DbOpsMajorVersionUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgrade) DbOpsBenchmarkStatus(io.stackgres.apiweb.dto.dbops.DbOpsBenchmarkStatus) DbOpsVacuumConfig(io.stackgres.apiweb.dto.dbops.DbOpsVacuumConfig) StackGresDbOpsRepackDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackDatabase) DbOpsRepackDatabase(io.stackgres.apiweb.dto.dbops.DbOpsRepackDatabase) Tuple2(org.jooq.lambda.tuple.Tuple2) List(java.util.List) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) DbOpsRepack(io.stackgres.apiweb.dto.dbops.DbOpsRepack)

Example 3 with StackGresDbOpsRepack

use of io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack in project stackgres by ongres.

the class DbOpsTransformer method getCustomResourceRepack.

private StackGresDbOpsRepack getCustomResourceRepack(DbOpsRepack source) {
    if (source == null) {
        return null;
    }
    StackGresDbOpsRepack transformation = new StackGresDbOpsRepack();
    setCustomResourceRepackConfig(source, transformation);
    transformation.setDatabases(Seq.seq(Optional.ofNullable(source.getDatabases()).stream()).flatMap(List::stream).map(database -> Tuple.tuple(database, new StackGresDbOpsRepackDatabase())).peek(t -> t.v2.setName(t.v1.getName())).peek(t -> setCustomResourceRepackConfig(t.v1, t.v2)).map(Tuple2::v2).toList());
    return transformation;
}
Also used : DbOpsSecurityUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgrade) DbOpsVacuum(io.stackgres.apiweb.dto.dbops.DbOpsVacuum) StackGresDbOpsSecurityUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsSecurityUpgrade) DbOpsSecurityUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgradeStatus) DbOpsRestart(io.stackgres.apiweb.dto.dbops.DbOpsRestart) StackGresDbOpsCondition(io.stackgres.common.crd.sgdbops.StackGresDbOpsCondition) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) Tuple2(org.jooq.lambda.tuple.Tuple2) DbOpsRepackConfig(io.stackgres.apiweb.dto.dbops.DbOpsRepackConfig) DbOpsVacuumDatabase(io.stackgres.apiweb.dto.dbops.DbOpsVacuumDatabase) StackGresDbOpsRepackDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackDatabase) DbOpsPgbenchStatus(io.stackgres.apiweb.dto.dbops.DbOpsPgbenchStatus) StackGresDbOpsRestartStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsRestartStatus) StackGresDbOpsSpec(io.stackgres.common.crd.sgdbops.StackGresDbOpsSpec) DbOpsPgbench(io.stackgres.apiweb.dto.dbops.DbOpsPgbench) StackGresDbOpsSecurityUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsSecurityUpgradeStatus) StackGresDbOpsMajorVersionUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsMajorVersionUpgradeStatus) DbOpsRepackDatabase(io.stackgres.apiweb.dto.dbops.DbOpsRepackDatabase) DbOpsMinorVersionUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgrade) Collectors(java.util.stream.Collectors) List(java.util.List) DbOpsRestartStatus(io.stackgres.apiweb.dto.dbops.DbOpsRestartStatus) Tuple(org.jooq.lambda.tuple.Tuple) DbOpsPgbenchStatusTransactionsPerSecondConverter(io.stackgres.apiweb.transformer.dbops.converter.DbOpsPgbenchStatusTransactionsPerSecondConverter) DbOpsMajorVersionUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgradeStatus) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) Optional(java.util.Optional) ApplicationScoped(javax.enterprise.context.ApplicationScoped) StackGresDbOpsBenchmarkStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsBenchmarkStatus) StackGresDbOpsPgbench(io.stackgres.common.crd.sgdbops.StackGresDbOpsPgbench) StackGresDbOpsPgbenchStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsPgbenchStatus) DbOpsPgbenchStatusLatencyConverter(io.stackgres.apiweb.transformer.dbops.converter.DbOpsPgbenchStatusLatencyConverter) StackGresDbOpsRestart(io.stackgres.common.crd.sgdbops.StackGresDbOpsRestart) Seq(org.jooq.lambda.Seq) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) StackGresDbOpsVacuumConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumConfig) DbOpsStatus(io.stackgres.apiweb.dto.dbops.DbOpsStatus) StackGresDbOpsMajorVersionUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsMajorVersionUpgrade) StackGresDbOpsStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsStatus) DbOpsDto(io.stackgres.apiweb.dto.dbops.DbOpsDto) DbOpsSpec(io.stackgres.apiweb.dto.dbops.DbOpsSpec) DbOpsBenchmark(io.stackgres.apiweb.dto.dbops.DbOpsBenchmark) DbOpsCondition(io.stackgres.apiweb.dto.dbops.DbOpsCondition) StackGresDbOpsMinorVersionUpgrade(io.stackgres.common.crd.sgdbops.StackGresDbOpsMinorVersionUpgrade) StackGresDbOpsRepackConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackConfig) DbOpsRepack(io.stackgres.apiweb.dto.dbops.DbOpsRepack) StackGresDbOpsVacuumDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumDatabase) StackGresDbOpsMinorVersionUpgradeStatus(io.stackgres.common.crd.sgdbops.StackGresDbOpsMinorVersionUpgradeStatus) DbOpsMinorVersionUpgradeStatus(io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgradeStatus) StackGresDbOpsBenchmark(io.stackgres.common.crd.sgdbops.StackGresDbOpsBenchmark) DbOpsMajorVersionUpgrade(io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgrade) DbOpsBenchmarkStatus(io.stackgres.apiweb.dto.dbops.DbOpsBenchmarkStatus) DbOpsVacuumConfig(io.stackgres.apiweb.dto.dbops.DbOpsVacuumConfig) Tuple2(org.jooq.lambda.tuple.Tuple2) StackGresDbOpsRepack(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack) List(java.util.List) StackGresDbOpsRepackDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackDatabase)

Aggregations

StackGresDbOps (io.stackgres.common.crd.sgdbops.StackGresDbOps)3 StackGresDbOpsRepack (io.stackgres.common.crd.sgdbops.StackGresDbOpsRepack)3 StackGresDbOpsRepackConfig (io.stackgres.common.crd.sgdbops.StackGresDbOpsRepackConfig)3 DbOpsBenchmark (io.stackgres.apiweb.dto.dbops.DbOpsBenchmark)2 DbOpsBenchmarkStatus (io.stackgres.apiweb.dto.dbops.DbOpsBenchmarkStatus)2 DbOpsCondition (io.stackgres.apiweb.dto.dbops.DbOpsCondition)2 DbOpsDto (io.stackgres.apiweb.dto.dbops.DbOpsDto)2 DbOpsMajorVersionUpgrade (io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgrade)2 DbOpsMajorVersionUpgradeStatus (io.stackgres.apiweb.dto.dbops.DbOpsMajorVersionUpgradeStatus)2 DbOpsMinorVersionUpgrade (io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgrade)2 DbOpsMinorVersionUpgradeStatus (io.stackgres.apiweb.dto.dbops.DbOpsMinorVersionUpgradeStatus)2 DbOpsPgbench (io.stackgres.apiweb.dto.dbops.DbOpsPgbench)2 DbOpsPgbenchStatus (io.stackgres.apiweb.dto.dbops.DbOpsPgbenchStatus)2 DbOpsRepack (io.stackgres.apiweb.dto.dbops.DbOpsRepack)2 DbOpsRepackConfig (io.stackgres.apiweb.dto.dbops.DbOpsRepackConfig)2 DbOpsRepackDatabase (io.stackgres.apiweb.dto.dbops.DbOpsRepackDatabase)2 DbOpsRestart (io.stackgres.apiweb.dto.dbops.DbOpsRestart)2 DbOpsRestartStatus (io.stackgres.apiweb.dto.dbops.DbOpsRestartStatus)2 DbOpsSecurityUpgrade (io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgrade)2 DbOpsSecurityUpgradeStatus (io.stackgres.apiweb.dto.dbops.DbOpsSecurityUpgradeStatus)2