vault-maven-plugin
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.homeofthewizard</groupId>
<artifactId>vault-maven-plugin</artifactId>
<version>1.1.7</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.homeofthewizard</groupId>
<artifactId>vault-maven-plugin</artifactId>
<version>1.1.7</version>
<packaging>maven-plugin</packaging>
<name>Vault Maven Plugin</name>
<description>A plugin that supports retrieving values from HashiCorp Vault.</description>
<url>https://github.com/homeofthewizard/vault-maven-plugin</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:homeofthewizard/vault-maven-plugin</connection>
<developerConnection>scm:git:git@github.com:homeofthewizard/vault-maven-plugin.git</developerConnection>
<url>https://github.com/homeofthewizard/vault-maven-plugin</url>
<tag>vault-maven-plugin-1.1.7</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<developers>
<developer>
<name>Ozgun OZ</name>
<email>ozgunn.oz@gmail.com</email>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.build.outputTimestamp>2024-05-03T16:19:25Z</project.build.outputTimestamp>
<maven.test.runOrder>hourly</maven.test.runOrder>
<docker.network>vault-maven-plugin-${maven.build.timestamp}</docker.network>
<docker.nginx.host>nginx.docker</docker.nginx.host>
<docker.vault.host>vault.docker</docker.vault.host>
<docker.nginx.port>443</docker.nginx.port>
<docker.vault.token>6edb70bd-3398-1f42-d67e-b9db377223cd</docker.vault.token>
<docker.vault.github.token>${env.MY_GITHUB_PAT_FOR_VAULT_LOGIN}</docker.vault.github.token>
<jacoco.integration.file>${project.build.directory}/jacoco-integration.exec</jacoco.integration.file>
<jacoco.merged.file>${project.build.directory}/jacoco.exec</jacoco.merged.file>
<jacoco.unit.file>${project.build.directory}/jacoco-unit.exec</jacoco.unit.file>
<version.bouncycastle.plugin>1.0.0</version.bouncycastle.plugin>
<version.checkstyle.plugin>2.17</version.checkstyle.plugin>
<version.compiler.plugin>3.8.1</version.compiler.plugin>
<version.java.source>11</version.java.source>
<version.java.target>11</version.java.target>
<version.freemarker>2.3.30</version.freemarker>
<version.guava>32.0.0-jre</version.guava>
<version.jacoco>0.8.7</version.jacoco>
<version.jacoco.plugin>${version.jacoco}</version.jacoco.plugin>
<version.javadoc.plugin>3.2.0</version.javadoc.plugin>
<version.maven>3.9.1</version.maven>
<version.nginx>1.11</version.nginx>
<version.plugin.api>3.8.1</version.plugin.api>
<version.plugin.annotations>3.6.2</version.plugin.annotations>
<version.plugin.testing>4.0.0-alpha-1</version.plugin.testing>
<version.plugin.plugin>3.6.2</version.plugin.plugin>
<version.source.plugin>3.2.1</version.source.plugin>
<version.surefire.plugin>2.22.0</version.surefire.plugin>
<version.failsafe.plugin>${version.surefire.plugin}</version.failsafe.plugin>
<version.docker.plugin>0.38.0</version.docker.plugin>
<version.vault>latest</version.vault>
<version.mockito-core>5.2.0</version.mockito-core>
<version.nexus-staging-maven-plugin>1.6.13</version.nexus-staging-maven-plugin>
<version.maven-release-plugin>3.0.1</version.maven-release-plugin>
<version.junit-jupiter>5.9.2</version.junit-jupiter>
<version.jackson-databind>2.15.2</version.jackson-databind>
<version.vault-java-driver>6.1.0</version.vault-java-driver>
<version.maven-jar-plugin>3.4.1</version.maven-jar-plugin>
</properties>
<dependencies>
<dependency>
<groupId>io.github.jopenlibs</groupId>
<artifactId>vault-java-driver</artifactId>
<version>${version.vault-java-driver}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${version.guava}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-testlib</artifactId>
<version>${version.guava}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${version.junit-jupiter}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${version.mockito-core}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${version.maven}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>${version.maven}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${version.maven}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${version.plugin.api}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-annotations</artifactId>
<version>${version.plugin.annotations}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${version.freemarker}</version>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<classifier>runtime</classifier>
<version>${version.jacoco}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${version.jackson-databind}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.javadoc.plugin}</version>
<configuration>
<notimestamp>true</notimestamp>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${version.docker.plugin}</version>
<configuration>
<autoCreateCustomNetworks>true</autoCreateCustomNetworks>
<images>
<image>
<alias>${docker.vault.host}</alias>
<name>hashicorp/vault:${version.vault}</name>
<run>
<capAdd>
<capAdd>IPC_LOCK</capAdd>
</capAdd>
<env>
<VAULT_DEV_ROOT_TOKEN_ID>${docker.vault.token}</VAULT_DEV_ROOT_TOKEN_ID>
<VAULT_ADDR>http://127.0.0.1:8200</VAULT_ADDR>
</env>
<hostname>${docker.vault.host}</hostname>
<volumes>
<bind>
<volume>${project.basedir}/docker/vault:/home/vault</volume>
</bind>
</volumes>
<network>
<mode>custom</mode>
<name>${docker.network}</name>
<alias>${docker.vault.host}</alias>
</network>
<wait>
<time>10000</time>
<!-- <http>-->
<!-- <url>http://127.0.0.1:8200/v1/sys/health</url>-->
<!-- <method>GET</method>-->
<!-- <status>200..399</status>-->
<!-- </http>-->
<exec>
<postStart>sh /home/vault/enable-auth.sh</postStart>
</exec>
</wait>
</run>
</image>
<image>
<alias>${docker.nginx.host}</alias>
<name>nginx:${version.nginx}-alpine</name>
<run>
<hostname>${docker.nginx.host}</hostname>
<network>
<mode>custom</mode>
<name>${docker.network}</name>
<alias>${docker.nginx.host}</alias>
</network>
<ports>
<port>docker.nginx.port:443</port>
</ports>
<volumes>
<bind>
<volume>${project.basedir}/docker/nginx/etc/ssl:/etc/ssl</volume>
<volume>${project.basedir}/docker/nginx/etc/nginx/nginx.conf:/etc/nginx/nginx.conf</volume>
</bind>
</volumes>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.2.0</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>docker/vault/appRole.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${version.checkstyle.plugin}</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<encoding>UTF-8</encoding>
<linkXRef>false</linkXRef>
</configuration>
<executions>
<execution>
<id>checkstyle</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.compiler.plugin}</version>
<configuration>
<source>${version.java.source}</source>
<target>${version.java.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${version.failsafe.plugin}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<runOrder>${maven.test.runOrder}</runOrder>
<includes>
<include>**/IntTest*.class</include>
<include>**/IntSpec*.class</include>
</includes>
<systemPropertyVariables>
<jdk.net.hosts.file>src/test/resources/hosts</jdk.net.hosts.file>
<javax.net.ssl.trustStore>docker/nginx/etc/ssl/truststore.jks</javax.net.ssl.trustStore>
<javax.net.ssl.trustStorePassword>changeit</javax.net.ssl.trustStorePassword>
<vault.host>${docker.nginx.host}</vault.host>
<vault.port>${docker.nginx.port}</vault.port>
<vault.token>${docker.vault.token}</vault.token>
<vault.appRole.id>${roleId}</vault.appRole.id>
<vault.appRole.secret>${secretId}</vault.appRole.secret>
<vault.github.token>${docker.vault.github.token}</vault.github.token>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>clean-integration-test</id>
<phase>post-integration-test</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>docker/vault</directory>
<includes>
<include>appRole.properties</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${version.plugin.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<runOrder>${maven.test.runOrder}</runOrder>
<includes>
<include>**/Test*.class</include>
<include>**/Spec*.class</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.jacoco.plugin}</version>
<executions>
<execution>
<id>prepare-agent</id>
<phase>initialize</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${jacoco.unit.file}</destFile>
<sessionId>${project.artifactId}-unit-${maven.build.timestamp}</sessionId>
</configuration>
</execution>
<execution>
<id>prepare-agent-integration</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
<configuration>
<destFile>${jacoco.integration.file}</destFile>
<sessionId>${project.artifactId}-integration-${maven.build.timestamp}</sessionId>
</configuration>
</execution>
<execution>
<id>merge</id>
<phase>verify</phase>
<goals>
<goal>merge</goal>
</goals>
<configuration>
<destFile>${jacoco.merged.file}</destFile>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<includes>
<include>*.exec</include>
</includes>
</fileSet>
</fileSets>
</configuration>
</execution>
<execution>
<id>report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${jacoco.merged.file}</dataFile>
</configuration>
</execution>
<execution>
<id>check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>0.80</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.maven-jar-plugin}</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${version.nexus-staging-maven-plugin}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${version.maven-release-plugin}</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>deploy</releaseProfiles>
<goals>deploy</goals>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>com.deciphernow</groupId>
<artifactId>bouncycastle-maven-plugin</artifactId>
<version>${version.bouncycastle.plugin}</version>
<configuration>
<passphrase>${env.PGP_PASSPHRASE}</passphrase>
<rings>${env.PGP_RINGS}</rings>
<userId>${env.PGP_USER_ID}</userId>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.javadoc.plugin}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.source.plugin}</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>