Merge pull request #1 from ShvaykaD/feature/valkey
This commit is contained in:
commit
79e60cca7b
@ -19,11 +19,11 @@ In order to set database type change the value of `DATABASE` variable in `.env`
|
|||||||
|
|
||||||
In order to set cache type change the value of `CACHE` variable in `.env` file to one of the following:
|
In order to set cache type change the value of `CACHE` variable in `.env` file to one of the following:
|
||||||
|
|
||||||
- `redis` - use Redis standalone cache (1 node - 1 master);
|
- `valkey` - use Valkey standalone cache (1 node - 1 primary);
|
||||||
- `redis-cluster` - use Redis cluster cache (6 nodes - 3 masters, 3 slaves);
|
- `valkey-cluster` - use Valkey cluster cache (6 nodes - 3 primaries, 3 replicas);
|
||||||
- `redis-sentinel` - use Redis sentinel cache (3 nodes - 1 master, 1 slave, 1 sentinel)
|
- `valkey-sentinel` - use Valkey sentinel cache (3 nodes - 1 primary, 1 replica, 1 sentinel)
|
||||||
|
|
||||||
**NOTE**: According to the cache type corresponding docker service will be deployed (see `docker-compose.redis.yml`, `docker-compose.redis-cluster.yml`, `docker-compose.redis-sentinel.yml` for details).
|
**NOTE**: According to the cache type corresponding docker service will be deployed (see `docker-compose.valkey.yml`, `docker-compose.valkey-cluster.yml`, `docker-compose.valkey-sentinel.yml` for details).
|
||||||
|
|
||||||
Execute the following command to create log folders for the services and chown of these folders to the docker container users.
|
Execute the following command to create log folders for the services and chown of these folders to the docker container users.
|
||||||
To be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access):
|
To be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access):
|
||||||
|
|||||||
@ -31,10 +31,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
valkey-sentinel-data-primary:
|
valkey-sentinel-data-primary:
|
||||||
external:
|
external:
|
||||||
name: ${VALKEY_SENTINEL_DATA_VOLUME_MASTER}
|
name: ${VALKEY_SENTINEL_DATA_VOLUME_PRIMARY}
|
||||||
valkey-sentinel-data-replica:
|
valkey-sentinel-data-replica:
|
||||||
external:
|
external:
|
||||||
name: ${VALKEY_SENTINEL_DATA_VOLUME_SLAVE}
|
name: ${VALKEY_SENTINEL_DATA_VOLUME_REPLICA}
|
||||||
valkey-sentinel-data-sentinel:
|
valkey-sentinel-data-sentinel:
|
||||||
external:
|
external:
|
||||||
name: ${VALKEY_SENTINEL_DATA_VOLUME_SENTINEL}
|
name: ${VALKEY_SENTINEL_DATA_VOLUME_SENTINEL}
|
||||||
|
|||||||
@ -18,19 +18,19 @@ As result, in REPOSITORY column, next images should be present:
|
|||||||
thingsboard/tb-web-ui
|
thingsboard/tb-web-ui
|
||||||
thingsboard/tb-js-executor
|
thingsboard/tb-js-executor
|
||||||
|
|
||||||
- Run the black box tests (without ui tests) in the [msa/black-box-tests](../black-box-tests) directory with Redis standalone:
|
- Run the black box tests (without ui tests) in the [msa/black-box-tests](../black-box-tests) directory with Valkey standalone:
|
||||||
|
|
||||||
mvn clean install -DblackBoxTests.skip=false
|
mvn clean install -DblackBoxTests.skip=false
|
||||||
|
|
||||||
- Run the black box tests (without ui tests) in the [msa/black-box-tests](../black-box-tests) directory with Redis standalone with TLS:
|
- Run the black box tests (without ui tests) in the [msa/black-box-tests](../black-box-tests) directory with Valkey standalone with TLS:
|
||||||
|
|
||||||
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisSsl=true
|
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisSsl=true
|
||||||
|
|
||||||
- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with Redis cluster:
|
- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with the Valkey cluster:
|
||||||
|
|
||||||
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisCluster=true
|
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisCluster=true
|
||||||
|
|
||||||
- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with Redis sentinel:
|
- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with Valkey sentinel:
|
||||||
|
|
||||||
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisSentinel=true
|
mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisSentinel=true
|
||||||
|
|
||||||
|
|||||||
@ -42,9 +42,9 @@ import static org.testng.Assert.fail;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ContainerTestSuite {
|
public class ContainerTestSuite {
|
||||||
final static boolean IS_REDIS_CLUSTER = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisCluster"));
|
final static boolean IS_VALKEY_CLUSTER = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisCluster"));
|
||||||
final static boolean IS_REDIS_SENTINEL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSentinel"));
|
final static boolean IS_VALKEY_SENTINEL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSentinel"));
|
||||||
final static boolean IS_REDIS_SSL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSsl"));
|
final static boolean IS_VALKEY_SSL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSsl"));
|
||||||
final static boolean IS_HYBRID_MODE = Boolean.parseBoolean(System.getProperty("blackBoxTests.hybridMode"));
|
final static boolean IS_HYBRID_MODE = Boolean.parseBoolean(System.getProperty("blackBoxTests.hybridMode"));
|
||||||
final static String QUEUE_TYPE = System.getProperty("blackBoxTests.queue", "kafka");
|
final static String QUEUE_TYPE = System.getProperty("blackBoxTests.queue", "kafka");
|
||||||
private static final String SOURCE_DIR = "./../../docker/";
|
private static final String SOURCE_DIR = "./../../docker/";
|
||||||
@ -82,9 +82,9 @@ public class ContainerTestSuite {
|
|||||||
public void start() {
|
public void start() {
|
||||||
installTb = new ThingsBoardDbInstaller();
|
installTb = new ThingsBoardDbInstaller();
|
||||||
installTb.createVolumes();
|
installTb.createVolumes();
|
||||||
log.info("System property of blackBoxTests.redisCluster is {}", IS_REDIS_CLUSTER);
|
log.info("System property of blackBoxTests.redisCluster is {}", IS_VALKEY_CLUSTER);
|
||||||
log.info("System property of blackBoxTests.redisSentinel is {}", IS_REDIS_SENTINEL);
|
log.info("System property of blackBoxTests.redisSentinel is {}", IS_VALKEY_SENTINEL);
|
||||||
log.info("System property of blackBoxTests.redisSsl is {}", IS_REDIS_SSL);
|
log.info("System property of blackBoxTests.redisSsl is {}", IS_VALKEY_SSL);
|
||||||
log.info("System property of blackBoxTests.hybridMode is {}", IS_HYBRID_MODE);
|
log.info("System property of blackBoxTests.hybridMode is {}", IS_HYBRID_MODE);
|
||||||
boolean skipTailChildContainers = Boolean.parseBoolean(System.getProperty("blackBoxTests.skipTailChildContainers"));
|
boolean skipTailChildContainers = Boolean.parseBoolean(System.getProperty("blackBoxTests.skipTailChildContainers"));
|
||||||
try {
|
try {
|
||||||
@ -107,10 +107,10 @@ public class ContainerTestSuite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REDIS_SSL) {
|
if (IS_VALKEY_SSL) {
|
||||||
addToFile(targetDir, "cache-redis.env",
|
addToFile(targetDir, "cache-valkey.env",
|
||||||
Map.of("TB_REDIS_SSL_ENABLED", "true",
|
Map.of("TB_REDIS_SSL_ENABLED", "true",
|
||||||
"TB_REDIS_SSL_PEM_CERT", "/redis/certs/redisCA.crt"));
|
"TB_REDIS_SSL_PEM_CERT", "/valkey/certs/valkeyCA.crt"));
|
||||||
}
|
}
|
||||||
|
|
||||||
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
||||||
@ -123,8 +123,8 @@ public class ContainerTestSuite {
|
|||||||
new File(targetDir + (IS_HYBRID_MODE ? "docker-compose.hybrid-test-extras.yml" : "docker-compose.postgres-test-extras.yml")),
|
new File(targetDir + (IS_HYBRID_MODE ? "docker-compose.hybrid-test-extras.yml" : "docker-compose.postgres-test-extras.yml")),
|
||||||
new File(targetDir + "docker-compose.postgres.volumes.yml"),
|
new File(targetDir + "docker-compose.postgres.volumes.yml"),
|
||||||
new File(targetDir + "docker-compose." + QUEUE_TYPE + ".yml"),
|
new File(targetDir + "docker-compose." + QUEUE_TYPE + ".yml"),
|
||||||
new File(targetDir + resolveRedisComposeFile()),
|
new File(targetDir + resolveValkeyComposeFile()),
|
||||||
new File(targetDir + resolveRedisComposeVolumesFile()),
|
new File(targetDir + resolveValkeyComposeVolumesFile()),
|
||||||
new File(targetDir + ("docker-selenium.yml"))
|
new File(targetDir + ("docker-selenium.yml"))
|
||||||
));
|
));
|
||||||
|
|
||||||
@ -198,30 +198,30 @@ public class ContainerTestSuite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String resolveRedisComposeFile() {
|
private static String resolveValkeyComposeFile() {
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
return "docker-compose.redis-cluster.yml";
|
return "docker-compose.valkey-cluster.yml";
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SENTINEL) {
|
if (IS_VALKEY_SENTINEL) {
|
||||||
return "docker-compose.redis-sentinel.yml";
|
return "docker-compose.valkey-sentinel.yml";
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SSL) {
|
if (IS_VALKEY_SSL) {
|
||||||
return "docker-compose.redis-ssl.yml";
|
return "docker-compose.valkey-ssl.yml";
|
||||||
}
|
}
|
||||||
return "docker-compose.redis.yml";
|
return "docker-compose.valkey.yml";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String resolveRedisComposeVolumesFile() {
|
private static String resolveValkeyComposeVolumesFile() {
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
return "docker-compose.redis-cluster.volumes.yml";
|
return "docker-compose.valkey-cluster.volumes.yml";
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SENTINEL) {
|
if (IS_VALKEY_SENTINEL) {
|
||||||
return "docker-compose.redis-sentinel.volumes.yml";
|
return "docker-compose.valkey-sentinel.volumes.yml";
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SSL) {
|
if (IS_VALKEY_SSL) {
|
||||||
return "docker-compose.redis-ssl.volumes.yml";
|
return "docker-compose.valkey-ssl.volumes.yml";
|
||||||
}
|
}
|
||||||
return "docker-compose.redis.volumes.yml";
|
return "docker-compose.valkey.volumes.yml";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void stop() {
|
public void stop() {
|
||||||
|
|||||||
@ -32,15 +32,15 @@ import java.util.stream.IntStream;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class ThingsBoardDbInstaller {
|
public class ThingsBoardDbInstaller {
|
||||||
|
|
||||||
final static boolean IS_REDIS_CLUSTER = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisCluster"));
|
final static boolean IS_VALKEY_CLUSTER = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisCluster"));
|
||||||
final static boolean IS_REDIS_SENTINEL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSentinel"));
|
final static boolean IS_VALKEY_SENTINEL = Boolean.parseBoolean(System.getProperty("blackBoxTests.redisSentinel"));
|
||||||
final static boolean IS_HYBRID_MODE = Boolean.parseBoolean(System.getProperty("blackBoxTests.hybridMode"));
|
final static boolean IS_HYBRID_MODE = Boolean.parseBoolean(System.getProperty("blackBoxTests.hybridMode"));
|
||||||
private final static String POSTGRES_DATA_VOLUME = "tb-postgres-test-data-volume";
|
private final static String POSTGRES_DATA_VOLUME = "tb-postgres-test-data-volume";
|
||||||
|
|
||||||
private final static String CASSANDRA_DATA_VOLUME = "tb-cassandra-test-data-volume";
|
private final static String CASSANDRA_DATA_VOLUME = "tb-cassandra-test-data-volume";
|
||||||
private final static String REDIS_DATA_VOLUME = "tb-redis-data-volume";
|
private final static String VALKEY_DATA_VOLUME = "tb-valkey-data-volume";
|
||||||
private final static String REDIS_CLUSTER_DATA_VOLUME = "tb-redis-cluster-data-volume";
|
private final static String VALKEY_CLUSTER_DATA_VOLUME = "tb-valkey-cluster-data-volume";
|
||||||
private final static String REDIS_SENTINEL_DATA_VOLUME = "tb-redis-sentinel-data-volume";
|
private final static String VALKEY_SENTINEL_DATA_VOLUME = "tb-valkey-sentinel-data-volume";
|
||||||
private final static String TB_LOG_VOLUME = "tb-log-test-volume";
|
private final static String TB_LOG_VOLUME = "tb-log-test-volume";
|
||||||
private final static String TB_COAP_TRANSPORT_LOG_VOLUME = "tb-coap-transport-log-test-volume";
|
private final static String TB_COAP_TRANSPORT_LOG_VOLUME = "tb-coap-transport-log-test-volume";
|
||||||
private final static String TB_LWM2M_TRANSPORT_LOG_VOLUME = "tb-lwm2m-transport-log-test-volume";
|
private final static String TB_LWM2M_TRANSPORT_LOG_VOLUME = "tb-lwm2m-transport-log-test-volume";
|
||||||
@ -56,9 +56,9 @@ public class ThingsBoardDbInstaller {
|
|||||||
private final String postgresDataVolume;
|
private final String postgresDataVolume;
|
||||||
private final String cassandraDataVolume;
|
private final String cassandraDataVolume;
|
||||||
|
|
||||||
private final String redisDataVolume;
|
private final String valkeyDataVolume;
|
||||||
private final String redisClusterDataVolume;
|
private final String valkeyClusterDataVolume;
|
||||||
private final String redisSentinelDataVolume;
|
private final String valkeySentinelDataVolume;
|
||||||
private final String tbLogVolume;
|
private final String tbLogVolume;
|
||||||
private final String tbCoapTransportLogVolume;
|
private final String tbCoapTransportLogVolume;
|
||||||
private final String tbLwm2mTransportLogVolume;
|
private final String tbLwm2mTransportLogVolume;
|
||||||
@ -70,8 +70,8 @@ public class ThingsBoardDbInstaller {
|
|||||||
private final Map<String, String> env;
|
private final Map<String, String> env;
|
||||||
|
|
||||||
public ThingsBoardDbInstaller() {
|
public ThingsBoardDbInstaller() {
|
||||||
log.info("System property of blackBoxTests.redisCluster is {}", IS_REDIS_CLUSTER);
|
log.info("System property of blackBoxTests.redisCluster is {}", IS_VALKEY_CLUSTER);
|
||||||
log.info("System property of blackBoxTests.redisCluster is {}", IS_REDIS_SENTINEL);
|
log.info("System property of blackBoxTests.redisCluster is {}", IS_VALKEY_SENTINEL);
|
||||||
log.info("System property of blackBoxTests.hybridMode is {}", IS_HYBRID_MODE);
|
log.info("System property of blackBoxTests.hybridMode is {}", IS_HYBRID_MODE);
|
||||||
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
List<File> composeFiles = new ArrayList<>(Arrays.asList(
|
||||||
new File("./../../docker/docker-compose.yml"),
|
new File("./../../docker/docker-compose.yml"),
|
||||||
@ -80,8 +80,8 @@ public class ThingsBoardDbInstaller {
|
|||||||
? new File("./../../docker/docker-compose.hybrid.yml")
|
? new File("./../../docker/docker-compose.hybrid.yml")
|
||||||
: new File("./../../docker/docker-compose.postgres.yml"),
|
: new File("./../../docker/docker-compose.postgres.yml"),
|
||||||
new File("./../../docker/docker-compose.postgres.volumes.yml"),
|
new File("./../../docker/docker-compose.postgres.volumes.yml"),
|
||||||
resolveRedisComposeFile(),
|
resolveValkeyComposeFile(),
|
||||||
resolveRedisComposeVolumesFile()
|
resolveValkeyComposeVolumesFile()
|
||||||
));
|
));
|
||||||
if (IS_HYBRID_MODE) {
|
if (IS_HYBRID_MODE) {
|
||||||
composeFiles.add(new File("./../../docker/docker-compose.cassandra.volumes.yml"));
|
composeFiles.add(new File("./../../docker/docker-compose.cassandra.volumes.yml"));
|
||||||
@ -95,9 +95,9 @@ public class ThingsBoardDbInstaller {
|
|||||||
|
|
||||||
postgresDataVolume = project + "_" + POSTGRES_DATA_VOLUME;
|
postgresDataVolume = project + "_" + POSTGRES_DATA_VOLUME;
|
||||||
cassandraDataVolume = project + "_" + CASSANDRA_DATA_VOLUME;
|
cassandraDataVolume = project + "_" + CASSANDRA_DATA_VOLUME;
|
||||||
redisDataVolume = project + "_" + REDIS_DATA_VOLUME;
|
valkeyDataVolume = project + "_" + VALKEY_DATA_VOLUME;
|
||||||
redisClusterDataVolume = project + "_" + REDIS_CLUSTER_DATA_VOLUME;
|
valkeyClusterDataVolume = project + "_" + VALKEY_CLUSTER_DATA_VOLUME;
|
||||||
redisSentinelDataVolume = project + "_" + REDIS_SENTINEL_DATA_VOLUME;
|
valkeySentinelDataVolume = project + "_" + VALKEY_SENTINEL_DATA_VOLUME;
|
||||||
tbLogVolume = project + "_" + TB_LOG_VOLUME;
|
tbLogVolume = project + "_" + TB_LOG_VOLUME;
|
||||||
tbCoapTransportLogVolume = project + "_" + TB_COAP_TRANSPORT_LOG_VOLUME;
|
tbCoapTransportLogVolume = project + "_" + TB_COAP_TRANSPORT_LOG_VOLUME;
|
||||||
tbLwm2mTransportLogVolume = project + "_" + TB_LWM2M_TRANSPORT_LOG_VOLUME;
|
tbLwm2mTransportLogVolume = project + "_" + TB_LWM2M_TRANSPORT_LOG_VOLUME;
|
||||||
@ -123,38 +123,38 @@ public class ThingsBoardDbInstaller {
|
|||||||
env.put("TB_SNMP_TRANSPORT_LOG_VOLUME", tbSnmpTransportLogVolume);
|
env.put("TB_SNMP_TRANSPORT_LOG_VOLUME", tbSnmpTransportLogVolume);
|
||||||
env.put("TB_VC_EXECUTOR_LOG_VOLUME", tbVcExecutorLogVolume);
|
env.put("TB_VC_EXECUTOR_LOG_VOLUME", tbVcExecutorLogVolume);
|
||||||
env.put("TB_EDQS_LOG_VOLUME", tbEdqsLogVolume);
|
env.put("TB_EDQS_LOG_VOLUME", tbEdqsLogVolume);
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
env.put("REDIS_CLUSTER_DATA_VOLUME_" + i, redisClusterDataVolume + '-' + i);
|
env.put("VALKEY_CLUSTER_DATA_VOLUME_" + i, valkeyClusterDataVolume + '-' + i);
|
||||||
}
|
}
|
||||||
} else if (IS_REDIS_SENTINEL) {
|
} else if (IS_VALKEY_SENTINEL) {
|
||||||
env.put("REDIS_SENTINEL_DATA_VOLUME_MASTER", redisSentinelDataVolume + "-" + "master");
|
env.put("VALKEY_SENTINEL_DATA_VOLUME_PRIMARY", valkeySentinelDataVolume + "-" + "primary");
|
||||||
env.put("REDIS_SENTINEL_DATA_VOLUME_SLAVE", redisSentinelDataVolume + "-" + "slave");
|
env.put("VALKEY_SENTINEL_DATA_VOLUME_REPLICA", valkeySentinelDataVolume + "-" + "replica");
|
||||||
env.put("REDIS_SENTINEL_DATA_VOLUME_SENTINEL", redisSentinelDataVolume + "-" + "sentinel");
|
env.put("VALKEY_SENTINEL_DATA_VOLUME_SENTINEL", valkeySentinelDataVolume + "-" + "sentinel");
|
||||||
} else {
|
} else {
|
||||||
env.put("REDIS_DATA_VOLUME", redisDataVolume);
|
env.put("VALKEY_DATA_VOLUME", valkeyDataVolume);
|
||||||
}
|
}
|
||||||
dockerCompose.withEnv(env);
|
dockerCompose.withEnv(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static File resolveRedisComposeVolumesFile() {
|
private static File resolveValkeyComposeVolumesFile() {
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
return new File("./../../docker/docker-compose.redis-cluster.volumes.yml");
|
return new File("./../../docker/docker-compose.valkey-cluster.volumes.yml");
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SENTINEL) {
|
if (IS_VALKEY_SENTINEL) {
|
||||||
return new File("./../../docker/docker-compose.redis-sentinel.volumes.yml");
|
return new File("./../../docker/docker-compose.valkey-sentinel.volumes.yml");
|
||||||
}
|
}
|
||||||
return new File("./../../docker/docker-compose.redis.volumes.yml");
|
return new File("./../../docker/docker-compose.valkey.volumes.yml");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static File resolveRedisComposeFile() {
|
private static File resolveValkeyComposeFile() {
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
return new File("./../../docker/docker-compose.redis-cluster.yml");
|
return new File("./../../docker/docker-compose.valkey-cluster.yml");
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SENTINEL) {
|
if (IS_VALKEY_SENTINEL) {
|
||||||
return new File("./../../docker/docker-compose.redis-sentinel.yml");
|
return new File("./../../docker/docker-compose.valkey-sentinel.yml");
|
||||||
}
|
}
|
||||||
return new File("./../../docker/docker-compose.redis.yml");
|
return new File("./../../docker/docker-compose.valkey.yml");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, String> getEnv() {
|
public Map<String, String> getEnv() {
|
||||||
@ -200,27 +200,27 @@ public class ThingsBoardDbInstaller {
|
|||||||
if (IS_HYBRID_MODE) {
|
if (IS_HYBRID_MODE) {
|
||||||
additionalServices.append(" cassandra");
|
additionalServices.append(" cassandra");
|
||||||
}
|
}
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
additionalServices.append(" redis-node-").append(i);
|
additionalServices.append(" valkey-node-").append(i);
|
||||||
dockerCompose.withCommand("volume create " + redisClusterDataVolume + '-' + i);
|
dockerCompose.withCommand("volume create " + valkeyClusterDataVolume + '-' + i);
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
}
|
}
|
||||||
} else if (IS_REDIS_SENTINEL) {
|
} else if (IS_VALKEY_SENTINEL) {
|
||||||
additionalServices.append(" redis-master");
|
additionalServices.append(" valkey-primary");
|
||||||
dockerCompose.withCommand("volume create " + redisSentinelDataVolume + "-" + "master");
|
dockerCompose.withCommand("volume create " + valkeySentinelDataVolume + "-" + "primary");
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
|
|
||||||
additionalServices.append(" redis-slave");
|
additionalServices.append(" valkey-replica");
|
||||||
dockerCompose.withCommand("volume create " + redisSentinelDataVolume + '-' + "slave");
|
dockerCompose.withCommand("volume create " + valkeySentinelDataVolume + '-' + "replica");
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
|
|
||||||
additionalServices.append(" redis-sentinel");
|
additionalServices.append(" valkey-sentinel");
|
||||||
dockerCompose.withCommand("volume create " + redisSentinelDataVolume + '-' + "sentinel");
|
dockerCompose.withCommand("volume create " + valkeySentinelDataVolume + '-' + "sentinel");
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
} else {
|
} else {
|
||||||
additionalServices.append(" redis");
|
additionalServices.append(" valkey");
|
||||||
dockerCompose.withCommand("volume create " + redisDataVolume);
|
dockerCompose.withCommand("volume create " + valkeyDataVolume);
|
||||||
dockerCompose.invokeDocker();
|
dockerCompose.invokeDocker();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ public class ThingsBoardDbInstaller {
|
|||||||
.add(tbSnmpTransportLogVolume)
|
.add(tbSnmpTransportLogVolume)
|
||||||
.add(tbVcExecutorLogVolume)
|
.add(tbVcExecutorLogVolume)
|
||||||
.add(tbEdqsLogVolume)
|
.add(tbEdqsLogVolume)
|
||||||
.add(resolveRedisComposeVolumeLog());
|
.add(resolveValkeyComposeVolumeLog());
|
||||||
|
|
||||||
if (IS_HYBRID_MODE) {
|
if (IS_HYBRID_MODE) {
|
||||||
rmVolumesCommand.add(cassandraDataVolume);
|
rmVolumesCommand.add(cassandraDataVolume);
|
||||||
@ -270,16 +270,16 @@ public class ThingsBoardDbInstaller {
|
|||||||
dockerCompose.withCommand(rmVolumesCommand.toString());
|
dockerCompose.withCommand(rmVolumesCommand.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private String resolveRedisComposeVolumeLog() {
|
private String resolveValkeyComposeVolumeLog() {
|
||||||
if (IS_REDIS_CLUSTER) {
|
if (IS_VALKEY_CLUSTER) {
|
||||||
return IntStream.range(0, 6).mapToObj(i -> " " + redisClusterDataVolume + "-" + i).collect(Collectors.joining());
|
return IntStream.range(0, 6).mapToObj(i -> " " + valkeyClusterDataVolume + "-" + i).collect(Collectors.joining());
|
||||||
}
|
}
|
||||||
if (IS_REDIS_SENTINEL) {
|
if (IS_VALKEY_SENTINEL) {
|
||||||
return redisSentinelDataVolume + "-" + "master " + " " +
|
return valkeySentinelDataVolume + "-" + "primary " + " " +
|
||||||
redisSentinelDataVolume + "-" + "slave" + " " +
|
valkeySentinelDataVolume + "-" + "replica" + " " +
|
||||||
redisSentinelDataVolume + " " + "sentinel";
|
valkeySentinelDataVolume + " " + "sentinel";
|
||||||
}
|
}
|
||||||
return redisDataVolume;
|
return valkeyDataVolume;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void copyLogs(String volumeName, String targetDir) {
|
private void copyLogs(String volumeName, String targetDir) {
|
||||||
|
|||||||
@ -17,11 +17,11 @@
|
|||||||
version: '3.0'
|
version: '3.0'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
redis:
|
valkey:
|
||||||
volumes:
|
volumes:
|
||||||
- redis-data:/bitnami/redis/data
|
- valkey-data:/bitnami/valkey/data
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
redis-data:
|
valkey-data:
|
||||||
external:
|
external:
|
||||||
name: ${REDIS_DATA_VOLUME}
|
name: ${VALKEY_DATA_VOLUME}
|
||||||
@ -17,114 +17,114 @@
|
|||||||
version: '3.0'
|
version: '3.0'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Redis standalone
|
# Valkey standalone
|
||||||
# The latest version of Redis compatible with ThingsBoard is 7.2
|
# The latest version of Valkey compatible with ThingsBoard is 8.0
|
||||||
redis:
|
valkey:
|
||||||
restart: always
|
restart: always
|
||||||
image: bitnami/valkey:8.0
|
image: bitnami/valkey:8.0
|
||||||
environment:
|
environment:
|
||||||
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
||||||
- 'ALLOW_EMPTY_PASSWORD=yes'
|
- 'ALLOW_EMPTY_PASSWORD=yes'
|
||||||
- 'VALKEY_TLS_ENABLED=yes'
|
- 'VALKEY_TLS_ENABLED=yes'
|
||||||
- 'VALKEY_TLS_CERT_FILE=/redis/certs/redis.crt'
|
- 'VALKEY_TLS_CERT_FILE=/valkey/certs/valkey.crt'
|
||||||
- 'VALKEY_TLS_KEY_FILE=/redis/certs/redis.key'
|
- 'VALKEY_TLS_KEY_FILE=/valkey/certs/valkey.key'
|
||||||
- 'VALKEY_TLS_CA_FILE=/redis/certs/redisCA.crt'
|
- 'VALKEY_TLS_CA_FILE=/valkey/certs/valkeyCA.crt'
|
||||||
- 'VALKEY_TLS_AUTH_CLIENTS=no'
|
- 'VALKEY_TLS_AUTH_CLIENTS=no'
|
||||||
ports:
|
ports:
|
||||||
- '6379:6379'
|
- '6379:6379'
|
||||||
volumes:
|
volumes:
|
||||||
- ./tb-node/redis-data:/bitnami/redis/data
|
- ./tb-node/valkey-data:/bitnami/valkey/data
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
|
|
||||||
# ThingsBoard setup to use redis-standalone
|
# ThingsBoard setup to use valkey-standalone
|
||||||
tb-core1:
|
tb-core1:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-core2:
|
tb-core2:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-rule-engine1:
|
tb-rule-engine1:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-rule-engine2:
|
tb-rule-engine2:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-mqtt-transport1:
|
tb-mqtt-transport1:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-mqtt-transport2:
|
tb-mqtt-transport2:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-http-transport1:
|
tb-http-transport1:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-http-transport2:
|
tb-http-transport2:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-coap-transport:
|
tb-coap-transport:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-lwm2m-transport:
|
tb-lwm2m-transport:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-snmp-transport:
|
tb-snmp-transport:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-vc-executor1:
|
tb-vc-executor1:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
tb-vc-executor2:
|
tb-vc-executor2:
|
||||||
env_file:
|
env_file:
|
||||||
- cache-redis.env
|
- cache-valkey.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis-certs:/redis/certs
|
- ./valkey-certs:/valkey/certs
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- valkey
|
||||||
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIE1TCCAr2gAwIBAgIUFdFLz/q0EosJc39HhIac9+XpyRkwDQYJKoZIhvcNAQEL
|
|
||||||
BQAwWTELMAkGA1UEBhMCdWExDTALBgNVBAgMBGt5aXYxDTALBgNVBAcMBGt5aXYx
|
|
||||||
CzAJBgNVBAoMAnRiMQswCQYDVQQLDAJ0YjESMBAGA1UEAwwJbG9jYWxob3N0MB4X
|
|
||||||
DTIzMDkwNDE1NTA0MVoXDTI0MDkwMzE1NTA0MVowYjELMAkGA1UEBhMCQ1IxEzAR
|
|
||||||
BgNVBAgMCkNoYW5kcmlsbGExEzARBgNVBAcMCkNoYW5kcmlsbGExEjAQBgNVBAMM
|
|
||||||
CUhPU1RfTkFNRTEVMBMGA1UECgwMTmV3IFJlcHVibGljMIIBIjANBgkqhkiG9w0B
|
|
||||||
AQEFAAOCAQ8AMIIBCgKCAQEA+ICaK/aSklkUIih3cl4k4RYJL8rLS68d5JVSxpCQ
|
|
||||||
8MwuAakdU+ptD0b6X4+CcNtR96UlcO3cR15GLLT6s29Kw4Ta5SME+yhuFLUIrWxA
|
|
||||||
/gJ/pkJGkq1vXYZzdUFjtMlF+VbIw+r2hhSkbTR1hV08iRlvflafS8JB/tznqTFy
|
|
||||||
QIXu08heRtxVaC6SMHLeHmZdgdJrSOulwg/ctcP6tki+ZU9v+TH71M3mTIOLzuSz
|
|
||||||
7sqnFMPgW7ER0Utc4fndRfz17LA1NZdSrN0Ch5IO+EZ9gf/25w8makbx7lZoZASm
|
|
||||||
sAd0Uyq9ZPC0ok+oJjeDwanl/Bo7CGEgdxaFYNKpnizyUQIDAQABo4GLMIGIMAsG
|
|
||||||
A1UdDwQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGgYDVR0R
|
|
||||||
BBMwEYIJbG9jYWxob3N0hwR/AAABMB0GA1UdDgQWBBRAIkMMxT30wZYoNQuDM7uT
|
|
||||||
qwb+VzAfBgNVHSMEGDAWgBSfpEhvBqWx6usjDlGx7lEx8Fl21DANBgkqhkiG9w0B
|
|
||||||
AQsFAAOCAgEAMeaZ5K0w2kPSqcZbzV4WwGShrhnSYdsA4dlZhAUNNxsoXX590Ppe
|
|
||||||
lla+vhFSdk/IwjFxLzmiau5+JlCySeOJv2AaG56JvBBU1Wl8LOk01a7qRctiKRth
|
|
||||||
AGFGKZoJ50h5W1A0NV7KwcGIkQdebAFPdMmkOd6Do98ZhkzYLRuAK3U0K4wNQJuf
|
|
||||||
gPt9XtIugRNQOwxolXAj81FfhjZ5CnoaCQYJBFyIenwg4uGjg+D0F9WtAlRq8ww+
|
|
||||||
XpWpVw8QgPDk+SVoGXUsBs+wMCDlGu4ozN2lIvG1N5n1q0qn39SUYOSBkEsdM+AS
|
|
||||||
Yu6LMP4J1SPOwT5UJN2jK7fAYBdChF39nV/xiatfUSy8rWUFQSwGv6JD3X0MAYfT
|
|
||||||
DyOiYdX8o+AnetjfBHHwVXDobh5d1GiC2DwoUNW7KoEdj5mmhDZKiB2S47/5J7El
|
|
||||||
UA9CevmmDvf/tN9itPrutSwcb7uwLYRsf7Gx3D3P/2+nQHUKyNcyQCNtgR7RKHBS
|
|
||||||
EjeedMgtKvrqsdPnk6Ygwj8EMh4owDIDcieqnPZAxhqJOJT2ZORdzyelmpv5aDGc
|
|
||||||
0XnnRHRInSUgQStfPa9ghOBpSXlhxL1EJFFik+yFOjH4GivhoynCb7zjW+MjlPDV
|
|
||||||
LAsnmMukBR95ZkpxMnRUEoLTEvTaxmg4Vr/mqXeQUKdU8A812Wrk2hc=
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQD4gJor9pKSWRQi
|
|
||||||
KHdyXiThFgkvystLrx3klVLGkJDwzC4BqR1T6m0PRvpfj4Jw21H3pSVw7dxHXkYs
|
|
||||||
tPqzb0rDhNrlIwT7KG4UtQitbED+An+mQkaSrW9dhnN1QWO0yUX5VsjD6vaGFKRt
|
|
||||||
NHWFXTyJGW9+Vp9LwkH+3OepMXJAhe7TyF5G3FVoLpIwct4eZl2B0mtI66XCD9y1
|
|
||||||
w/q2SL5lT2/5MfvUzeZMg4vO5LPuyqcUw+BbsRHRS1zh+d1F/PXssDU1l1Ks3QKH
|
|
||||||
kg74Rn2B//bnDyZqRvHuVmhkBKawB3RTKr1k8LSiT6gmN4PBqeX8GjsIYSB3FoVg
|
|
||||||
0qmeLPJRAgMBAAECggEAE6sCCMa8NQ8N0+JGCew/mP0Ifxra2kOi5wuWgJbCkfxn
|
|
||||||
C8SZyKF+Pj5M5LFUDqCdLS+J9hUtYQyqGzG7weXmEfF67bXG2CYMCGGHrUorHq+N
|
|
||||||
8NfABC3r6YgRrU8emBlyC1j+DNuU5WnO1cHYJ1UIzIUR2Pr8Ip/eX1CWmUKLm2WW
|
|
||||||
YvUGzvTG0mM0l9/Q8pcTndAxDuL90GG6TrxtQoy7Ir6dYxTVKHgOwa6RX86VrCkm
|
|
||||||
jl6Wu7Bvo2fnPvPVx8p1mgWNgtBbnc/VAYjeF7Yi7CETWHTxGM4iGtZNL8/xxlW7
|
|
||||||
sm2SmWEu72EupLYgytA9w+EptjbwWfcTaWbWUXTFHQKBgQD5nmYLVvZUR1oc9g2a
|
|
||||||
Q7XpFQ/jVvwedeKGolMbWTFrEhl1+D8lKN/S3SoRCOALOUJFUCU+L1snN3MsJ5Es
|
|
||||||
Gb0FLSH1LBBfuHqP+aHn/uGLMW8e7P9thh4DQ1tIzKE5xhh+JDJJqd15YJlsDy1F
|
|
||||||
0aKWyulS4o9XK5q86rs5QbI4MwKBgQD+2uXEAiFwEXq7pw2e8STrnt0jp09KU6b1
|
|
||||||
z/ykyArBdcVkrEudZ+jIrR/6rlSKK+SKQxtx8MG9M/Nm09KFRCAWblxHBwQ87ZnU
|
|
||||||
8tMAmPHrikLKk1dbbU3BQ3cZkIWMryCo4wzuxeT4mc2goTGNZpNZDpjqjCXbnCgP
|
|
||||||
T29aPHG3awKBgGFv8UlP4su3JnfTnC+xaprXO+J0G+oP/iKrzmEIif/Pity/0HZC
|
|
||||||
5Eu9RSRtIHeBHFtOE5uYhK5kOLLtpv9d9KjGm1DGqIWUz1LQEOEsXwIkg8nAnVw1
|
|
||||||
VBXV/xYFupGAwCLNIkwa4Hb2vCywJ+3vDNZr0nQmN+nA/Z/syLRq7pR9AoGBALqp
|
|
||||||
l3pd2SHdG5jP/VD57IHLRMs1YwTcikAmizQh9IbH/MEE1QlALya0buTLxM3C4kxG
|
|
||||||
ZJaqsSwkHdWltd64DAyB3oKDaB48JNzs0ZDxdNeA1/TJwEUNpNK12EjYKojlSDWK
|
|
||||||
v1Evjspq1EofZkzb4XZsE6JO7feQw2KbWsKr3NprAoGBAKSSAjDpncxb+9Pr0Lwa
|
|
||||||
AS7ATgMhot6+lbtZZV6egTGUVvtgd1LyE2ZJkE+5XJRu49X1lSJdDpFT66rG5eNV
|
|
||||||
+rYnDqXL8c0Z/j1L96z1UMY6DLPj3n+07zgLiNIrOR4UKP/+TGB9MHHFMEpYnij0
|
|
||||||
m/f6dg0Ujw6CW31Hq2QdJ9P7
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFkzCCA3ugAwIBAgIUK9fjeDv+ESrdFSHMqsod5djzTh4wDQYJKoZIhvcNAQEL
|
|
||||||
BQAwWTELMAkGA1UEBhMCdWExDTALBgNVBAgMBGt5aXYxDTALBgNVBAcMBGt5aXYx
|
|
||||||
CzAJBgNVBAoMAnRiMQswCQYDVQQLDAJ0YjESMBAGA1UEAwwJbG9jYWxob3N0MB4X
|
|
||||||
DTIzMDkwNDE1MDUxN1oXDTMzMDkwMTE1MDUxN1owWTELMAkGA1UEBhMCdWExDTAL
|
|
||||||
BgNVBAgMBGt5aXYxDTALBgNVBAcMBGt5aXYxCzAJBgNVBAoMAnRiMQswCQYDVQQL
|
|
||||||
DAJ0YjESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
|
|
||||||
MIICCgKCAgEAsaxpM/OLfx0jNVHAiD4dmJ4t5vZQNINtaI/GgnXNv9iM3aDvbYr/
|
|
||||||
Cp8mJgkOvI9BZqDEcLscBv+H4mxCqS2IFBqJbtkYHExBgg7V13NRtJwqsWVz0rBG
|
|
||||||
V1SFou2JSzPkQ6IDxJI+AUW6DfsbCs3o6VRPbriMfY06rNagerG1osaD9yn/EsH9
|
|
||||||
BTdALravcvU8mxOghzWH54EzwDUA0mKUetgvgfqkzjDlqzXFnOsIinnDi0Ia3idF
|
|
||||||
RaBVs7bKokl0Zp1mdtvsEpG4lcmhDtNIogcmeH2LW2zEneHuDX2BGsN9CCwEGj3k
|
|
||||||
cftuxEck2mQVDoDgX1IpIUGBhIaAixj+UXh8RNSwU96GBwKbFNy/CXNj5+34DcL0
|
|
||||||
kBh7p77rcrzm6xEGpP/3YYPoRVBRAX64x4QqzqF5oj6Sf2NGKH9RILmLWdqmq/up
|
|
||||||
6cMYyzAEOr3nIQ/7OfkdvxOt0oUzeB7QPYbTvM9bCqe3XA+JH1pnLhgySPxdTeVe
|
|
||||||
nUExge8WPJmdTlH1McminFDiJruFRa069hbky/b5z8BjIBN5S3lC4PdEE9YmDSL1
|
|
||||||
u26HnRVwtqC32fkDNI1PT/4p2VaB+DmIxkFXrVUnV0TiyCyxu4jIgXhUiJRHgBn9
|
|
||||||
zwB7lEZUhMriOBGJqHa0H0TtnH8z/5GYmipeJZllmQbhI+sMyYBS/+cCAwEAAaNT
|
|
||||||
MFEwHQYDVR0OBBYEFJ+kSG8GpbHq6yMOUbHuUTHwWXbUMB8GA1UdIwQYMBaAFJ+k
|
|
||||||
SG8GpbHq6yMOUbHuUTHwWXbUMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
|
|
||||||
BQADggIBABCt/bx7/YbvR/0PE4nIzxVovPItR+oYcInRrbwT+VWvL22Su7rf71lc
|
|
||||||
1vlil4xjdVxSEi6s5KZ69PLJKKXukt1MBCUStDK1HKPPB1SAhtD6nuvkh7YL+2im
|
|
||||||
A5gmtg3KkD2ZD2mWCHAa8K7NEMah1XiMVMo+ByFNPQExqOk2i3+5kjBrlfElsm0Q
|
|
||||||
ixM++93T62gTibOjuO8uPP0NUcIHI+RcEalc1hJjFof4gWLnIulaeuUydXw7RhzE
|
|
||||||
HzeOeZiZWrvW2mjfiANMn27TV5K0dZoh/4+YLqkKn1bdQsYVIWxWx8jZ0Nj0yzMb
|
|
||||||
Ekkodny3F+BHqkSUb3whRWDKN82valnCSJFAKZFZzueAJgCjANTNdr7S7UUIxZyi
|
|
||||||
QKll59T4O1yhawRu/cZ6TQWzV7RWdTerFfIjHMwsohDUxlkoACJebLahsBG9IHGN
|
|
||||||
Tn+P2djY6CXBctbTXhRiYqeb79/TPU0EETv7/ilNHS/tssWcKWkFdai3yMzLvxeH
|
|
||||||
YTVPMzeAWW/PnQOwYTkgeaj7SIK5bbm5n/gpWk31R5gRWhgJc9FZSa9+oZWbWeYh
|
|
||||||
3XfsuCuTH+jSs0g+jJUx/cpIVrO38r2hSuhDPugmHgM6yEnKMubhChCPCyXjO0z9
|
|
||||||
brEMQ1T9r2sKOYuyNDhN/W9/QsTb/RO4Ug2lYlzRTdehqvimHspW
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
9
msa/black-box-tests/src/test/resources/valkey-certs/valkey.crt
Executable file
9
msa/black-box-tests/src/test/resources/valkey-certs/valkey.crt
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBLTCB1AIUSQ2Ce8LOpzqOJhL2aXCTVrd45twwCgYIKoZIzj0EAwIwHDEaMBgG
|
||||||
|
A1UEAwwRVmFsa2V5IEVDIFJvb3QgQ0EwHhcNMjUwNTI4MDYxNTI5WhcNMjYwNTI4
|
||||||
|
MDYxNTI5WjAXMRUwEwYDVQQDDAx2YWxrZXkubG9jYWwwWTATBgcqhkjOPQIBBggq
|
||||||
|
hkjOPQMBBwNCAATSpimU25+2yIKGNwSQgPN2QaEcfWnj4c8PcTjeXg/1C2+fpMyl
|
||||||
|
jgknA64GUM2VeoVbG0mTkywlRU57+2yVLKYrMAoGCCqGSM49BAMCA0gAMEUCIDi0
|
||||||
|
ri1mBU64a8C0L/QZet0C/+HsbhItq40AmtZyEKWlAiEA8FJG51ZvncgYx8PCLGS7
|
||||||
|
WmBCqfnG58W4ga4M6YhEnYA=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
8
msa/black-box-tests/src/test/resources/valkey-certs/valkey.key
Executable file
8
msa/black-box-tests/src/test/resources/valkey-certs/valkey.key
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
-----BEGIN EC PARAMETERS-----
|
||||||
|
BggqhkjOPQMBBw==
|
||||||
|
-----END EC PARAMETERS-----
|
||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHcCAQEEIHsaG9ozysmDm7xv+d+i/vl7xJUHcgL93/9rvQfd3PWDoAoGCCqGSM49
|
||||||
|
AwEHoUQDQgAE0qYplNuftsiChjcEkIDzdkGhHH1p4+HPD3E43l4P9Qtvn6TMpY4J
|
||||||
|
JwOuBlDNlXqFWxtJk5MsJUVOe/tslSymKw==
|
||||||
|
-----END EC PRIVATE KEY-----
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBjDCCATOgAwIBAgIUd7nfNuCY22WidK3CdazyMQUzVrAwCgYIKoZIzj0EAwIw
|
||||||
|
HDEaMBgGA1UEAwwRVmFsa2V5IEVDIFJvb3QgQ0EwHhcNMjUwNTI4MDYxNTE4WhcN
|
||||||
|
MjcwNTI4MDYxNTE4WjAcMRowGAYDVQQDDBFWYWxrZXkgRUMgUm9vdCBDQTBZMBMG
|
||||||
|
ByqGSM49AgEGCCqGSM49AwEHA0IABA4DTobDPtQtjBxYR+szO6p/pen9JWYPuXww
|
||||||
|
AyYMDEvD5ue3itruuDz0td0BMvn5YO+t1d03VKFVGP1ZpB4XO7ujUzBRMB0GA1Ud
|
||||||
|
DgQWBBSwBnnqUCfMUoaq7adEANr614SLFDAfBgNVHSMEGDAWgBSwBnnqUCfMUoaq
|
||||||
|
7adEANr614SLFDAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIFCp
|
||||||
|
9xuuj8Z6iSozSA/3cIugBnQqUSMw9BrS+2Qr6v69AiBz2R+DGXZAKTkOzqgxBXjv
|
||||||
|
fcdX4LrBpLCn1Pw/IDD+Ug==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
Loading…
x
Reference in New Issue
Block a user