Application Info Endpoint
The quarkus-info extension exposes an HTTP endpoint at /q/info that returns information about the application: build metadata, git commit, Java version, and operating system.
Adding the extension
Add the quarkus-info extension to your project:
quarkus extension add info
./mvnw quarkus:add-extension -Dextensions='info'
./gradlew addExtension --extensions='info'
これにより、ビルドファイルに以下が追加されます:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-info</artifactId>
</dependency>
implementation("io.quarkus:quarkus-info")
Once added, start your application and access the info endpoint:
$ curl -s http://localhost:8080/q/info | jq
Response structure
The endpoint returns a JSON object with up to four sections:
{
"os": {
"name": "Mac OS X",
"version": "15.5",
"arch": "aarch64"
},
"java": {
"version": "21.0.7",
"vendor": "Eclipse Adoptium",
"vendorVersion": "Temurin-21.0.7+6"
},
"build": {
"group": "org.acme",
"artifact": "getting-started",
"version": "1.0.0-SNAPSHOT",
"time": "2026-05-21T10:30:00Z",
"quarkusVersion": "{quarkus-version}"
},
"git": {
"branch": "main",
"commit": {
"id": "a1b2c3d",
"time": "2026-05-20T14:22:00Z"
}
}
}
Each section can be individually enabled or disabled via configuration.
Git information is only available if the project is in a Git repository. If no .git directory is found, the git section is omitted.
|
Git information modes
The quarkus.info.git.mode property controls how much git information is included.
standard(default)-
Branch name, abbreviated commit ID, and commit time.
full-
Adds remote URL, tags, full commit ID, commit message, author and committer details.
quarkus.info.git.mode=full
With full mode, the git section expands to:
{
"git": {
"branch": "main",
"remote": "https://github.com/acme/getting-started.git",
"tags": [],
"commit": {
"id": {
"full": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"abbrev": "a1b2c3d"
},
"time": "2026-05-20T14:22:00Z",
"message": {
"full": "Add greeting endpoint",
"short": "Add greeting endpoint"
},
"user": {
"name": "Jane Doe",
"email": "jane@example.com"
}
}
}
}
Adding custom build properties
You can add custom key-value pairs to the build section:
quarkus.info.build.my-custom-key=my-value
quarkus.info.build.environment=staging
These will appear alongside the standard build properties:
{
"build": {
"group": "org.acme",
"artifact": "getting-started",
"version": "1.0.0-SNAPSHOT",
"time": "2026-05-21T10:30:00Z",
"quarkusVersion": "{quarkus-version}",
"my-custom-key": "my-value",
"environment": "staging"
}
}
Custom info contributors
You can contribute your own sections to the info endpoint by implementing the InfoContributor interface and making it a CDI bean:
package org.acme;
import java.util.Map;
import jakarta.enterprise.context.ApplicationScoped;
import io.quarkus.info.runtime.spi.InfoContributor;
@ApplicationScoped
public class CustomInfoContributor implements InfoContributor {
@Override
public String name() {
return "aws";
}
@Override
public Map<String, Object> data() {
return Map.of(
"region", "eu-west-1",
"instance", System.getenv().getOrDefault("HOSTNAME", "unknown")
);
}
}
This adds a custom section to the info endpoint response:
{
"aws": {
"region": "eu-west-1",
"instance": "app-7f8d9c-xk2lp"
}
}
The name() method determines the key in the JSON output.
The data() method is called once at startup, use it for values that don’t change at runtime.
Programmatic access
The extension also exposes injectable beans that you can use directly in your code:
import io.quarkus.info.GitInfo;
import io.quarkus.info.BuildInfo;
import io.quarkus.info.JavaInfo;
import io.quarkus.info.OsInfo;
@Path("/version")
public class VersionResource {
@Inject
BuildInfo buildInfo;
@Inject
GitInfo gitInfo;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String version() {
return buildInfo.version() + " (" + gitInfo.latestCommitId() + ")";
}
}
The available beans are:
-
GitInfo:branch(),latestCommitId(),commitTime() -
BuildInfo:group(),artifact(),version(),time(),quarkusVersion() -
JavaInfo:version(),vendor(),vendorVersion() -
OsInfo:name(),version(),architecture()
| These beans are only available if the corresponding section is enabled in configuration. |
管理インターフェース
If you use the management interface, the info endpoint is automatically exposed on the management port instead of the main HTTP port:
quarkus.management.enabled=true
The info endpoint will then be available at http://0.0.0.0:9000/q/info instead of http://localhost:8080/q/info.
設定リファレンス
ビルド時に固定された設定プロパティー。その他の設定プロパティーは、すべて実行時にオーバーライド可能です。
Configuration property |
タイプ |
デフォルト |
|---|---|---|
Whether the info endpoint will be enabled Environment variable: Show more |
ブーリアン |
|
The path under which the info endpoint will be located Environment variable: Show more |
string |
|
Whether git info will be included in the info endpoint Environment variable: Show more |
ブーリアン |
|
Controls how much information is present in the git section Environment variable: Show more |
|
|
Whether build info will be included in the info endpoint Environment variable: Show more |
ブーリアン |
|
Additional properties to be added to the build section Environment variable: Show more |
Map<String,String> |
|
Whether os info will be included in the info endpoint Environment variable: Show more |
ブーリアン |
|
Whether java info will be included in the info endpoint Environment variable: Show more |
ブーリアン |
|