Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
2412a291f6
|
|||
b5ed7704e3
|
|||
a1626aa1c7
|
|||
3fb8454711
|
|||
ecf18881b9
|
|||
69287f7196
|
|||
4b1b4399e1
|
31
.drone.yml
31
.drone.yml
@ -3,7 +3,7 @@ name: default
|
||||
|
||||
steps:
|
||||
- name: compile
|
||||
image: maven:3-jdk-11
|
||||
image: maven:3-openjdk-17
|
||||
commands:
|
||||
- mvn -B clean compile
|
||||
when:
|
||||
@ -14,7 +14,7 @@ steps:
|
||||
- fix/*
|
||||
- release/*
|
||||
- name: unit-tests
|
||||
image: maven:3-jdk-11
|
||||
image: maven:3-openjdk-17
|
||||
commands:
|
||||
- mvn -B test
|
||||
when:
|
||||
@ -22,16 +22,27 @@ steps:
|
||||
- develop
|
||||
- feature/*
|
||||
- fix/*
|
||||
- name: unit-integration-tests
|
||||
image: maven:3-jdk-11
|
||||
- name: setup-vault
|
||||
image: alpine:latest
|
||||
environment:
|
||||
VAULT_VERSION: 1.10.1
|
||||
VAULT_VERSION: 1.11.2
|
||||
commands:
|
||||
- curl -s -o vault_1.10.1_linux_amd64.zip https://releases.hashicorp.com/vault/1.10.1/vault_1.10.1_linux_amd64.zip
|
||||
- curl -s https://releases.hashicorp.com/vault/1.10.1/vault_1.10.1_SHA256SUMS | grep linux_amd64 | sha256sum -c
|
||||
- unzip vault_1.10.1_linux_amd64.zip
|
||||
- rm vault_1.10.1_linux_amd64.zip
|
||||
- mv vault /bin/
|
||||
- wget -q -O vault_$${VAULT_VERSION}_linux_amd64.zip https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_linux_amd64.zip
|
||||
- wget -q -O - https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_SHA256SUMS | grep linux_amd64 | sha256sum -c
|
||||
- unzip vault_$${VAULT_VERSION}_linux_amd64.zip
|
||||
- rm vault_$${VAULT_VERSION}_linux_amd64.zip
|
||||
- mkdir -p .bin
|
||||
- mv vault .bin/
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
- release/*
|
||||
- name: unit-integration-tests
|
||||
image: maven:3-openjdk-17
|
||||
environment:
|
||||
VAULT_VERSION: 1.11.2
|
||||
commands:
|
||||
- export PATH=.bin:$${PATH}
|
||||
- mvn -B -P integration-test verify
|
||||
when:
|
||||
branch:
|
||||
|
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
@ -5,19 +5,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
jdk: [ 11, 17 ]
|
||||
vault: [ '1.10.1' ]
|
||||
jdk: [ 11, 17, 18 ]
|
||||
vault: [ '1.11.2' ]
|
||||
include:
|
||||
- jdk: 11
|
||||
vault: '1.10.1'
|
||||
- jdk: 17
|
||||
vault: '1.11.2'
|
||||
analysis: true
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up Java
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: ${{ matrix.jdk }}
|
||||
distribution: 'temurin'
|
||||
|
10
CHANGELOG.md
10
CHANGELOG.md
@ -1,3 +1,13 @@
|
||||
## 1.1.1 (2022-08-29)
|
||||
|
||||
### Dependencies
|
||||
* Updated Jackson to 2.13.3
|
||||
|
||||
### Test
|
||||
* Tested against Vault 1.11.2
|
||||
* Tested with Java 18
|
||||
|
||||
|
||||
## 1.1.0 (2022-04-24)
|
||||
|
||||
### Fix
|
||||
|
@ -32,7 +32,7 @@ Java Vault Connector is a connector library for [Vault](https://www.vaultproject
|
||||
* SQL secret handling
|
||||
* KV v1 and v2 support
|
||||
* Connector Factory with builder pattern
|
||||
* Tested against Vault 1.10.1
|
||||
* Tested against Vault 1.11.2
|
||||
|
||||
|
||||
## Maven Artifact
|
||||
@ -40,7 +40,7 @@ Java Vault Connector is a connector library for [Vault](https://www.vaultproject
|
||||
<dependency>
|
||||
<groupId>de.stklcode.jvault</groupId>
|
||||
<artifactId>jvault-connector</artifactId>
|
||||
<version>1.1.0</version>
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
|
28
pom.xml
28
pom.xml
@ -4,7 +4,7 @@
|
||||
|
||||
<groupId>de.stklcode.jvault</groupId>
|
||||
<artifactId>jvault-connector</artifactId>
|
||||
<version>1.1.0</version>
|
||||
<version>1.1.1</version>
|
||||
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<version>3.3.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
@ -84,12 +84,12 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<version>2.5.2</version>
|
||||
<version>3.0.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>2.8.2</version>
|
||||
<version>3.0.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
@ -116,19 +116,19 @@
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.13.2.2</version>
|
||||
<version>2.13.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>5.8.2</version>
|
||||
<version>5.9.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>4.5.1</version>
|
||||
<version>4.7.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@ -140,7 +140,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.tomakehurst</groupId>
|
||||
<artifactId>wiremock-jre8</artifactId>
|
||||
<version>2.33.1</version>
|
||||
<version>2.33.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@ -152,7 +152,13 @@
|
||||
<dependency>
|
||||
<groupId>nl.jqno.equalsverifier</groupId>
|
||||
<artifactId>equalsverifier</artifactId>
|
||||
<version>3.10</version>
|
||||
<version>3.10.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.awaitility</groupId>
|
||||
<artifactId>awaitility</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
@ -203,7 +209,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.4.0</version>
|
||||
<version>3.4.1</version>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
</configuration>
|
||||
@ -300,7 +306,7 @@
|
||||
<plugin>
|
||||
<groupId>org.owasp</groupId>
|
||||
<artifactId>dependency-check-maven</artifactId>
|
||||
<version>7.1.0</version>
|
||||
<version>7.1.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
@ -37,6 +37,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
import static java.util.Collections.singletonMap;
|
||||
import static org.apache.commons.io.FileUtils.copyDirectory;
|
||||
import static org.awaitility.Awaitility.await;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.api.Assumptions.assumeFalse;
|
||||
import static org.junit.jupiter.api.Assumptions.assumeTrue;
|
||||
@ -49,7 +50,7 @@ import static org.junit.jupiter.api.Assumptions.assumeTrue;
|
||||
* @since 0.1
|
||||
*/
|
||||
class HTTPVaultConnectorIT {
|
||||
private static String VAULT_VERSION = "1.10.1"; // The vault version this test is supposed to run against.
|
||||
private static String VAULT_VERSION = "1.11.2"; // The vault version this test is supposed to run against.
|
||||
private static final String KEY1 = "E38bkCm0VhUvpdCKGQpcohhD9XmcHJ/2hreOSY019Lho";
|
||||
private static final String KEY2 = "O5OHwDleY3IiPdgw61cgHlhsrEm6tVJkrxhF6QAnILd1";
|
||||
private static final String KEY3 = "mw7Bm3nbt/UWa/juDjjL2EPQ04kiJ0saC5JEXwJvXYsB";
|
||||
@ -80,11 +81,6 @@ class HTTPVaultConnectorIT {
|
||||
|
||||
// Initialize Vault.
|
||||
VaultConfiguration config = initializeVault(tempDir, isTls);
|
||||
try {
|
||||
TimeUnit.SECONDS.sleep(1);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Initialize connector.
|
||||
HTTPVaultConnectorBuilder builder = HTTPVaultConnector.builder()
|
||||
@ -908,7 +904,8 @@ class HTTPVaultConnectorIT {
|
||||
assertFalse(res.getAuth().isOrphan(), "Root token should not be orphan");
|
||||
|
||||
// Starting with Vault 1.0 a warning "custom ID uses weaker SHA1.." is given.
|
||||
assertEquals(1, res.getWarnings().size(), "Token creation did not return expected warning");
|
||||
// Starting with Vault 1.11 a second warning "Endpoint ignored unrecognized parameters" is given.
|
||||
assertFalse(res.getWarnings().isEmpty(), "Token creation did not return expected warning");
|
||||
|
||||
// Create token with attributes.
|
||||
Token token2 = Token.builder()
|
||||
@ -1221,30 +1218,37 @@ class HTTPVaultConnectorIT {
|
||||
}
|
||||
|
||||
// Write configuration file.
|
||||
BufferedWriter bw = null;
|
||||
File configFile;
|
||||
try {
|
||||
configFile = new File(dir, "vault.conf");
|
||||
bw = new BufferedWriter(new FileWriter(configFile));
|
||||
File configFile = new File(dir, "vault.conf");
|
||||
try (BufferedWriter bw = new BufferedWriter(new FileWriter(configFile))) {
|
||||
bw.write(config.toString());
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException("Unable to generate config file", e);
|
||||
} finally {
|
||||
try {
|
||||
if (bw != null)
|
||||
bw.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
// Start vault process.
|
||||
try {
|
||||
vaultProcess = Runtime.getRuntime().exec("vault server -config " + configFile.toString());
|
||||
vaultProcess = Runtime.getRuntime().exec("vault server -config " + configFile);
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException("Unable to start vault. Make sure vault binary is in your executable path", e);
|
||||
}
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS).until(() -> {
|
||||
try (InputStream stdout = vaultProcess.getInputStream();
|
||||
InputStreamReader reader = new InputStreamReader(stdout);
|
||||
BufferedReader br = new BufferedReader(reader)) {
|
||||
String line = br.readLine();
|
||||
while (line != null) {
|
||||
if (line.contains("Vault server started")) {
|
||||
return true;
|
||||
} else {
|
||||
line = br.readLine();
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
@ -1269,28 +1273,14 @@ class HTTPVaultConnectorIT {
|
||||
* @return port number
|
||||
*/
|
||||
private static Integer getFreePort() {
|
||||
ServerSocket socket = null;
|
||||
try {
|
||||
socket = new ServerSocket(0);
|
||||
try (ServerSocket socket = new ServerSocket(0)) {
|
||||
socket.setReuseAddress(true);
|
||||
int port = socket.getLocalPort();
|
||||
try {
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
// Ignore IOException on close()
|
||||
}
|
||||
return port;
|
||||
|
||||
return socket.getLocalPort();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (socket != null) {
|
||||
try {
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalStateException("Unable to find a free TCP port");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user