Search in sources :

Example 1 with StackGresDbOpsVacuum

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

the class DbOpsVacuumJob method getRunEnvVars.

@Override
protected List<EnvVar> getRunEnvVars(StackGresDbOpsContext context) {
    StackGresDbOps dbOps = context.getSource();
    StackGresDbOpsVacuum vacuum = dbOps.getSpec().getVacuum();
    final String primaryServiceDns = PatroniServices.readWriteName(context);
    List<EnvVar> runEnvVars = ImmutableList.<EnvVar>builder().add(new EnvVarBuilder().withName("PGHOST").withValue(primaryServiceDns).build(), new EnvVarBuilder().withName("PGUSER").withValue("postgres").build(), new EnvVarBuilder().withName("PGPASSWORD").withNewValueFrom().withNewSecretKeyRef().withName(PatroniSecret.name(context.getCluster())).withKey(PatroniSecret.SUPERUSER_PASSWORD_KEY).endSecretKeyRef().endValueFrom().build()).addAll(getVacuumConfigEnvVar(vacuum)).add(new EnvVarBuilder().withName("DATABASES").withValue(Seq.seq(Optional.ofNullable(vacuum).map(StackGresDbOpsVacuum::getDatabases).stream()).flatMap(List::stream).map(database -> Seq.seq(getVacuumConfigEnvVar(vacuum)).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) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) Singleton(javax.inject.Singleton) Seq(org.jooq.lambda.Seq) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) Inject(javax.inject.Inject) StackGresDbOpsVacuumConfig(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumConfig) 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) LabelFactoryForDbOps(io.stackgres.common.LabelFactoryForDbOps) PatroniSecret(io.stackgres.operator.conciliation.factory.cluster.patroni.PatroniSecret) ResourceFactory(io.stackgres.operator.conciliation.factory.ResourceFactory) LabelFactoryForCluster(io.stackgres.common.LabelFactoryForCluster) EnvVarBuilder(io.fabric8.kubernetes.api.model.EnvVarBuilder) JsonMapper(com.fasterxml.jackson.databind.json.JsonMapper) OperatorVersionBinder(io.stackgres.operator.conciliation.OperatorVersionBinder) PatroniServices(io.stackgres.operator.conciliation.factory.cluster.patroni.PatroniServices) CdiUtil(io.stackgres.common.CdiUtil) List(java.util.List) Optional(java.util.Optional) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) EnvVar(io.fabric8.kubernetes.api.model.EnvVar) StackGresDbOps(io.stackgres.common.crd.sgdbops.StackGresDbOps) ImmutableList(com.google.common.collect.ImmutableList) List(java.util.List) EnvVarBuilder(io.fabric8.kubernetes.api.model.EnvVarBuilder)

Example 2 with StackGresDbOpsVacuum

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

the class DbOpsTransformer method getResourceVacuum.

private DbOpsVacuum getResourceVacuum(StackGresDbOpsVacuum source) {
    if (source == null) {
        return null;
    }
    DbOpsVacuum transformation = new DbOpsVacuum();
    setResourceVacuumConfig(source, transformation);
    transformation.setDatabases(Seq.seq(Optional.ofNullable(source.getDatabases()).stream()).flatMap(List::stream).map(database -> Tuple.tuple(database, new DbOpsVacuumDatabase())).peek(t -> t.v2.setName(t.v1.getName())).peek(t -> setResourceVacuumConfig(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) DbOpsVacuum(io.stackgres.apiweb.dto.dbops.DbOpsVacuum) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) List(java.util.List) DbOpsVacuumDatabase(io.stackgres.apiweb.dto.dbops.DbOpsVacuumDatabase) StackGresDbOpsVacuumDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumDatabase)

Example 3 with StackGresDbOpsVacuum

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

the class DbOpsTransformer method getCustomResourceVacuum.

private StackGresDbOpsVacuum getCustomResourceVacuum(DbOpsVacuum source) {
    if (source == null) {
        return null;
    }
    StackGresDbOpsVacuum transformation = new StackGresDbOpsVacuum();
    setCustomResourceVacuumConfig(source, transformation);
    transformation.setDatabases(Seq.seq(Optional.ofNullable(source.getDatabases()).stream()).flatMap(List::stream).map(database -> Tuple.tuple(database, new StackGresDbOpsVacuumDatabase())).peek(t -> t.v2.setName(t.v1.getName())).peek(t -> setCustomResourceVacuumConfig(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) StackGresDbOpsVacuum(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuum) StackGresDbOpsVacuumDatabase(io.stackgres.common.crd.sgdbops.StackGresDbOpsVacuumDatabase) Tuple2(org.jooq.lambda.tuple.Tuple2) List(java.util.List)

Aggregations

StackGresDbOps (io.stackgres.common.crd.sgdbops.StackGresDbOps)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 DbOpsSpec (io.stackgres.apiweb.dto.dbops.DbOpsSpec)2 DbOpsStatus (io.stackgres.apiweb.dto.dbops.DbOpsStatus)2