Skip to content

Commit 88f14d8

Browse files
authored
Updated dependencies (#96)
1 parent ae3a81c commit 88f14d8

File tree

7 files changed

+76
-109
lines changed

7 files changed

+76
-109
lines changed

pom.xml

Lines changed: 28 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
<parent>
66
<groupId>io.scalecube</groupId>
7-
<artifactId>scalecube-parent-pom</artifactId>
8-
<version>0.2.19</version>
7+
<artifactId>scalecube-parent</artifactId>
8+
<version>0.2.20</version>
99
</parent>
1010

1111
<artifactId>scalecube-security-parent</artifactId>
@@ -39,22 +39,22 @@
3939
</modules>
4040

4141
<properties>
42-
<scalecube-config.version>0.4.16</scalecube-config.version>
43-
<scalecube-commons.version>1.0.18</scalecube-commons.version>
42+
<scalecube-config.version>0.4.18</scalecube-config.version>
43+
<scalecube-commons.version>1.0.21</scalecube-commons.version>
4444

4545
<jjwt.version>0.11.2</jjwt.version>
46-
<reactor.version>2020.0.10</reactor.version>
47-
<jackson.version>2.11.0</jackson.version>
48-
<slf4j.version>1.7.30</slf4j.version>
49-
<snakeyaml.version>1.26</snakeyaml.version>
46+
<reactor.version>2020.0.23</reactor.version>
47+
<jackson.version>2.13.3</jackson.version>
48+
<slf4j.version>1.7.36</slf4j.version>
5049

51-
<mockito.version>3.1.0</mockito.version>
50+
<mockito-junit-jupiter.version>4.6.1</mockito-junit-jupiter.version>
51+
<junit-jupiter.version>5.8.2</junit-jupiter.version>
5252
<hamcrest.version>1.3</hamcrest.version>
53-
<junit-jupiter.version>5.4.2</junit-jupiter.version>
54-
<vault-java-driver.version>5.0.0</vault-java-driver.version>
55-
<testcontainers.version>1.15.1</testcontainers.version>
56-
<!-- TODO: remove explicit version of `jna` once testcontainers fixes dependencies conflict -->
57-
<jna.version>5.5.0</jna.version>
53+
<vault-java-driver.version>5.1.0</vault-java-driver.version>
54+
<testcontainers.version>1.17.4</testcontainers.version>
55+
56+
<distributionManagement.url>https://maven.pkg.github.com/scalecube/scalecube-security
57+
</distributionManagement.url>
5858
</properties>
5959

6060
<dependencyManagement>
@@ -85,12 +85,6 @@
8585
<artifactId>slf4j-api</artifactId>
8686
<version>${slf4j.version}</version>
8787
</dependency>
88-
<!-- Yaml -->
89-
<dependency>
90-
<groupId>org.yaml</groupId>
91-
<artifactId>snakeyaml</artifactId>
92-
<version>${snakeyaml.version}</version>
93-
</dependency>
9488
<!-- Jsonwebtoken -->
9589
<dependency>
9690
<groupId>io.jsonwebtoken</groupId>
@@ -115,18 +109,22 @@
115109
<type>pom</type>
116110
<scope>import</scope>
117111
</dependency>
118-
<!-- TestContainers -->
112+
<!-- Test -->
113+
<dependency>
114+
<groupId>org.testcontainers</groupId>
115+
<artifactId>vault</artifactId>
116+
<version>${testcontainers.version}</version>
117+
</dependency>
119118
<dependency>
120-
<groupId>net.java.dev.jna</groupId>
121-
<artifactId>jna</artifactId>
122-
<version>${jna.version}</version>
123-
<scope>test</scope>
119+
<groupId>com.bettercloud</groupId>
120+
<artifactId>vault-java-driver</artifactId>
121+
<version>${vault-java-driver.version}</version>
124122
</dependency>
125123
</dependencies>
126124
</dependencyManagement>
127125

128126
<dependencies>
129-
<!-- Test scope -->
127+
<!-- Test -->
130128
<dependency>
131129
<groupId>org.junit.jupiter</groupId>
132130
<artifactId>junit-jupiter-engine</artifactId>
@@ -140,68 +138,22 @@
140138
<scope>test</scope>
141139
</dependency>
142140
<dependency>
143-
<groupId>org.hamcrest</groupId>
144-
<artifactId>hamcrest-all</artifactId>
145-
<version>${hamcrest.version}</version>
141+
<groupId>org.mockito</groupId>
142+
<artifactId>mockito-junit-jupiter</artifactId>
143+
<version>${mockito-junit-jupiter.version}</version>
146144
<scope>test</scope>
147145
</dependency>
148146
<dependency>
149147
<groupId>org.hamcrest</groupId>
150-
<artifactId>hamcrest-core</artifactId>
148+
<artifactId>hamcrest-all</artifactId>
151149
<version>${hamcrest.version}</version>
152150
<scope>test</scope>
153151
</dependency>
154-
<dependency>
155-
<groupId>org.mockito</groupId>
156-
<artifactId>mockito-junit-jupiter</artifactId>
157-
<version>${mockito.version}</version>
158-
<scope>test</scope>
159-
</dependency>
160152
<dependency>
161153
<groupId>io.projectreactor</groupId>
162154
<artifactId>reactor-test</artifactId>
163155
<scope>test</scope>
164156
</dependency>
165157
</dependencies>
166158

167-
<profiles>
168-
<profile>
169-
<id>deploy2Github</id>
170-
<distributionManagement>
171-
<repository>
172-
<id>github</id>
173-
<name>GitHub Packages</name>
174-
<url>https://maven.pkg.github.com/scalecube/scalecube-security</url>
175-
</repository>
176-
</distributionManagement>
177-
</profile>
178-
<profile>
179-
<id>deploy2Maven</id>
180-
<distributionManagement>
181-
<repository>
182-
<id>ossrh</id>
183-
<name>Central Repository OSSRH</name>
184-
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
185-
</repository>
186-
</distributionManagement>
187-
<build>
188-
<plugins>
189-
<plugin>
190-
<groupId>org.sonatype.plugins</groupId>
191-
<artifactId>nexus-staging-maven-plugin</artifactId>
192-
</plugin>
193-
<plugin>
194-
<artifactId>maven-source-plugin</artifactId>
195-
</plugin>
196-
<plugin>
197-
<artifactId>maven-javadoc-plugin</artifactId>
198-
</plugin>
199-
<plugin>
200-
<artifactId>maven-gpg-plugin</artifactId>
201-
</plugin>
202-
</plugins>
203-
</build>
204-
</profile>
205-
</profiles>
206-
207159
</project>

tokens/pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,11 @@
3535
<dependency>
3636
<groupId>org.testcontainers</groupId>
3737
<artifactId>vault</artifactId>
38-
<version>${testcontainers.version}</version>
3938
<scope>test</scope>
4039
</dependency>
4140
<dependency>
4241
<groupId>com.bettercloud</groupId>
4342
<artifactId>vault-java-driver</artifactId>
44-
<version>${vault-java-driver.version}</version>
4543
<scope>test</scope>
4644
</dependency>
4745
</dependencies>

tokens/src/main/java/io/scalecube/security/tokens/jwt/JwksKeyProvider.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ public JwksKeyProvider readTimeout(Duration readTimeout) {
8484
public Mono<Key> findKey(String kid) {
8585
return computeKey(kid)
8686
.switchIfEmpty(Mono.error(new KeyNotFoundException("Key was not found, kid: " + kid)))
87-
.doOnSubscribe(s -> LOGGER.debug("[findKey] Looking up key in jwks, kid: {}", kid))
8887
.subscribeOn(Schedulers.boundedElastic())
8988
.publishOn(Schedulers.boundedElastic());
9089
}

vault/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
<artifactId>slf4j-api</artifactId>
2929
</dependency>
3030
<dependency>
31-
<groupId>org.yaml</groupId>
32-
<artifactId>snakeyaml</artifactId>
31+
<groupId>com.fasterxml.jackson.dataformat</groupId>
32+
<artifactId>jackson-dataformat-yaml</artifactId>
3333
</dependency>
3434
</dependencies>
3535

vault/src/main/java/io/scalecube/security/vault/VaultClientTokenSupplier.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ public VaultClientTokenSupplier vaultRole(String vaultRole) {
8787
public Mono<String> getToken() {
8888
return Mono.fromRunnable(this::validate)
8989
.then(Mono.fromCallable(this::getToken0))
90-
.doOnSubscribe(s -> LOGGER.debug("[getToken] Getting vault client token"))
9190
.doOnSuccess(s -> LOGGER.debug("[getToken][success] result: {}", mask(s)))
9291
.doOnError(th -> LOGGER.error("[getToken][error] cause: {}", th.toString()));
9392
}

vault/src/main/java/io/scalecube/security/vault/VaultServiceRolesInstaller.java

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
import com.bettercloud.vault.json.Json;
44
import com.bettercloud.vault.rest.Rest;
55
import com.bettercloud.vault.rest.RestException;
6+
import com.fasterxml.jackson.databind.ObjectMapper;
7+
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
68
import io.scalecube.security.vault.VaultServiceRolesInstaller.ServiceRoles.Role;
79
import java.io.File;
810
import java.io.FileInputStream;
11+
import java.io.IOException;
912
import java.io.InputStream;
13+
import java.io.StringReader;
1014
import java.util.Arrays;
1115
import java.util.Base64;
1216
import java.util.Collections;
@@ -17,8 +21,6 @@
1721
import java.util.function.Supplier;
1822
import org.slf4j.Logger;
1923
import org.slf4j.LoggerFactory;
20-
import org.yaml.snakeyaml.Yaml;
21-
import org.yaml.snakeyaml.constructor.Constructor;
2224
import reactor.core.Exceptions;
2325
import reactor.core.publisher.Mono;
2426
import reactor.core.scheduler.Schedulers;
@@ -32,6 +34,8 @@ public final class VaultServiceRolesInstaller {
3234
private static final List<Supplier<ServiceRoles>> DEFAULT_SERVICE_ROLES_SOURCES =
3335
Collections.singletonList(new ResourcesServiceRolesSupplier());
3436

37+
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(new YAMLFactory());
38+
3539
private String vaultAddress;
3640
private Mono<String> vaultTokenSupplier;
3741
private Supplier<String> keyNameSupplier;
@@ -189,23 +193,18 @@ public VaultServiceRolesInstaller roleTtl(String roleTtl) {
189193
public Mono<Void> install() {
190194
return Mono.defer(this::install0)
191195
.subscribeOn(Schedulers.boundedElastic())
192-
.doOnSubscribe(s -> LOGGER.debug("[install] Installing vault service roles"))
193-
.doOnSuccess(s -> LOGGER.debug("[install][success] Installed vault service roles"))
194-
.doOnError(
195-
th ->
196-
LOGGER.error(
197-
"[install][error] Failed to install vault service roles, cause: {}",
198-
th.toString()))
199-
.then();
196+
.doOnError(th -> LOGGER.error("Failed to install serviceRoles, cause: {}", th.toString()));
200197
}
201198

202199
private Mono<Void> install0() {
203200
if (isNullOrNoneOrEmpty(vaultAddress)) {
201+
LOGGER.debug("Skipping serviceRoles installation, vaultAddress not set");
204202
return Mono.empty();
205203
}
206204

207205
final ServiceRoles serviceRoles = loadServiceRoles();
208206
if (serviceRoles == null || serviceRoles.roles.isEmpty()) {
207+
LOGGER.debug("Skipping serviceRoles installation, serviceRoles not set");
209208
return Mono.empty();
210209
}
211210

@@ -214,7 +213,7 @@ private Mono<Void> install0() {
214213
token -> {
215214
final Rest rest = new Rest().header(VAULT_TOKEN_HEADER, token);
216215

217-
String keyName = keyNameSupplier.get();
216+
final String keyName = keyNameSupplier.get();
218217
createVaultIdentityKey(rest.url(buildVaultIdentityKeyUri(keyName)), keyName);
219218

220219
for (Role role : serviceRoles.roles) {
@@ -226,6 +225,7 @@ private Mono<Void> install0() {
226225
role.permissions);
227226
}
228227
})
228+
.doOnSuccess(s -> LOGGER.debug("Installed serviceRoles ({})", serviceRoles))
229229
.then();
230230
}
231231

@@ -242,7 +242,7 @@ private ServiceRoles loadServiceRoles() {
242242
}
243243
} catch (Throwable th) {
244244
LOGGER.warn(
245-
"Fail to load ServiceRoles from {}, cause {}", serviceRolesSource, th.getMessage());
245+
"Failed to load serviceRoles from {}, cause {}", serviceRolesSource, th.getMessage());
246246
}
247247
}
248248

@@ -333,6 +333,13 @@ public void setRoles(List<Role> roles) {
333333
this.roles = roles;
334334
}
335335

336+
@Override
337+
public String toString() {
338+
return new StringJoiner(", ", ServiceRoles.class.getSimpleName() + "[", "]")
339+
.add("roles=" + roles)
340+
.toString();
341+
}
342+
336343
public static class Role {
337344

338345
private String role;
@@ -353,6 +360,14 @@ public List<String> getPermissions() {
353360
public void setPermissions(List<String> permissions) {
354361
this.permissions = permissions;
355362
}
363+
364+
@Override
365+
public String toString() {
366+
return new StringJoiner(", ", Role.class.getSimpleName() + "[", "]")
367+
.add("role='" + role + "'")
368+
.add("permissions=" + permissions)
369+
.toString();
370+
}
356371
}
357372
}
358373

@@ -372,11 +387,15 @@ public ResourcesServiceRolesSupplier(String fileName) {
372387

373388
@Override
374389
public ServiceRoles get() {
375-
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
376-
InputStream inputStream = classLoader.getResourceAsStream(fileName);
377-
return inputStream != null
378-
? new Yaml(new Constructor(ServiceRoles.class)).load(inputStream)
379-
: null;
390+
try {
391+
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
392+
InputStream inputStream = classLoader.getResourceAsStream(fileName);
393+
return inputStream != null
394+
? OBJECT_MAPPER.readValue(inputStream, ServiceRoles.class)
395+
: null;
396+
} catch (IOException e) {
397+
throw new RuntimeException(e);
398+
}
380399
}
381400

382401
@Override
@@ -403,8 +422,14 @@ public EnvironmentServiceRolesSupplier(String envKey) {
403422

404423
@Override
405424
public ServiceRoles get() {
406-
final String value = System.getenv(envKey);
407-
return value != null ? new Yaml(new Constructor(ServiceRoles.class)).load(value) : null;
425+
try {
426+
final String value = System.getenv(envKey);
427+
return value != null
428+
? OBJECT_MAPPER.readValue(new StringReader(value), ServiceRoles.class)
429+
: null;
430+
} catch (IOException e) {
431+
throw new RuntimeException(e);
432+
}
408433
}
409434

410435
@Override
@@ -435,7 +460,7 @@ public ServiceRoles get() {
435460
try {
436461
final File file = new File(this.file);
437462
return file.exists()
438-
? new Yaml(new Constructor(ServiceRoles.class)).load(new FileInputStream(file))
463+
? OBJECT_MAPPER.readValue(new FileInputStream(file), ServiceRoles.class)
439464
: null;
440465
} catch (Exception e) {
441466
throw Exceptions.propagate(e);

vault/src/main/java/io/scalecube/security/vault/VaultServiceTokenSupplier.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,6 @@ public Mono<String> getToken(Map<String, String> tags) {
111111
vaultToken -> {
112112
final String uri = buildServiceTokenUri(tags);
113113
return Mono.fromCallable(() -> rpcGetToken(uri, vaultToken))
114-
.doOnSubscribe(
115-
s ->
116-
LOGGER.debug(
117-
"[getToken] Getting vault service token, uri='{}', tags={}",
118-
uri,
119-
tags))
120114
.doOnSuccess(
121115
s ->
122116
LOGGER.debug(
@@ -134,7 +128,7 @@ public Mono<String> getToken(Map<String, String> tags) {
134128
});
135129
}
136130

137-
private String rpcGetToken(String uri, String vaultToken) {
131+
private static String rpcGetToken(String uri, String vaultToken) {
138132
try {
139133
final RestResponse response =
140134
new Rest().header(VAULT_TOKEN_HEADER, vaultToken).url(uri).get();

0 commit comments

Comments
 (0)